네트워크 보안 - Ch06(스니핑)

스니핑

스니핑이란?

  • 해킹 기법으로 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 엿듣는 것이다.

프러미스큐어스 모드(Promiscuous Mode)

  • MAC 주소와 IP주소에 관계없이 모든 패킷을 스니퍼에게 넘겨주는 것
  • 일반적으로 패킷의 MAC주소와 IP주소가 일치한다면 패킷을 받지만 해당 모드는 두 주소에 관계없이 모든 패킷을 스니퍼에게 넘겨준다.

바이패스 모드(Bypass Mode)

  • 패킷에 대한 분석까지 하드웨어로 구현되어 있는 랜 카드
    • 리눅스 환경에서 ifconfig 명령으로 랜카드 확인
    • ifconfig eth0 promisc 명령으로 eht0 장치를 프러미스큐어스 모드로 바꾼다.

스니핑 공격 툴

  • TCP Dump
  • 리눅스에서 가장 기본이 되는, 하지만 강력한 스니핑 툴
  • TCP Dump로 획득한 증거 자료는 법적 효력이 있다.

텔넷이란?
사용자의 컴퓨터에서 네트워크를 이용하여 원격지에 떨어져 있는 서버에 접속하여 자료를 교환할 수 있는 Protocol

  • Fragrouter
    • 스니핑을 보조해주는 툴로, 받은 패킷을 전달하는 역할
    • 스니핑을 하거나 세션을 가로챘을 때 공격자에게 온 패킷을 정상적으로 전달하려면 패킷 릴레이가 반드시 필요함.
    • 패킷 릴레리를 해주는 역할을 한다.
  • DSniff
    • 스니핑을 위한 자동화 툴로 암호화된 계정과 패스워드까지 읽어내는 능력이 있다.

스위칭 환경과 스니핑

  • 스위치는 각 장비의 MAC주소를 확인하여 포트에 할당
  • 자신에게 향하지 않은 패킷 외에는 받아볼 수 없어 스니핑을 막게 됨.
  • 자신에게 향하지 않은 패킷 외에는 받아볼 수 없어 스니핑을 막는 도구로 용이하다.

ARP 리다이렉트와 ARP 스푸핑

  • 공격자가 자신을 라우터라고 속이는 것
  • 공격자가 자신을 라우터라고 속임으로서 다른 host들은 자신의 기본 라우터로 보내는 것이 아닌 공격자로 보내게 된다.
  • 공격자 자신은 원래 라우터의 MAC 주소를 알고 있어야 한다. 왜냐하면 받은 모든 패킷은 다시 라우터로 릴레이해줘야되기 때문이다.
  • ARP 스푸핑은 호스트 대 호스트 공격, ARP 리다이렉트는 랜의 모든 호스트 대 라우터라는 점 외에는 큰 차이가 없다.

ICMP 리다이렉트

  • 공격 대상에게 패킷을 보낸 후 라우터 A에 다시 릴레이시켜 스니핑함
  • ICMP Redirect를 위조한 메시지를 만들어서 호스트 패킷의 라우팅 경로를 악의적으로 변호하는 것이다.
  • 공격자는 자신이 원하는 형태의 ICMP Redirection 메시지를 만들어 특정 목적지로 가는 패킷을 공격자로 향하도록 한다.

스위치 재밍

  • 스위치를 직접 공격한다.
  • ARP와 ICMP를 활용한 스니핑은 스위치를 그대로 두고 공격한다.
  • MAC 테이블을 위한 캐시 공간에 버퍼 오버플로우 공격을 실시
  • 일반적인 스위치가 보안원리 중 하나인 Fail Close를 따르지 않는다.
  • 스위치의 MAC 테이블의 저장 용량을 넘어 원래의 기능을 읽고 허브와 같이 Broadcasting 하게 된다.

SPAN 포트 태핑

  • SPAN(Switch Port Analyzer)
    • 각 포트에 전송되는 데이터를 미러링하는 포트에도 똑같이 보내주는 포트 미러링을 이용한 것
    • 네트워크 노드 사이에 구성하면 네트워크 장비가 송/수신 패킷을 복하한 수 관리자에게 넘겨준다.

스니핑 대응책 - 능동적인 대응책 - 스니퍼 탐지

스니핑 공격을 인지하기 어려워 보안 철저 후 프러미스큐어스 모드에서 작동하는 패킷에 대한 IP주소와 MAC 주소에 따른 탐색

스니퍼가 네트워크에 존재하는 지 알아봄

  • ping을 이용한 탐지
    • 의심이 가는 호스트에 ping을 보낼 때 네트워크에 존재하지 않는 MAC 주소를 위장하여 보냄
    • 만약 ICMP Echo Reply를 받으면 해당 호스트가 스니핑을 하고 있는 것
    • 정상적인 경우라면 MAC 주소가 유효하지 않으므로 응답이 오지 않는 것이 맞다.
    • 하지만 스니핑용 호스트라면 MAC 주소와 무관하게 모든 정보를 다 수신 받으므로 ICMP에서 정상적으로 reach 했다는 뜻의 Echo reaply를 보낸다.
  • ARP를 이용하는 방법
    • 조작된 ARP request를 보냈는데 응답이 온다면 프러미스큐어스 모드를 사용 중인 스니퍼임을 확인할 수 있다.
  • DNS를 이용한 탐지
    • 스니핑 프로그램에선 사용자의 편의를 위해 inverse lookup을 요청하는 경우가 많다.
    • inverse lookup을 한다고 다 악성 프로그램은 아니나 이를 통해 용의선상을 줄일 수 있다.
  • 유인을 이용한 탐지
    • 가짜 계정과 패스워드를 네트워크에 뿌린 후 이 계정과 패스워드를 이용해 접속을 시도하는 호스트를 탐지한다.
  • ARP watch
    • 스니퍼는 정보가 자신에게 수신되거나 거쳐가도록 조작하기 위해 ARP테이블을 변경하려 할 수 있다.
    • ARP 트래픽을 모니터링하여 이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려줌

스니퍼 대응책 - 수동적인 대응책 - 암호화

스니핑을 수행하더라도 해당 내용이 노출되지 않게 암호화한다.

  • SSL(Secure Socket Layer)
    • 암호화된 웹 서핑을 가능하게 해 준다.
    • 40비트와 128비트 암호화키가 존재
  • PGP, PEM, S/MIME
    • 모두 이메일을 전송할 때 사용하는 암호화방법이다.
  • SSH(Secure SHell)
    • 텔넷과 같은 서비스 암호화를 위해 사용하는 것
    • SSH를 이용한 암호화 프로토콜은 계속 발전하고 있으며 텔넷보다는 훨씬 더 안전
  • VPN(Virtual Private Network)
    • 한 회선을 여러 회사가 공유하여 비용을 절감하려는 목적으로 개발
    • 암호화된 트레픽 제공
    • VPN을 제공하는 시스템이 해킹을 당할 경우 암호화되기 이전에 데이터가 스니핑이 될 수 있다.

0개의 댓글