티스토리 뷰

____

1. 스니핑(Sniffing)

잘가열b 2020. 8. 28. 02:24
  1. 스니핑 개요
    스니핑(Sniffing)이란 '코를 킁킁거리며 냄새를 맡다'라는 뜻으로 무엇가를 탐지하는 코를 형상화한다. 이와 비슷하게 보안에서 스니핑은 도청하다(eavesdrop)정도로 해석할 수 있다.

    스니핑은 흔히 패킷 캡처라고도 불린다. 네트워크에서 패킷 단위로 캡처함으로써 전송자/수신자가 어떤 데이터를 송수신 하고자하는지 파악하는데 의의가 있다. 이런 스니핑/패킷 캡처가 필요한 이유는 OSI 7계층 개념이 잡히기 전 네트워크에서 실제 데이터가 어떻게 흘러가지는 알수 없고, 개념이 잡혀있는 상태에서도 네트워크 장비에서 쉽게 볼 수 없기 때문에 이런 캡처가 필요하다고 이해하고 있다. 해당 정보는 필자 혼자만의 생각이기 때문에 논리적근거가 생기면 다시 작성하도록 하겠다.

    스니핑공격은 정보의 CIA 중 Confidentiality인 기밀성을 손상시킨다. 왜냐하면 대상자가 아닌데 해당 정보에 접근하기 때문이다.

    아무튼 네트워크에서 흘러가는 데이터를 확인하기 위한 스니핑의 원리, 관련 도구를 도청에 비유하며 알아보고자 한다.

  2. 도청이란?
    전화 도청은 영화에서도 많이 나오듯이 전화하는 사람 외에 누군가가 해당 내용을 듣고자 할때 사용되는 기술이다.  전화를 도청하기 위해서는 크게 3가지 송신 장치, 중계기, 수신장치에서의 도청 장치 설치가 필요하다. 이처럼 사이버보안에서 스니핑은 네트워크의 패킷단위에서 패킷이 전달되는 경로에 스니핑 장치를 설치하는 것을 통해 스니핑이 이뤄진다.

  3. 스니핑 원리
    스니핑은 같은 네트워크에 연결됐을 때 흘러다니는 모든 패킷을 받을 수 있는 환경에서 시작된다. 물론 스위치의 경우는 MAC 주소를 기반으로 목적지에만 도착할 수 있으나, 이후 소개할 방식을 통해 수신할 수 있다. 이런 식으로 모패킷은 전송 경로에 있는 라우터들을 거치며 MAC 주소를 기반으로 목적지를 향해 흘러간다. 그러면 랜카드는 브로드캐스팅된 패킷에 대해 본인의 패킷이 아닌 경우 받는 것을 거부할 수 있고, Promiscuous 모드를 사용할 시 해당 패킷을 받을 수 있다.

    이런 식으로 스니핑은 패킷이 존재하는 위치에서 관리자 권한 혹은 시스템을 점거, 패킷을 수신함으로써 스니핑 공격을 실행한다. 필자가 알기로는 TCP/IP 프로토콜이 원래 보안을 고려하지 않고 설계되어 패킷이 암호화되지 않았기 때문에 이런 식으로 도청이 가능했다고 알고 있다. 하지만 지금은 모든 패킷이 암호화 되어있으므로 실제로 해당 패킷을 이해하기 위해서는 복호화 과정이 이뤄져야하는 것으로 알고 있다. 자세한 부분은 이후 공부를 통해 채워가도록 하겠다.

  4. 스니핑 종류
    스니핑은 앞서 서술한 것처럼 어디에 스니핑 장치(스니퍼)를 설치하냐에 따라 달라진다. 크게 2가지 허브와 스위치로 종류를 나눌 수 있다.
    1) 허브
     허브는 예시에서 서술했다시피 허브에 연결된 모든 네트워크가 패킷을 확인할 수 있다. 이때 랜 카드에서 Promiscuous 모드를 사용하면 본인의 MAC 주소가 아니어도 패킷을 수신할 수 있다.
    2) 스위치
     반면 스위치에서는 해당 모드를 사용해도 패킷을 수신할 수 없다. 이때 여러 가지 방식을 통해 스위치 단에서 스니핑 공격을 진행하는데 가장 중요한 원리는 스위치의 브로드캐스트 동작을 실행하거나 목적지를 자신의 MAC 주소로 변경함으로써 수신을 하면 된다.
    아래 항목은 스위치 단의 스니핑 공격 종류인데, 이후에 내용을 추가하기 위해 정확히 이해를 안해도 대충 공격 흐름을 작성하고자 한다.

    - Switch Jamming : 스위치에 엉뚱한 MAC 주소를 가진 패킷을 계속 보냄으로써 주소 테이블을 망가뜨려 스위치의 브로드캐스팅 기능을 활성화
    - ARP Redirect : 필자의 지식이 부족해서 정확한 내용은 이해 못했는데, 스위치가 처음 보는 MAC 주소를 본다면 모든 기기에게 MAC 주소를 묻는 ARP Request 동작이 발생한다, 이때 정상적인 기기는 본인의 MAC 주소를 통해 ARP Respond를 한다. 하지만 악의적인 공격자는 거짓 Respond를 통해 본인의 MAC이 맞게 조작을 한다. 마치 선생님이 철수를 찾았으나 기영이가 철수라고 주장하는 거와 같다. 이런식으로 스위치가 A대신 B 공격자에게 패킷을 전달하고 B 공격자는 수신한 패킷을 A에게 전달함으로써 원래 통신에 지장없이 해당 패킷을 수신할 수 있다. 여기서 B 공격자는 A에 대한 ARP Reply를 속였기 때문에 ARP Spoofing 이라고도 한다.
    -ICMP Redirect
    - ICMP Router Advertisement
    - MAC 스푸핑 : 스푸핑 공격은 간단히 말하면 주소를 속이는 것이다. 스위치에서 패킷을 전송할 때 목적지의 MAC 주소가 스위치의 MAC 주소 테이블에 존재하는지 확인하여 해당 MAC 가 등록된 포트로 패킷을 전송한다. 물론 없다면 다른 VLAN으로 전송하는 식으로 이뤄지는데, 이때 공격자는 MAC 주소 테이블이 갱신되는 방식을 이용해 목적지를 속일 수 있다. 스위치에 유입된 패킷의 출발지 MAC 주소를 참고하여 테이블을 갱신하는데, 공격자는 A의 MAC 주소를 출발지로 가지는 패킷을 계속 스위치에 보내고 스위치는 응답이 왔으므로 공격자 B와 연결된 포트로 MAC 테이블을 갱신함으로써 스위치가 패킷을 공격자B에게 보내도록 만든다.
    이때 어떻게 Respond에 공격자 B가 패킷을 보낼 수 있는지 자세한 설명이 없다.

    아무튼 이런식으로 스니핑 공격을 진행할 수 있다.

  5. 결론
    스니핑 공격은 도청을 의미하며 같은 네트워크에는 흘러가는 모든 패킷을 수신할 수 있다는 점을 이용해 데이터를 도청한다. 또한 목적지를 속임으로써 공격자에게 패킷이 오도록 함으로써 패킷을 수신할 수 있다. 이외에도 중계기의 역할인 라우터, 스위치, 허브 등을 공격하여 해당 장비가 가지고 있는 패킷을 읽는 방식도 있으나, 이는 잘 모르기 때문에 이후 공부를 진행한 후 추가하도록 하겠다.
    하지만 스니핑 공격은 SSH나 SSL 등 암호화 통신 내에서는 패킷 자체로 정보를 얻을 수 없다는 단점이 존재한다.

'____' 카테고리의 다른 글

2. 감청, LI(Lawful Interception)  (0) 2020.08.27
1. 하이재킹  (0) 2020.08.27
0. 인덱스  (0) 2020.08.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함