2.4 - Phase 2.ing 진행 상황
프로그래밍/패킷 캡쳐 2009. 6. 14. 00:42Phase 1의 주요 기능이 트래픽을 잡아 프로세스별로 저장하는 것이였다면
Fig. 현재는 생각지 않지만 추후에는 성능 측정부분도 추가 계획입니다.
Fig. Capture 화면
Fig. Phase 1에 의해 저장된 .p1 파일 읽기
Fig. 저장된 파일을 읽은 모습
Phase 2의 주요 기능은 저장된 데이터를 읽고, 프로세스 별로 최대한 비슷한 행동을 한 녀석끼리 그룹을 하고,
Real-Time을 생각한다면 이 Signature는 길이와 개수에 제한이 있을 것같네요. 하지만 그건 나중에 생각하죠 :)
조금더 자세하게 들어 가보겠습니다.
1. 프로세스 별로 최대한 비슷한 행동을 한 녀석끼리 그룹
이렇게 그룹 하는 방법외 다른 방법이라면 IP, Port, Received Time들 간의 연관관계를 이용하여 그룹 하는 방법도 있겠네요. :) 더 깊게 들어 가면 너무 복잡해 지므로, 일단 Ver 1.0 을 빨리 만드는게 목적이니 간단하게 나눠 보려고 합니다. 충분히 변경될 부분입니다만 지금 아무리 생각해도 어떤 방식으로 하는게 더 좋을지는 실험을 거치지 않은 상태이기 때문에 Phase 3 이 완성되고 분석률이 나오면 다시 짚는 시간을 갖도록 하겠습니다.
2. 특정 알고리즘을 사용하여 Signature를 추출
이 부분에 대해서는 전 포스팅에도 있듯이 몇 가지 간단히 생각해둔 알고리즘을 사용하려 합니다.
- '패킷의 첫 4 bytes': 구현하기 가장 쉬운 알고리즘으로 처음에는 이 알고리즘을 적용하여 테스트 할 계획입니다.
- 'LCS'(Longest Common Subsequence): 기본적인 LCS 알고리즘으로는 여러가지 문제에 의해 판별하기가 힘들거라 생각하지만 조금씩 변경해 나가면 좋은 결과를 보여줄 거라 생각합니다. '패킷의 첫 4 bytes' 알고리즘이 완성되어 어느정도 분석률이 나오면 이 알고리즘도 적용 할 계획입니다.
1 과정을 거쳐 그룹된 패킷들을 2에 의해 Signature가 추출되게 됩니다.
대충 Phase 2의 윤곽이 잡힌 것 같으니 다시 프로그래밍 세계로 접속해야 겠군요 :)
좋은 하루 되세요 ^^
( 아래는 현재 진행 상황 입니다. )
- 프로세스를 대표할 수 있는 특정 문자 혹은 값 [본문으로]