2.3 - Phase 1 진행 상황
프로그래밍/패킷 캡쳐 2009. 6. 11. 15:45시험기간이라 많이 못하는게 아쉽네요... 빨리 시험 끝나서 전체적인 시스템을 완성시켜보고 테스트 해 보고 싶습니다 :)
목적이 점점 구체적으로 정해지는게 느껴집니다.
이 시스템은 두 관점으로 볼 수 있습니다.
1. 일반 사용자 (PC)를 대상으로 하는 시스템
: 이 경우에는 현제 트래픽의 흐름을 프로세스와 매칭시켜 볼 수 있고, 원하지 않는 프로그램의 트래픽을 막을 수 있도록 하는 시스템을 목표
2. 라우터( ex. 백본망)을 대상으로 하는 시스템
: 이 경우에는 라우터에서 트래픽을 관리 하는 시스템
: 기존에는 포트를 막는 방식으로 프로세스를 제한해 왔지만 이 시스템을 이용하여 Signature를 추출하고
: 이 Signature 기반으로 트래픽의 프로세스를 유추하여 트래픽을 관리 하는 시스템을 목표
현재는 2번까지는 갈 수 없더라도 [1] + [Signature 추출 및 매칭] 의 시스템을 목표로 하고 있습니다.
[1] 번 시스템을 먼저 구성하는게 우선 일 것 같군요
[1] 번 시스템의 구성을 다시 한 번 살펴보면 다음과 같이 크게 3개의 Phase 로 구성됩니다
Phase 1 : 패킷들을 잡아 프로세스별로 나눠 저장하는 모듈
- 이 부분에 대해서는 [2-2] 의 글에서 어느정도 작성 하였습니다.
- 현재 까지 완성된 버전에서는 약간의 메커니즘이 변경되어 나중에 다시 언급하도록 하겠습니다.
- 아직 이 부분까지 구현을 하지 않아 추상적으로만 그룹과정을 생각해봤습니다.
(표로 넣으려고 했는데 표 셀 합치기가 되질 않네요....)
[프로세스명] ┳ [TCP] ┳ [Server] - 일반적으로 SYN 을 받은쪽이 Server
┃ ┗ [Client] - 일반적으로 SYN 을 보낸쪽이 Client
┃
┗ [UDP] (UDP 는 아직 고려하지 않습니다.)
다음과 같이 추상적으로 그룹을 생각해 봤습니다. 앞으로 더욱 많이 생각해봐야 될 부분인 것 같습니다.
Phase 3 : 정답지를 이용하여 실제 트래픽에 적용하여 정답률과 오답률을 측정(그래프로 보여줄 예정)
ex)
TP : A 패킷을 A Process 로 판단, TN : A 패킷을 B Process 로 판단
- 정답률 : TP / TP + TN
막상 쓰고보니 별게 없군요... 현재까지 진행사항을 올린뒤 포스팅을 마치겠습니다.
Phase 1 과정에 다음과 같이 프로세스별로 폴더가 만들어지고 파일이 생성되게 됩니다.
devenv 라는 프로세스에서 발생된 패킷들을 저장햇네요 'ㅡ')!
언제나 프로그래머를 괴롭히는거라면 벌레(…)겠죠. 이 전 버전에서 몇 가지 버그를 잡느라 혼났습니다.
가장 큰 버그라면 자꾸 프로세스명이 svchost만 잡히는 겁니다.... 이 전글을 보시면 아시겟지만 TCP Table에
svchost만 잡히는 스크린샷을 볼 수 있을겁니다. 전 원래 그런것인줄알앗는데 프로그램 코딩상의 문제였습니다.
그것을 수정하고 나니 잘 나오는것(…) 처럼 보이긴하는데... 또 까보면 무슨현상이 발생햇는지 며느리도 모르겟죠 ...
^^ 좋은 하루 되세요.