스니핑 sniffing
은 네트워크 상에서 전송되는 패킷들의 정보를 몰래 읽어내는 것입니다. 공격자는 네트워크에 특정 행동을 취하는 것이 아니라 전송되는 패킷들을 읽어내기 때문에 수동적 공격이라는 특징을 갖습니다.
스니핑은 네트워크 카드의 모드를 프로미스큐어스 Promiscuous
모드로 설정합니다. 원래 상태에서는 자신의 MAC 주소로 전송된 패킷을 받지만 프로미스큐어스
모드에서는 모든 패킷을 수신하게 되어 네트워크 상에서 흐르는 패킷들을 가로채고, 이를 분석해 정보를 얻어낼 수 있게 됩니다.
대표적인 스니핑 공격에는 다음과 같은 것들이 있습니다.
스니핑 공격은 수동적 공격이기 때문에 방어자가 능동적으로 탐색을 수행해야 잡아낼 수 있습니다. 능동적 탐색을 위해 모든 패킷을 수신한다는 프로미스큐어스 모드의 특성을 이용합니다.
비슷한 방식으로 위조된
ARP Request
를 보냈을 때ARP Response
가 돌아오면 프로미스큐어스 모드의 스니퍼를 찾을 수 있습니다.
DNS 탐지
스니핑 툴은 편의를 위해 스니핑한 시스템의 IP주소에 DNS (Domain Name System)
이름 해석 과정인 Reverse-DNS lookup
작업을 수행합니다. 이를 이용해 네트워크에 ping sweep을 보내고 돌아오는 Reverse-DNS lookup을 감시하여 탐지합니다.
유인 탐지
스니핑 공격의 주 목적은 패킷에 담긴 ID & PW를 탈취하는 것이 목적입니다. 따라서 관리자는 가짜 ID & PW를 네트워크에 지속적으로 뿌리고 누군가가 이 가짜 인증 정보를 통해 접속을 시도할 때 스니퍼를 탐지하게 됩니다.
스푸핑 spoofing
은 '속이다'라는 의미를 가지며, 공격자가 신원 등을 위조해 정상 사용자인 척 속이는 공격들을 의미합니다.
대표적인 스푸핑 공격에는 다음과 같은 것들이 있습니다.
- 스니핑: 도청 공격
- 스푸핑: 위조 공격