요즘 해킹과 관련된 뉴스와 기사를 여기저기서 심심치 않게 볼 수 있다. 해킹은 주로 각 나라 또는 기업의 기밀정보를 탈취하거나 해커의 자기 과시 그리고 금전적인 이유 등으로 일어나게 되는데, 대표적인 악성 소프트웨어로는 메인 기사에서 자주 접하고 있는 랜섬웨어(Ransomeware)를 꼽을 수 있다.
랜섬웨어는 중요문서들을 암호화하고 접근을 제한하여 금전적 요구를 하게 되는데, 범죄를 은폐하기 위해 현금보다는 익명성이 보장되는 가상화폐를 요구하게 된다. 이를 통해 각 기업에서는 정보와 자산을 보호하기 위해 정보보안에 시선이 모아지면서 화이트해커라는 직업이 붐을 일으키게 된다. 물론 랜섬웨어가 주목받기 전에 개인정보유출 사건이 여러 번 일어나면서 수면 위로 올라오게 되는 계기가 되었지만 말이다.
보안 분야에 관심이 생기거나 화이트해커의 길로 나아가기로 결정했다면 취약점을 점검하기 위한 환경이 필요하게 되는데 이 걱정을 해결시켜줄 수 있는 것이 비박스이다. 이외에도 DVWA(Damn Vulnerable Web Application)와 WebGoat 또는 웹 사이트로 운영되는 webhacking.kr 등에서 해킹 기법을 연습할 수 있다.
비박스는 오픈소스 웹 애플리케이션인 bWAPP이 설치되어 있는 가상 환경으로 모의침투를 통해 해킹 기법을 공부할 수 있다. 취약점 선정은 국제 웹 보안 표준 기구인 OWASP에서 선정한 Top 10을 기준으로 하트 블리드(Heartbleed), 쉘 쇼크(Shell shock) 등 많은 취약점이 있으며, 각각의 취약점마다 law, medium, high 3단계로 난이도를 설정할 수 있어 더욱 깊게 연구할 수 있다.
OWASP Top 10 - 2017 취약점 항목
- A1 - 인젝션
- A2 - 취약한 인증
- A3 - 민감한 데이터 노출
- A4 - XML 외부 개체 (XXE)
- A5 - 취약한 접근 통제(안전하지 않은 객체 참조, 잘못된 보안 구성, 민감한 데이터 노출)
- A6 - 잘못된 보안 구성
- A7 - 크로스 사이트 스크립팅 (XXS)
- A8 - 안전하지 않은 역직렬화
- A9 - 알려진 취약점이 있는 구성요소 사용
- A10 - 불충분한 로깅 및 모니터링
단점으로는 문제에 대한 힌트는 따로 제공하지 않아 각 취약점의 개념과 특성을 모른다면 막막함을 느끼게 되고, 그로 인해 실습하는데 오랜 시간이 소요될 수 있다. 하지만 보안에 관심이 높아지면서 많은 사람들이 비박스로 실습한 내용을 개인 블로그에 올리면서 구글링을 통해 모르는 내용들을 배우며 빠르게 습득할 수 있다.
비박스를 실행하기에 앞서 먼저 무료 가상 머신 프로그램인 버츄얼 박스(https://www.virtualbox.org/)를 다운로드하여 설치하고 비박스(https://sourceforge.net/projects/bwapp/files/bee-box/)를 다운로드하여 버츄얼 박스를 설치하면 된다. 그림 1-2에는 bWAPP v2.0으로 되어 있지만 현재(2019년) 최신 버전은 2.2이다.