효율적으로 침해사고 분석 업무를 수행하기 위해서 필요한 분석 도구를 살펴보자. 분석도구란 분석에 필요한 정보를 해석하고, 분석가가 쉽게 필요한 정보를 볼 수 있도록 도와주는 도구다. 이러한 분석 도구는 크게 네트워크 패킷 분석 도구와 로그 분석, 파일 분석 도구로 나눌 수 있다.
가장 많이 사용되는 와이어샤크에 대해서 살펴 보자. 예전 이더리얼이라 불렸던 와이어샤크는 무료로 사용할 수 있는 대표적인 패킷분석 프로그램 이다. 네트워크 트래픽 통계와 스트림 정보, 파일 추출 등 분석에 필요한 다양한 기능을 제공한다. 공격자에게 백도어가 있다면 분석가에겐 분석 도구가 있다.
와이어샤크는 분석가들 사이에 워낙 많이 사용되는 툴이기 때문에 기본적인 사용법은 홈페이지[1]를 참고하자. 우리는 분석할 때 유용한 메뉴를 중심으로 분석도구로서 사용하는 방법을 같이 살펴 볼 것이다. 그리고 간편하게 사용할 수 있는 네트워크마이너도 살펴볼 예정이다.
[1] https://www.wireshark.org/docs/wsug_html_chunked/
와이어샤크(Wireshark)
- 네트워크를 통해 전달된 파일 확인
포렌식 관점에서 와이어샤크의 가장 유용한 기능은 패킷에서 파일을 추출하는 것이다. 먼저 파일을 추출할 pcap 파일을 불러온다. 파일을 불러오면 Export objects 명령을 이용해 파일을 추출하자.
File > Export objects

통신 프로토콜을 선택하다. HTTP 통신을 선택하면 다음과 같이 웹 통신을 통해 주고 받은 파일 목록이 나타난다.

Save All 명령을 이용해 전체 파일을 저장할 수 있고, 필요한 파일만 Save As 메뉴를 이용해 저장한다.

악성코드로 의심되는 파일을 추출하면 파일 분석 도구를 이용해 정적분석을 수행하거나, 가상머신에서 파일을 실행시켜 동적분석을 수행하는데 사용한다. 혹은, 기업이나 조직의 중요한 내부 문서가 외부로 유출되는 경우 의심 파일을 추출해서 증거로 사용한다.
- 트래픽 정보 확인
이상 트래픽을 분석하는 관점에서 와이어샤크가 제공하는 유용한 기능 중 하나는 저장된 pcap파일의 트래픽 정보를 통계적인 관점으로 제공하는 것이다. 와이어샤크에서 제공하는 메뉴 중에서 Statistic 메뉴를 활용하면 다양한 통계 정보를 확보할 수 있다.
Statistics -> IO 그래프

IO그래프를 분석에 활용하기 위해서는 필터링 항목을 적극 이용해야 한다. IO 그래프를 실행시킨 화면만으로는 이상 트래픽을 분석하기 위한 단서 정보를 찾기 어렵다. 아래 그림은 IO그래프를 실행 시킨 모습니다. 아래 그래프를 통해서 우리가 확보할 수 있는 단서는 12시 13분쯤 트래픽이 한차례 증가 되었고, 이후 12:14분에 다시 한번 트래픽 증가가 있었다는 내용이다.

좀더 분석을 효율적으로 하기 위해 우리는 각각의 프로토콜 별로 색깔을 다르게 그래프로 표시해 보자. 각각 프로토콜 별로 필터링을 통해 실제 의심 현상과 관련된 프로토콜 연관성을 확인하는 작업을 수행한다. 이러한 과정을 통해 많은 정보를 분석할 때 좀더 효율적으로 시간을 아낄 수 있다.


- Protocol Hierarchy
앞서 IO 그래프를 통해 전체 트래픽 중에서 이상 현상이 발생된 트래픽을 확인하는 과정을 수행 했다면, 실제 세부 트래픽을 분석하는 작업이 필요한데, 이때 statistic 메뉴 중에 프로토콜 하이라키를 이용하면 저장된 pcap 파일의 구조를 살펴 볼 수 있다. 전체 트래픽 중 패킷 비율이나 프토토콜 비율 확인을 통해서 분석의 단서를 찾아 나간다.
Statistics -> Protocol Hierarchy


- 패킷분석
효율적인 패킷 분석에 빠질 수 없는 것 중 하나가 패킷 필터이다. 기본적으로 표준 pcap 형식의 파일은 BPF(Berkeley Packet Filter)를 지원한다. 와이어샤크를 통해 불러온 pcap파일은 BPF 구문을 이용해 효율적으로 패킷 분석이 가능하다.
패킷 필터 구문 사용 시 기본 지원 되는 연산자 종류는 3가지가 있다.
연산자 종류 | 문법 |
AND 연산자 | AND (&&)필터 구문간 AND 조합 연산샘플 구문 tcp.port == 80 && ip.addr == 74.195.238.237 |
OR 연산자 | OR (||)필터 구문간 OR 연산샘플 구문 tcp.port == 80 || ip.addr == 74.195.238.237 |
NOT 연산자 | NOT (!)지정 필터 구문에 대한 NOT 연산샘플 구문 tcp.port == 80 && !(ip.addr == 74.195.238.237) |
필터 관련 문법은 와이어샤크 프로그램에서 자동완성 형식으로 저장되기 때문에 복잡한 구문을 일일이 외우고 있을 필요 없다. 필요한 프로토콜을 지정하면 사용 가능한 문법이 자동 완성 된다.

네트워크마이너(NetworkMiner)
네트워크 패킷 분석 도구 중에 네트워크마이너에 대해서 살펴보자. 앞서 패킷 분석 작업에 가장 많이 사용되는 와이어샤크를 살펴 보았다. 와이어샤크를 사용하기 위해서는 프로토콜에 대한 이해도 필요하고 정보를 찾기 위해 프로그램에서 제공하는 메뉴에 대해 공부가 필요하다. 하지만 이번에 살펴볼 네트워크마이너는 쉽고 강력하게 분석가에게 필요한 정보를 제공하는 툴 중에 하나다. 저장된 pcap 파일을 프로그램에 불러오면 자판기에서 먹고 싶은 음료수를 누르듯이 필요한 정보를 클릭하기만 하면 된다.
홈페이지[1]에서 프로그램을 다운 받을 수 있다. 버전은 프리버전과 상용 버전이 있다.
프로그램을 실행하고 분석할 pcap파일을 오픈하면 자동으로 각각의 메뉴에 맞게 패킷을 가공 한다.

분석가는 각 탭을 하나씩 클릭해서 분석에 필요한 정보를 하나씩 살펴 보면 된다. 복잡하게 필터 문법을 사용하거나 메뉴을 하나씩 클릭할 필요 없이 쉽게 필요한 정보를 마우스 클릭으로 찾아서 사용하면 된다. 어려운 툴을 사용해야만 고급 분석을 할 수 있는 건 아니다. 상황과 조건에 맞게 적합한 툴을 사용하는 것이 분석 도구를 선택하는 중요한 기준이다.
네트워크 기반의 패킷 분석 프로그램을 살펴 보았고, 이제 파일 기반의 분석 프로그램을 살펴보자.