네트워크 트래픽이 복잡, 다양해짐에 따라 발생하는 네트워크 보안문제 해결을 위해 다양한 암호화 프로토콜 중 하나인 SSL/TLS가 널리 사용되고 있다. 하지만 현재의 트래픽 분석 시스템은 암호화 트래픽을 프로토콜 레벨에 한정적으로 분석하고 있는 실정이다. 효과적인 네트워크 자원 관리를 위해서는 암호화 트래픽에 대한 서비스 단위 분석이 요구된다. 본 논문에서는 SSL/TLS 암호화 응용 트래픽의 페이로드 시그니쳐를 자동으로 추출하고, 이를 바탕으로 네트워크 트래픽 상에서 SSL/TLS 응용 서비스를 식별하는 방법을 제안한다. 이는 암호화 세션이 맺어질 때 초기에 발생하는 SSL/TLS Handshake 중 인증서 교환 레코드의 인증서 발행 대상정보를 시그니쳐로 이용하여 서비스를 식별을 하는 것이다. 본 논문에서 제안하는 방법은 95%에 가까운 SSL/TLS 트래픽을 분석 하였으며, 이 때 추출한 시그니쳐를 별도의 트래픽 트레이스에 적용시켜 각 서비스 별로 최대 95%의 정확도를 내어 그 성능과 가능성을 증명하였다.
네트워크 트래픽이 복잡, 다양해짐에 따라 발생하는 네트워크 보안문제 해결을 위해 다양한 암호화 프로토콜 중 하나인 SSL/TLS가 널리 사용되고 있다. 하지만 현재의 트래픽 분석 시스템은 암호화 트래픽을 프로토콜 레벨에 한정적으로 분석하고 있는 실정이다. 효과적인 네트워크 자원 관리를 위해서는 암호화 트래픽에 대한 서비스 단위 분석이 요구된다. 본 논문에서는 SSL/TLS 암호화 응용 트래픽의 페이로드 시그니쳐를 자동으로 추출하고, 이를 바탕으로 네트워크 트래픽 상에서 SSL/TLS 응용 서비스를 식별하는 방법을 제안한다. 이는 암호화 세션이 맺어질 때 초기에 발생하는 SSL/TLS Handshake 중 인증서 교환 레코드의 인증서 발행 대상정보를 시그니쳐로 이용하여 서비스를 식별을 하는 것이다. 본 논문에서 제안하는 방법은 95%에 가까운 SSL/TLS 트래픽을 분석 하였으며, 이 때 추출한 시그니쳐를 별도의 트래픽 트레이스에 적용시켜 각 서비스 별로 최대 95%의 정확도를 내어 그 성능과 가능성을 증명하였다.
The SSL/TLS, one of the most popular encryption protocol, was developed as a solution of various network security problem while the network traffic has become complex and diverse. But the SSL/TLS traffic has been identified as its protocol name, not its used services, which is required for the effec...
The SSL/TLS, one of the most popular encryption protocol, was developed as a solution of various network security problem while the network traffic has become complex and diverse. But the SSL/TLS traffic has been identified as its protocol name, not its used services, which is required for the effective network traffic management. This paper proposes a new method to generate service signatures automatically from SSL/TLS payload data and to classify network traffic in accordance with their application services. We utilize the certificate publication information field in the certificate exchanging record of SSL/TLS traffic for the service signatures, which occurs when SSL/TLS performs Handshaking before encrypt transmission. We proved the performance and feasibility of the proposed method by experimental result that classify about 95% SSL/TLS traffic with 95% accuracy for every SSL/TLS services.
The SSL/TLS, one of the most popular encryption protocol, was developed as a solution of various network security problem while the network traffic has become complex and diverse. But the SSL/TLS traffic has been identified as its protocol name, not its used services, which is required for the effective network traffic management. This paper proposes a new method to generate service signatures automatically from SSL/TLS payload data and to classify network traffic in accordance with their application services. We utilize the certificate publication information field in the certificate exchanging record of SSL/TLS traffic for the service signatures, which occurs when SSL/TLS performs Handshaking before encrypt transmission. We proved the performance and feasibility of the proposed method by experimental result that classify about 95% SSL/TLS traffic with 95% accuracy for every SSL/TLS services.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
다음으로 추출한 시그니쳐의 정확도를 알아보기 위한 실험을 하였다. 실험 방법은 본 논문 저자의 Local PC에서 트래픽을 서비스별로 다양한 기능들을 수행하는 동시에 수집하여 “Signature Generator”를 이용하여 시그니쳐를 추출하였다.
따라서 본 논문에서는 SSL/TLS 암호화 프로토콜을 사용하는 네트워크 응용을 다양한 트래픽 분류방법 중 페이로드 시그니쳐에 기반한 분류 방법[3]을 이용하여 암호화 트래픽을 서비스 단위로 식별하는 방법을 제안한다.
그러나 하나의 Web page에서 다양한 서비스를 제공하는 Web 서비스의 분석률이 기대에 미치지 못하였으며, Abbreviated Handshake를 통하여 세션을 맺는 경우 Certificate가 생략되기 때문에 이를 분석하지 못하는 문제점이 있었다. 따라서 향후 앞서 제시한 문제점을 보완하여 SSIM의 분석률과 정확도를 개선시키고자 한다.
제안 방법
SSL/TLS 트래픽의 사용량을 분석하기 위하여 학내에서 하루 동안 발생한 트래픽을 수집하여 “SSL/TLS Traffic Detector”을 이용해 SSL/TLS 트래픽 사용량을 측정하였다.
이때 CommonName은 인증서 발행인인 Issuer와 그 대상인 Subject로 구분이 되는데 해당 필드의 ID가 같기 때문에 기록 순서로 구분할 수 있다. 그 순서는 Issuer필드 이후에 Subject필드가 명시되어 있는데, 이중 시그니쳐로써 가치가 있는 필드는 Subject의 CommonName이므로 두번째로 명시되어 있는 CommonName을 시그니쳐로 선정한다. “Signature Extractor”에서 출력된 시그니쳐의 집합은 “Service Identifier”의 입력으로 사용된다.
하지만 Machine Learning 알고리즘의 단점인 특정 네트워크에 종속적이라는 것과 서비스별로 세부적인 분류를 하지 못하는 한계점을 벗어나지는 못하였다. 본 논문에서 제안하는 방법은 프로토콜 단위 또는 암호화 여부에 대한 분석에 초점이 맞춰진 기존 SSL/TLS 트래픽 분류방법의 한계를 극복하고, SSL/TLS 트래픽을 응용 서비스 단위로 분석하는데 차별성이 있으며, 이는 본 연구 분야에서는 새로운 시도이다.
본 논문에서는 SSL/TLS 프로토콜을 이용하는 서비스의 시그니쳐를 SSL/TLS Handshake 과정에서 자동으로 추출하고, 그 시그니쳐를 이용하여 서비스를 식별하는 방법을 제안하였으며, 이를 실험을 통해 성능을 검증하였다.
따라서 SSL/TLS Handshake 과정에서 ServerHello와 Certificate는 연속적으로 발생하므로 하나, 또는 다수의 패킷에 연속되어 기록된다. 본 방법에서는 Certificate의 CommonName필드를 시그니쳐로 추출하지만 실제로는 Certificate가 독립적인 패킷으로 전송이 되지 않기 때문에 ServerHello로 시작되는 패킷을 검사하게 된다. 해당 패킷에서 CommonName의 ID를 탐색하여 뒤이어 기록되어 있는 길이 정보를 토대로 CommonName을 시그니쳐로 추출한다.
본 방법은 크게 두 부분으로 나뉘는데, 먼저 “Signature Extractor”는 시그니쳐를 추출하고자 하는 타깃 응용 서비스의 트래픽만을 수집한 트래픽 파일을 입력으로 받아 해당 서비스의 페이로드 시그니쳐를 추출한다.
실험 방법은 본 논문 저자의 Local PC에서 트래픽을 서비스별로 다양한 기능들을 수행하는 동시에 수집하여 “Signature Generator”를 이용하여 시그니쳐를 추출하였다.
그것을 보완한 것이 SSL 버전 3이며 공식적으로 표준화한 이름이 TLS 이다. 이후로 버전이 올라감에 따라 0.1씩 더하여 버전 넘버링을 하였다.
본 방법에서는 Certificate의 CommonName필드를 시그니쳐로 추출하지만 실제로는 Certificate가 독립적인 패킷으로 전송이 되지 않기 때문에 ServerHello로 시작되는 패킷을 검사하게 된다. 해당 패킷에서 CommonName의 ID를 탐색하여 뒤이어 기록되어 있는 길이 정보를 토대로 CommonName을 시그니쳐로 추출한다. 이때 CommonName은 인증서 발행인인 Issuer와 그 대상인 Subject로 구분이 되는데 해당 필드의 ID가 같기 때문에 기록 순서로 구분할 수 있다.
대상 데이터
Target 서비스는 SSL/TLS 트래픽의 약 99%를 차지하고 있는 443 포트를 사용하는 트래픽 중 최근 사용량이 늘어나고 있는 “Google”, “Kakaotalk”, “Facebook” 3가지 서비스를 선정하였다.
443(HTTPS) 포트를 사용하는 트래픽이 대부분을 차지하는데 이는 전체 SSL/TLS 트래픽 중 약 99%를 차지 하는 정도이다. 따라서 서비스 분석 실험에서 443 포트를 사용하는 서비스만을 선정하여 분석 실험을 진행 하였다. 반대로 SSL/TLS가 아닌 트래픽 중 SSL/TLS라고 알려진 포트를 사용한 트래픽의 비율은 표 10과 같다.
명확한 실험 결과를 위하여 실험 데이터는 전처리로 TCP 이외의 프로토콜을 사용하는 트래픽과 수집 시간에 의해 플로우가 처음부터 기록되지 않은 플로우를 제외하였다. 또한 Handshake가 제대로 이루어지지 않아 실제 전송된 데이터가 없는 플로우 정보 역시 제거하여 명확한 TCP 데이터만을 이용하여 실험에 사용하였다. 본 논문에서 수행한 SSL/TLS 응용 트래픽의 페이로드 시그니쳐를 자동으로 생성하고 이를 검증하는 실험은 처음으로 수행된 연구로 실험의 결과는 비교대상이 없다.
본 장에서는 학내에서 발생하는 트래픽과 본 논문 저자의 Local PC에서 수집한 트래픽을 분석하여 SSL/TLS트래픽의 사용 빈도, 포트 분포, 각 서비스 별 생성된 시그니쳐 개수와 분석률을 구하는 실험과 그 결과를 기술한다. 명확한 실험 결과를 위하여 실험 데이터는 전처리로 TCP 이외의 프로토콜을 사용하는 트래픽과 수집 시간에 의해 플로우가 처음부터 기록되지 않은 플로우를 제외하였다. 또한 Handshake가 제대로 이루어지지 않아 실제 전송된 데이터가 없는 플로우 정보 역시 제거하여 명확한 TCP 데이터만을 이용하여 실험에 사용하였다.
또한 Handshake가 제대로 이루어지지 않아 실제 전송된 데이터가 없는 플로우 정보 역시 제거하여 명확한 TCP 데이터만을 이용하여 실험에 사용하였다. 본 논문에서 수행한 SSL/TLS 응용 트래픽의 페이로드 시그니쳐를 자동으로 생성하고 이를 검증하는 실험은 처음으로 수행된 연구로 실험의 결과는 비교대상이 없다.
시그니쳐는 트래픽을 장시간 수집할 수록 많은 양이 추출된다. 실험에 사용된 시그니쳐는 약 10분간 수집한 트래픽을 기반으로 생성된 시그니쳐이다. 초기 추출된 시그니쳐는 순수한 Target 서비스의 시그니쳐가 아닌 경우에 본 저자가 제외를 하였다.
데이터처리
평균 패킷 크기, Inter-arrival time 등 22가지의 통계 정보를 이용하여 “AdaBoost”, “C4.5”, “Naïve Bayes”, 등 Machine Learning 기반 알고리즘으로 SSL/TLS 트래픽을 식별하였다.
성능/효과
ServerHelloDone 메시지를 받은 Client는 Server로 부터 인증서요청을 받았다면 Certificate메시지를 통해 Client 인증서를 전송한다. 이후 ClientKeyExchange 메시지를 통해 키 교환을 하고, CertificateVerify메시지를 통해 Client의 인증서가 신뢰 할 수 있음을 알린다.
표 7은 실험의 결과로 세 가지 전처리 과정을 거친 전체 트래픽은 플로우단위로 약 6·106이며, 이 중 SSL/TLS 트래픽의 사용 빈도는 8.38%이다.
질의응답
핵심어
질문
논문에서 추출한 답변
네트워크의 효과적인 운용과 관리를 위해 네트워크 트래픽 분석이 필수인 이유는?
오늘날 초고속 인터넷 보급과 네트워크 장비의 발달로 인해 발생하는 트래픽이 복잡, 다양해지고 있기 때문에, 네트워크의 효과적인 운용과 관리를 위해서는 네트워크 트래픽 분석은 필수적인 요소이다. 또한 개인정보 유출, 사생활 침해, 계정 도용 등 네트워크 보안 문제가 심각해지고 있다.
네트워크 트래픽의 서비스 분류를 통한 효과적인 네트워크 자원 관리를 위해서 무엇이 요구되는가?
하지만 보안 이슈 가 대두됨에 따라 Facebook, Google 등 암호화 트래픽이 증가되고 있으나 응용 서비스 단위의 분류가 아닌, SSL/TLS와 같은 암호화 프로토콜 단위 또는 암호화 여부에 대한 분류가 주를 이루고 있다. 네트워크 트래픽의 서비스 분류를 통한 효과적인 네트워크 자원 관리를 위해서는 암호화 트래픽에 대한 서비스 단위 분석이 요구된다.
네트워크 보안 문제를 해결하기 위해 개발된 대표적인 암호화 프로토콜은 무엇인가?
또한 개인정보 유출, 사생활 침해, 계정 도용 등 네트워크 보안 문제가 심각해지고 있다. 이러한 보안문제 해결을 위해 다양한 암호화 프로토콜이 개발되었는데, 대표적으로 SSL/TLS[1], SSH[2] 등이 있다. 하지만 보안 이슈 가 대두됨에 따라 Facebook, Google 등 암호화 트래픽이 증가되고 있으나 응용 서비스 단위의 분류가 아닌, SSL/TLS와 같은 암호화 프로토콜 단위 또는 암호화 여부에 대한 분류가 주를 이루고 있다.
참고문헌 (8)
RFC 5246, The Transport Layer Security (TLS) Protocol Version 1.2, Retrieved 16, Feb. 2015, https://tools.ietf.org/html/rfc5246
K.-L. Kim, M.-S. Kim, and H. Kim, "SSH traffic identification using EM clustering," J. KICS, vol. 37, no. 12, pp. 1160-1167, 2012.
J.-S. Park, S.-H. Yoon, Y. Won, and M.-S. Kim, "A lightweight software model for signature-based application-level traffic classification system," IEICE Trans. Inf. Syst., vol. 97, no. 10, pp. 2697-2705, 2014.
S.-H. Yoon, J.-S. Park, and M.-S. Kim, "Header signature maintenance for internet traffic identification," KNOM Rev., vol. 16, no. 1, Jul. 2013.
J.-S. Park, S.-H. Yoon, and M.-S. Kim, "Performance improvement of the payload signature based traffic classification system using application traffic locality," J. KICS, vol. 38, no. 7, pp. 519-525, 2013.
H.-M. An, J.-H. Ham, and M.-S. Kim, "Performance improvement of the statistical information based traffic identification system," KIPS Trans. Computer and Commun. Syst.(KTCCS), vol. 2, no. 8, pp. 335-342, Aug. 2013.
C. McCarthy and A. N. Zincir-Heywood, "An investigation on identifying SSL traffic," 2011 IEEE Symp. CISDA, pp. 115-122, Paris, France, Apr. 2011.
S.-H. Kong and J.-Y. Lee, "Effective contents delivery system using service adaptive network architecture(SaNA)," J. KICS, vol. 39, no. 6, pp. 406-413, 2014.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.