패킷 분석을 하다보면, 문제가 되는 컴퓨터에서 발생시키는 트래픽이 얼마나 되는지 측정할 때가 있다. 네트워크 라는 넓은 범위에서 트래픽을 관찰하는 것이라면, 네트워크 관리자가 보게되는 것이 IP 주소 기준이 되기 때문에 해당 컴퓨터에서 발생하는 모든 트래픽이 기준이 될 것이다. 그런데, 컴퓨터내에서 특정한 프로세스가 발생시키는 트래픽에 대한 수치가 필요한 경우도 있다. 사실 특정 IP 에서 발생시키는 것은 여러 브로드캐스팅 부터 기타 네트워크 연결상에서 발생되는 일반적인 모든 트래픽을 다 포함시키기 때문에, 정확히 측정하고자 하는 수치가 어떤 것이냐 하는 점은 약간 모호한 점이 있다.
분석이라는 관점에서 보면 이런 수치가 필요한 경우가 무엇이 있을까 생각해 본다면, 분명 분석이 필요한 부분이 있을 것이라는 가정이 선다. 예를들어, 악성코드에 감염되어 사용자 본인의 의도와는 상관없이 트래픽이 발생될 수 있고, 또는 특정 프로그램에 의해서 발생되거나 잘못된 프로그램 등 여러 가능성들이 있다. 자~ 이런 관점에서 이것들이 발생시키는 트래픽을 측정하고자 할때는 발생시킨 트래픽을 구분하고 이에 대한 값들을 수치로 뽑아낼 수 있다. 평균 패킷 발송 개수, 초당 전송량, 평균 패킷 사이즈 등과 같이 데이터 말이다.
악성코드에 의해 감염된 것을 가정하고 이런 트래픽 수치를 산출한다고 했을때, 한 가지 명확히 해야 할 부분이 있을것 같다. 필자도 그냥 다른것은 생각치 않고 발생된 패킷 데이터를 가지고 수치를 뽑았는데 이런 생각이 들었다.
- 악성코드 자체가 순수하게 발생시킨 트래픽이 있을 수 있으며
- 악성코드 자체가 발생시킨 트래픽이 통신 과정을 이뤄내는 과정 까지 포함된
부분이 있을 수 있다.
자, 여기서 보는 관점에 따라 달라지겠지만 악성코드를 분석하는 분석가가 정보를 기술한다는 점에서는 악성코드가 순수하게 발생시키는 트래픽을 기준으로 할 때가 올바를 것이다. 외부의 요인이 결합되지 않고 그 자체가 발생시킨 데이터 말이다.
하지만, 트래픽을 발생시킨다는 것은 다른 목적지와의 통신과정이 있다는 것이다. 웹 서비스 포트인 80 번포트로 패킷이 발송되었을 때 TCP 3-Way Handshake 과정을 다 포함시키면 최소 몇개 이상으로 패킷 개수는 늘어난다. 악성코드 관점에서만 보면 80 번포트로 발생시킨 트래픽 한개일 뿐이지만 말이다. 그런데 또 목적지 포트에 도달할 수 없는 상황이라면 상황은 또 달라진다.
이렇게 요약해 볼 수 있다.
- 악성코드가 순수하게 Request 한 패킷 기준
- 악성코드가 순수하게 Request 한 패킷 기준이지만 통신 과정이 다 포함되는 경우
* 단, 악성코드가 실행된 시간과 얼마동안 동작했느냐에 따라 이 수치는 크게 영향을 받을 수 있다.
분석가 관점에서라면 첫번째가 더 의미 있을 수도 있지만, 현실적으로 트래픽이 폭증하여 대처를 해야 하는 네트워크 운영자 관점에서는 두번째가 더 의미 있다.
필자가 이런 이야기를 한번 다루는 것은 분석이 되어 만들어 지는 데이터 수치가 각기 다른 경우가 발생되어 발표된다는 점 때문이다. 어느 기준을 가지고 만들어 져야 할까 ? 첫번째 경우는 악성코드 자체만을 가지고 봤을때 가정 정확한 데이터이고, 두번째는 현실적인 대처에 포함된다. 보통의 경우 두번째로 쓰이는 경우가 많은것 같다. 더 정확히 하기 위해서라면 트래픽 수치를 다루는 경우 발생된 환경과 기준을 명확히 명시해 주는 것이 가장 좋은 방법이라 생각된다.
이거외 다른 사례도 발생되는 경우가 있는데, 트래픽 기준을 잡는데 특정 위치에서 덤프된 모든 트래픽 데이터를 가지고, 이 악성코드가 발생시킨 것으로 단순히 간주하는 경우도 있다. 즉 이 데이터 수치가 ' XX 악성코드' 가 발생시킨 트래픽이다 하고 정의해 버린 것이다. 이렇게 되면 대당 컴퓨터가 발생시키는 수치 자체에도 큰 변화가 생겨 잘못된 정보를 만들어 낸다. 실제 발생되는 컴퓨터에서 발생된 기준과, 전체 네트워크에서 다 덤프한 데이터를 가지고 하는 수치 측정은 분명히 다르다.
트래픽에 대한 수치를 뽑을 때는 분명 그 기준이 명확하고 동일하게 적용되어야 한다는 점을 말해보고 싶었다.
From Rigel
댓글 없음:
댓글 쓰기