이 책에서 다루는 내용
- 와이어샤크, 관련된 툴, 메타스플로잇 프레임워크의 기본
- 루아 스크립트 프로그래밍과 와이어샤크 확장에 사용하는 방법
- 와이어샤크로 일상적인 공격용과 방어용 보안 연구 업무 수행
- 실제 기업 네트워크를 복제한 도커 가상 랩 환경에서의 실습
- 고급 중간자 기술을 사용한 패킷 캡처
- 제공되는 소스 코드를 수정해 도구 확장
이 책의 대상 독자
보안 전문가를 위한 책이다. 특히 방화벽 관리자, 네트워크 보안 엔지니어, 악성코드 분석가, 침해사고 대응 담당자에게 도움될 것이다.
와이어샤크의 유용성은 이러한 직종 중 한두 가지에만 국한되지 않는다. 상황을 능동적으로 주도하고 참여하는 업무라고 정의할 수 있는 침투 테스터나 윤리적 해커 같은 직종에서도 와이어샤크가 필요할 수 있다. 추가로 포렌식 분석가, 취약점 테스터, 개발자 같은 직종에서도 와이어샤크를 잘 익혀두면 득 될 일이 많다. 이 책의 예제를 통해 그런 점을 보여줄 것이다.
이 책의 구성
1장, '와이어샤크 소개'는 와이어샤크 경험이 거의 없거나 아예 없는 전문가에게 필요한 내용을 다룬다. 주목적은 독자가 과도한 정보에 압도되지 않게 하면서 인터페이스를 소개하고 와이어샤크와 친해질 수 있는 방법을 보이는 것이다.
2장, '랩 구성'은 건너뛰어서는 안 된다. 가상 컴퓨터를 설정하는 것부터 시작해서 W4SP 랩을 구성한다. W4SP 랩은 뒤의 장에서 두고두고 계속 사용하게 되는 랩이다.
3장, '기본 지식'은 기초 개념을 다루며, 네트워크, 정보 보안, 패킷 분석, 이렇게 세 부분으로 나뉘어 있다. 이 책은 대부분의 독자가 그중 최소한 한두 분야에는 익숙할 것으로 가정하고 쓰였지만, 3장만은 다른 장과 달리 기초부터 설명한다.
4장, '패킷 캡처'는 네트워크 캡처, 즉 네트워크 패킷을 기록하는 방법을 다룬다. 와이어샤크가 어떻게 패킷을 캡처하고 캡처 파일을 처리하며, 패킷을 해석하는지 깊이 있게 들어가 본다. 네트워크에서 마주치게 될 다양한 기기들을 다루는 방법도 알아본다.
5장, '공격 진단'은 실제 흔히 보게 되는 다양한 공격을 재현하면서 W4SP 랩을 잘 활용해본다. 중간자 공격, 다양한 서비스 스푸핑, 서비스 거부 공격 외에도 많은 내용을 알아본다.
6장, '공격용 와이어샤크'는 악성 트래픽을 다루긴 하되 이번에는 해커의 관점에서 바라본다. 여기서 와이어샤크와 W4SP 랩은 공격을 보내고, 디버그하고 이해하는 용도로 사용된다.
7장, 'TLS 복호화, USB 캡처, 키로거, 네트워크 그래프'는 와이어샤크를 활용해 더 다양한 활동을 하는 내용을 모아놓은 장이다. SSL/TLS 트래픽 복호화에서 복수의 플랫폼을 거쳐 가는 USB 트래픽 캡처에 이르기까지 업무로든 개인 호기심으로든 직접 사용할 수 있는 것들을 데모로 보여준다.
8장, '루아 스크립트 작성'은 이 책에 나오는 스크립트 내용의 약 95%를 포함하고 있다. 스크립트 개념과 루아 설정부터 간단하게 시작하는데, 윈도우에서 작업하든 리눅스에서 작업하든 관계없다. 스크립트는 ‘Hello, World’부터 시작하지만 패킷 개수 세기를 비롯해 훨씬 복잡한 주제까지 나아간다. 스크립트는 와이어샤크의 그래픽 인터페이스를 향상시키는 것은 물론 커맨드라인에서 실행할 수도 있다.
지은이의 말
환영한다. 이 책은 필자도 흥미진진하게 쓴 책이다. 정보 보안, 소프트웨어 개발, 온라인 가상 랩 개발과 강의 같은 다양한 배경을 가진 사람 둘이 노력했으니 많은 분께 흥미로울 것이고, 이 분야에 관심을 갖게 할 것으로 예상한다.
와이어샤크는 네트워크 트래픽을 캡처하고 분석하는 도구다. 그저 수많은 네트워크 도구 중 하나가 아니라 정확히 그런 목적에 맞는 최적의 도구다. 원래의 이름은 이더리얼(Ethereal)이었다가 2006년 이름이 바뀐 와이어샤크는 업계에서 상당히 인정받으며 높이 평가되고 있다. 독자 여러분도 이미 그런 점은 알고 있을 텐데, 왜 이 책에 시간과 돈을 들여야 할까? 이 책을 읽는 진짜 이유는 와이어샤크가 어떻게 업무를 편리하게 바꿔주며, 어떻게 기존 기술을 더 효과적으로 만들어 줄지 탐구하기 위해서다.
이 책은 다음과 세 가지 목표를 달성하고자 한다.
- 와이어샤크를 통해 정보 보안 전문가의 기술 역량 넓히기
- 배운 것을 적용해볼 수 있게 랩과 연습문제를 포함한 교육 자료 제공
- 루아 스크립트를 통해 실제 시나리오에 와이어샤크가 어떤 도움이 되는지 실례 보여주기
이 책은 그저 읽기만 하는 용도가 아니다. 실제로 해보는 책이다. 다른 와이어샤크 책에서도 와이어샤크가 이렇게나 대단하다는 걸 보여줄 수는 있겠지만, 이 책은 그에 더해 기교를 연습하고, 기술을 연마하고, 와이어샤크가 제공하는 기능들에 숙달할 수 있는 기회를 준다.
이 기회는 다양한 형태로 제공된다. 첫 번째로 랩에서 실습하면서 본문에 있는 내용을 적용해본다. 이 책의 2장에서 랩 환경을 구축하고 이후에도 이를 계속해서 사용한다. 실습과 관련한 두 번째 기회는 루아 스크립트를 다루는 8장을 제외하고는 각 장의 마지막에 있다. 장 끝에 있는 연습문제는 대개 랩 환경에서 수행하는 꽤 어려울 만한 문제인데, 길잡이가 될 만한 힌트가 훨씬 적을 것이다. 랩과 연습문제를 헤쳐나가면서 와이어샤크를 직접 만진 시간 덕분에 책을 읽는 데 들인 시간이 헛되지 않을 것이다.
랩 환경은 컨테이너화 기술을 사용해 만들어졌기 때문에 독자의 컴퓨터에 꽤 가벼운 가상 환경을 직접 설치하고 실행하는 것이 가능하다. 이 책의 독자가 책의 내용을 실습할 수 있도록 전체 환경을 특별히 설계했다. 필자 중 한 명인 제시 불럭이 이들 랩을 개발했고 유지 관리하고 있다. 랩의 소스코드는 온라인에서 받을 수 있다. 자세한 내용은 2장을 참고하자.
간단히 말해 이 책은 정보 보안 전문가가 직접 따라 할 수 있는 실습 위주로 와이어샤크를 익히게 만들어진 안내서다. 연습을 통해 습득하면 마지막 페이지까지 넘긴 지 한참 지난 뒤에도 와이어샤크 전문 지식을 계속해서 발전시킬 수 있게 될 것이다.
옮긴이의 말
해마다 나오는 향후 유망 직종에 대한 기사에 ‘컴퓨터 보안 전문가’가 언급된 것을 봅니다. 보안 직종이 앞으로 유망할 것이라고 말해 온 게 벌써 10년도 넘은 것 같군요. 그간 보안과 개인정보에 관한 이야기가 화제로 등장하는 일이 잦아지고, 보안 분야의 일자리가 점점 세분화된 것은 사실입니다. 보안 전문가가 좋은 대우를 받고 있다고 긍정적으로 보기에는 아직 이릅니다만, 보안 분야에 할 일이 많고, 갈수록 할 일이 더 많아질 거라고 말할 수는 있습니다.
보안 전문가가 알아야 할 것은 점점 더 많아집니다. 기업에서 악성 코드 분석, 침투 테스트, 시큐어 코딩, 보안 정책 수립, 인증 컨설팅과 같이 전문 분야의 일을 하는 분들도 다른 전문가가 맡은 분야를 상당히 높은 수준으로 이해해야 합니다. 하루가 다르게 새로운 IT 기술이 쏟아지고 있으며, 클라우드니 도커니 데브옵스니 GDPR이니 제대로 알아야 보안 엔지니어로서 스스로 부끄럽지 않은 세상이 됐습니다. 개발하다가 보안하는 사람, 네트워크 설계를 하다가 보안하는 사람 등 다양한 배경을 가진 분들이 많아지는 것도 보안 분야에 큰 도움이 된다고 봅니다.
지금 IT 분야에서 유능한 인재가 되려면 기존에 얼마나 많은 것을 알고 있었는가도 중요하지만, 새로운 지식이나 기술을 얼마나 잘 흡수하고 이해하는지도 아주 중요합니다. 그러려면 가볍게 찾아볼 수 있는 블로그나 게시판 문답을 통해 습득하는 것도 좋은 방법이지만, 그전에 이해하기 쉬우면서도 체계적으로 써진 책을 읽는 것이 좋습니다. 배우고 익힐 때 가장 중요한 것은 머리에 잘 들어오면서도 신뢰할 수 있는 정보이어야 하니까요.
이 책은 공격 분야와 방어 분야의 보안 전반에 걸쳐 독자 여러분이 알고 있던 이론적인 내용을 컴퓨터 화면에서 직접 보면서 눈으로 확인할 수 있게 쓰였습니다. 가벼운 마음으로 각 단원을 훑어본 후, 컴퓨터 앞에 앉아 책에 나오는 화면을 한 단계씩 따라 하다 보면 여러 가지 프로그램의 설정과 툴의 의미를 체득하게 될 것입니다. 메뉴를 따라 누르고 샘플을 열어 보는 정도에서 그치지 않고, 실전 상황에서 직접 캡처해 분석하고 루아 스크립트까지 만들어 본다면 와이어샤크 활용이 재밌게 느껴지고 가장 자신 있게 쓸 수 있는 실전용 툴이라고 말할 때가 올 것입니다.