위 논문에서는 Anomaly detection 이 무엇인지, anomaly 의 종류, 특징에 대해서 설명을 한 뒤, network anomaly detection methods 를 4 개의 카테고리로 분류한 뒤 설명
Anomaly detection : 주어진 anomalous data 나 abnormal data 를 감지하는 중요한 데이터 분석
Anomalies : normal pattern 의 잘 정의된 특징에 준하지 않는 것
→credit card 사기, mobile phone 사기, cyber attack 으로 발생한다.
Nature of the anomaly
· Point anomaly : 특정 data instance 가 dataset 의 normal pattern 으로부터 벗어난 경우
· Contextual anomaly : data instances 가 특정 context 에서 anomalously 하게 행동하는 경우
· Collective anomaly : 전체의 dataset 에 대하여 비슷한 data instances 의 collection 이
anomalously 하게 행동하는 경우
Output of anomaly detection techniques - anomalies 를 output 으로 나타내는 방법
· Scores : scoring-based anomaly detection 기술은 각각의 data instance 마다 anomaly score 을
할당한다.
· Binary/label : output → 2 진법으로 나타난다. 2 진법의 출력은 각각의 data instance 를
normal/abnormal 로 라벨링한다.
Types of network attacks
<Attacks 과 Anomalies 사이의 관계>
Dos attack → collective anomaly
Probe attack → contextual anomaly
U2R, R2L attack → point anomaly
Network anomaly detection methods on four major categories
1. Classification based network anomaly detection
(1) Support vector machine
· Maximal margin 을 갖도록 origin 으로부터 training data 의 전체 set 을 분리시키는 방식이다.
· Positive classes 와 negative classes 사이의 margin 을 최대화시키는 hyperplane 을 찾는 방식이다.
※ margin : 선과 가장 가까운 양 옆 데이터와의 거리
· Statistical learning theory 에 기반을 둔 structure risk minimization principle 의 정확한 시행이다.
· Supervised/unsupervised learning algorithm 에 둘 다 사용된다.
Supervised → hyperplane 으로부터 feature space 에서 two classes 를 분리 하려고 할 때
Unsupervised → origin 으로부터 entire set of training data 를 분리하려고 할 때
(2) Bayesian network
· Uncertainty 를 포함하고 있는 domain 을 모델링하려고 할 때 효과적인 방법이다.
· 이 network 에는 parent-child 관계가 존재하는데, child node 로 나타난 variable 과 parent node 로
나타난 variable 은 서로 독립적이라는 것을 나타낸다.
· events classification 뿐만 아니라 anomaly detection 에도 적용 가능하다.
· 두 개의 states 를 갖고 있는 variable 을 나타내는 root 를 도입하여 anomalous events 를
알아내는데 적용된다. 하나의 child node 는 model 의 output 을 포착하는데 사용되고 다른 하나는
root node 와 연결되어 input 이 abnormal 이거나 normal 일 때 output events 는 다를 것이라고
예상된다.
(3) Neural network
· network anomaly detection 할 때 neural work 는 다른 기술들과 합병된다.
· RNN → anomalous network traffic 의 외부 factor 을 제공한다.
→ 그 목적은 training 을 통해 output layer 에서 입력 데이터 패턴을 최소한의 오류로
reproduce 하는 것이다.
· SOM → network anomaly detection 에 사용된다.
→ SOM 을 사용하면 network traffic 이 실시간으로 분류된다.
→ network attack 은 output neuron map 과 비교하여 더 큰 영역을 cover 하는 다른
neuron 의 set 에 의해 특징지어질 수 있다.
(4) Rule-based
· Supervised learning algorithm 에 사용된다.
· system 의 normal behavior 와 system 내에 포함되어 있지 않은 것을 anomalous 하다고 여기는
것을 학습한다.
· single, multi-label learning algorithm 을 둘 다 고려한다.
· single-label learning algorithm : 분리된 class labels 의 집합의 고유한 class labels 와 연관된
instances 집합에서 학습하는 것을 목표로 한다.
· multi-label learning algorithm : fuzzy clustering 과 상관관계가 있는 둘 이상의 classes 와 하나의 instance 가 연결되게 한다.
2. Statistical anomaly detection
Basic idea : 정상에서 비정상으로 사건이 크게 벗어난 것과 침범을 감지하자
(1) Mixture model
Anomaly 는 엄청 큰 수의 normal elements 사이에 존재 한다는 개념에 의의를 두어 noisy
data 로부터 anomalies 를 감지한다.
(2) Signal processing technique
Abrupt change detection 에 기반을 둔 statistical signal processing technique 이 제시되었다.
Management info bases 는 anomalous networks 에 해당하는 경고하는데 사용되는 network health
function 을 만드는데 사용된다.
(3) PCA
· 다차원 데이터를 차원 축소하기 위한 방법이다. 다차원 데이터를 차원 축소 했을 때 많은
정보를 볼 수 있는 값들로 변환시켜 준다.
· 여러 변수 간에 존재하는 상관관계를 이용하여 이를 대표한 주성분을 추출해 차원을 축소하는
기법이다.
3. Information theory based anomaly detection
Entropy : data item 의 collection 의 불확실성을 측정한다.
Supervised anomaly detection 은 model 의 performance 를 평가하기 위해 training dataset, test
data 가 필요하다. Info-theoretic measure 은 model 이 새로운 dataset 을 test 하기에 적합한지
아닌지 결정하는데 사용된다.
(1) Correlation analysis
NCC similarity measure 은 network traffic 사이에 linear, nonlinear correlation 을 추출하도록
제안된다. 추출된 correlative info 는 malicious network 행위를 감지하는데 이용된다.
Pearson’s correlation coefficient → 두 개의 variable 사이에 dependence 를 찾는 basic linear
correlation method
4. Clustering-based anomaly detection
· unsupervised learning algorithm 에 사용된다.
· regular clustering 과 co-clustering 의 차이점 : processing of rows and columns
(1) Regular clustering
· normal, anomalous clusters 을 만들기 위해 k-means clustering 을 이용한다.
· clustering evaluation 기법들의 결합에 근거한 cluster-labeling 전략이 제시되었다. Clustering
evaluation index 와 cluster 의 중심 지름의 비교는 attack vector 의 성질에 충분히 대응하기 위해
결합되었다. 이들은 해당 cluster 의 compactness 와 그 사이의 separation, 그리고 분석된
네트워크에서 normal 과 abnormal 을 구별하는 주요 principal parameter 를 고려한다
· data instances 를 분류하기 위해 width 에 기반을 둔 clustering 을 제시되었다. Width 는 모든
clusters 에 대하여 같고, 변함없다. Normal instance 는 전체 dataset 의 압도적으로 큰 부분을
구성한다는 가정하에 clustering 이 한 번 수행이 되면, N %의 clusters 는 normal 이고 나머지는
anomalous 하다.
· cluster 가 특이치인지 여부를 확인하는 접근 방식이 제시되었다. 이 기법은 cluster 의 두 가지
성질 [ (1) density (2) 다른 cluster 와의 거리 ]에 의존한다. Cluster density 는 data instance 수에
따라 다르고, 거리를 확인하기 위해서는 한 cluster 와 다른 cluster 사이의 평균 cluster 간 거리를
계산해야한다.
(2) Co-clustering
· Cluster 을 만들기 위해 dataset 의 row 와 column 을 둘 다 고려한다.
· 다른 clustering algorithm 과 다르게 co-clustering 은 clustering criterion 을 규정하고 그것을
사용한다. 규정된 기준을 이용하여 data matrix 의 rows, columns 의 subset 을 찾는다.
· Co-clustering 은 Dos attack 을 탐지하는데 유용하며 집단적 anomaly detection 에 사용될 때 성능
이 크게 개선된다.
Intrusion detection datasets and issues
Privacy issue때문에 network traffic 분석을 위해 사용되는 dataset은 쉽게 이용하지 못한다.
DARPA/KDD datasets 사이에 매우 적은 dataset만 공적으로 이용 가능하다.
1. DARPA/KDD의 한계점
· 이 논문에서 다뤄진 anomaly detection 기법들 중 50% 이상은 그들의 availability 때문에
DARPA/KDD datasets을 이용한다.
· KDD datasets은 구축이 쉽기 때문에 광범위한 데이터를 수집하기 위해 Solaris 기반 운영 체제를
사용하여 개발된다. 그러나 Solaris와 거의 유사하지 않은 오늘날의 운영 체제에서는 큰 차이점이
있다. Ubuntu, Windows 및 MAC의 오늘날의 Solaris는 시장 점유율이 거의 없다. KDD dataset에
사용되는 traffic 수집가는 과부하가 발생하여 과도한 traffic load로부터 패킷을 떨어뜨릴 가능성이
매우 높다.
· DARPA/KDD의 문제를 해결하기 위해 오늘날의 computing에서 침입 탐지 dataset를 생성하는
것이 중요하다.
2. Contemporary network attacks evaluation dataset : ADFA-LD12
· modern attack 구조와 방법론을 대표하는 공적으로 이용 가능한 dataset이다.
· dataset 개발자들은 attack을 신중하게 선택하고, 현대의 penetration tester와 hacker의 방법에
초점을 맞췄다. 또한 ADFA-LD12용 target 서버를 완전히 patch하여 현실적인 target을 생성함으
로써 target 시스템의 취약성과 필요한 사실성 간에 절충이 이루어졌다.
· ADFA-LD12는 최신 Linux 운영 체제를 사용하기 때문에 DARPA/KDD datasets의 후속 버전이다.
흥미롭게도 KDD dataset가 현대의 attack을 나타내지 못하기 때문에, KDD datasets에 대한 침입
탐지 기술의 성능은 ADFA-LD12와 다르다.
<Network anomaly detection 기법들 평가>
· Output style에 관해서는 clustering과 Information theory based기법이 다른 기법보다 낫다.
Clustering기법은 계산 효율이 높고 Dos attack 발견을 위한 특정 target을 가지고 있는 반면
information theory based기법은 특정한 공격 target을 가지고 있지 않다.
· Clustering과 classification 기법 모두 Dos attack을 타겟으로 하고, Statistical 기법은 매우 드문
R2L 및 U2R attack을 선호한다.
· statistical 기법이 가장 낮은 복잡성을 갖고 있지만, Dos attack을 알아내는 데는 적합하지 않다.
· classification과 clustering 기법들은 비슷한 복잡성을 갖고 있고, 같은 타겟을 갖고 있지만
classification 기법은 pre-labeled data의 추적이 필요한 supervised learning에 기반을 두었고,
clustering은 unsupervised learning에 기반을 두었다. Clustering은 statistical 기법의 복잡성은 이길
수 없지만 다른 부분에서는 전부 능가한다.
위 논문은 anomaly detection 기법들을 크게 4가지로 나누고 그에 대해서 설명하고 다양한 관점
에 따라 평가하였습니다. 그 후에는 다른 survey와 다르게 network traffic dataset issue에 관한
discussion을 제공하였습니다. 또, 결론에서는 현존하는 anomaly detection 기법들은 대부분 단일
시스템 혹은 단일 네트워크를 monitoring하는데 사용되기 때문에, 이러한 독립적인 anomaly
detection 기법의 instance 간에는 통신과 상호 작용이 존재하지 않고, 고도로 분산 되어있는 공
격을 발견할 수는 없다고 이야기 하였습니다. 그래서 거대한 네트워크나 IT 시스템의 안전을 위해,
sensor처럼 행동하고 data를 수집하는 몇 개의 모니터로 구성된 협력적인 기법들이 매우 효과적
이라고 주장했습니다. 그래서 이 논문을 읽고, collaborative techniques에 관심을 더 가지고,
collaborative techniques 구현이 가능해지도록 열심히 연구 해야겠다는 생각이 들었습니다.