인터넷 웜, 컴퓨터 바이러스 등 네트워크에 위협적인 악성트래픽이 증가하고 있다. 특히 최근에는 지능형 지속 위협 공격 (APT: Advanced Persistent Threat), 랜섬웨어 등 수법이 점차 고도화되고 그 복잡성(Complexity)이 증대되고 있다. 지난 몇 년간 침입탐지시스템(IDS: Intrusion Detection System)은 네트워크 보안 솔루션으로서 중추적 역할을 수행해왔다. 침입탐지시스템의 효과적 활용을 위해서는 탐지규칙(Rule)을 적절히 작성하여야 한다. 탐지규칙은 탐지하고자 하는 악성트래픽의 핵심 시그니처를 포함하며, 시그니처를 포함한 악성트래픽이 침입탐지시스템을 통과할 경우 해당 악성트래픽을 탐지하도록 한다. 그러나 악성트래픽의 핵심 시그니처를 찾는 일은 쉽지 않다. 먼저 악성트래픽에 대한 분석이 선행되어야 하며, 분석결과를 바탕으로 해당 악성트래픽에서만 발견되는 비트패턴을 시그니처로 사용해야 한다. 만약 정상 트래픽에서 흔히 발견되는 비트패턴을 시그니처로 사용하면 수많은 오탐(誤探)을 발생시키게 될 것이다. 본고에서는 네트워크 트래픽을 분석하여 핵심 시그니처를 추출하는 기법을 제안한다. 제안 기법은 LDA(Latent Dirichlet Allocation)알고리즘을 활용하여, 어떠한 네트워크 트래픽에 포함된 시그니처가 해당 트래픽을 얼마나 대표하는지를 정량화한다. 대표성이 높은 시그니처는 해당 네트워크 트래픽을 탐지할 수 있는 침입탐지시스템의 탐지규칙으로 활용될 수 있다.
인터넷 웜, 컴퓨터 바이러스 등 네트워크에 위협적인 악성트래픽이 증가하고 있다. 특히 최근에는 지능형 지속 위협 공격 (APT: Advanced Persistent Threat), 랜섬웨어 등 수법이 점차 고도화되고 그 복잡성(Complexity)이 증대되고 있다. 지난 몇 년간 침입탐지시스템(IDS: Intrusion Detection System)은 네트워크 보안 솔루션으로서 중추적 역할을 수행해왔다. 침입탐지시스템의 효과적 활용을 위해서는 탐지규칙(Rule)을 적절히 작성하여야 한다. 탐지규칙은 탐지하고자 하는 악성트래픽의 핵심 시그니처를 포함하며, 시그니처를 포함한 악성트래픽이 침입탐지시스템을 통과할 경우 해당 악성트래픽을 탐지하도록 한다. 그러나 악성트래픽의 핵심 시그니처를 찾는 일은 쉽지 않다. 먼저 악성트래픽에 대한 분석이 선행되어야 하며, 분석결과를 바탕으로 해당 악성트래픽에서만 발견되는 비트패턴을 시그니처로 사용해야 한다. 만약 정상 트래픽에서 흔히 발견되는 비트패턴을 시그니처로 사용하면 수많은 오탐(誤探)을 발생시키게 될 것이다. 본고에서는 네트워크 트래픽을 분석하여 핵심 시그니처를 추출하는 기법을 제안한다. 제안 기법은 LDA(Latent Dirichlet Allocation) 알고리즘을 활용하여, 어떠한 네트워크 트래픽에 포함된 시그니처가 해당 트래픽을 얼마나 대표하는지를 정량화한다. 대표성이 높은 시그니처는 해당 네트워크 트래픽을 탐지할 수 있는 침입탐지시스템의 탐지규칙으로 활용될 수 있다.
Network threats such as Internet worms and computer viruses have been significantly increasing. In particular, APTs(Advanced Persistent Threats) and ransomwares become clever and complex. IDSes(Intrusion Detection Systems) have performed a key role as information security solutions during last few d...
Network threats such as Internet worms and computer viruses have been significantly increasing. In particular, APTs(Advanced Persistent Threats) and ransomwares become clever and complex. IDSes(Intrusion Detection Systems) have performed a key role as information security solutions during last few decades. To use an IDS effectively, IDS rules must be written properly. An IDS rule includes a key signature and is incorporated into an IDS. If so, the network threat containing the signature can be detected by the IDS while it is passing through the IDS. However, it is challenging to find a key signature for a specific network threat. We first need to analyze a network threat rigorously, and write a proper IDS rule based on the analysis result. If we use a signature that is common to benign and/or normal network traffic, we will observe a lot of false alarms. In this paper, we propose a scheme that analyzes a network threat and extracts key signatures corresponding to the threat. Specifically, our proposed scheme quantifies the degree of correspondence between a network threat and a signature using the LDA(Latent Dirichlet Allocation) algorithm. Obviously, a signature that has significant correspondence to the network threat can be utilized as an IDS rule for detection of the threat.
Network threats such as Internet worms and computer viruses have been significantly increasing. In particular, APTs(Advanced Persistent Threats) and ransomwares become clever and complex. IDSes(Intrusion Detection Systems) have performed a key role as information security solutions during last few decades. To use an IDS effectively, IDS rules must be written properly. An IDS rule includes a key signature and is incorporated into an IDS. If so, the network threat containing the signature can be detected by the IDS while it is passing through the IDS. However, it is challenging to find a key signature for a specific network threat. We first need to analyze a network threat rigorously, and write a proper IDS rule based on the analysis result. If we use a signature that is common to benign and/or normal network traffic, we will observe a lot of false alarms. In this paper, we propose a scheme that analyzes a network threat and extracts key signatures corresponding to the threat. Specifically, our proposed scheme quantifies the degree of correspondence between a network threat and a signature using the LDA(Latent Dirichlet Allocation) algorithm. Obviously, a signature that has significant correspondence to the network threat can be utilized as an IDS rule for detection of the threat.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본고에서는 Shingle을 활용하여 모든 ASCII문자열을 “단어”로 활용할 수 있는 전집(corpus)의 구성기법을 제안한다.
본고에서는 공격에 대한 사전 지식 없이 악성트래픽을 분석하고 해당 악성트래픽에 대한 핵심 시그니처를 추출하는 기법을 제안한다. 제안 기법은 LDA(Latent Dirichlet Allocation) 알고리즘[9]을 활용하여 네트워크 트래픽에 포함된 시그니처가 해당 트래픽을 얼마나 대표하는지를 정량화(quantification)한다.
본고에서는 네트워크 위협 트래픽을 분석하고 침입탐지시스템의 탐지규칙에 사용할 수 있는 시그니처를 추출 하는 기법을 제안하였다.
제안 기법은 LDA알고리즘을 이용하여 네트워크 위협 트래픽을 탐지할 수 있는 탐지규칙 시그니처를 추출한다. 본고에서는 제안 기법의 성능을 평가하기 위해 다양한 실험을 수행하였다. 실험결과에 따르면 제안 기법을 통해 추출한 네트워크 위협 탐지규칙 시그니처는 최대 3.
총 M개의 플로우는 F = {F1,F2,⋯,FM}으로 표기한다. 제안 기법의 최종 목표는 악성 플로우 F악성을 탐지할 수 있는 시그니처를 추출하는 것이다.
가설 설정
3장에서 논의한 바와 같이 LDA에서 전집 D의 문서 i는 인자 α,β를 갖는 2개의 디리클레분포에 의해 K개의 주제들의 집합에서 생성된다고 가정한다.
LDA에서 문서는 아래의 확률적 문서 생성 과정에(Probabilistic Document Generative Process)에 따라 생성된다고 가정한다.
서술편의를 위해 LDA의 입력으로 한 개의 악성 플로우 F악성과 M-1개의 정상 네트워크 플로우를 가정하자. 총 M개의 플로우는 F = {F1,F2,⋯,FM}으로 표기한다.
일반화하면 LDA알고리즘이 올바르게 네트워크 트래픽을 클러스터링 한다고 가정하자. 탐지하고자 하는 악성트래픽은 특정 클러스터에 속하게 된다.
제안 방법
표 1에 공격 유형별로 추출한 탐지규칙 시그니처 평균 개수를 나타냈다. 80여종의 실험에 사용했던 모든 네트워크 위협에 대하여 제안 기법이 탐지규칙 시그니처를 추출한다. [6]에서는 큰 L값(32Byte)에 대하여 특정 네트워크 위협들은 시그니처를 추출하지 못하는 경우도 있다.
[6]에서는 큰 L값(32Byte)에 대하여 특정 네트워크 위협들은 시그니처를 추출하지 못하는 경우도 있다. 그러나 본고에서는 실험에 활용된 모든 공격트레이스에 대하여 탐지규칙 시그니처를 추출한다. 우리는 [6]에서의 실험결과를 통해 300M정도의 전집크기를 사용하면 대략 1시간 이내에서 시그니처 추출결과를 얻을 수 있음을 고려하여 x값을 설정하였다.
그러나 네트워크 위협 시그니처는 출력가능하지 않은 HEX문자열을 포함한다. 본 연구는 LARGen의 후속연구로서 LDA수행 성능을 고려하고 전체 ASCII문자셋을 시그니처로 추출할 수 있는 새로운 전집(corpus)구성기법을 적용하였다.
네트워크 플로우의 단어 구성 문제는 결국 수행시간 vs 시그니처 정/오탐의 트레이드오프(trade-off) 문제로 귀결되며 [6]에서 제시되었던 이진 실행코드를 탐지규칙 시그니처로 활용할 수 없었던 문제를 해결하였다. 본 연구팀은 실험적으로 LDA알고리즘의 수행시간이 전집의 크기에 기하급수적으로 비례함을 실험적으로 규명하였으며 [6], 값을 선택함에 있어 전체 시그니처 추출(LDA알고리즘에 거의 의존적임)시간을 고려한다. (그림 5)는 LDA모델 학습에 필요한 시간을 로그스케일로 도식한 것이다.
우리는 네트워크 패킷 jpcap(pcap library in JAVA)[26]을 활용하여 전처리 과정을 JAVA코드로 구현하였으며, LDA 및 Gibbs샘플링 기법을 구현한 JGibbLDA[27]를 활용하여 실험을 진행하였다.
제안 기법에서는 탐지의 대상이 되는 악성트래픽과 관련된 주제에 관련된 단어의 Ø값이 임계치 이상인 단어를 해당 악성트래픽을 탐지할 수 있는 시그니처로 활용한다.
(그림 3)은 주어진 네트워크 플로우들의 집합 F로부터 M개의 문서들을 구성하는 과정을 도식한다. 제안 기법에서는 트래픽 데이터 셋에서 64초 동안 발생한 모든 패킷 중 송신지 IP주소, 수신지 IP주소, 송신지 포트번호, 수신지 포트번호, 프로토콜 등 5-튜플이 같은 것을 동일 네트워크 플로우로 묶는다. 각 네트워크 플로우에 속한 패킷들의 헤더를 제외한 페이로드 부분을 단순 연쇄(concatenation)하여 문서 i를 구성한다.
본고에서는 네트워크 위협 트래픽을 분석하고 침입탐지시스템의 탐지규칙에 사용할 수 있는 시그니처를 추출 하는 기법을 제안하였다. 제안 기법은 LDA알고리즘을 이용하여 네트워크 위협 트래픽을 탐지할 수 있는 탐지규칙 시그니처를 추출한다. 본고에서는 제안 기법의 성능을 평가하기 위해 다양한 실험을 수행하였다.
본고에서는 Shingle을 활용하여 모든 ASCII문자열을 “단어”로 활용할 수 있는 전집(corpus)의 구성기법을 제안한다. 제안 기법은 모든 ASCII문자열을 고려하여 네트워크 문서의 단어를 구성하는 방법으로 Hashing기법을 활용하여 수행 복잡도 문제를 해결한다.
예컨대, x = 2일 때 두 개의 문서 “FF FE 48 45 4C 4C 4F EE A0 A2 A3 AF”, “FF FE 48 45 4C”로 구성된 전집을 고려하면 “FF FE 48 45”, “FE 48 45 4C”의 2개의 shingle이 각 2회 충돌이 발생하며 두 문서의 단어구성은 동일하게 될 것이다. 제안 방법은 네트워크 트래픽에서 자주 발견되는 이진문자열의 집합을 탐지규칙 시그니처의 후보군으로 고려할 수 있도록 한다. 그러나 중요한 shingle이 단 한번만 사용되는 경우* 충돌이 발생하지 않아 시그니처로서 활용할 수 없을 수도 있다.
53%의 오탐율을 보였다. 제안하는 기법은 네트워크 패킷 페이로드의 형태와 관계없이 모든 ASCII문자열에 대하여 네트워크 위협 탐지규칙 시그니처를 추출할 수 있다. 따라서 기존에 성능문제로 해결하지 못하였던 이진 실행코드형태로 전파되는 악성코드에 대한 탐지규칙 시그니처를 추출할 수 있다.
우리는 [6]에서의 실험결과를 통해 300M정도의 전집크기를 사용하면 대략 1시간 이내에서 시그니처 추출결과를 얻을 수 있음을 고려하여 x값을 설정하였다. 즉, 네트워크 캡처 파일의 용량이 크다면 보수적으로 x값을 설정하였으며, 용량이 작다면 진보적인 x값(=2)을 설정하여 실험을 수행하였다.
대상 데이터
본고에서는 제안 기법의 성능 검증을 위해 contagio[21]에 공개된 80여종의 네트워크 위협 데이터셋과 MACCDC(Mid-Atlantic Collegiate Cyber Defense Competition)[22] 및 CAIDA(Center for Applied Internet Data Analysis)[23]의 협조를 통한 수집한 정상 데이터 1T바이트를 혼합하여 사용하였다. contagio에서 제공하는 네트워크 위협데이터는 ①트로이 목마, ②오버 플로우 공격, ③서비스 거부 공격, ④SQL삽입 공격, ⑤쉘 코드, ⑥임의 코드 실행, ⑦기타 등 7종으로 분류하였다. 실험에 사용된 네트워크 위협중 상당수는 CVE(Common Vulnerabilities and Exposures) 데이터베이스에 등록되어 있다.
shingle 길이(L): shingle의 길이를 작은 값으로 설정하면 전집에 포함되는 단어가 많아져 LDA알고리즘을 통해 추출한 시그니처의 정밀도가 증가한다. 본고에서는 L값을 4바이트로 한정하였다. 왜냐하면 4바이트보다 작은 shingle의 길이를 사용하면 전집 구성과정에서 시그니처로서 활용도가 떨어지는 shingle을 다수 포함한다.
본고에서는 제안 기법의 성능 검증을 위해 contagio[21]에 공개된 80여종의 네트워크 위협 데이터셋과 MACCDC(Mid-Atlantic Collegiate Cyber Defense Competition)[22] 및 CAIDA(Center for Applied Internet Data Analysis)[23]의 협조를 통한 수집한 정상 데이터 1T바이트를 혼합하여 사용하였다. contagio에서 제공하는 네트워크 위협데이터는 ①트로이 목마, ②오버 플로우 공격, ③서비스 거부 공격, ④SQL삽입 공격, ⑤쉘 코드, ⑥임의 코드 실행, ⑦기타 등 7종으로 분류하였다.
이론/모형
본고에서는 공격에 대한 사전 지식 없이 악성트래픽을 분석하고 해당 악성트래픽에 대한 핵심 시그니처를 추출하는 기법을 제안한다. 제안 기법은 LDA(Latent Dirichlet Allocation) 알고리즘[9]을 활용하여 네트워크 트래픽에 포함된 시그니처가 해당 트래픽을 얼마나 대표하는지를 정량화(quantification)한다. 대표성이 높은 시그니처는 해당 네트워크 트래픽을 탐지할 수 있는 침입탐지시스템의 탐지규칙으로 활용될 수 있다.
침입탐지시스템은 악성트래픽을 탐지하기 위해 탐지규칙(rule)을 사용한다. 탐지규칙은 침입탐지시스템이 탐지하고 보고하기로 하는 공격의 형태를 미리 정의한 일정한 규칙에 따라 기술한다.
그러나 근사해를 구할 수 있는 방법들이 몇 가지 학계에 소개되었다. 특히, EM(Expectation Maximization) 알고리즘을 활용하는 Gibbs샘플링방법[19]이 자주 사용된다. Gibbs샘플링을 통한 확률분포의 추론은 [19]을 참고하기 바란다.
성능/효과
LDA의 최종적인 결과물로서 각각의 주제와 관련된 콘텐츠 문자열(시그니처)인 단어와 시그니처의 관계의 크기는 Φk,w로 주어진다.
본고에서는 제안 기법의 성능을 평가하기 위해 다양한 실험을 수행하였다. 실험결과에 따르면 제안 기법을 통해 추출한 네트워크 위협 탐지규칙 시그니처는 최대 3.53%의 오탐율을 보였다. 제안하는 기법은 네트워크 패킷 페이로드의 형태와 관계없이 모든 ASCII문자열에 대하여 네트워크 위협 탐지규칙 시그니처를 추출할 수 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
침입탐지시스템에 어떤 기능을 추가하면 침입방지시스템이 되는가?
침입탐지시스템은 망에 흐르는 악성트래픽을 탐지하고, 로깅(logging)한다. 추가적으로 inline으로 설치되어 네트워크 위협 차단 기능까지 포함하는 경우 침입방지시스템(IPS:Intrusion Prevention System)이라 부른다 [4].
대학, 기업체, 정부기관에서 보안솔루션으로 사용하는 것은?
대학, 기업체, 정부기관은 보안솔루션으로서 통합 위협 관리시스템(UTM: Universal Threat Management)[2], 웹방화벽(WAF: Web Application Firewall)[3] 혹은 방화벽[1]과 함께 네트워크를 보호하기 위하여 침입탐지시스템(IDS: Intrusion Detection System)을 설치한다. 특히, 지난 몇 년간 침입탐지시스템은 네트워크 보안 솔루션으로서 중추적 역할을 수행해왔다.
부적절하게 작성된 탐지규칙이 유발하는 부작용의 예
그럼에도 불구하고 부적절하게 작성된 탐지규칙이 유발하는 부작용은 상당하다. 예를 들어, 망에서 흔히 발견되는 비트패턴을 탐지규칙의 시그니처로 사용하는 탐지규칙은 침입탐지시스템으로 하여금 정상트래픽을 악성트래픽으로 잘못 탐지하게 한다. 이를 오탐(誤探)이라고 하며, 오탐의 결과로서 침입탐지시스템의 성능저하를 유발하고 심지어는 침입탐지시스템을 설치한 네트워크를 마비시키기도 한다[6].
※ AI-Helper는 부적절한 답변을 할 수 있습니다.