ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네트워크 정보 시각화(Visualization)
    kb 2012. 5. 7. 08:41

    최근 침해사고 대응을 하면서 고객사의 네트워크가 취약하다는 것을 어떻게 하면 효과적으로 전달할 수 있을까? 고민하다가 시각화(Visualization)하는 방법을 사용하면 좋겠다고 생각하였습니다. 시각화를 위해서는 어떠한 데이터를 시각화 할 것인지? 그리고 어떻게 표현한 것인지를 우선적으로 고민해야 합니다. 


    고객사에서 분석을 하기위해 네트워크 IP 를 하나 할당 받았는데 공인 IP 였습니다. 실로 감회가 새로웠습니다. 그러고보니 공인 IP 를 사용해 본 것이 2000년도 이후로는 한번도 없었던 것 같군요. 일단 부여받은 IP로 설정하여 Wireshark 를 실행해 보았습니다. 역시나!!! 사내에서 사용하고 있는 모든 IP 대역이 제가 실한한 Wireshark 를 통해 확인할 수 있었고, 내부 사설 IP 대역에 대해서도 패킷을 확인할 수 있었습니다.


    상황이 이렇게 취약하다보니 오히려 제가 선택해야하는 데이터와 시각화 방법을 결정하는데는 그리 오래 걸리지 않았습니다.


    일단 tcpdump 로 패킷을 수집하고 그 결과를 afterglow 를 통해 IP 를 기준으로 네트워크의 흐름(?)을 보여주기로 하였습니다. 참! tcpdump 와 afterglow 가 리눅스나 맥에서도 동작하지만 저는 윈도우 환경에서 해보았습니다. 


    준비물


    실험


    패킷 데이터를 수집하기위해 tcpdump 프로그램을 이용합니다. 일단 tcpdump 를 사용하기 전에 tcpdump 를 실행할 PC에 설치된 네트워크 인터페이스를 확인하고 번호를 기억해야 합니다. -D 옵션으로 네트워크 인터페이스를 확인할 수 있습니다. 저의 경우 아래와 같이 7개의 네트워크 인터페이스가 존재하며 제가 사용할 인터페이스는 3번입니다.


    C:\Temp\afterglow\src\perl>tcpdump -D

    1.\Device\PssdkLoopback (PSSDK Loopback Ethernet Emulation Adapter)

    2.\Device\NdisWanBh (WAN Miniport (Network Monitor))

    3.\Device\{D7D26CF6-D8E2-4D53-AA39-6BF7BB73F00D} (tgsvpn driver 1.0)

    4.\Device\{586B5A07-E6E0-42B6-A37E-87C04DAA95F5} (Realtek PCIe GBE Family Controller)

    5.\Device\{DBB03636-E453-4AC7-9CCE-5667F7417B42} (Intel(R) Centrino(R) Advanced-N 6230)

    6.\Device\{D072497E-031B-44EC-BDB6-D4F38B1746C2} (Realtek PCIe GBE Family Controller)

    7.\Device\{84239C45-D8B4-4241-A63E-46F4EB031B96} (VMware Virtual Ethernet Adapter for VMnet8)


    이제 인터페이스를 확인하였으니 본격적으로 tcpdump 를 통해 패킷을 캡쳐해 보겠습니다. 명령어는 아래와 같이, 네트워크 인터페이스 3번에서 패킷을 수집하여 packet.dmp 파일로 기록하라고 합니다.


    C:\Temp\afterglow\src\perl>tcpdump -i 3 -w packet.dmp


    이렇게 수집한 데이터 (packet.dmp) 파일을 보기 좋게 내지는 그래프를 그리기위해 그래프 그리는 도구가 인식할 수 있도록 나타내어야 합니다. 제가 인터넷에서 찾아 사용했던 명령어는 아래와 같습니다.


    C:\Temp\afterglow\src\perl>tcpdump -vttttnnelr .\packet.dmp | .\parsers\tcpdump2csv.pl "sip dip dport" | perl .\graph\afterglow.pl | neato -Tgif -o test.gif


    그러나 tcpdump2csv.pl 에서 사용하는 정규식이 tcpdump 의 결과를 정확히 분석하지 못하였습니다. 아마도 리눅스용과 윈도우용의 차이가 아닐까까요? 확인해 보지는 못했습니다. tcpdump2csv.pl 을 수정해 보려 했으나 원하는 결과를 얻을 수 없어 ext.pl [별첨1] 이라는 별도의 파일을 만들었습니다. 


    C:\Temp\afterglow\src\perl>tcpdump -ttttnnr .\packet.dmp | ext.pl | perl .\graph\afterglow.pl | neato -Tgif -o test.gif



    결과


    이렇게 만들어진 test.gif 파일은 아래와 같습니다. (민감한 정보로 자세한 내용까지는 공개할 수 없어 전체적인 그림만 볼 수 있도록 화질을 조정하였습니다.)



    이러한 데이터가 하나하나 축적되고 프로세스화 된다면 보고서의 퀄리티를 높이는데 도움을 줄 수 있을것이라고 생각합니다. 참고로 시각화 관련된 블로그 목록입니다. 일단 이쁜 이미지들이 많아서 보이기에 편하답니다. ^^*


    별첨


    ext.pl 파일은 아래에 첨부하였습니다. 참고하세요.


    ext.pl



    'kb' 카테고리의 다른 글

    Google OTP  (2) 2014.02.09
    인케이스(EnCase) 에서 파일명이 한 자리인 파일들 확인하기  (0) 2012.05.01
    PDF 취약점 분석  (0) 2011.12.27
    Proxy DLL  (0) 2011.04.20
    Diffie-Hellman Key Exchange Protocol  (0) 2011.04.04
Designed by Tistory.