Shine's dev log

[논문] IDSGAN: Generative Adversarial Networks for Attack Generation against Intrusion Detection 본문

논문

[논문] IDSGAN: Generative Adversarial Networks for Attack Generation against Intrusion Detection

dong1 2022. 3. 21. 00:36

논문 제목 : IDSGAN: Generative Adversarial Networks for Attack Generation against Intrusion Detection

 

 

0. abstract


IDS는 네트워크 공격에 사용되는 malicious packet를 탐지하고 이를 차단함으로써 보안을 지켜주는 도구이다. 최근에는 ML의 도움에 힘입어 빠르게 그 성능이 증가하고 있다.


하지만 ML 모델을 공격하는 adversarial attacks에 의해 모델의 robustness가 손상될 수 있다.
본 연구에서는 GAN을 활용하여 adversarial attaks에 대비하도록 함으로써 IDS 를 보다 강력하게 만드는 프레임워크 IDSGAN을 제안한다. detection system의 내부 구조는 밝혀지지 않은 black-box attack 상황이라 가정하고 연구를 진행하였다.


NSL-KDD 데이터셋을 통해 IDSGAN의 성능을 보였으며, modified 되는 features를 바꿔가면서 IDSGAN의 robustness를 보였다.

 



1. Introduction


최근 IDS(Intrusion Detection System) 들은 얻은 network traffic에서 feature들을 추출한 뒤 ML 모델을 사용하여 탐지하는 방향으로 발전해나가고 있다.


보다 더 정확하고 좋은 성능을 내기 위해서 IDS에 사용되는 ML 모델들도 다양하고 정교화 되어가고 있다.
그러나 이러한 ML을 활용한 IDS들은 adversarial attack에 무방비 상태이다. 따라서 본 논문에서는 IDSGAN이라 불리는 adversarial attack에 대응할 수 있는 프레임워크를 제안하고자 한다. IDSGAN에 사용된 GAN 모델은 보다 안정된 학습과 좋은 성능을 내는 Wasserstein GAN을 사용하게 된다.


Generator는 adversarial malicious traffic records를 생성하게 되고, 이렇게 생성된 records를 바탕으로 black-box IDS 시스템의 취약점을 보완하는 과정이 진행된다.

 

 


2. Proposed Method

 2.1. Dataset: NSL-KDD dataset description


네트워크 트래픽 record가 담겨있는 NSL-KDD 데이터셋을 사용했으며, 해당 데이터셋에는 9개의 discrete values와 32개의 continuous values로 구성되어있다.
또한 각 record 들은 [그림 1]과 같이 Intrinsic, Content, Time-based traffic, Host-based traffic, Label 로 구성되어있다.

[그림 1] structure of record

 


 2.2. Data preprocessing


모델에 데이터를 먹이기 전에, category 데이터의 numeric conversion이나 normalization 등의 전처리 과정이 필요하다.
9가지 discrete feature중, 3개는 non-numeric value이고 나머지 6개는 0 or 1의 binary value이다. 

 

non-numeric value (예를들어 TCP / UDP / ICMP) 들은 numeric value로 변환해주는 one-hot encoding 과정을 거친다.
input 벡터의 feature 값의 dimensional impact를 줄여주기 위해서 전체적인 scalar 값들을 noramlization해주는 과정이 필요하다. 

따라서 전체 numeric한 discrete / continuous features에 대하여 Min-Max normalization을 진행해주었다.

 

 

 2.3. Structure of IDSGAN


IDSGAN 프레임워크의 전체 구조는 [그림 2]와 같다.

 

[그림 2] structure of IDSGAN


GAN 모델의 non-convergence와 instability 를 극복하기 위해, IDSGAN에서는 이를 해결할 수 있는 Wasserstein GAN을 적용하였다.


또한 본 논문에서는 Probe, Dos, U2R, R2L 공격기법에 대하여 각각 functional features를 [그림 3]과 같이 설정하였다. functional feature는 각 공격 카테고리에서 adversarial examples를 만들어낸다고 하더라도 바뀌지 않아야 할 feature 값이다.

 

[그림 3] functional feature of attack category


이제 본격적으로 Generator를 살펴보자. 

original example을 adversarial example로 변환하기 위해서, Generator는 Malicious traffic record와 noise를 input으로 받아 Adversarial malicious traffic records를 output으로 뽑아내게 된다.


Generator는 총 5개의 linear layers로 구성되어 있으며, activation function으로는 ReLU 함수가 이용되었다. 추가적으로 앞서 전처리 과정에서 0~1 사이 값으로 normalization 해주었기 때문에, 생성 결과값이 0보다 작거나 1보다 큰경우 각각 0과 1로 처리해주었다. 

 

또한 functional feature가 아닌 discrete features들은 모두 값이 0 or 1이기 때문에 0.5를 threshold 로 잡고, threshold보다 크면 1, 작으면 0으로 바꿔주는 일종의 트릭을 적용해주었다.

다음으로 Discriminator를 살펴보자. Discriminator의 목표는 black-box IDS를 최대한으로 흉내내는 것이라고 할 수 있다.
우선 Generator가 생성한 Adversarial malicious traffic record와 실제 데이터셋의 Normal traffic record를 black-box IDS에 넣어 결과로 나온 output 값을 해당 record의 label로 설정한다.


이제 discriminator가 black-box IDS를 흉내내기 위해, Adversarial malicious traffic records와 Normal traffic records를 이번에는 Discriminator에 Input으로 넣어주고, 앞서 black-box IDS에서 나온 record의 label을 함께 Discriminator에 넣어줌으로써 Discriminator를 학습하게 된다. 


이렇게 학습이 되는 과정에서 Discriminator의 loss에 따라 Discriminator와 Generator의 parameter가 조정될 것이고, 이를 통해 Generator는 보다 정교하고 그럴듯한 데이터를 생성해낼 수 있게 되고, Discriminator는 black-box IDS 와 더 비슷해져갈 것이다.

다음으로 Training 알고리즘을 살펴보도록 하자. 논문 상에는 정확하게 나와있지 않지만, loss function을 보고 추론해본 결과 malicious record는 1로, benign record는 0으로 labeling 한 듯 하다.

우선 Generator의 loss function은 [그림 4]와 같다.
Generator의 목적은 최대한 black-box IDS가 malcious record를 benign record로 착각하도록 만드는 것이고, Discriminator가 IDS를 흉내내고 있으므로, 결국 Discriminator가 malicious record를 benign record로 착각하도록 만드는 것이다.

 

[그림 4] Loss function of Generator

 

따라서 [그림 4]처럼 D(G(M, N))의 기댓값이 최대한 작아지는방향 (=Discriminator의 결과가 0인 방향 = Dicriminator가 benign으로 판단하는 방향)으로 학습이 진행되어야 한다.

다음으로 Discriminator의 loss function은 [그림 5]와 같다.
Discriminator의 목적은 최대한 black-box IDS를 흉내내는 것이고, IDS는 benign / malicious record를 올바르게 판단하는 것이기 때문에, 결국 Discriminator가 benign(normal) record에 대해서는 0으로, malicious(attack) record에 대해서는 1로 판단하는 방향으로 학습이 진행되어야 한다. 

 

이럴 경우 [그림 5]의 loss function이 최소화 되는 방향으로 학습되어진다.

[그림 5] Loss function of Discriminator



Wassersteing GAN에 의해 optimizer로는 RMSProp가 사용되었다. 전체적인 IDSGAN의 알고리즘은 [그림 6]과 같다.

[그림 6] Algorithm of IDSGAN



 


3. Experiments and Results

 

실험을 위해 7가지 ML 모델 (SVM, NB, MLP, LR, DT, RF, KNN)을 IDS 로 구현하였으며, GAN에는 noise vector 로 9 dimension을 사용하였다.


IDSGAN을 평가하기 위한 metric으로는 

1) detection rate (DR; malicious traffic을 얼마나 정확히 탐지하는가)

2) evasion increase rate (EIR; 원래는 malicious 하지만, generator를 통해 adversarial example로 생성되어 benign으로 오탐지된 비율 = adversarial attack이 얼마나 성공적인가)

 

두가지 metric을 사용하게 된다. 해당 metric의 수식은 [그림 7]과 같다.

[그림 7] DR & EIR metric

 

 

 3.1. Measurement of IDSGAN in different attacks


detection rate의 관점에서, 실험을 진행한 결과, [그림 8]의 (a) 에서 볼 수 있듯이, Dos 공격 카테고리의 경우 원래는 DR이 80% 언저리로 높게 나오던 지표가 IDSGAN을 통해 생성된 adversarial examples에 대해서는 거의 0에 수렴하는 정확도를 보이고 있다. 

 

이는 모든 ML 모델에 상관없이 공통적으로 발생하였다. (b) 에서 역시 볼 수 있듯이, U2R / R2L 공격 카테고리의 경우에도 원래 DR에 비해 adversarial examples의 DR은 모두 0에 수렴하는 것을 확인할 수 있다.

 

[그림 8]  DR result

 


 3.2. Measurement of IDSGAN with different amounts of modified features

 

각 ML 모델에 대하여 unmodified 된 nonfunctional feature를 추가할 경우, 즉 처음 생성된 adversarial attack record에 비해 덜 바꿀 경우, EIR 의 변화는 [그림 9]과 같다.

 

[그림 9] EIR result


전체적으로 original record에 비해 덜 바꿀 경우 EIR은 줄어들지만 여전히 98% 이상의 높은 EIR 를 유지하는 것을 확인할 수 있다. 이는 IDSGAN의 robustness를 잘 보여주는 결과이다.

 


4. Conclusions


IDS를 우회하는 adversarial attacks를 생성하기 위해 IDSGAN이라는 Wassersteing GAN 기반의 새로운 프레임워크를 제안하였다. IDSGAN은 generator, discriminator과 black-box IDS로 구성되어있으며, 실험 결과 생성된 adversarial examples들은 기존의 IDS 시스템을 거의 100% bypass 하는 것을 확인할 수 있었다.

 

또한 기존의 record에서 크게 많은 것을 바꾸지 않더라도 EIR이 어느 정도 유지되는 것을 통해 IDSGAN의 robustness를 잘 보여주었다.

 

 

5. 마무리

 

GAN을 이용해 blax-box 형태의 IDS, 즉 detection system을 우회할 수 있는 데이터를 생성할 수 있다는 점이 인상깊었다. 특히 기존의 GAN 모델과 다르게 labeling을 IDS system 을 통해 함으로써 Discriminator를 최대한 IDS를 모방하는 방향으로 학습시켜 해당 IDS를 우회할 수 있도록 한 아이디어가 독특했다.

 

좀 찾아보니 향후에 이런 시스템을 사용하는 연구들이 많이 나왔던데, 그러한 연구들의 토대가 되었다는 점에서 의미가 크다고 생각이 든다.

 

 

Reference

Lin, Zilong, Yong Shi, and Zhi Xue. "Idsgan: Generative adversarial networks for attack generation against intrusion detection." arXiv preprint arXiv:1809.02077 (2018).