Download presentation
Presentation is loading. Please wait.
1
네트워크 보안 정보 보안 개론 3장
2
1 1 2 2 3 3 OSI 7계층의 세부 동작을 이해한다. 네트워크와 관련된 해킹 기술의 종류와 방법을 살펴본다.
네트워크 해킹을 막기 위한 대응책을 알아본다. 3
3
Section 01 네트워크의 기초 OSI (Open System Interconnection) 7계층
ISO(International Organization for Standardization)가 다양한 네트워크가 상호 연동을 할 수 있도록 해주는 표준 네트워크 모델로서 만듦. IP 주소를 통해 원거리 시스템간 통신이 가능하게 함 포트(Port)를 이용해 시스템내의 응용 프로그램간 통신을 가능하게 함. 신호를 전달하기 위한 물리적인 연결 물리 장치의 고유 주소인 MAC(Media Access Control)을 이용한 로컬 통신이 가능하게 함
4
OSI 7계층-물리 계층(1계층) 물리 계층(1계층) CAT별 특성
인터넷 이용시의 랜 케이블, 전화선, 동축 케이블 또는 광 케이블 등의 시스템간의 물리적인 연결매체 CAT별 특성
5
OSI 7계층-물리 계층(1계층) 케이블 선의 분류
일반적으로 네트워크 연결시에 UTP 케이블 중 CAT 5 또는 CAT 6에 해당되는 10/100/1000 BASE-T(IEEE 802.3) 선에 RJ 45 커넥터를 사용.
6
OSI 7계층-데이터 링크 계층(2계층) MAC 주소에 대한 이해
MAC 주소는 ipconfig /all 명령을 실행해 확인할 수 있음. MAC 주소는 총 12개의 16진수 숫자로 구성 앞쪽 6개의 16진수는 OUI(Organizational Unique Identifier)라고 부르며 네트워크 카드를 만든 회사를 나타냄, 뒤쪽 6개의 16진수는 Host Identifier로서 각 회사에서 생산되는 네트워크 카드에 임의로 붙이는 일종의 시리얼.
7
OSI 7계층-데이터 링크 계층(2계층) 1계층과 2계층만을 사용하는 네트워크 통신
8
OSI 7계층-데이터 링크 계층(2계층) 1, 2, 3 단계에서 흘러가는 패킷의 구조
9
OSI 7계층-데이터 링크 계층(2계층) 스위치의 네트워크 주소 인식 스위치에 안방 컴퓨터만이 연결되어 있을 경우
스위치에 작은방의 컴퓨터를 연결할 경우 일반적으로 잘못 이해할 수 있는 스위치의 메모리 구조
10
OSI 7계층-데이터 링크 계층(2계층) 송신 컴퓨터에서 패킷 수신 컴퓨터까지의 패킷 흐름
1단계 전: 패킷 송신 컴퓨터가 패킷 수신 컴퓨터의 MAC 주소를 확인한다. 1단계: 패킷의 목적지 MAC 주소 부분에 패킷 수신 컴퓨터의 MAC 주소를 적어 스위치로 보낸다. 2단계: 스위치에서 2번 포트로 수신된 패킷의 목적지 MAC 주소가 3번 포트와 연결된컴퓨터라는 것을 메모리에서 확인한 뒤, 패킷을 3번 포트로 흘려보낸다. 3단계: 패킷 수신 컴퓨터로 패킷이 흘러간다.
11
OSI 7계층-네트워크 계층(3계층) 네트워크 계층(3계층) ipconfig /all
12
OSI 7계층-네트워크 계층(3계층) IP 주소 10101100.10101000.00001010.01011101
8비트의 수 4개로 구성 (32 자리의 2 진수로 8 자리마다 점을 찍어 구분) A, B, C, D, E 클래스로 구분 A 클래스 : 첫 번째 자리가 네트워크 주소, 나머지 세 자리가 호스트 주소 B 클래스 : 두 번째 자리까지가 네트워크 주소, 나머지 두 자리가 호스트 주소 C 클래스 : 세 번째 자리까지가 네트워크 주소, 나머지 한 자리가 호스트 주소
13
OSI 7계층-네트워크 계층(3계층)
14
OSI 7계층-네트워크 계층(3계층) 2, 3계층에서의 패킷의 흐름
15
OSI 7계층-네트워크 계층(3계층)
16
OSI 7계층-네트워크 계층(3계층) 2, 3계층 에서의 패킷의 흐름 예 인터넷에 전송하는 패킷의 기본 구조
패킷 송신 시스템의 IP : 라우터의 랜쪽 포트의 IP(게이트웨이) : 패킷 송신 시스템의 MAC 주소 : AA-AA 라우터의 랜쪽 포트의 MAC 주소(게이트웨이) : BB-BB 라우터의 인터넷쪽 포트의 MAC 주소 : CC-CC 스위치의 메모리에 존재하는 MAC 주소 테이블 1 번 포트 BB-BB (라우터 케이블 연결 포트) 2 번 포트 AA-AA (컴퓨터 연결 포트) 3 번 포트 4 번 포트
17
OSI 7계층 출발지의 IP와 MAC 주소가 기록됨 목적지 IP 주소 입력
목적지 MAC 주소에는 랜을 벗어나기 위한 가장 일차적인 목적지, 즉 게이트웨이의 MAC 주소 입력 (ARP 프로토콜 이용) 라우터에서 사용한 2계층 정보를 벗겨냄. 다음 라우터까지의 2계층 정보를 패킷에 덧씌움. → DD-DD는 까지 가기 위해 경유해야 할 다음 라우터의 네트워크 인터페이스 카드의 MAC 주소
18
OSI 7계층-전송 계층 (4계층) 전송 계층 (4계층)
4계층의 대표적인 프로토콜은 TCP(Transmission Control Protocol)임. MAC 주소가 네트워크 카드의 고유 식별자이고 IP가 시스템의 주소라면, 포트는 시스템에 도착한 후 패킷이 찾아갈 응용 프로그램과 통하는 통로 번호라 생각할 수 있음. 시스템에서 구동되는 응용 프로그램들은 네트워킹을 하기 위해 자신에게 해당되는 패킷을 식별할 필요가 있고 이 때 사용하는 것이 포트이며, 포트는 0번부터 (216)번까지 존재함. 4계층까지 생각한 패킷의 구조
19
OSI 7계층-전송 계층 (4계층) 주요 포트와 서비스 0번부터 1023번 포트까지 1,024개를 Well Known 포트
보통 0번은 쓰지 않으며, 1023번 포트까지는 대부분 고유의 용도가 있음.
20
OSI 7계층-전송 계층 (4계층) 출발지 포트는 운영체제나 응용 프로그램마다 조금씩 다르나 보통 1,025번부터 65,535번 사이의 포트 중에서 사용하지 않는 임의의 포트를 응용 프로그램별로 할당하여 사용, 웹 서버의 서비스 포트는 보통 80번이니 패킷의 구조가 다음과 같음. 출발지 포트는 시스템에서 임의로 정해짐. 3,000번 대의 임의 포트가 할당되면 다음과 같을 수 있음.
21
OSI 7계층-전송 계층 (4계층) 3계층과 4계층의 정보는 netstat -an 명령으로 쉽게 확인할 수 있음.
22
OSI 7계층-전송 계층 (4계층) 쓰리웨이 핸드쉐이킹
1단계: 두 시스템이 통신을 하기 전에, 클라이언트는 포트가 닫힌 Closed 상태며 서버는 해당 포트로 항상 서비스를 제공할 수 있도록 Listen 상태 2단계: 처음 클라이언트가 통신을 하고자 하면, 임의의 포트 번호가 클라이언트 프로그램에 할당되고 클라이언트는 서버에 연결하고 싶다는 의사 표시로 Syn Sent 상태가 됨. 3단계: 클라이언트의 연결 요청을 받은 서버는 SYN Received 상태가 됨. 그리고 클라이언트에게 연결을 해도 좋다는 의미로 SYN+ACK 패킷을 보냄. 4단계 : 마지막으로 클라이언트는 연결을 요청한 것에 대한 서버의 응답을 확인했다는 표시로ACK 패킷을 서버에 보냄.
23
OSI 7계층-전송 계층 (4계층) TCP 세션의 종료 통신을 하는 중에는 클라이언트와 서버 모두 Established 상태
통신을 끊고자 하는 클라이언트가 서버에 FIN 패킷을 보냄. 이때, 클라이언트는 Close Wait 상태가 됨. 서버는 클라이언트의 연결 종료 요청을 확인하고 클라이언트에게 응답으로 ACK 패킷을 보냄. 서버도 클라이언트의 연결을 종료하겠다는 의미로 FIN 패킷을 보내고Close Wait 상태가 됨. 마지막으로 클라이언트는 연결 종료를 요청한 것에 대한 서버의 응답을 확인했다는 의미로ACK 패킷을 서버에 보냄.
24
OSI 7계층-전송 계층 (4계층) TCP와 UDP
UDP( ): TCP와는 달리 데이터의 신뢰성 있는 전송을 보장하지는 않음. 그러나 신뢰성이 매우 높은 회선을 사용하거나 데이터의 확실한 전송을 요구하지 않는 통신을 하거나 한 번에 많은 상대에게 메시지를 전송하고자 하는 경우에는 전송 경로 확립을 위한 번잡함을 생략하고 시간을 절약할 수 있어UDP가 더 효과적임. 연결 지향형 흐름 제어(Flow Control) 에러 제어(Error Control) User Datagram Protocol
25
OSI 7계층-세션 계층, 표현 계층, 응용 프로그램 계층
( ) 기본적으로는 두 시스템간의 통신 중 동기화를 유지하고 데이터 교환을 관리. 전송 계층이 종단간에 논리적인 설정을 담당한다면 세션 계층은 이런 연결에 정보 교환을 효과적으로 할 수 있게 추가 서비스를 함. 데이터의 구조를 하나의 통일된 형식으로 표현. 데이터의 압축과 암호화 기능을 수행. ( ) 응용 프로그램 계층은 사용자나 응용 프로그램 사이에 데이터의 교환이 가능하게 하는 계층. 예를 들어 HTTP, FTP, 터미널 서비스, 여러 메일 프로그램, 디렉토리 서비스 등을 제공. 세션 계층 (5계층) 표현 계층 (6계층) 응용 프로그램 계층 (7계층)
26
Section 02 서비스 거부(DoS) 공격 서비스 거부(DoS, Denial of Service) 공격 일종의 훼방
27
서비스 거부(DoS) 공격 ( ) Ping of death
( ) 네트워크에서는 패킷을 전송하기 적당한 크기로 잘라서 보내는 특성을 이용한 것. 네트워크의 연결 상태를 점검하기 위한 ping 명령을 보낼 때, 패킷을 최대한 길게 하여(최대 65,500바이트) 공격 대상에게 보내면 패킷은 네트워크에서 수백 개의 패킷으로 잘게 쪼개져 보내지며, 상대를 마비시킴. Ping of death
28
서비스 거부(DoS) 공격 ( ) SYN Flooding SYN Flooding
( ) 네트워크에서 서비스를 제공하는 시스템에는 동시 사용자 수에 대한 제한이 있음. ( )은 존재하지 않는 클라이언트가 서버별로 한정되어 있는 접속 가능한 공간에 접속한 것처럼 속여 다른 사용자가 서버의 서비스를 제공받지 못하게 하는 공격. SYN Flooding SYN Flooding
29
서비스 거부(DoS) 공격 SYN Flooding TCP의 연결 과정인 ( )의 문제점을 악용한 것.
서버는 클라이언트가 ACK 패킷을 보내올 때까지 SYN Received 상태로 기다리는 일정 시간동안 가상의 클라이언트로 위조한 SYN 패킷을 수없이 만들어서 서버에 보내 서버의 가용 동시 접속자 수를 모두 SYN Received 상태로 만들어 버림. 웹 서버의 SYN Received의 대기 시간을 줄이거나 침입차단 시스템(IPS)과 같은 보안 시스템도 이러한 공격을 쉽게 차단함으로써 공격의 위험성을 낮출 수 있음. 쓰리웨이 핸드셰이킹
30
서비스 거부(DoS) 공격 Boink, Bonk, TearDrop
TCP는 데이터 전송에 있어 다음과 같은 기능을 통해 신뢰성 있는 연결을 제공하려 함. 신뢰성이 확인되지 않는 데이터 전송에 대하여 프로토콜은 신뢰도를 확보하고자 반복적인 재요청과 수정을 하게 됨. Boink, Bonk, TearDrop은 모두 이러한 반복적인 재요청과 수정을 공격 대상이 계속하게 함으로써 시스템의 자원을 고갈시키는 공격임. TCP 패킷 안에는 각 패킷이 데이터의 어느 부분을 포함하고 있는지를 표시하기 위하여 시퀀스 넘버가 기록되어 있는데, 이러한 공격들은 시스템의 패킷 재전송과 재조합(Reassembling)에 과부하가 걸리도록 이 시퀀스 넘버를 속임. 시퀀스 넘버가 조작된 패킷의 흐름은 공격 대상에게 절대로 풀 수 없는 퍼즐을 던져주는 것과 같음. 이러한 취약점은 패치를 통해서 제거되어 옴. 과부하가 걸리거나 계속 반복되는 패킷은 무시하고 버리도록 처리함. 패킷의 순서가 올바른지 확인 중간에 손실된 패킷은 없는지 확인 손실된 패킷의 재전송 요구
31
서비스 거부(DoS) 공격 Boink, Bonk, TearDrop
32
서비스 거부(DoS) 공격
33
서비스 거부(DoS) 공격 Land 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소값을 똑같이 만들어서 공격 대상에게 보내는 공격. 이 때 조작된 IP 주소값은 ( )여야 함. Land 공격에 대한 보안 대책도 운영체제의 패치를 통해서 가능. 방화벽 등과 같은 보안 솔루션에서 패킷의 출발지 주소와 목적지 주소의 적절성을 검증하는 기능을 이용하여 필터링 공격 대상의 IP 주소
34
서비스 거부(DoS) 공격 Smurf 다이렉트 브로드캐스트 다이렉트 브로드캐스트 다이렉트 브로드캐스트
기본적인 브로드캐스트는 의 목적지 IP 주소를 가지고 네트워크의 임의의 시스템에 패킷을 보내는 것으로, 3계층 장비(라우터)를 넘어가지 못함. 와 같이 네트워크 부분( )에 정상적인 IP를 적어주고, 해당 네트워크에 있는 클라이언트의 IP 주소 부분에 255, 즉 브로드캐스트 주소로 채워서 원격지의 네트워크에 브로드캐스트를 할 수 있는데 이를 ( )라고 함. 공격자가 로 ( )를 하면 패킷이 다음과 같이 전달됨. 다이렉트 브로드캐스트 다이렉트 브로드캐스트
35
서비스 거부(DoS) 공격 에이전트에 의한 스머프 공격의 실행
ICMP Request를 받은 네트워크는 ICMP Request 패킷의 위조된 시작 IP 주소로 ICMP Reply를 다시 보냄. 결국 공격 대상은 수많은 ICMP Reply 를 받게 되고 Ping of Death처럼 수많은 패킷이 시스템을 과부하 상태로 만듦.
36
서비스 거부(DoS) 공격 스머프의 스머프 공격 예방책 다이렉트 브로드캐스트
라우터에서 ( )를 막음으로서 스머프 공격은 막을 수 있음. 다이렉트 브로드캐스트
37
서비스 거부(DoS) 공격 ( ) ( ) Mail Bomb DDoS(Distributed Denial of Service)
( ) 흔히 폭탄 메일이라고 함. 스팸 메일도 여기에 해당 메일 서버는 각 사용자에게 일정한 양의 디스크 공간을 할당하는데, 메일이 폭주하여 디스크 공간을 가득 채우면 정작 받아야 하는 메일을 받을 수 없음. 이런 이유로 스팸 메일도 서비스 거부 공격이 될 수 있음. ( ) 1999년 8월 17일 미네소타 대학에서 발생한 것으로 알려져 있음. 야후, NBC, CNN 서버의 서비스를 중지시킴. 피해가 상당히 심각하며 이에 대한 확실한 대책 역시 없고 공격자의 위치와 구체적인 발원지를 파악하는 것도 거의 불가능에 가까움. 특성상 대부분의 공격이 자동화된 툴을 이용. 공격의 범위가 방대하며 DDoS 공격을 하려면 최종 공격 대상 이외에도 공격을 증폭시켜주는 중간자가 필요함. Mail Bomb DDoS(Distributed Denial of Service)
38
서비스 거부(DoS) 공격 ( )의 구성 DDoS
( )의 구성 공격 툴마다 명칭과 구조가 약간씩 다르나 기본적으로 다음과 같은 구성을 가짐. DDoS 공격자(Attacker): 공격을 주도하는 해커의 컴퓨터. 마스터(Master): 공격자에게서 직접 명령을 받는 시스템으로, 여러 대의 에이전트를 관리. 핸들러(Handler) 프로그램: 마스터 시스템의 역할을 수행하는 프로그램. 에이전트(Agent): 공격 대상에 직접 공격을 가하는 시스템. 데몬(Daemon) 프로그램: 에이전트 시스템의 역할을 수행하는 프로그램.
39
서비스 거부(DoS) 공격
40
Section 03 스니핑(Sniffing)
( ) 스니핑 공격의 종류 드라마에서 주인공이 문 앞에서 다른 이의 대화를 엿듣는 것 ( ) : 전화선이나 UTP(Unshielded Twisted Pair)에 태핑(Tapping)을 해서 전기적 신호를 분석해 정보를 찾아내는 것 전기적 신호를 템페스트(Tempest) 장비를 이용해 분석하는 것 수동적(Passive) 공격 도청(Eavesdropping)
41
스니핑(Sniffing) 네트워크 카드에서의 패킷 필터링
네트워크에 접속하는 모든 시스템은 설정된 IP 주소값과 고유한 MAC 주소값을 가지고 있음. 통신을 할때 네트워크 카드는 이 두 가지 정보(2계층의MAC 정보와 3계층의 IP)를 가지고 자신의 랜 카드에 들어오는 프로토콜 형식에 따른 전기적 신호의 헤더 부분, 즉 주소값을 인식하고 자신의 버퍼에 저장할지를 결정함. 네트워크 카드에 인식된 2계층과 3계층 정보가 자신의 것과 일치하지 않는 패킷은 무시함.
42
스니핑(Sniffing) 스니핑 공격자의 ( ) 프러미큐어스 모드
스니핑 공격자의 ( ) 스니핑을 수행하는 공격자는 자신이 가지지 말아야 할 정보까지 모두 볼 수 있어야 하기 때문에 2계층과 3계층 정보를 이용한 필터링은 방해물임. 이럴 때 2, 3계층에서의 필터링을 해제하는 랜 카드의 모드를 ( ) 모드라고 함. 프러미큐어스 모드 프러미큐어스(Promicuous)
43
스니핑(Sniffing) ( ) ICMP 리다이렉트 ARP 스푸핑 스위칭 환경의 랜상에서 ( ) 바꾸는 공격 패킷의 흐름
( ) 스위칭 환경의 랜상에서 ( ) 바꾸는 공격 ICMP 리다이렉트 호스트 A에 라우터 A가 기본 라우터로 설정되어 있기 때문에, 호스트 A가 원격의 호스트B로 데이터를 보낼 때 패킷을 라우터A로 보낸다. ARP 스푸핑 패킷의 흐름 라우터 A는 호스트 B로 보내는 패킷을 수신하고 라우팅 테이블을 검색하여 호스트 A 에게 자신을 이용하는 것보다 라우터 B를 이용하는 것이 더 효율적이라고 판단하여 해당 패킷을 라우터B로 보낸다. 라우터 A는 호스트 B로 향하는 패킷을 호스트 A가 자신에게 다시 전달하지 않도록, 호스트 A에게 ICMP 리다이렉트 패킷을 보내서 호스트 A가 호스트 B로 보내는 패킷이 라우터B로 바로 향하도록 한다. 호스트 A는 라우팅 테이블에 호스트 B에 대한 값을 추가하고, 호스트 B로 보내는 패킷은 라우터B로 전달한다.
44
스니핑(Sniffing) ( )공격 ICMP 리다이렉트
( )공격 공격자가 라우터 B가 되어 ICMP 리다이렉트 패킷도 공격 대상에게 보낸 후 라우터 A에게 다시 릴레이시켜주면 모든패킷을 스니핑할 수 있음 ICMP 리다이렉트
45
스니핑(Sniffing) ( ) SPAN(Switch Port Analyzer) 포트 태핑 스위치 재밍(MACOF)
( ) 스위치의 주소 테이블의 기능을 마비시키는 공격 스위치에 랜덤한 형태로 생성한 MAC을 가진 패킷을 무한대로 보내면, 스위치의 MAC 테이블은 자연스레 저장 용량을 넘게 되고, 이는 스위치의 원래 기능을 잃고 더미 허브처럼 작동하게 됨. SPAN(Switch Port Analyzer) 포트 태핑 SPAN은 포트 미러링(Port Mirroring)을 이용한 것. 포트 미러링이란 각 포트에 전송되는 데이터를 미러링하고 있는 포트에도 똑같이 보내주는 것. SPAN 포트는 기본적으로 네트워크 장비에서의 하나의 설정 사항으로 이뤄지지만, 포트 태핑(Tapping)은 하드웨어적인 장비로 제공되고 이를 스플리터(Splitter)라고 부르기도 함. 스위치 재밍(MACOF)
46
스니핑(Sniffing) 스니퍼 탐지 자신의 이름이 아닌데도 아무 이름에나 받아들여 대답하다가 교수님께 걸리는 프리미스큐어스 모드의 학생.
47
스니핑(Sniffing) ( )을 이용한 스니퍼 탐지 Ping
( )을 이용한 스니퍼 탐지 대부분의 스니퍼는 일반 TCP/IP에서 동작하기 때문에 Request를 받으면 Response를 전달. 이를 이용해 의심이 가는 호스트에 ping을 보내면 되는데, 네트워크에 존재하지 않는 ( )를 위장하여 보냄. 만약 ( )를 받으면 해당 호스트가 스니핑을 하고 있는 것임. Ping MAC 주소 ICMP Echo Reply
48
스니핑(Sniffing) ARP를 이용한 스니퍼 탐지 DNS를 이용한 스니퍼 탐지 유인(Decoy)을 이용한 스니퍼 탐지
ping과 유사한 방법으로, 위조된 ( )를 보냈을 때 ( )가 오면 프러미스큐어스 모드로 설정되어 있는 것 DNS를 이용한 스니퍼 탐지 일반적으로 스니핑 프로그램은 사용자의 편의를 위하여 스니핑한 시스템의 IP 주소에 DNS에 대한 이름 해석 과정(Inverse-DNS lookup)을 수행. 테스트 대상 네트워크로 Ping Sweep을 보내고 들어오는 Inverse-DNS lookup을 감시하여 스니퍼를 탐지. 유인(Decoy)을 이용한 스니퍼 탐지 스니핑 공격을 하는 공격자의 주요 목적은 ID와 패스워드의 획득에 있음. ( )를 네트워크에 계속 뿌려 공격자가 이 ID와 패스워드를 이용하여 접속을 시도할 때 공격자를 탐지. ARP watch를 이용한 스니퍼 탐지 ARP watch는 ( )의 매칭 값을 초기에 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려주는 툴임. 대부분의 공격 기법이 위조된 ARP를 사용하기 때문에 이를 쉽게 탐지할 수 있음 ARP Request ARP Response 가짜 ID와 패스워드 MAC 주소와 IP 주소
49
Section 04 스푸핑 ARP 스푸핑 ARP 스푸핑의 예
ARP(Address Resolution Protocol) 스푸핑은 ( )를 속이는 것으로 랜에서의 통신 흐름을 왜곡시킴. ARP 스푸핑의 예 환경 MAC 주소 호스트 이름 IP 주소 MAC 주소 서버 AA 클라이언트 BB 공격자 CC
50
Section 04 스푸핑 공격자가 서버와 클라이언트의 통신을 스니핑하기 위해 ARP 스푸핑 공격을 시도한 예
공격자가 서버의 클라이언트에게 에 해당하는 가짜 MAC 주소 CC를, 에 해당하는 가짜MAC 주소 CC를 알림. 공격자가 서버와 클라이언트 컴퓨터에게 서로 통신하는 상대방을 공격자 자기 자신으로 알렸기 때문에 서버와 클라이언트가 공격자에게 패킷을 보냄. 공격자는 각자에게 받은 패킷을 읽은 후 서버가 클라이언트에 보내고자 하던 패킷을 클라이언트에게 정상적으로 보내주고, 클라이언트가 서버에게 보내고자 하던 패킷을 서버에게 보내줌.
51
Section 04 스푸핑 공격 결과 윈도우에서는 arp -a 명령을 이용해 현재 인지하고 있는 IP와 해당 IP를 가지고 있는 시스템의MAC 주소 목록을 다음과 같이 확인할 수 있음. 이것을 ARP 테이블이라고 함.
52
Section 04 스푸핑 ARP 스푸핑에 대한 대응책
ARP 테이블이 변경되지 않도록 arp -s [IP 주소][MAC 주소] 명령으로 MAC 주소 값을 고정시키는 것 -s(static)는 고정시킨다는 의미. 이 명령으로 Type 부분이 Dynamic에서 Static으로 바뀌게 됨. 하지만 이 대응책은 시스템이 재부팅될 때마다 수행해주어야 하는 번거로움이 있음. 어떤 보안 툴은 클라이언트의 ARP 테이블의 내용이 바뀌면 경고 메시지를 보내기도 하지만 사실 ARP 스푸핑은 TCP/IP 프로토콜 자체의 문제로 근본적인 대책은 없음. Internet Address Physical Address Type AA Dynamic Internet Address Physical Address Type CC Dynamic arp -s AA
53
Section 04 스푸핑 IP 스푸핑 트러스트에 대한 이해 IP 스푸핑은 IP 주소를 속이는 것
친분자와의 트러스트를 이용한 파티 입장 IP 스푸핑은 IP 주소를 속이는 것
54
IP 스푸핑 유닉스 계열에서는 ( )을, 윈도우에서는 트러스트 대신 ( ) ( )를 주로 사용.
유닉스 계열에서는 ( )을, 윈도우에서는 트러스트 대신 ( ) ( )를 주로 사용. 트러스트 설정을 해주려면 유닉스에서는 ( ) 파일에 다음과 같이 클라이언트의 IP와 접속 가능한 아이디를 등록해 주어야 함. 은 에서 root 계정이 로그인을 시도하면 패스워드 없이 로그인을 허락해주라는 것 는 에서는 어떤 계정이든 로그인을 허락해주라는 것인데, +가 모든 계정을 의미함. 만일 ++라고 적힌 행이 있으면 IP와 아이디에 관계없이 모두 로그인을 허용하라는 의미. 트러스트 인증법 액티브 디렉토리 (Active Directory) /etc/host.equiv root
55
IP 스푸핑 IP 스푸핑 트러스트를 이용한 접속은 네트워크에 패스워드를 뿌리지 않기 때문에 스니핑 공격에 안전한 것처럼 보임. 하지만 인증이 IP를 통해서만 일어나기 때문에 공격자가 해당 IP를 사용해서 접속하면 스니핑을 통해서 패스워드를 알아낼 필요성 자체가 없어지는 문제점이 있음. 실제로 공격은 트러스트로 접속하고 있는 클라이언트에 DoS 공격을 수행해 클라이언트가 사용하는 IP가 네트워크에 출현하지 못하도록한 뒤, 공격자 자신이 해당 IP로 설정을 변경한 후 서버에 접속하는 형태로 이루어짐. 공격자는 패스워드 없이 서버에 로그인할 수 있음.
56
DNS 스푸핑 정상적인 DNS 클라이언트가 DNS 서버에게 접속하고자 하는 IP 주소(www. wishfree.com과 같은 도메인 이 름)를 물어봄. 이때 보내는 패킷은 DNS Query임. DNS 서버가 해당 도메인 이름에 대 한 IP 주소를 클라이언트에게 보내줌. 클라이언트가 받은 IP 주소를 바탕으로 웹 서버를 찾아감.
57
DNS 스푸핑 DNS 공격 클라이언트가 DNS 서버로 ( ) 패킷을 보내는 것을 확인. 스위칭 환경일 경우에는 클라이언트 DNS Query 패킷을 보내면 이를 받아야 하므로 ARP 스푸핑과 같은 선행 작업이 필요함. 만약 허브를 쓰고 있다면 모든 패킷이 자신에게도 전달되므로 클라이언트가DNS Query 패킷을 보내는 것을 자연스럽게 확인할 수 있음. DNS Query
58
DNS 스푸핑 공격자는 로컬에 존재하므로 DNS 서버보다 지리적으로 가까움. 따라서 DNS 서버가 올바른 DNS Response 패킷을 보내주기 전에 클라이언트에 게 위조된 ( ) 패킷을 보낼 수 있음. 클라이언트는 공격자가 보낸 DNS Response 패킷을 올바른 패킷으로 인식하고, 웹에 접속. 지리적으로 멀리 떨어져 있는 DNS 서버가 보낸 DNS Response 패킷은 버림. DNS Response
59
DNS 스푸핑 DNS 공격 결과
60
DNS 스푸핑 DNS 공격에 대한 대응책 127.0.0.1 localhost
hosts 파일에 주요 URL과 IP 정보 등록 hosts 파일 위치 localhost 윈도우 : C\WINDOWS\system32\drivers\etc\hosts 유닉스 : /etc/hosts
61
Section 05 세션 하이재킹 세션 사용자와 컴퓨터, 또는 두 대의 컴퓨터간의 연결이 활성화된 상태
가장 쉬운 세션 가로채기는 누군가 작업을 하다가 잠시 자리를 비운 PC를 몰래 사용해 원하는 작업을 하는 것.
62
Section 05 세션 하이재킹 ( ) 세션 하이재킹 공격에 대한 대응책 TCP 세션 하이재킹
( ) TCP가 가지는 고유한 취약점을 이용해 정상적인 접속을 빼앗는 방법. TCP는 클라이언트와 서버간 통신을 할 때 패킷의 연속성을 보장하기 위해 클라이언트와 서버는 각각 시퀀스 넘버를 사용함. 이 시퀀스 넘버가 잘못되면 이를 바로 잡기 위한 작업을 하는데, TCP 세션 하이재킹은 서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 위조해서 연결된 세션에 잠시 혼란을 준 뒤 자신이 끼어들어가는 방식. 세션 하이재킹 공격에 대한 대응책 SSH와 같이 세션에 대한 인증 수준이 높은 프로토콜을 이용해서 서버에 접속해야 함. 클라이언트와 서버 사이에 MAC 주소를 고정시켜주는 줌. 주소를 고정시키는 방법은, 앞서도 언급했지만 ARP 스푸핑을 막아주기 때문에 결과적으로 세션 하이재킹을 막을 수 있음. TCP 세션 하이재킹 클라이언트와 서버 사이의 패킷을 통제. ARP 스푸핑 등을 통해 클라이언트와 서버 사이의 통신 패킷이 모두 공격자를 지나가게 함. 서버에 클라이언트 주소로 연결을 재설정하기 위한 RST(Reset) 패킷을 보냄. 서버는 해당 패킷을 받고, 클라이언트의 시퀀스 넘버가 재설정된 것으로 판단하고, 다시 TCP 쓰리웨이 핸드셰이킹을 수행. 공격자는 클라이언트 대신 연결되어 있던 TCP 연결을 그대로 물려받음.
63
Section 06 무선 랜 보안 무선 랜 기본적으로 Ethernet Like 개념으로서, 보통 내부 네트워크의 확장으로서 이용됨. 무선 랜을 사용하기 위해서는 내부의 유선 네트워크에 ( ) 장비를 설치해야 함. AP(Access Point)
64
Section 06 무선 랜 보안 무선 랜 전송 가능 거리 지향성 안테나와 무지향성 안테나
65
Section 06 무선 랜 보안 주요 무선랜 프로토콜
66
무선랜 보안 설정사항 SSID 브로드캐스팅 금지
AP를 탐색하면 나타나는 각 AP의 이름이 바로 ( )임. 무선 랜에서 가장 설정하기 쉬운 보안 사항은 이 SSID가 AP 탐색에 쉽게 노출되지 않도록 ( ) 막는 것. SSID(Service Set Identifier) SSID의 브로드캐스팅을
67
무선랜 보안 설정사항 WEP(Wired Equivalent Privacy)
무선 랜을 암호화하는 가장 기본적인 방법으로, WEP로 보호받는AP에 접속하기 위해서는 다음과 같이 ( )를 입력해야 접속할 수 있음. WEP는 보통 40비트의 키를 제공하며, 128비트의 키까지 쓸 수 있음. 64비트 이하의 WEP 키를 사용할 경우 무선 랜 스니핑을 통해 패킷을 충분히 모으면(약 30만개) 30분 이내에 복호화가 가능함. 따라서WEP는 개인이 무선 랜을 사용하기에는 그다지 나쁜 방법은 아니나, 높은 보안성이 요구되는 무선 랜에서는 권할 만한 암호화 프로토콜이 아님 WEP 키
68
무선랜 보안 설정사항 WPA, WPA-PSK EAP 와 802.1X
( )는 키값이 쉽게 깨지는 WEP의 취약점을 보완하기 위해 개발됨. 데이터 암호화를 강화하기 위해 TKIP(Temporal Key Integrity Protocol)라는 IEEE i 보안 표준을 사용. 암호키가 고정되어 있던 WEP와 달리 WPA는 암호키를 ( )시키기 때문에 해킹이 어려움. EAP 와 802.1X 무선 랜의 보안상 여러 문제 때문에 프로토콜 자체의 보안 기능을 제외한 다른 조치가 필요하게 되었는데, 그 대안으로 제시된 것이 EAP(Extensible Authentication Protocol)와 802.1X를 이용한 인증 시스템임. ( )는 무선 랜 클라이언트와 RADIUS (Remote Authentication Dial-in User Service) 서버간의 통신을 가능하게 하는 프로토콜이며, ( )는 포트에 대한 접근을 통제하는 프로토콜임. 이 두 가지를 이용한 보안 솔루션은 AP에 접속하려는 자가 네트워크에 로그인을 수행할 때까지 접근 권한을 얻지 못하게 함. 클라이언트는 네트워크에 로그인하기 위해 ID와 패스워드를 입력하여야 하며, 입력된 ID와 패스워드를 사용하여 클라이언트와 RADIUS 서버는 상호 인증을 수행. RADIUS 서버와 클라이언트는 현재 접속한 세션에 대한 WEP키를 유도하며, ID와 패스워드와 같이 민감한 정보들은 모두 암호화 처리되는 방식을 통하여 스니핑과 다른 공격 등으로부터 보호됨. WPA(WiFi Protected Access) 특정 기간이나 일정 크기의 패킷 전송 후에 자동으로 변경 EAP 801.1X
69
무선랜 보안 설정사항 EAP와 802.1X 클라이언트가 AP에 접속을 요청.
RADIUS 서버가 클라이언트에 인증 Challenge를 전송. 클라이언트가 Challenge에 대한 응답으로, ID와 패스워드에 대한 해시값을 구하여 RADIUS 서버에 전송. RADIUS 서버가 사용자 관리 데이터베이스 정보를 사용하여 Challenge의 응답에 대한 해시값을 구하여 클라이언트의 해시값과 비교.
70
무선랜 보안 설정사항 RADIUS 서버가 클라이언트를 인증하면 이러한 과정을 역으로 수행하여 클라이언트가 RADIUS 서버를 인증. 클라이언트와 RADIUS의 상호 인증이 이루어짐. 클라이언트와 RADIUS 서버의 상호 인증이 성공적으로 완료되면, 네트워크 접근을 위한 적당한 클라이언트의 수준을 정의하고 클라이언트를 구별할 수 있는 WEP 키를 각각 결정. RADIUS 서버는 세션키(Session-Key)라 불리는 WEP 키를 유선 랜에 위치한 AP에 전송. AP는 세션키를 가지고 브로드캐스트 키를 암호화하여 클라이언트에게 암호화된 키를 전송. 클라이언트는 브로드캐스트된 암호화 키를 복호화하기 위해 세션키를 사용. 클라이언트와 AP는 WEP를 활성화하며, 세션이 성립되어 있는 시간 동안 통신에 세션과 브로드캐스트 키를 사용. 11
71
요약 OSI 7 계층
72
요약 서비스 거부 공격 (DoS, Denial of Service) ( ) 스니핑 공격 Ping of Death
( ): ICMP 패킷을 일반보다 훨씬 큰 65,500바이트의 크기로 보내, 하나의 패킷이 네트워크를 통해 공격 대상에게 전달되는 동안 여러 개의 IMCP 패킷으로 나누어져 공격 시스템에 과부하를 일으키게 한다. ( ): TCP 프로토콜의 구조적인 문제를 이용한다. SYN 패킷만 보내어 각 서버의 동시 가용 사용자 수를 점유하여 다른 사용자가 서버를 사용할 수 없게 한다. ( ): UDP, TCP 패킷의 시퀀스 넘버를 조작하여 공격 시스템에 과부하 일으킴 ( ): 출발지 주소와 도착지 주소가 같은 패킷을 공격 시스템에 보내 공격 시스템의 가용 사용자를 점유하며 시스템의 부하를 높인다. ( ) : 출발지 주소가 공격 대상으로 바뀌어진 ICMP Request 패킷을 시스템이 충분히 많은 네트워크로 브로드캐스트한다. ICMP Request 패킷을 받은 시스템들이 공격 대상에게 ICMP Reply를 보내게 하여 공격 대상을 과부하 상태로 만든다. ( ): 흔히 말하는 스팸 메일이다. ( ): 자동화된 툴을 이용하며 공격(Attacker), 마스터(Master), 에이전트(Agent)로 구성된 메커니즘을 통해 DoS 공격을 증폭된 형태로 실시한다. ( ) 일반적으로 작동하는 IP 필터링과 MAC 주소 필터링을 수행하지 않고, 랜 카드로 들어오는 전기신호를 모두 읽어들여 다른 이의 패킷을 관찰한다. Ping of Death SYN Flooding Boink, Bonk, TearDrop Land Smurf Mail Bomb DDoS(Distributed Denial of Service): 스니핑 공격
73
요약 스위칭 환경에서의 스니핑 공격 방법 스니퍼 탐지 방법 ARP 스푸핑 ICMP 리다이렉트 스위치 재밍
( ): 로컬에서 통신하고 있는 서버와 클라이언트의 IP 주소에 대한 2계층 MAC 주소를 공격자의 MAC 주소로 속여, 클라이언트에서 서버로 가는 패킷이나 서버에서 클라이언트로 가는 패킷이 공격자 에게 향하도록 한다. 공격자는 이 패킷을 확인한 후 원래의 목적지로 향하도록 다시 돌려보내 연결이 유지되는 공격이다. ( ): 3계층에서 스니핑 시스템이 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾼다. ( ): 스위치의 저장 용량 이상의 MAC 주소를 보내, 스위치의 기능을 잃고 허브처럼 작동하게 만든다. ( ): 스위치에서 스니핑을 하기 위한 특별한 설정 및 장치다. 스니퍼 탐지 방법 ( )을 이용한 방법: 자신에 해당하지 않는 ping에도 ICMP Echo Reply를 되돌려 보낸다. ( )를 이용한 방법: 위조된 ARP Request를 보냈을 때 ARP Response를 되돌려 보낸다. ( )를 이용한 방법: 스니핑한 시스템의 IP 주소에 Inverse-DNS lookup을 수행한다. ( ) 방법: 가짜 ID와 패스워드를 네트워크에 뿌려 이 ID와 패스워드를 이용하여 접속을 시도하는 공격자 시스템을 탐지한다. ( ): MAC 주소와 IP 주소의 매칭 값을 초기에 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 ARP 패킷을 탐지한다. ARP 스푸핑 ICMP 리다이렉트 스위치 재밍 SPAN 포트 및 태핑 Ping ARP DNS 유인(Decoy) ARP watch
74
요약 스푸핑 공격 ( ) 무선 네트워크 보안 세션 하이재킹 IP 스푸핑 DNS 스푸핑
( ): 트러스트 관계가 맺어져 있는 서버와 클라이언트를 확인한 후 클라이언트에 DoS 공격을 하여 연결을 끊는다. 그런 다음, 공격자가 클라이언트의 IP 주소를 확보하여 서버에 실제 클라이언트처럼 패스워드 없이 접근한다. ( ): 실제 DNS 서버보다 빨리 공격 대상에게 DNS Response 패킷을 보내 공격 대상이 잘못된 IP 주소로 웹 접속을 하도록 유도한다. ( ) 서버와 클라이언트가 TCP를 이용해서 통신을 하고 있을 때, RST 패킷을 보내 일시적으로 TCP 세션을 끊고 시퀀스 넘버를 새로 생성해 세션을 빼앗아 인증을 회피한다. 무선 네트워크 보안 ( ): 브로드캐스팅을 금지한다. ( ): 128비트의 키까지 암호화 키를 제공한다. ( )(WiFi Protected Access-Pre Shared Key): WEP의 취약점으로 인해 보다 발전된 암호화 방식을 제공한다. ( ): EAP는 무선 랜 클라이언트와 RADIUS(Remote Authentication Dial-in User Service) 서버간의 통신을 가능하게 하는 프로토콜이며, 802.1X는 포트에 대한 접근을 통제하는 프로토콜이다. IP 스푸핑 DNS 스푸핑 세션 하이재킹 SSID(Service Set Identifier) WEP(Wired Equivalent Privacy) WPA, WPA-PSK EAP & 802.1X
75
요약
76
정보 보안 개론 3장 끝
Similar presentations