스니핑 대응책 - 스니퍼 탐지 1. Ping을 이용한 탐지 : 의심이 가는 호스트에 핑을 보낼 때 네트워크에 존재하지 않는 MAC 주소를 위장하여 보냄 만약 ICMP Echo Relpy를 받으면 해당 호스트가 스니핑을 하고 있는 것 2. ARP를 이용한 탐지 : 위조된 ARP Request를 스니퍼임을 확인하고자 하는 시스템에 보냄 대상 시스템이 응답으로 ARP Response를 보내면 이를 통해 포러미스큐어스 모드로 동작중인 스니퍼임을 확인 3. DNS를 이용한 탐지 : 테스트 대상 네트워크로 Ping Sweep을 보내고 들어오는 Inverse-DNS lookup을 감시 4. 유인을 이용한 탐지 : 가짜 계정과 패스워드를 뿌려 공격자가 이 가짜 정보로 접속을 시도하면, 접속을 시도하는 시스템을 탐지 5. ARP Watch를 이용한 탐지 : 초기에 MAC 주소와 IP 주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려줌 수동적인 대응책 - 암호화 1. SSL (Secure Socket Layer) : 암호화된 웹 서핑을 가능하게 함, 40비트와 128비트 암호화키가 존재 2. PGP, PEM, S/MINE : 세 가지 모두 이메일을 전송할 때 사용하는 암호화 방법 PGP = 내용을 암호화하는 데에 IDEA, IDEA키와 전자 서명을 암호화하는 데에 RSARivest, Sharmir, Addleman 알고리즘 사용 PEM = 공개키 암호화 표준을 따르고, CA에서 키를 관리 데이터 암호화에는 DES-EDE, 키를 위한 암호화 알고리즘에는 RSA, 전자인증을 위한 해시함수에는 MD2, MD5 사용 S/MINE = 이메일 표준인 MIME 형식에 암호화 서비스만을 추가한 것 PKCS를 기반으로 만들어져 있으면 디지털 인증에 X.509사용 3. SSH (Secure Shell) : 텔넷과 같은 서비스 암호화를 위해 사용하는것 SSH를 이용한 암호화 프로토콜은 계속 발전하고 있으며 텔넷보다는 훨씬 더 안전 4. VPN (Virtual Private Network) : 한 회선을 여러 회사가 공유하여 비용을 절감하려는 목적으로 개발, 암호화된 트래픽 제공 VPN을 제공하는 시스템이 해킹을 당할 경우 암호화되기 이전에 데이터가 스니핑이 될 수 있음 스푸핑 개념 잡기 : '속이다' 라는 말에서 유래, 피해자에게 공격자가 게이트웨이인 것처럼 행세하는 것 단 공격자는 피해자가 인지하지 못하도록 원래 게이트웨이에게 패킷을 릴레이 함 공격자 : 칼리리눅스 피해자 : 윈도우 서버 2012 목표 : 윈도우 서버 2012가 갖고 있는 게이트웨이주소(특정 IP의 맥주소를 공격자 맥주소로 변경해 봄) 공격자 : 패킷이 원래 게이트웨이에게 가도록 패킷 릴레이작업 (fragrouter 사용) 칼리리눅스 (공격자) IP : 192.168.118.129 윈도우서버 (피해자) IP : 192.168.118.128 피해자 게이트웨이 IP : 192.168.118.2 1) 윈도우서버 2012의 MAC 테이블확인 arp -a 2) 피해자 MAC 테이블에 공격자 MAC주소가 있어야 스푸핑이 가능 만약 피해자 MAC 테이블에 공격자 MAC 주소가 없으면 ping을 보내서 기록 ping -c 1 [피해자IP주소(윈도우서버IP주소)] 3) 공격 (칼리리눅스에서 작업) 1. 패킷이 원래 주인한테 가도록 릴레이 작업 => fragrouter -B1 2. arp 리다이렉트 공격 arpspoof -i 공격자인터페이스이름(네트워크카드이름)] -t [피해자IP주소] [게이트웨이IP주소] arpspoof -i eth0 -t - arp 스푸핑 공격 : MAC 주소를 속이는 공격, 동일한 랜에 있는 호스트들간의 공격 패킷 릴레이가 선행되어야 함 - 관리자 대비 : 관리하는 호스트의 MAC 테이블을 보관 MAC테이블 만드는 방법 => 브로드캐스트 ping을 보냄 => 시스템 로그로 기록해 두었다가 주기적으로 arp -a로 검사 => 기록해 두었던 MAC테이블과 비교 검사해서 MAC주소가 변경되었으면 스푸핑 의심 브로드캐스트 핑 fping -a -g 192.168.49.1/24