2020년 4월 28일 화요일

엘라스틱 지도학습으로 IDS 정오탐 구분해보기 - 2nd

학습 데이터 필드 구성을 4개 유형으로 나누고, 각각 모델을 만들어봤다.
① uri + label
② parameter + label
③ url + parameter + label
④ url + parameter + pattern + label

url + parameter + pattern + label

완성된 모델

학습 결과

① uri + label, ② parameter + label

class1, class2

③ url + parameter + label

uri를 url과 parameter로 분리했을 때 정확도가 극적으로 높아진다. 오탐/미탐률은 각각 7%, 정탐률은 93%.

class3

④ url + parameter + pattern + label

class4

parameter를 다시 parameter와 (sql injection) pattern으로 분리하면 정확도가 좀 더 올라간다.
여기서 통계의 중요한 특징 하나를 알 수 있다. 그 특징은 바로 상태를 쪼개면 쪼갤수록 그 상태에 대해서 더 잘 알게 된다는 것. - 엘라스틱서치로 알아보는 이상징후 분석 (13페이지)

모델 테스트

정탐률 98%의 네 번째 모델을 테스트 데이터(14개의 sql injection이 포함된 2009개의 IDS 로그)에 적용해봤다. 드디어 하나 탐지(..)


테스트 데이터 변경

학습 패턴과 테스트 패턴의 유사도가 많이 낮은 모양. 짱나서 학습에 사용했던 데이터(정오탐 각각 887개)로도 테스트해봄.

정탐

오탐이 10개 포함됐지만 공격은 거의 놓치지 않는다. 한 번 봤던 애들은 잘 기억하는구나.

오탐

미탐

그런데 왜 다른 데이터로 테스트하면 헤맬까? 이게 말로만 듣던 과적합이란 건가? 이미지 인식 제대로 하려면 백만 장 학습이 필요하다더니. (최소 만 장은 필요하다고) 학습량을 더 늘려야하나?

관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스