이번에 한빛리더스에서 진행한 책은 E-book 형식이었다. 제목은 '비박스 환경을 활용한 웹 모의해킹 완벽실습'이다. 아이패드를 가지고 있지만 사실 아이패드로 책을 처음부터 끝까지 다 읽어본 것은 처음이었다. (이제서야 비로소 아이패드를 아이패드답게 써본 기분ㅋ)

비박스 환경을 활용한 웹 모의해킹 완벽 실습

비박스(bee-box)란 웹 어플리케이션에서 자주 발생하는 취약점을 쉽게 테스트할 수 있도록 의도된 환경을 제공한다. 정확한 명칭은 bWAPP이며, 이를 가상머신의 형태로 꾸며놓은 것을 비박스라고 부른다. 다운로드 주소는 다음과 같다. http://www.itsecgames.com/


사실 이러한 취약점 테스팅 서비스는 비박스가 처음으로 등장한 것은 아니며, 대표적으로 DVWA(Damn Vulnerable Web Application, Dewhurst Security)이나 WebGoat(OWASP 프로젝트)와 유사하다. 앞선 두가지를 모두 테스트해본적이 있는데, 그에비해 비박스가 가지는 장점은 실습해볼 수 있는 컨텐츠의 양이 절대적으로 훨씬 더 많다는 것이다. 여기에 난이도 조절이 3단계로 가능하므로 조금 더 폭넓은 모의해킹 연습 훈련소로 활용할 수 있다. 또한 모의해킹시에는 비박스 뿐만 아니라 버프스위트(Burp suite)와 칼리 리눅스(Kali Linux)등을 사용한 간단한 실습이 포함되어 있다. 이와 관련해서는 저자 조정원(니키)님께서 기존에 출판하셨던 다른 책들을 참고하는 것도 좋을듯 하다.


본 책에서는 웹 모의해킹을 실습할 수 있는데, 과연 그  '실습'의 기준은 무엇일까? 대한민국의 행정안전부 '소프트웨어 보안약점 진단가이드(2012)'에서는 소프트웨어의 취약점 진단항목을 43개로 규정하고 있다. 하지만 이는 사실 OWASP(The Open Web Application Security Project)의 취약점 Top 10 항목을 확대하고 재구성한 것으로 보인다. 따라서 OWASP 항목들을 기준으로 깊이있게 학습하고 관련내용을 실습해볼 수 있다면 웹 모의해킹을 보다 쉽게 이해할 수 있다. 본 책은 OWASP의 2013 version에 입각하여 각 단원을 구성하고, 단계별로 진행해나간다. 이 책의 단원별 구성은 아래와 같다.

  • A1 - 인젝션
  • A2 - 인증 및 세션관리 취약점
  • A3 - 크로스 사이트 스크립팅
  • A4 - 취약한 직접 객체 참조
  • A5 - 보안설정 오류
  • A6 - 민감 데이터 노출
  • A7 - 기능 수준의 접근통제 누락
  • A8 - 크로스 사이트 요청 변조
  • A9 - 알려진 취약점이 있는 컴포넌트 사용
  • A10 - 검증되지 않은 리다이렉트와 포워드

한편, OWASP는 그동안 3~4년을 주기로 개정되고 있는데, 현재 OWASP Top 10 - 2016 Data Call이 진행중이므로 조만간 2016 혹은 2017 업데이트가 곧 이루어질 것으로 보인다. 만약 그 개정 내용이 기존(2013)에 비해 많이 달라진다면, 이에 따른 추록(追錄)이나 개정판 발행이 불가피할 것이다. 


어쨌든 이 책은 비박스 환경에서 제공하는 Security_Level 수준에 따라 해당 취약점을 공격하는 기법을 단계별로 서술하고 있다. 10가지 항목중에서 첫번째 항목인 '인젝션'단원이 가장 차지하고 있는 분량이 많다. 이는 실제로 OWASP에서 인젝션 취약점이 가장 심각하면서도 공격가능성은 매우 쉽기 때문에 아주 위험하다고 강조하고 있기 때문이다. 따라서 인젝션 취약점에 대한 설명이 다른 부분보다 비교적 많고 자세히 서술되어 있다. 이 책의 진정한 장점은 각 실습마다 모든 화면을 스크린샷으로 촬영하여 첨부한 것이다. 사용자는 책의 가이드대로 진행하다보면 어렵지 않게 실습을 따라할 수 있다. IT 서적의 경우 독자가 적당히 따라올 것으로 예상하고 진행하는 경우가 있는데, 사실 모든 독자의 눈높이를 예측할 수 없기 때문에 되도록 자세히 설명해주는 것이 좋은 책이라고 생각한다. 만약 책을 열심히 따라했는데 예상치못한 화면을 마주한다거나, 책처럼 실행이 되지 않는다면 얼마나 당혹스러울것인가. 이 책은 아래 그림과 같이 스크린샷에 빨간 사각형으로 표시를 하는 등 세심한 배려를 해주었다. 

한빛 리얼타임의 전자책은 DRM-Free이지만, 하단부에 구매자의 정보가 기입되어있기에 함부로 유출하면 본인이 합당하게 책임져야 한다.
한빛 리얼타임의 전자책은 DRM-Free이지만, 하단부에 구매자의 정보가 기입되어있기에 함부로 유출하면 본인이 합당하게 책임져야 한다.


이 책에서 각 취약점을 실습할 때에는 대부분은 먼저 '하' 수준에서 공격이 성공하는 것을 보이고, 그 기법이 '중'이나 '상'에서는 작동하지 않는 것을 보여준 후 이를 어떻게 취약점 패치 조치를 수행한 것인지 각 소스코드(php)를 비교하며 설명한다. 아쉽게도 '상'난이도에 대한 해법을 제공해주진 않으므로 이는 독자에게 주어지는 숙제라 생각하며 스스로 해결해가야 한다. 개인적 의견으로는, 웹 모의해킹을 처음 공부하고자 하는 사람에게는 '상'난이도를 돌파하는 것을 목표로 삼으면 좋을듯 하다. 하지만 반대로 '웹 시큐어코딩' 등 보안 측면에서 접근하고자 하는 사람에게는 비박스의 '상' 난이도로 만족해서는 절대로 안된다. 원래 뚫는 역할(창)보다 막는 역할(방패)가 더 불리하고 고달픈 위치에 있다고 생각한다. 만약 독자가 웹 개발자의 입장이라면, 이 책을 학습하여 bWAPP에서 제공되는 수준의 php함수나 이 책의 대응방안보다 훨씬 더 정교하게 입력값을 검증하고, 데이터의 기밀성을 유지할 수 있는 방법을 최선을 다해 강구해야 할 것이다. 


E-book 형식으로 전자기기를 통해 책을 읽는 맛이 색다르긴 했지만, 아무래도 깊게 공부를 할 책은 종이 책으로 보는 것이 집중력 차원에서 더 좋은 것 같다는 개인적인 생각이 들었다. 다행히도 이 책은 11월 중에 종이책으로 출간될 예정이다. 아마도 한빛리더스 독자들이 제보한 오/탈자 내용 및 문의 사항까지 반영되어서 개정된 책으로 발간될 것으로 기대된다. 정보보안 특히 웹 모의해킹분야를 입문하는 사람에게 꼭 추천해주고 싶은 도서이다.


http://www.hanbit.co.kr/store/books/look.php?p_code=E5082523826


CPUU님의 창작활동을 응원하고 싶으세요?