MSN Sniffer 차단을 위한 가상 시나리오

Tags:

최근에 사회면에 실렸던 MSN 스니퍼[1]에 대한 부정적인 측면을 생각해보고 있습니다. 그리고 sniffering을 사용한 사생활 침해를 막기 위한 가상의 역공격 시나리오를 생각해 보았습니다. 이것이 가능하려면 먼저 promiscuous mode로 동작중인 NIC의 검색이 가능해야합니다.

1. Promiscuous Mode로 동작중인 NIC 검출
이를 위한 기법으로는 크게 2가지[2]가 제시되고 있습니다.

  • reverse DNS lookup 패킷에 대한 sniffering
  • 의심가는 컴퓨터의 응답 시간 검사

reverse DNS lookup에 대한 sniffering 기법은 다음과 같이 이루어집니다. 만약 A가 B 머신(IP:123.456.789.012)의 패킷을 sniffering한다고 하겠습니다. 그러면 A는 B의 패킷을 조사한뒤 이를 다시 reverse DNS lookup합니다. 즉 IP로부터 도메인 이름을 알아내려합니다. 왜냐하면 IP보다는 도메인 명이 결과물로 A의 사용자에게 반환하기 좋으니까요. 따라서 링크된 글에서는, 아무도 모르는 PC를 설치한뒤 이 PC에서 패킷을 몇개 날렸을때 A가 이 PC에 대한 reverse DNS lookup을 한다면, 십중 팔구 sniffering중인 것으로 판단하는 기법입니다.

두번째 방법인 응답 시간 검사는, 먼저 ping등의 명령어로 의심이 가는 PC인 A 응답시간을 검사합니다. 다음, 과도한 트래픽을 일으키면서 동시에 A의 응답시간을 조사합니다. 이 때, 응답시간이 크게 지연된다면 A를 의심스럽다고 판단합니다. 주의할 점은, 이 때 A가 정말로 의심스러운가 아닌가는 알 수 없다는 점입니다. A가 정말로 다른 트래픽이 많아서 지연되고 있을 수도 있어 완전하지 못한 기법입니다.

개인적인 생각으로는 첫번째 방법 + 두번째 방법을 적용하되, 의심스러운 PC에 대한 부하가 실제로 트래픽이 일어나서 그런 것인지 혹은 promiscuous mode로 동작중이어서 그런지에 대한 판단을 역시 똑같이 network sniffering을 통해 할 수 있지 않을까 생각하고 있습니다. 또는 약간의 인공지능 방식을 적용하여 의심가는 컴퓨터의 시간대별/일자별/요일별 response time 패턴을 분석하고 이것에 크게 어긋나게 반응하는지를 응용할 수 있다고 생각합니다.

2. 역 공격 기법
sniffering을 차단하기 위해, 공격자의 NIC 를 근본적으로 차단합니다. 이와 같은 공격으로는 다음에 보인 DoS/DDoS 공격 기법[3]이 가장 효율적일 것입니다.

  • SYN Flood Attack
  • Smurf Attack (다른 PC를 공격에 가담시킨다는 점에서 바람직하지 않음)
  • Jolt2 Attack
  • WinNuke Attack

3. 역 공격 마감
공격을 깔끔하게 마감하는 것 역시 중요한 요소입니다. 주기적인 간격으로 공격을 정지하고, 상대의 sniffering 의 지속여부에 따라 역공격 지속 여부를 결정합니다. 크게 5-10분에 한번씩 지속을 판단할 수 있습니다.

References
[1] MSN Sniffer, Effetech.
http://www.effetech.com/msn-sniffer/

[2] Sniffering out Packet Sniffers,
http://www.enterprisenetworkingplanet.com/netsecur/article.php/10952_766671_2

[3] Studies of various denial-of-service tools in regard to Clavister Firewall – Clavister KB #10067
http://www.clavister.com/support/kb/10067/

Comments

2 responses to “MSN Sniffer 차단을 위한 가상 시나리오”

  1. MKSeo Avatar
    MKSeo

    Man, what I’ve written here is a way of defacing a host which runs a msn sniffer. For that purpose, I had proposed two ways to detect msn sniffering. Firstly, reverse DNS lookup is monitored because I believe any sniffer will try to find the hostname of the victim. Secondly, response times of all hosts are monitored after sending tons of packets to the network. Because sniffer has to dissect all packets, the sniffering host will reply very slowly in presence of large amounts of packets.

    After then, I think it might be possible to deface the sniffer by using the one of denial of service attacks: e.g.) SYN Flood, Smurf, Jolt2, WinNuke, fake msn chatting packets, and so on.

    Basically, I don’t like the idea of msn sniffering. It’s unethical. right? Moreover, msn sniffering is widely misused as a means of monitoring people’s social activities which I hate the most. Please give it a second thought before making such softwares.

Leave a Reply

Your email address will not be published. Required fields are marked *