3.1 - 실험 시작
프로그래밍/패킷 캡쳐 2009. 6. 19. 00:19실험 시작했습니다.
Fig. 원본 데이터 5MB
Fig. 결과 화면
추가 사항
패킷들을 FLOW별로 저장하고 그들에게서 시그니처를 추출하여 다시 패킷들에 매칭시키는 방법입니다.
일단 시그니처 추출 전략은 단순히 패킷의 첫 4 BYTE를 들을 시그니처리스트로 뽑앗고 다음은 그에 결과입니다.
충격과 공포의 결과였습니다. 물론 시그니처가 분명한 행동만 계속 하면 정답률은 올라가겟지만 그런 행동을 해도 이건 복구할 수 가 없는 수치로 다다릅니다.
순수 정답률 : 0.694%, 순수 오답률 96.172% -_-오 마이 갓....
왜 이럴까 고민을 해봅시다.
문제점
1. 프로그램 실행전에 맺어진 세션에 대해서는 자료가 Update 되지 않는 메커니즘 때문에 못잡는 패킷 증가
2. 패킷마다 첫 4 byte를 보면 의미 없는 시그니처가 너무 많이 잡힘
해결책
1. 프로그램 시작전 맺어진 세션의 ACK에 대해서는 계산에 포함하지 않습니다.
2. Sig 개수가 꽉 차면 Sig를 정리 하는 과정을 갖습니다.
- Process 별로 가장 많이 나온 상위 10개의 Signature만 살리고 나머지는 모두 지웁니다.
추가 사항
- History Storage 개념 추가
Signature로 매칭이 안될 때 기존에 매칭이 되었던 Flow 정보를 이용하여 History를 생성하고 이를 이용해 2차 매칭을 시도합니다.