보안 제품정보


패킷과 프로토콜 분석을 통한 사용자 행위 파악과 재현(下) 2013.10.24

\r\n

\r\n

\r\n\r\n\r\n

\r\n

\r\n

네트워크 포렌식 분석을 통한 사이버 행위 파악과 증명

\r\n


\r\n

완벽하지 않고 많은 작은 빈틈이 있는 조사와 수사가 있을 때 범죄는 기승을 부리게 된다. 범죄자는 그러한 빈틈을 사전에 파악하고 충분히 인지한 상태에서 범죄를 수행하기 때문이다. 현재까지 발생되고 있는 거의 모든 바이러스/악성코드, 사이버 공격과 해킹도 마찬가지로 이러한 원칙을 이용하여 보안의 기술적 결함을 악용해 왔으며 또한 잡히지 않을 것까지 사전에 확인한 후 그러한 사이버 범죄를 수행한다. 이번 10월호에서는 지난달에 이어 패킷과 프로토콜 분석을 통한 사용자 행위 파악과 재현에 대해 알아보자.

\r\n


\r\n

이 영 진┃와일드패킷 한국지사장(ylee@wildpackets.com)

\r\n


\r\n

지난달에 알아본 것처럼, TCP/UDP 세션 단위의 패킷 분석을 통해 효율적으로 잘 설계된 후 개발되면 자체적으로 우수한 어플리케이션 서비스와 오류가 많은 어플리케이션 서비스를 구분 및 판단할 수 있고, 네트워크의 지연이나 패킷 손실과 같은 서비스 품질 저하 요소와 어플리케이션 자체 유발의 서비스 품질 저하 요소 간에 실질적으로 사용자가 체감하는 느린 응답시간과 접속 끊김 증상의 원인이 무엇인지 결정할 수 있다.

\r\n

\r\n

\r\n

\r\n\r\n\r\n

\r\n


\r\n

그림 6에서 VoIP SIP 프로토콜의 VoIP Call(인터넷 전화) 세션을, 양쪽 두 개의 전화기 및 VoIP 서버들 간에 시간 순서로 패킷을 주고받는 내용으로 직관적으로 빠르게 파악할 수 있도록 도식화된 플로우를 표시하고 있다. 앞서 설명한 TCP 세션 플로우 분석과 마찬가지로, 이 화면과 패킷 수집 위치를 통해 VoIP 전화 사용자의 단방향 전화통화(One-way Call) 문제의 원인을 확인할 수 있다.

\r\n


\r\n

패킷 수집위치는 B사업자 VoIP 전화기 바로 앞에서 하고 있기 때문에, 이 전화기와 패킷 수집 위치 사이에서의 네트워크 지연이나 손실은 없는 것으로 확신할 수 있다. 이 VoIP Call 플로우 화면은 VoIP의 세션과 관련되는 시그널링 처리과정과 음성 통화 내용에 해당되는 미디어 처리과정이 모두 도식화되어 표시되어 있다. 단순한 화살표로 표시된 것들이 시그널링 처리 과정이고 각각 한 개의 패킷으로 구성되어 있다.

\r\n


\r\n

VoIP의 세션과 관련되는 시그널링 처리과정과 음성 통화 내용에 해당되는 미디어 처리과정

\r\n

시그널링 처리 행위를 먼저 확인해 보면, B사업자 전화기로 전화가 와서(착신되어), B사업자 전화기가 INVITE 패킷을 받았고, 링백톤(Ring Back Tone)의 전화벨 울리는 과정을 거쳐 전화가 온지 6.3초 만에 B사업자 전화기의 사용자가 전화를 받았으며, 총 36초가 지난 후에, 전화 음성 통화까지 마치고 B사업자 전화기의 사용자가 전화를 먼저 끊었다는 것을 파악할 수 있다. SIP 시그널링의 표준 과정 그대로다.

\r\n


\r\n

미디어 통신 행위를 확인해 보면, 두 개의 미디어 세션(또는 플로우)이 있으며, 각 미디어 세션이 양쪽 전화기 중 각 하나에서 발생되어 상대방으로 전달되는 음성 미디어 스트림임을 파악할 수 있다. 그림 6에서 녹색과 파란색으로 표시된 두 개의 미디어 세션을 보면 양쪽의 각 전화기로부터 음성 미디어 패킷들이 지속적으로 발생이 되었고 같은 시간 동안 지속되다가 같이 중지되었다는 것을 파악할 수 있다.

\r\n


\r\n

음성 내용이 묵음이 아니라 정상적으로 양쪽의 각 사용자의 음성으로 담겨져서 전달되었는지는 각 미디어 세션의 패킷디코드를 참고하고 정확한 확인을 위해서는 그림 7과 같이 VoIP Call 단위 또는 미디어 세션 단위의 페이로드(Payload) 병합 기능을 이용하여 통화시 말하던 내용을 그대로 재현해 볼 수 있다. 양쪽의 대화 상태로 재생하거나 또는 각 전화 사용자의 음성을 따로 구분하여 재생해서 확인해야 하는 경우도 있다.

\r\n


\r\n

결국, 그림 6의 One-way Call 문제는 B사업자의 VoIP 전화기로부터 출발한 음성 미디어 패킷들의 목적지 IP주소가 잘못된 곳으로 전달되어 유발된 것으로 확인되었다. 즉, VoIP 전화기는 해당 사업자 서버의 셋팅 상태에 의존하기 때문에 그 서버의 셋팅 문제였던 것이다.

\r\n


\r\n

무선 통신시 데이터 암호화

\r\n

와이파이 802.11 무선 통신시 데이터 암호화를 항상 이용하게 되는데, 여기서 말하는 데이터 암호화는 OSI 7레이어의 어플리케이션 서비스 레이어 만의 데이터가 아니라 IP 주소가 포함된 네트워크 레이어 이상의 모든 헤더와 서비스 데이터 부분이 모두 포함된 것을 의미한다. 즉, 802.11 MAC 주소가 포함되어 있는 데이터링크 레이어의 헤더를 제외한 나머지 모든 부분이 암호화된다. 그림 3(지난호 참조)에서 보면, 좌측의 암호화가 안된 패킷과 우측의 WEP 암호화된 패킷의 공통점이 802.11 MAC 헤더 밖에 없고, 암호화되었을 경우, IP 및 UDP 헤더를 모두 볼 수 없다는 것을 알 수 있다. 이렇게 암호화되는 영역은 WEP, WPA, WPA2 등의 모든 무선 암호화 방식에서 동일하다.

\r\n


\r\n

예를 들어, 무선 단말에서 Ping을 보내면서 무선 패킷 분석을 할 때, 암호화된 패킷을 그대로 수집하여 분석하려고 하면, Ping에 대한 프로토콜의 패킷도 찾을 수가 없을 것이다. IP와 프로토콜 정보가 들어있는 헤더들도 모두 암호화되어 있기 때문이다. 즉, Ping 패킷도 WEP/WPA Encrypted Data 프로토콜의 패킷 중의 일부로 포함될 것이다. 따라서 이렇게 무선 패킷을 수집해 분석할 때 IP 주소와 프로토콜 정보를 명확하게 확인하기 위해서는 네트워크 관리자가 설정한 보안 키값을 이용하여 무선 패킷 수집시 복호화(Decryption) 과정을 동시 수행해야 그러한 상위 레이어 헤더 및 서비스 데이터 내용을 모두 확인할 수 있을 것이다.

\r\n

\r\n

\r\n

\r\n\r\n\r\n

\r\n


\r\n

무선 장치 간 통신 행위 조사

\r\n

각 레이어의 헤더의 주요 필드 값들을 이용하여 해당 레이어에서 행위를 파악하는 것처럼, 무선의 행위는 802.11 MAC 헤더와 무선 전송의 물리적 구간 정보를 이용하여 대부분의 무선 장치 간 통신 행위를 조사할 수 있다. 또한, 앞서 설명한 것처럼 802.11 MAC 헤더는 항상 암호화가 되지 않는 부분이기 때문에, 무선장치 간 무선 통신 행위에 대한 상당한 부분의 조사는 무선 암호화와 상관없이 수행할 수 있다.

\r\n


\r\n

무선 구간의 행위 조사는 많은 경우가 사이버 범죄의 용의자인 특정 무선 클라이언트와 특정 액세스 포인트 간의 상세한 통신 상태와 내용을 보고자 한다. 또는, 특정 무선 클라이언트가 다수의 액세스 포인트를 로밍하더라도 모든 행위와 통신 내용을 확인하고자 한다.

\r\n


\r\n

따라서 무선 패킷을 수집할 때, 통신하는 특정 단일 무선 채널을 고정하여 수집하거나 로밍하는 무선 클라이언트의 무선 패킷을 수집할 때는, 다수의 무선 채널을 여러 개의 무선랜카드를 이용하여 고정 채널 방식으로 수집하면서 동시에 이 여러 개의 무선랜카드의 패킷들을 병합하게 되면, 특정 무선 클라이언트의 로밍시 행위를 놓치지 않고 모두 추적할 수 있다.

\r\n


\r\n

그림 9에서, 특정 인텔 칩셋 무선랜 카드를 사용하는 무선 클라이언트가 Agere 제조사의 액세스 포인트에 접속하고 802.1x 인증 서버를 통한 EAP-TTLS 방식으로 사용자 로그인 인증까지 성공적으로 완료한 상태를 볼 수 있다.

\r\n

각 과정별 행위를 요약하면, 무선 클라이언트가 주변의 액세스 포인트를 찾기 위해, Probe Request 패킷을 브로드캐스트로 보낸다.

\r\n


\r\n

주변의 액세스 포인트는 Probe Response로 자신의 속성을 포함한 정보를 실어 응답한다. 무선 클라이언트는 특정 액세스 포인트에게 Authentication(기본 인증) 요청을 하고 그 액세스 포인트는 인증 성공 여부가 포함된 Authentication 응답을 한다. 그 후, 무선 클라이언트는 그 특정 액세스 포인트와 접속하기 위한 Association Request를 전송한다.

\r\n


\r\n

이 요청에 대해 액세스 포인트가 성공 메시지와 함께 Association Response로 응답하면 이 무선 클라이언트와 액세스 포인트는 상호 무선 구간 링크의 연결이 된 것이다.

\r\n


\r\n

하지만, 이 액세스 포인트와의 연결만이 아니라 내부 네트워크와의 연결을 허용하기 위해서, 기업 수준의 무선 네트워크를 구축한 대부분의 기업들은 ID와 패스워드를 이용하는 사용자 로그인 인증 방식을 802.1x 인증서버를 연동하여 구현하고 있다. 그림 2(지난호 참조)에서, EAPOL-Start 패킷을 무선 클라이언트가 보내면서 802.1x 인증 준비가 되었으며 시작을 알려주고 있으며, 액세스 포인트는 유선에 연결된 802.1x 인증서버로부터 성공 메시지를 받고, 무선 클라이언트에게 EAP-Success 무선 패킷으로 802.1x 인증 과정이 성공적으로 완료되었음을 전달하게 된다.

\r\n


\r\n

이러한 상세한 과정별 행위 파악을 통하여, 어떤 ID의 사용자가 무슨 장치를 이용하여 어떠한 방식과 과정으로 무선 네트워크에 접속하였는지 파악함으로써, DoS 공격이나 해킹 시도 행위가 누구에 의해 어떻게 이루어졌는지 명확하게 조사할 수 있다.

\r\n


\r\n

특히, 무선 로밍시 특정 무선 클라이언트의 통신 내용과 행위 조사가 자주 필요하게 된다. 그림 10에서 보면, BSSID 컬럼의 주소를 확인하여 어떤 액세스 포인트를 통하여 무선 통신을 하였는지 알 수 있다. EFMNetwork 제조사명의 94:BC MAC의 액세스 포인트를 통해 G.711코덱의 음성 통화를 하던 중에, 6E:04 MAC의 액세스 포인트로 로밍을 한 후 다시 이어서 G.711 코덱의 음성 통화를 하는 상황을 파악할 수 있다.

\r\n


\r\n

여기서 액세스 포인트가 로밍을 하는 동안 음성 통화가 잠시 중단되었던 시간은 0.23초라는 것도 확인할 수 있다. 로밍 전 액세스 포인트를 통해 전달됐던 마지막 서비스 데이터 패킷으로부터 로밍 후 액세스 포인트를 통해 전달된 첫 번째 서비스 데이터 패킷 사이의 시간 간격을 확인한 결과로서 실질적으로 음성 대화가 중단된 시간을 매우 정확하게 측정한 값에 해당된다.

\r\n

\r\n

\r\n

\r\n\r\n\r\n

\r\n


\r\n

로밍 시간의 주요 원인 분석

\r\n

이러한 로밍 시간의 주요 원인이 무엇인지 각 과정별 지연시간과 행위를 파악해 보자. 그림 10의 로밍 과정에서 예외적인 상황은 무선 클라이언트가 전송하는 Deauthentication 패킷이 로밍 전 마지막 G.711 음성 패킷으로부터 0.16초나 후에 발생되었다는 것이다. 그 이후, Authentication과 Association 과정은 각각 10~20ms 이내의 짧은 시간 내에 잘 이루어졌으며, 이러한 새로운 액세스 포인트로의 재접속 과정을 마친 후 60ms 정도 후에 다시 G.711 음성 패킷의 전달이 재개되었다.

\r\n


\r\n

즉, 이 로밍 지연의 첫 번째 주된 원인은 무선 클라이언트의 로밍재접속 과정이 너무 늦게 시작되는 것이며, 두 번째 지연 원인은 로밍재접속 과정 완료 후에도 서비스 통신이 너무 늦게 재개되는 것이다. 결국, 이 로밍 과정은 무선랜 컨트롤러 기반의 진보된 Fast 로밍 기술이 적용되지 않은 결과이다.

\r\n


\r\n

그림 11은 각 AP별 접속/통신 무선클라이언트가 정확하게 몇 대씩 실제로 이루어지고 있는지를 무선 패킷을 잡아서, 장치간 연결 구성과 통계를 보여주는 화면이다. 각 AP의 BSSID(무선 모듈 MAC)와 연결된 접속/통신되는 클라이언트들의 무선NIC의 MAC주소까지 정확하게 확인하고 그 개수도 확인할 수 있다. 혹시라도 AP 자체에서 제공되는 클라이언트 접속 개수 확인의 오류 가능성을 없애고 분명하게 해주는 확실한 방법이 될 것이다.

\r\n


\r\n

그림 11의 사례는 한 대의 AP의 2.4GHz와 5GHz 두 개의 무선 모듈을 모두 이용, 총 51대의 무선 클라이언트가 이 한 대의 AP에 접속해 모든 무선 단말이 정상적으로 영상 데이터를 수신하고 있는 상황에서 측정된 통계이다. 즉, 5GHz로는 25대의 무선 클라이언트가 접속되었고, 2.4GHz 무선 모듈에는 26대가 접속되어 통신한 상태가 정확하게 확인되었다.

\r\n

\r\n

\r\n

\r\n\r\n\r\n

\r\n


\r\n

그림 12에서는 특정 액세스 포인트 또는 특정 무선 클라이언트의 RSSI(Received Signal Strength Indicator) Signal dBm 값을 추적하여 그 장치의 실제 위치를 찾아낼 수 있다. 즉, 공공장소의 와이파이 네트워크를 이용하는 사이버 범죄자의 물리적 위치를 확인할 수 있다.

\r\n


\r\n

와이파이 802.11 무선 네트워크를 이용하는 사이버 공간의 행위에 대한 조사 방법은, 상위 레이어의 통신 행위는 기존 이더넷 유선 네트워크의 분석 조사 방법과 동일하지만, 무선 장치 간의 연결 과정과 로밍을 위한 재접속 과정, 무선 보안 강화를 위한 802.1x 인증 과정, 무선 전송의 물리적 요소와 802.11 MAC 헤더의 추가적 요소 등의 무선만의 특성을 추가로 고려하여, 유/무선 네트워크 트래픽의모든 레이어에 대한행위에 대하여 파악하고 증명할 수 있어야 할 것이다.

\r\n

\r\n

앞서 설명한 행위 분석 사례들은 패킷스니핑 기반의 네트워크 전문분석기를 이용한 사이버 공간의 행위 조사 기법의 전체에서 아직 몇 퍼센트도 되지 않을 듯하다. 사이버 공간의 대부분의 행위들을 직관적으로 빠르게 파헤칠 수 있도록 전문 분석 기법이 계속 확대되며 소개될 것이다.

\r\n


\r\n

[월간 시큐리티월드 통권 제201호(sw@infothe.com)]

\r\n


\r\n

<저작권자 : 시큐리티월드(www.securityworldmag.co.kr) 무단전재-재배포금지>