일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 케이쉴드주니어
- tcp세션하이재킹
- 4-way handshake
- IP스푸핑
- 목록화
- 케쉴주
- 복호화
- k-shield주니어
- 단순치환암호
- ICMP리다이렉트
- 네트워크보안
- 네트워크해킹과보안
- 합격후기
- 컴퓨터공학
- 정보보호개론
- 네트워크해킹
- OSI7
- caesar's cipher
- 네트워크
- 자격증
- 세션하이재킹
- 보안부트캠프
- 스위치재밍
- ARP리다이렉트
- 정처기
- SQL개발자
- 보안
- 3-way handshake
- 암호학
- 암호문
- Today
- Total
나도 공대생
[개념] 스니핑 (Sniffing) 본문
스니핑 (Sniffing)이란 데이터 속에서 정보를 찾는 일로 매우 수동적인 공격이지만 가장 심각한 피해를 주는 해킹 기술이다.
이 기술은 스니퍼를 설치한 뒤 네트워크에 돌아다니는 수많은 패킷을 유심히 관찰해 필요한 정보를 수집하기 때문에 탐지도 어렵고 막기로 쉽지 않다.
스니핑의 원리
네트워크에 접속하는 모든 시스템은 기본적으로 고유한 IP와 MAC을 가지고 있다. 네트워크 카드는 패킷은 IP/MAC 주소를 인식하고 자신의 버퍼에 저장할지를 결정한다. 이때, 정상적인 경우에는 네트워크 카드로 흘러 들어온 패킷에 기록된 MAC/IP 주소가 PC의 것과 일치하면 패킷을 분석하여 운영체제에 넘겨주고, 다르면 버려버린다.
하지만, 공격자는 이러한 필터링이 필요가 없기에 프러미스큐어스 모드를 통해 MAC/IP 주소에 관계없이 모든 패킷을 스니퍼에게 넘겨버린다.
이때, 프러미스큐어스 모드란 2 계층과 3 계층의 필터링을 해제하여 랜 카드가 스니핑이 가능한 상태를 말한다.
대표적인 스니핑 공격 도구라는 다음과 같이 있다.
TCP Dump
TCP Dump는 네트워크 관찰 및 관제에도 많이 사용되는 일반적이며 가장 강력한 스니핑 도구이다. 네트워크 관리를 위해 개발되었기 때문에 불법적인 해킹보다는 관리자 느낌이 강한 스니퍼다. TCP Dump로 획득한 증거 자료는 법적 효력이 있다.
Fragrouter
스니핑을 보조해 주는 도구로 스니핑 한 패킷을 원래 주소지로 다시 보내는 일을 수행한다. 스니핑을 하거나 세션을 가로챘을 때 공격자에게 온 패킷을 정상적으로 전달하려면 패킷 릴레이가 필요하기 때문이다. ( 공격 대상의 세션이 끊어지면 계속 사용 불가능 )
DSniff
알트보어와 함께 대표적인 도구로 계정 및 패스워드 스니핑을 위한 자동화 도구이다. 암호화된 계정과 패스워드까지 읽어낼 수 있으며, 읽을 수 있는 패킷은 아래와 같다.
스위칭 환경에서의 스니핑
2 계층 네트워크에서는 원래 허브를 사용하였다. 허브는 랜에서 들어오는 모든 신호를 복사해서 모든 포트에 뿌리는 일을 했는데, 브로드캐스트 패킷인지 유니캐스트 패킷인지에 상관없이 모든 포트에 신호를 전달하기 때문에 네트워크의 대역폭을 낭비하게 된다.
이런 대역폭 낭비를 막기 위해 스위치가 개발되었다. 스위치는 각 장비의 MAC 주소를 확인하여 포트에 할당하는데 이때, 포트별로 MAC 주소 값이 할당되면 브로드캐스트 패킷을 제외한 모든 패킷은 목적으로 하는 장비에만 보내진다.
이렇게 스위치는 자신에게 향하지 않는 패킷을 제외하고는 받아볼 수 없어 스니핑을 막게 되었다. 스위치는 스니핑을 막기 위해 만들어진 장비가 아니었지만, 결과적으로 스니핑을 저지하는 치명적인 장비가 되었다.
그렇기 때문에 스위칭 환경에서는 기본적으로 스니핑이 어렵다.
ARP 리다이렉트
ARP 리다이렉트는 데이터 링크 계층에서 MAC 주소를 속여 패킷의 흐름을 바꾸는 공격이다.
공격자가 자신을 라우터라고 속이는 것으로 기본적으로 2 계층 공격인데, 위조된 ARP Reply 패킷을 보내거나 자신의 MAC 주소가 라우터라며 주기적으로 브로드 캐스트하는 방법이다.
공격자는 원래 라우터의 MAC 주소를 알고 있어야 하고 받은 모든 패킷은 다시 라우터로 릴레이 해줘야 한다.
ICMP 리다이렉트
ICMP 리다이렉트는 네트워크 계층에서 스니핑 시스템이 네트워크에 존재하는 또 다른 라우터라고 알려 패킷의 흐름을 바꾸는 공격이다.
3 계층에서 패킷을 주고받기 때문에 랜이 아니더라도 공격이 가능하며, 최근 운영체제에서는 기본적으로 ICMP 리다이렉트를 차단한다.
스위치 재밍 (Switch Jamming)
스위치 재밍은 스위치가 MAC 주소 테이블을 기반으로 패킷을 포트에 스위칭할 때 정상적인 스위칭 기능을 마비시키는 공격이다.
스위치에 저장 용량 이상의 MAC 주소를 보내면 스위치는 기능을 잃고 더미 허브처럼 작동한다. 시스템이 오작동을 일으키면 Fail Close 기능이 적용되지 않는다. MAC 테이블을 위한 캐시 공간에 실시하는 버퍼 오버플로우 공격으로 생각하면 된다.
일부 고가 스위치는 MAC 테이블의 캐시와 연산 장치가 사용하는 캐시가 독립적으로 나뉘어 있어 스위치 재밍 공격이 통하지 않는다.
SPAN (Switch Port Analyzer)
스위치에 포트 미러링 기능을 이용하기 위해 특별히 설정하는 장치로 주로 시스코에서 사용하는 용어이다.
포트 미러링은 각 포트에 전송되는 데이터를 미러링 하는 포트에도 똑같이 보내는 걸 말하는데 IDS 설치, 네트워크 모니터링, 로그 시스템 설치에 많이 사용한다.
하지만, 오류나 LAVN 정보를 필터링하여 모니터 포트에 오류나 VLAN 정보가 나타나지 않는 경우도 존재한다. 그리고 고속 이더넷 연결에 전이중 모드일 경우 포트 미머링이 동작하지 않거나 트래픽이 많은 경우 스위치 성능 저하를 초래한다.
이러한 문제점으로 효과적인 모니터링을 하는데 어려움이 발생하는데, 이것을 해결하기 위한 것이 태핑이다.
SPAN 포트는 기본적으로 네트워크 장비에서 간단한 설정으로 활성화되지만 포트 태핑은 하드웨어 장비를 이용한다.
스니핑 공격의 보안 대책
스니핑 공격에 대응하는 방법은 크게 능동적인 방법과 수동적인 방법으로 나눌 수 있다.
능동적인 방법은 스니퍼가 네트워크에 존재하는지 알아보는 것이고, 수동적인 방법은 스니핑을 수행하더라도 해당 내용이 노출되지 않게 암호화하는 것이다.
스니퍼 탐지
1. Ping을 이용한 탐지
네트워크에 존재하지 않은 MAC 주소를 위장해 보내 자신에게 해당하지 않는 Ping에도 ICMP Echo Reply를 되돌려 보내는 경우, 스니핑을 있다고 탐지할 수 있다.
2. ARP을 이용한 탐지
위조된 ARP Request를 보냈을 때 ARP Response가 오면 프러미스큐어스 모드로 설정되어 있다는 것이다.
3. DNS를 이용한 탐지
일반적인 스니핑 프로그램은 스니핑 한 시스템의 IP 주소에 DNS에 대한 이름 해석 과정인 Reverse-DNS lookup을 수행한다. 이 경우, 테스트 대상 네트워크로 ping sweep을 보내 들어오는 Reverse-DNS lookup을 감시하여 스니퍼를 탐지할 수 있다.
4. 유인을 이용한 탐지
스니퍼의 주요 목적은 아이디와 패스워드 획득이다. 관리자는 이것을 이용해 가짜 정보를 네트워크에 뿌린 후 공격자가 가짜 정보를 이용해 접속을 시도하는 스니퍼를 탐지한다.
5. ARP watch를 이용한 탐지
ARP watch는 MAC/IP 주소의 매칭 값을 초기에 저장하고 ARP 트래픽을 모니터링해 이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려주는 도구이다.
암호화
1. SSL
SSL(Secure Socket Layer)은 암호화된 웹 서핑을 가능하게 하며 40bit, 128bit, 256bit 암호화를 사용한다.
2. PGP, PEM, S/MIME
PGP(Pretty Good Privacy), PEM(Privacy Enhanced Mail), S/MIME는 이메일을 전송할 때 사용하는 암호화 방법이다.
PGP : IDEA 방법 사용, 키와 전자서명을 암호화하는데 RSA 사용
PEM : 공개기 암호화 표준을 따라 GA 인증기관에서 키 관리
S/MIME : MIME에 암호화 서비스를 추가한 것으로 PKCS 기반으로 만들어져 디지털 인증에 X.509 사용
3. SSH
SSH(Secure Shell)은 텔넷 같은 서비스 암호화를 위해 사용한다.
4. VPN
VPN(Virual Private Network)은 사설 네트워크를 설치하는데 많은 비용이 들기 때문에 한 회선을 여러 회사가 공유해 비용을 절감하려는 목적으로 개발된 것이다. 전송되는 데이터가 각 회사의 사내 정보이기에 자연스럽게 암호화된 트래픽을 제공하게 되었지만, VPN 시스템이 해킹을 당할 경우 암호화되기 전 데이터가 스니핑 될 수 있다.
본 내용은 위의 교재를 바탕으로 작성되었습니다.
포스트 이미지는 Unsplash의 무료 이미지를 사용하였습니다.
공부한 내용을 복습할 겸 블로그에 개념을 정리하게 되었는데
내용 상 문제가 되는 부분이 있을 시 알려주시면 수정 또는 비공개로 돌리겠습니다.
'공부 > 네트워크 보안' 카테고리의 다른 글
[개념] 터널링 (Tunneling) (1) | 2024.03.17 |
---|---|
[개념] 스푸핑 (Spoofing) (3) | 2024.03.17 |
[개념] 목록화 (2) (0) | 2024.03.14 |
[개념] 목록화 (1) (0) | 2024.03.14 |
[개념] DNS(Domain Name System) 란 (3) | 2024.03.08 |