스니핑
- N/W상에서 자신이 아닌 다른 상대방의 패킷 교환을 엿듣는 행위
- 쉽게말해 다른 상대방의 통신을 도청하는 행위이다.
- TCP/IP 프로토콜을 이용한 통신에서 통신매체를 통과하는 패킷이 암호화를 되지 않은 상태여서 스니핑을 하여 메시지 내용을 볼수 있다.
허브환경에서 스니핑
- 허브는 들어오는 패킷에 대해 들어온 포트를 제외한 모든 포트에 패킷을 보내는 장비이다.
- 물론 들어오는 패킷은 MAC주소 IP주소 필터링을 통해 자신의 패킷이 아닌 모든 패킷은 필터링이 된다.
- 하지만 premiscuous mode(무차별 모드)로 동작하게 되면 다른 패킷 또한 버리지 않고 받아볼수 있게된다.
→ premiscuous mode로 동작시 스니핑이 가능
- 스위치 환경에서 스니핑
1. 스위치 재밍
- 스위치의 MAC 주소 버퍼 오버플로우를 일으켜 스위치가 허브처럼 동작하게 만든다.
- 스위치는 Fail Open을 따른 장치이므로 문제가 생기면 패킷을 연결된 모든 노드에게 전달하게 됨
※ Fail Open : Fail safe 정책 따름, 장애발생시 모든 트래픽 허용, 가용성 > 보안성
Fail Close : Fail Secure 정책 따름, 장애 발생 시 모든 트래픽 차단 보안성 < 가용성
2. ARP 스푸핑
- 공격자가 서버, 클라이언트 중간에 위치하여 서버에게 자신의 MAC주소를 클라이언트 MAC 주소인거처럼 ARP, 클라이언트에게는 자신의 MAC주소를 서버의 MAC 주소인것처럼 ARP하여 서버와 클라이언트 패킷을 스니핑 후 전달을 한다.
- ARP 캐시 포이즈닝 : ARP 스푸핑 공격을 위해 ARP 캐시 테이블의 내용을 몰래 변경하는 작업
- 보안대책
1. 동일 N/W내의 시스템들에 대한 ARP 캐시테이블은 관리자가 직접 정적으로 작성
2. 정적 ARP 테이블 대응방법은 소규모 N/W에 적합
3. 리부팅시 정적 옵션은 사라지므로 계속 사용시 배치파일에 저장
3. ARP 리다이렉트
- 공격자가 자신이 라우터인 것처럼 MAC 주소를 위조하여 ARP Reply 패킷을 브로드캐스팅하여 해당 로컬 N/W의 모든 호스트와 라우터 사이의 트래픽을 스니핑하고 다른 호스트들이 눈치 못 채게 IP Forwad 함
※ ARP 스푸핑과 ARP 리다이렉트의 차이
- ARP 리다이렉트 : 호스트 - 라우터 공격
- ARP 스푸핑 : 호스트 - 호스트 공격
4. ICMP 리다이렉트 공격
- 3계층에서 스니핑 시스템을 N/W에 존재하는 또 다른 라우터라고 알려 패킷의 흐름을 바꾸는 공격
- N/W에서 하나의 라우터 / 게이트웨이로 감당이 되지 않는 경우 2개이상 운영하는 로드밸런싱을 하는데 이 때 로드 밸런싱 방법 중 하나가 ICMP 리다이렉트 방법이다.
- 정상적인 리 다이렉트 방법
1. host A가 기본 라우터로 설정된 라우터 A에게 호스트 B에게 보낼 패킷을 전송
2. 라우터 A는 패킷을 수신하고 라우팅 테이블을 검색하는 방법보다 라우터 B를 이용하는 방법이 더 효율적이라고 판 단 후 라우터 B에게 host A의 패킷을 보낸다.
3. 라우터 A는 host B로 향하는 패킷을 자신에게 전달하지 않도록 host A에게 ICMP Redirect 패킷을 보내 패킷이 라우터 B로 향하도록 함
4. host A는 라우팅 테이블에 host B 값 추가 후 host B로 보내는 패킷은 라우터 B로 전달하도록 함
- ICMP 리다이렉트 공격
1. host A가 기본 라우터로 설정된 라우터 A에게 호스트 B에게 보낼 패킷을 전송
2. 라우터 A는 패킷을 수신하고 라우팅 테이블을 검색하는 방법보다 라우터 B를 이용하는 방법이 더 효율적이라고 판단 후 라우터 B에게 host A의 패킷을 보낸다.
3. 이 때 공격자는 라우터 B인것처럼 행동
4. 라우터 A는 host B로 향하는 패킷을 자신에게 전달하지 않도록 host A에게 ICMP Redirect 패킷을 보내 패킷이 공격자로 향하도록 함
5. host A는 라우팅 테이블에 host B 값 추가 후 host B로 보내는 패킷은 공격자로 전달하고 공격자는 host A의 패킷을 스니핑함
※ ARP 리다이렉트와 ICMP 리다이렉트의 차이
- ARP 리다이렉트 : 희생자의 ARP cache table을 변조, 2계층 공격
- ICMP 리다이렉트 : 희생자의 라우팅 테이블을 변조, 3계층 공격
5. 스위치의 SPAN / port Mirroring
- 스위치의 SPAN / port Mirroring 기능은 스위치를 통과하는 모든 트래픽을 볼 수 있는 기능
- 특정 포트에 분석장비를 접속하고 다른 포트의 트래픽을 분석장비로 자동 복사해주는 기술
- 관리목적으로 사용하는 것이지만 공격자가 물리적 접근시 손쉽게 패킷 스니핑 가능
스니핑 공격의 보안대책
- 스니핑 공격의 보안대책은 능동적 대응책과 수동적 대응책으로 분류할 수 있다.
1. 능동적 대응책
- 스니퍼가 N/W에 존재하는지 알아보는 방법, 즉 스니퍼를 탐지
※스니퍼 : 패킷 또는 LAN 세그먼트상을 지나는 트래픽 분석할 수 있는 프로그램 or 장비
- 내부자가 스니핑도구를 탐지할수도 있고, 무선환경에서는 스니핑 도구 탐지가 어려움
2. 수동적 대응책
- 스니핑을 당하더라도 해당 내용이 노출되지 않도록 통신 내용을 암호화 하는 방식
- 근본적인대책
능동적 대응책
1. 스니퍼 탐지
- 스니퍼가 무차별모드(promiscuous mode)에서 동작한다는 가정하에 시작
- ping을 이용한 방법, ARP를 이용한 방법, DNS를 이용한 방법, 유인, ARP watch 방법이 있다.
1. ping을 이용한 방법
- 대부분 스니퍼는 TCP/IP에서 동작하기 때문에 request를 보내면 response를 전달
- 이를 이용해 존재하지 않는 MAC 주소로 위장하여 ICMP Echo Request를 보냄
- 만약 존재하지 않으면 아무런 메시지도 받지 않는다.
- 하지만 만약 스니퍼가 존재하게 된다면 스니퍼는 ICMP Echo Response를 보내게 되는데 이를 통해 스니퍼를 탐지
2. ARP 이용한 방법
- ping과 유사한 방법
- ARP request를 보냈을 때 ARP response가 오면 promiscuous mode로 동작중이라는 것을 알 수 있다.
3. DNS를 이용한 방법
- 일반적인 스니핑 프로그램은 사용자 편의를 위해 Inverse-DNS lookup(IP주소 → DNS 주소로 변환)을 해주는데 ping sweep을 통해 Inverse-DNS lookup을 감시해 스니핑 탐지
4. 유인(Decoy)
- 스니퍼의 주요 목적은 계정과 패스워드 획득이다.
- 관리자는 이 점을 이용해 가짜 계정과 패스워드를 N/W에 뿌린다.
- 관리자는 공격자가 이 가짜 계정 / 패스워드를 이용해 접속을 시도하는 것으로 스니퍼를 탐지
5. ARP watch
- 초기의 MAC주소와 IP주소와의 매칭값을 저장하고 ARP 트래픽을 모니터링 하여 변하게 하는 패킷 탐지시 관리자에게 메일로 알려주는 툴
수동적인 암호대책
1. 암호화
- 패킷을 암호화하는 방식은 서비스에 따라 달라진다.
1. SSL
- 암호화된 웹서핑을 가능하게 함
- 40바이트, 128비트 두가지 암호화가 사용
2. PGP, PEM, S/MIME
- 이메일 전송할 때 사용하는 암호화
3. SSH
- 텔넷과 같은 원격서비스 암호화
4. VPN
- 공용 회선을 이용한 암호화
'보안기사 > 필기' 카테고리의 다른 글
기사자격증(알기사, IDS/IPS) (0) | 2019.02.13 |
---|---|
기사 자격증(알기사, 스푸핑, 세션 하이재킹, 기타 공격) (0) | 2019.02.13 |
기사 자격증(알기사, 네트워크 스캐닝) (0) | 2019.02.10 |
기사 자격증(알기사, DOS 공격) (0) | 2019.02.09 |
기사 자격증(알기사, 네트워크 관리) (0) | 2019.02.06 |