본문 바로가기
AhnLab Inside

안철수연구소가 말하는 네트워크 포렌식 의미와 패킷 해부

by 보안세상 2020. 3. 30.

2011.12.06

 

안녕하세요. 안랩인입니다. 10월 25일은 독도의 날입니다. 고종황제가 1900년 10월 25일 칙령으로 독도 주권을 선포한 것을 기념하기 위해 ‘독도 참사랑운동본부’가 지정한 날입니다. 벌써 111주년. 이 뜻깊은 날 안철수연구소는 소프트웨어 개발자들을 위한 전문 컨퍼런스인 ‘안랩코어 2011’을 개최했습니다. 그날 분석 2팀 정관진 책임 연구원이 강연했던 네트워크 포렌식 분석 기술 발표 세션에 못다한 이야기를 블로그를 통해 풀어보고자 3회에 걸쳐 연재하겠습니다.

네트워크 포렌식은 네트워크가 연관된 곳에서는 모두 이용되고 있다고 할 수 있습니다. 특정 영역의 대상이 아니며 IT 관련 담당자라면 누구에게나 필요한 것입니다. 개발자도 예외는 아닙니다. 자, 그럼 지금부터 네트워크 분석의 세계로 들어가보겠습니다.

‘포렌식(Forensic)’이라고 하면 흔히 법적 증거를 찾기 위한 것을 떠올리기도 하지만, 포렌식은 분석 방법 및 과정과 같이 증거/흔적을 찾기 위한 모든 범주를 포함합니다. ‘패킷 마이닝’, ‘패킷 포렌식’이라고도 불리며 필자는 분석이라는 관점에서 이야기를 나눠보겠습니다.

 

일단 제목부터 잠깐 들여다보겠습니다. 네트워크 포렌식 내용인데, 개발자도 알아야 한다고 말하고 있습니다. 네트워크 분석은 특정 분야의 누군가에게 한정된 것이 아니라 개발자부터 시작해서 네트워크 관리자, 보안 분석가/관리자, 시스템 관리자 등 많은 이들에게 필요한 부분입니다. 즉, 네트워크 포렌식은 다양한 영역에서 사용되고 있으며, 네트워크와 관련된 모든 부분이 포렌식 대상입니다. 그렇다면 네트워트 포렌식은 어떤 곳에 필요한 것일까요? 사용되는 곳은 아주 다양합니다.

 

● 네트워크 문제 해결
● 네트워크 성능 측정, 병목 구간, 활동 관찰
● 네트워크 최적화
● 네트워크 공격/위협 감지
● 기업 내부의 네트워크 감사, 부정 방지
● 프로그램에서 사용되는 프로토콜 네트워크 정보 확인
● IDS/IPS 시스템 시그니처 작성

 

네트워크 포렌식, 숨겨진 진실을 찾아라

네트워크를 분석하자면 ‘패킷’과 자주 접하게 됩니다. 패킷은 네트워크 흐름의 작은 단위로 네트워크 통신의 모든 것이 담겨 있다고 볼 수 있습니다. 패킷은 출발지와 목적지 간 통신을 하며, 이 패킷을 들여다보면 어떤 내용의 데이터인지 파악할 수가 있습니다. 이렇게 패킷의 깊은 곳까지 살펴볼 수 있는 것은 DPI(Deep Packet Inspection)라는 기술 덕분입니다. DPI는 IDS/IPS, 그리고 전통적인 Stateful 방화벽의 기능적인 부분이 통합된 것이라고 할 수 있습니다. 과거 IP, 포트만 차단하는 방식을 넘어서 OSI 모델의 Layer 2부터 7까지 다 들여다볼 수 있게 되어 공격 탐지나 감청 등의 다양한 기능 구현에 이용되고 있습니다. 그렇다면 패킷만 보면 모든 통신 내용을 다 알 수 있을까요? 실제로는 그렇지 않습니다.

 

네트워크에 연결되어 있는 지금 이 순간, 여러분의 모든 것이 감시당하고 있다고 생각해 보았나요? 과연 내 정보는 안전하게 전송되고 있는 것일까?  패킷만 분석하면 당신의 모든 내용을 추적할 수가 있습니다. 이처럼 네트워크를 감청하면 누구나 쉽게 데이터를 훔쳐볼 수 있기 때문에 암호화, 데이터 은닉 등의 방법이 등장했고 이것은 결국 네트워크 포렌식의 어려움을 가중시켰습니다.

 

데이터 은닉 방법 중 하나인 스테가노그라피(Steganography)를 살펴보겠습니다. 이것은 텍스트나 이미지, 오디오 파일 등에 또 다른 비밀스러운 내용을 숨겨놓는 기법을 뜻합니다. 암호화와 반대되는 것으로, 메시지 의미는 숨기지만 메시지가 있다는 사실 자체를 숨기지는 않습니다. 어렵지 않게 데이터를 은밀히 감출 수 있습니다. 일례로, 9.11 테러 때 오사마 빈 라덴이 특정 사이트에 메시지를 숨긴 사진을 올려 알 카에다에 지령을 전달했다고 알려져 있습니다. 아래에 똑같이 보이는 사진 두 장이 있습니다.

 

이 두 개의 사진은 겉으로는 같아 보입니다. 하지만, 왼쪽은 정상 파일이고 오른쪽은 이미지 파일 안에 데이터가 은닉되어 있습니다. 패킷 관점에서 보면, 전송되는 데이터는 똑같은 일반 JPEG 형태의 이미지입니다. 이미지 파일 안에는 다음과 같은 데이터가 은닉되어 있는데, 분석가 입장에서는 이런 정상적인 포맷 안에 들어 있는 데이터를 추정하기가 상당히 힘듭니다. 이 이미지는 안랩코어 행사 때 정관진 연구원이 만들어 실제 시연했던 매직아이(MagicEye)입니다. 여러분도 눈을 또렷이 하고 정답을 한번 찾아보기 바랍니다.  

 

 <매직아이 보는 법>
멍하게 쳐다보는 느낌 또는 눈을 약간 치켜드는 기분으로 보면 입체적으로 표현된 내용이 나타나게 됩니다. 정답은 ‘KARA’입니다.

 

구조를 알면 패킷이 보인다

패킷(packet)은 네트워크 흐름의 작은 단위입니다. 지금 이 시간에도 수십 테라바이트, 아니 페타바이트 이상의 트래픽이 흘러 다니고 있습니다. 이 패킷을 저장한 것을 패킷 파일이라고 부르는데, 여기에는 여러 가지 형태가 있습니다. 그 중 대표적인 것이 PCAP 파일입니다. 흔히 패킷 캡처 파일이라 하면 PCAP 형태의 파일을 이야기합니다. PCAP는 Packet Capture의 약자이며 다음과 같은 구조를 가지고 있습니다.

 

파일의 첫 부분에 PCAP 파일임을 말해주는 헤더가 있고 그 후 패킷의 헤더, 이어서 해당 패킷 데이터가 있습니다. 패킷 헤더와 패킷 데이터가 연속적으로 반복 기록되어 있는 것입니다. <Ahn>

* 더 자세한 내용은 안랩홈페이지 를 참고해 주세요.