1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미.

Slides:



Advertisements
Similar presentations
12 장 한빛미디어 ( 주 ) 스푸핑 공격 필수 라이브러리 ARP 스푸핑 IP 스푸핑 DNS 스푸핑 스푸핑 공격 필수 라이브러리 ARP 스푸핑 IP 스푸핑 DNS 스푸핑 스푸핑.
Advertisements

충북대 네트워크 보안 연구실 [ gmail.com ] 정보 보호 응용 11. 해킹기술 (3) 11. 해킹기술 (3) - hacking & security -
제 4 장 인터넷 창병모 네트워크 구성 2 LAN(Local Area Network) LAN  근거리 통신망으로 집, 사무실, 학교 등의 건물과 같이  가까운 지역을 한데 묶는 컴퓨터 네트워크 이더넷 (Ethernet)  제록스 PARC.
Intrusion Detection System( 침 입탐지시스템 ) Wireless/Mobile Network Lab 박준석.
8 스니핑.
10 터널링.
조준희 (Cho, Junhee) TCP/IP 조준희 (Cho, Junhee)
네트워크해킹 분석 및 대응 한국정보보호교육센터 서 광 석 원장.
Chapter 03. 네트워크 보안 : 길을 지배하려는 자에 대한 저항
한드림넷 솔루션 소개.
Understanding of Socket and File I/O
제 13 장 인터넷 그룹 관리 프로토콜.
공격/대응 Examples.
Chapter 7 Networking.
Chapter 06. 프로토콜.
RTSP, RTP 김현철.
Network Security - Wireless Sniffing 실습
발표조 : 날으는 불사조 발표자 : 한동균(04) 발표일 : 2008년 10월 27일(월)
제 12 장 브로드캐스팅과 멀티캐스팅.
Network Security - Ethereal 실습
11. 해킹기술 (4) - hacking & security -
Network Security - Wired Sniffing 실습
Dept. of Computer Engineering, Hannam Univ. Won Goo Lee
20 장 네트워크층 프로토콜 : ARP, IPv4, ICMP, IPv6, ICMPv6
Part 4 네트워크 해킹 12장 스푸핑 김 미 진.
1장. 패킷트레이서 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Network 네트워크 이론 및 실습 TCP / IP 4장.
Introduction to Networking
ARP TARM PROJECT 1조 신영민.
Chapter 09 세션 하이재킹.
Chapter 02 네트워크에 대한 이해.
4주 : 정보통신 네트워크 인터넷정보원 및 학술정보자원의 활용 담당교수 : 박 양 하 정보통신시스템 – 정보전송/처리시스템
18. HTTP 보안 -dsniff 실시간 정보 시스템 LAB 이 영 주 RTIS LAB.
Ethereal 을 이용한 프로토콜 분석 윤 상 호 이 정 열 정 우 석.
스푸핑 공격이란 스푸핑(Spoofing)이란 ‘속이다’라는 의미
RTSP, RTP 김현철.
1장. 패킷트레이서 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Chapter 06 스니핑.
11. 해킹기술 (2) - hacking & security -
1. SNMP SNMP(Simple Network Management Protocol)은 네트워크의 중앙집중화된 관리를 목적으로 만들어졌으며, 현재까지 버전 3까지 세가지 버전이 만들어졌다. 각 버전의 차이는 대부분 보안상의 문제에 의한 것이다. SNMP 발전 과정 버전.
국산 Firewall 제품 비교표 SecureShield SecureWorks InterGuard Hwarang
자바 5.0 프로그래밍.
Chapter 05 목록화.
11 세션 하이재킹.
Network Layer: ARP, ICMP (IGMP).
Chapter 13 사용자 네트워크 보안.
3부 해킹 전 정보 획득 Chapter 6. 풋프린팅과 스캔
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미.
4 Whois와 DNS 조사.
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Wireshark Protocol 분석 지정석 김도건 박재영
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
Information Security - Wired Sniffing 실습
Packet Analyzer V (주) 이네스 닷컴.
1 학습 목표 네트워크의 기초 네트워크 관련 기초 용어를 익힌다.
인터넷보안 실습 2012년 1학기.
※ 온폰 초기화 되었을 경우 처리 방법 버전일 경우
9 스푸핑.
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
네트워크 속에서의 정보보안 전 상 대.
Computer Network(Hacking)
8 네트워크 계층 프로토콜 학습 목표 IPv6의 필요성과 헤더 구조를 이해한다. 이동 IP 프로토콜의 터널링 원리를 이해한다.
제 12 장 브로드캐스팅과 멀티캐스팅 정보통신연구실.
Part TCP / IP 1. TCP / IP 프로토콜 2. 기본 프로토콜.
9 스푸핑.
3부 해킹 전 정보 획득 Chapter 9. IP 주소 추적
Information Security - Sniffing 실습.
HTML5 웹 프로그래밍 입문 홈페이지 계정.
네트워크는 각종 공격들의 위협(Threat)을 받고 있다.
Presentation transcript:

1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미. - IP 주소, 호스트 이름, MAC 주소 등을 속이는 공격. 범위 : 인터넷이나 로컬에 존재하는 모든 연결에 스푸핑이 가능 위협: 정보를 얻어내는 것 외에도 시스템 마비 가능 - IP 충돌 문제 역시 고의가 아닌 IP 스푸핑일 경우도 있음.

실습 – 네트워크에 존재하는 시스템의 MAC 테이블 확보하기 네트워크 관리자는 IP로 인한 충돌 및 스푸핑 공격에 대비하여 관리하는 네트워크의 MAC 주소 테이블을 만들어두면 유용하게 쓸 수 있다. Root# ping –b 192.168.1.255 Root# arp -a

1. 필수 라이브러리 - 해킹 툴을 리눅스와 윈도우에 사용하기 위한 라이브러리의 설치 우선 - 해킹 툴을 리눅스와 윈도우에 사용하기 위한 라이브러리의 설치 우선 리눅스에서 필요한 기본 5 개 라이브러리 : Libnet : 패킷 생성라이브러리 Libpcap DB Library Libnids : network IDS OpenSSL - 윈도우에서는 WinPCAP 라이브러리와 스니핑을 위한 라이브러리 필요 - 작동 메커니즘: 네트워크 카드에 유입된 패킷은 수신 버퍼에 일시적으로 저장되었다가, 이에 대한 시스템 인터럽트(interrupt)가 발생하여 I/O(input/ouput) 버스 라인을 통해 데이터가 시스템으로 전송된다. 각종 라이브러리 드라이버는 이렇게 전송된 데이터를 수집하고 축약한다.

1-1. Libnet (Library Network) 패킷 생성 시에 다음과 같은 과정을 거친다. 1. 네트워크의 초기화 2. 메모리의 초기화 3. 패킷의 생성 4. 패킷의 체크섬(Check Sum) 생성 5. 패킷의 투입 응용 프로그램이 패킷을 생성하여 보낼 수 있게 해주는 라이브러리 직접 패킷을 생성하는 것보다 훨씬 간단하게 패킷을 생성 가능 Libpcap과 함께 쓰임 두 라이브러리를 이용하면 ping과 traceroute 같은 프로그램을 손쉽게 작성

Libnet이 지원하는 함수 1. 메모리의 패킷 관리 함수 2. 주소 확인 함수 3. 패킷 구조 생성 함수 4. 패킷 생성 함수 5. 기타 지원 함수 Libnet이 지원하는 프로토콜 2계층 : ARP와 이더넷 framing 3계층 : ICMP, IGMP, IPv4 4계층 : TCP, UDP 7계층 : RIP, OSPF, DNS

실습 – Libnet 설치하기 Root# ./configure Root# make Root# make test Root# make install

1-2. Libpcap (Library Packet Capture) 스니핑 프로그램에 필요한 라이브러리 네트워크 카드에 유입된 정보를 응용 프로그램이 읽을 수 있는 형태로 전환 해 줌 운영체제 라이브러리 리눅스 Raw socket & LSF(Linux Socket Filter) 솔라리스 4.x NIT(Network Interface Tap) 솔라리스 DLPI(Data Link Provider Interface) BSD 계열 BPF(Berkely Packet Filter)의 PCAP(Packet Capture : libpcap) 윈도우 Winpcap 라이브러리

실습 – Libpcap 설치하기 Root# ./configure Root# make Root# make install

1-3. Libnids (Library Network IDS) BSD packet filter(BPF)에 기반 스니퍼나 네트워크 분석 프로그램을 작성할 때 유용한 라이브러리 다음의 세 가지 기능이 있음 1. IP 패킷의 재조합(Defragmentation) 2. TCP 흐름 재조합 3. 기타 - TCP 세션 강제 종료 함수

실습 – Libnids 설치하기 Root# ./configure Root# make Root# make install

1-5. OpenSSL(Secure Socket Layer) telnet이나 rlogin이 암호화되지 않은 채 데이터를 전송하기 때문에 보안상 문제가 있어 운영체제는 SSH(Secure Shell) 프로토콜을 지원 SSH는 SSH 1과 SSH 2가 있으며, SSH 1은 다시 크게 1.3과 1.5로 나뉘어지며, 두 버전 모두 OpenSSH가 지원 두 프로토콜은 모두 RSA에 의해서 키 교환을 하며, 데이터는 3DES와 Blowfish, IDEA로 암호화한다.

실습 – OpenSSL 설치하기 Root# ./config Root# make Root# make test Root# make install

3. ARP 스푸핑 ARP : IP 주소 값으로 MAC 주소 값을 알아내는 프로토콜 RARP : MAC 주소 값으로 IP 주소 값을 알아내는 프로토콜 - ARP 스푸핑 : 로컬에서 통신하고 있는 서버와 클라이언트의 IP 주소에 대한 2계층 MAC 주소를 공격자의 MAC 주소로 속여 클라이언트가 서버로 가는 패킷이나 서버에서 클라이언트로 가는 패킷을 중간에서 가로채는 공격. - 공격자는 이 패킷을 읽고 확인한 후 정상적인 목적지로 향하도록 다시 돌려보내 연결이 끊어지지 않고 연결되도록 유지.

ARP 스푸핑 공격 예 1. 명호는 먼저 10.0.0.2에 해당된 가짜 MAC 주소를 CC로 10.0.0.3에 해당하는 가짜 MAC 주소를 CC로 알렸다. 2. 명호는 철수와 영희 컴퓨터로부터 패킷을 받는다. 3. 각자에게 받은 패킷을 읽은 후 철수가 영희에게 보내고자 하던 패킷을 정상적으로 영희에게 보내주고, 영희가 철수에게 보내고자 했던 패킷을 철수에게 보내준다.

ARP 스푸핑 공격 전과 후의 패킷의 흐름

실습 – ARP 스푸핑 공격 전 툴 설치 공격 전 ARP 테이블 1. ARP 스푸핑 툴(fake 버전 1.1.2, rpm) Root# rpm -Uvh fake-1.1.2-1.i386.rpm 2. 패킷 Relay 툴(fragrouter 버전 1.6) Root# ./configure Root# make 공격 전 ARP 테이블 Root# arp -a

공격전 패킷 릴레이 기능 설정 ARP 스푸핑 공격 실시 Root# fragrouter –B1 Root# send_arp 172.16.0.3 00:06:5B:89:D0:CC 172.16.0.4 00:C0:26:5D:25:AA

공격 후 ARP 테이블 Root# arp -a 공격 중 Fragrouter

공격 중 TCPDump : 클라이언트가 ls 입력 시

ARP 스푸핑의 보안 대책 : MAC 주소의 static한 설정 ① arp -a를 입력하고 엔터 키를 입력하면 현재 MAC 테이블이 리스트 됨 ② static으로 설정하고자 하는 IP 주소와 MAC 주소를 확인한 뒤 arp -s <IP 주소> <MAC 주소> 예 ) arp -s 192.168.1.142 00:06:5B:89:D0:CC arp -a로 MAC 테이블을 확인해보면 뒷부분에 PERM(Permanent) 옵션이 붙음 설정된 IP와 MAC 주소 값은 ARP 스푸핑 공격이 들어와도 값이 변하지 않음

4. IP 스푸핑 - IP 스푸핑은 시스템간의 트러스트 관계를 이용한 것 - 원격지 접속 서비스 중 r로 시작하는 rsh, rcp 등의 명령이 주로 IP 주소를 기반으로 인증하는 서비스 리눅스 / 유닉스에서 트러스트관계를 형성하는데 사용되는 파일         ■ /etc/hosts.equiv         ■ $HOME/.rhost

트러스트 관계를 형성하기 위한 레코드 형식 .rhost 레코드 형식 내 용 host_name 내       용 host_name host_name에서의 접근을 허락한다. host_name user_name host_name의 user_name에 대한 접근을 허락한다. + 모든 시스템에서의 접근을 허락한다. + user_name 모든 시스템의 user_name에 대한 접근을 허락한다. -host_name host_name 에서의 접근을 막는다. host_name -user_name host_name의 user_name에 대한 접근을 막는다. + @netgroup 모든 시스템의 netgroup에 대한 접근을 허락한다.

실습 : IP 스푸핑 공격하기

5. DNS 스푸핑 - DNS(Domain Name System) 스푸핑은 웹 스푸핑과 비슷한 의미 인터넷을 이용하는 도중 주소 창에 가고자하는 사이트 이름을 적어놓고는 엔터 키를 눌렀더니 엉뚱한 사이트로 연결되는 경우 ‘www.cwd.go.kr(우리나라 대통령이 사시는 곳이다)’란 주소를 주소 창에 넣었더니만 무슨 쇼핑몰이나 포르노 사이트가 뜨는 경우 이런 경우가 DNS 서버의 오류로 인해 생길 수도 있지만, DNS 스푸핑과 같은 공격으로도 이루어짐

정상적인 DNS 서비스 1. 클라이언트는 접속하고자 하는 www.wishfree.com과 같은 도메인 이름에 해당하는 IP 주소를 이미 설정된 DNS 서버에게 물어본다. 이때 보내는 패킷이 DNS query 패킷이다. 2. DNS 서버는 해당하는 도메인 이름에 대한 IP 주소를 클라이언트에게 보내준다. 3. 클라이언트는 받은 IP 주소를 바탕으로 웹 서버를 찾아간다.

DNS 스푸핑 1. 클라이언트가 DNS 서버로 DNS query 패킷을 보내는 것을 확인한다. 스위칭 환경일 경우에는 클라이언트가 DNS query 패킷을 보내면 이를 받아야 하므로 arp 스푸핑과 같은 선행 작업이 필요하다. 만약 허브를 쓰고 있다면 모든 패킷이 자신에게도 전달되므로 자연스럽게 클라이언트가 DNS query 패킷을 보낼 경우 이를 확인할 수 있다.

DNS 스푸핑 2. 공격자는 로컬에 존재하므로 DNS 서버보다 지리적으로 가까운 위치에 있다. 따라서 DNS 서버가 올바른 DNS response 패킷을 보내주기 전에 클라이언트에게 위조된 DNS response 패킷을 보낼 수 있다.

DNS 스푸핑 3. 클라이언트는 공격자가 보낸 DNS response 패킷을 올바른 패킷으로 인식하고, 웹에 접속한다. 지리적으로 멀리 떨어져 있는 DNS 서버가 보낸 DNS response 패킷은 버린다.

실습 : DNS 스푸핑 공격하기 1 - 윈도우용 arp 스푸핑 툴인 winarp_sk를 이용하여 클라이언트(192.168.1.144)로 하여금 게이트웨이인 192.168.1.1로 향하는 패킷이 공격자로 오게 설정 C:\> winarp_sk -m 2 -d 192.168.1.144 -s 192.168.1.1

실습 : DNS 스푸핑 공격하기 2 - win_dnsspoof 툴로 www.google.co.kr에 대한 DNS query 패킷에 대해 위조된 웹 서버인 192.168.1.143으로 이름이 해석되도록 설정 C:\> win_dnsspoof -n www.google.co.kr -i 192.168.1.143 -g 00:04:76:6E:FB:E4

실습 : DNS 스푸핑 공격하기 3 - 공격당한 클라이언트에서 www.google.co.kr에 ping을 보내면 192.168.1.143에 대해 ping을 날리는 것을 확인 가능 C:\> ping www.google.co.kr

실습 : DNS 스푸핑 공격하기 공격 후 클라이언트에서 www.google.co.kr에 접속하자. 처음 위조를 위해 만들었던 웹 서버에 접속됨을 확인할 수 있다.