TCP/IP 헤더와 HTTP 쿠키 기반 NAT 내부 호스트 식별 기법 - 박한별 (The Graduate School, Ajou University, 2017)
NAT(Network Address Translation)은 사설 IP(Internet Protocol) 주소를 공인 IP 주소로 변환한다. 사설 IP 주소가 NAT 외부에서 알 수 없도록 NAT 내부를 보호하는 기능을 제공하기 때문에 하나의 IP 주소에 많은 호스트가 존재할 수 있어 과금이나 트래픽 관리를 위해 ISP(Internet Service Provider)는 NAT를 탐지하고 NAT 내부 호스트 수를 파악하려고 한다. 이 외에도 공격자가 NAT 내부에서 외부 서비스 제공자를 공격할 경우에 IP 기반으로 차단한다면 NAT 내부의 일반 사용자까지 차단되기 때문에 IP 기반이 아닌 다른 요소로 호스트를 식별하는 것이 필요하다. 본 논문에서는 NAT 내부 호스트 식별을 위해 TCP/IP 헤더의 정보와 HTTP 쿠키 기반 NAT 내부 호스트 식별 기법을 제안한다. 제안 방법은 패킷 캡처, OS 분류, 호스트 분류, 호스트 식별로 구성된다. 패킷 캡처에서 캡처된 패킷을 OS 분류에서 Windows 호스트와 Non-Windows 호스트 별로 분류하고 호스트 분류에서 각 OS에 맞는 방법을 사용하여 호스트들을 분류한다. 기존의 방법들을 기반으로 SYN 플래그를 가진 패킷만을 이용해 최소자승법을 사용하여 호스트들을 분류한다. 호스트 분류는 TCP/IP 헤더 필드의 규칙성을 이용하는데 기기가 껐다 켜진다면 이 규칙성은 초기화되어 호스트가 추가된 것으로 판단할 수 있다. 따라서 잘못 추정된 것을 바로잡는 방법이 필요하기 때문에 쿠키는 호스트마다 고유의 값을 가져 호스트를 식별할 수 있으므로 호스트 식별에서 쿠키를 이용하여 호스트를 식별한다. 추가적으로 호스트 OS 식별이 이루어지며 SYN 시그니처를 통해 호스트의 OS를 추정하고 User-agent 정보를 활용하여 최종적으로 호스트의 OS를 판단한다. 마지막으로 기존의 추정 방법과 제안 방법의 정확도를 비교 분석한다.
학위논문(석사)--아주대학교 일반대학원 :소프트웨어특성화학과,2017. 2
Keywords: NAT; Host identification; OS fingerprinting