정보보호개론 10주차

2021. 11. 18. 20:31학교수업

ICMP(The Internet Control Message Protocol) : 네트워크 상에 현재 오류가 없는지 진단한거나 제어하는 목적으로 사용

-> IP 프로토콜의 약점 보완 목적

- ICMP의 사용 목적 1 : 네트워크 진단

-> 네트워크 연결 여부 확인 : ping 또는 traceroute

- ICMP 사용 목적 2 : 네트워크 흐름 통제

-> 게이트웨이가 2개인 네트워크 환경에서 게이트웨이의 IP 메세지 재전송

 

ICMP 스푸핑

1. ICMP 리다이렉트 보내기 (여러 번 반복 실행 하여 어쩌다 한 번 걸림)

2. 단말 A에서 보낸 메세지는 먼저 공격자 I에게 전송 

3. 스니핑 성공을 위해 기존 게이트웨이로 전송

 

DNS(Domain Name Service 도메인 네임 서비스) : UDP 통신 사용

- 접속하려는 URL 주소 이름으로 IP 주소를 구하는 서비스

 

DNS 스푸핑

- 공격 대상에게 전달되는 IP를 변조하거나 DNS 서버에 변조된 IP 주소를 저장되게 해서 공격 대상이 의도하지 않은 주소로 접속하게 하는 공격 방법

DNS 스푸핑 공격 방법 1 : 스니핑을 이용한 공격

- DNS 질의(www.google.co.kr같은 URL)를 스니핑

- 변조된 DNS 응답(74.125.235.184 같은 주소)의 선택

-> UDP 방식으로 DNS 응답이 전달되어 먼저 도착한 메세지가 선택 이후 도착한 메시지 무시

-> 공격자가 DNS서버보다 조금 더 빠르게 질의를 받아 먼저 응답을 보냄(공격자가 더 가까이 있기 때문)

DNS 스푸핑 공격 방법 2 : DNS 캐시 포이즈닝 - DNS 서버의 IP 주소 변조

- DNS 서버의 동작 방식은 순환 질의(Recursive Query)방식

-> 계층적으로 도메인의 주소를 질의하는 방식

-> 구해진 IP주소는 DNS 서버에 캐시(Cache)로 저장

- DNS 서버에 대한 스푸핑 공격 (내부망)

- 랜덤 ID 생성 기반의 DNS 캐시 포이즈닝

-> 대규모 DNS 질의를 보냄 서로 다른(랜덤) ID 포함

-> 대규모 DNS 응답을 보냄 (여러 개의 서로 다른 ID 값을 랜덤하게 생성하여 DNS 질의와 응답을 동시에 보냄)

=> DNS서버와 공인 네임 서버가 공유하는 ID 값을 맞추기 위해

-> 일단 ID 값이 같으면 공격자가 보낸 DNS 응답이 공인 네임 서버에서 보내는 DNS 응답 대신 선택됨(공격자가 가까움)

 

생일 공격 기법 : 우리가 예상하는 것보다 실제 확률이 높다

- DNS 질의에 사용되는 ID 크기는 2바이트(16비트)

-> 0~65,535사이 값

-> 약 750정도 이상의 DNS 응답 ID를 생성하면 1개 정도 성공할 확률이 높다

 

DNS 캐시 포이즈닝 대비책

- DNS 서버 소프트웨어를 최신 버전으로 업데이트

- 외부에서 요청되는 DNS 질의에 대해서 DNS 서버가 순환 질의를 하지 않도록 설정

- DNSSEC(Domain Name System Extensions) 사용

 

서비스 거부(DoS : Denial Of Service)공격

- 서비스가 정상적으로 제공되지 못하게 방해하는 공격

- 도스 공격 or 디오에스 공격

- 공격 목적 : 가용성을 떨어트리는 것

-> 대규모 가짜 요청을 만들어 공격 대상자 시스템에 과부하를 일으킴

분산 서비스 거부(DDos : Distributed Denial Of Service) : 공격자가 여러 곳에서 동시에 서비스 거부 공격을 하는 방법

 

Dos 공격과 DDos 공격에 사용되는 공격 유형

서비스 거부 공격은 명백한 범법 행위다

 

TCP SYN 플러딩 공격 - 서비스 거부 공격

- SYN 패킷을 대량으로 보내 웹 서버의 네트워크 대역폭을 낭비하여 다른 사용자들이 일반 사용자들이 아예 웹 서버로 접속을 못하게 하는 공격 방법

-> SYN패킷을 넘치게하는 공격 - 신 플러딩(SYN Flooding)이라고 함

- TCP의 3-웨이 핸드셰이킹(3-way Handshaking)의 특징을 악용하는 방법

-> 처음 두 단계가 이루어진 다음 송신자가 세 번째 단계인 ACK패킷을 보내지 않음

-> 수신자는 송신자가 ACK 패킷을 보낼 때 까지 기다림 (운영체제에서 설정된 최대 기다리는 시간 10초~1분)

=> n명이 사용자에게 서비스하는 서버로 공격자가 n개 이상의 SYN 패킷을 동시에 전송

- 대기 큐에서 지워지는 속도보다 채워지는 속도가 더 빠르다.

대응 방안

- 대기 큐의 크기 증가(서버 가용성 증가) -> 자원 증가의 한계 존재

- 최대 접속 대기 시간 감소 : ACK 패킷이 2초 내에 안오면 강제 접속 종료

- 보안 솔루션 적용

 

ICMP 플러딩 공격 - 스머프 공격

- 대량의 ICMP echo 응답을 만들어 공격

-> 브로드캐스팅 방식으로 동작하는 ICMP 프로토콜의 특성을 악용

- ICMP echo의 출발 IP 변조(IP를 공격 대상자 IP로)

-> 에이전트는 ICMP echo요청을 공격자에게 받고 공격 대상자에게 응답을 보냄

공격 단계

1. 공격자에 의한 브로드캐스트

2. 에이전트에 의한 공격 실행

용어:

서비스 거부 공격의 수단으로 사용되는 단말

1. 에이전트(Agent)

2. 슬레이브(Slave)

3. 봇(Bot)

4. 좀비(Zombie)

 

DDos 공격의 용어

1. 공격자

2. 공격 대상자

3. 에이전트 : 공격 대상자에게 실제 공격하는 주체 (슬레이브, 봇 혹은 좀비)

4. 마스터 : 중간 증폭기 역할 (전달 공격자로부터 공격 명령을 받아 에이전트로 전달)

 

IP 플러딩 LAND, Teardrop

IP 플러딩 : 서비스 거부 공격을 하기 위해 공격자가 IP 관련 내용을 변조하는 공격 방식

- LAND 공격 : 출발지 IP 주소를 변조하는 공격

- Teardrop 공격 : IP 패킷의 순서를 변조하는 공격

랜드(LAND: Local Area Network Denial) 공격

- 1997년 발견, 패킷을 보낼 때 출발지 IP주소와 도착지 IP주소를 같게 하여 보냄

-> 내보낸 메세지가 다시 자기 자신으로 돌아와서 무한 루프에 빠짐

대처 방안

- 윈도우 서버 2003, 윈도우 XP SP2 이후 버전 OS는 패치가 적용 되어있다.

- 방화벽 및 기타 네트워크 보안 솔루션 : 출발지와 도착지 IP가 같은 경우에 대해 예외처리 적용 

티어드랍(Teardrop)

- IP 패킷(IP Fragments)의 헤더를 서로 중첩되게 조작하여, IP패킷을 재조합 과정에서 오류를 발생하도록 하는 공격

-> 네트워크 연결이 끊어지거나 블루 스크린 등 시스템 자체가 중단되기도 함

대처 방안

- 윈도우 XP 이상의 OS에서는 이러한 티어드랍 공격에 대한 패치가 포함

-> 시퀀스 번호에 오류가 있는 IP 패킷 무시

 

HTTP GET 플러딩 공격

- 특정 웹 페이지를 동시에 여러 에이전트가 요청하여 웹 서버가 감당하지 못하게 만들어 서비스 거부를 만드는 공격

-> 특정 서버를 대상으로 하여 특정 서버가 제공하는 서비스만을 중단

-> 대처가 어려움 : 정상적인 HTTP 요청 -> 단순히 요청 자체를 거부해서는 안 된다.

대응 방안 : 인계치 기반의 방어 기법

- 특정 IP에서 임계치 값을 넘어서 대량의 HTTP GET 요청이 지속 -> 해당 IP에서 전달되는 HTTP GET 무시

 

HTTP CC공격과 동적 HTTP 요청 공격

HTTP CC : HTTP 헤더에 CC 옵션을 변경하여 더 많은 부하 유발

동적 HTTP 요청 공격 : 지속적으로 요청하는 웹 페이지 주소를 변경하여 차단 우회 시도

 

HTTP CC 공격

- 더 많은 부하를 발생시키기 위해 HTTP 헤더의 CC(Cache-Control) 옵션 값 사용

-> (HTTP 1.1표준) 웹 서버에서 캐시기능을 사용하지 않게 만듦

 

동적 HTTP 요청 공격

- 요청되는 웹 페이지 주소가 동적으로 바뀌는 공격

- 매번 요청되는 웹 URL 주소가 변경 -> DDos공격인지 판단 어려움

- 웹 페이지 주소를 기반으로 임계치를 적용하는 것이 어렵다.

- 단, 출발지 IP 주소는 동일

=> 출발지 IP 주소 기반의 임계치 기반의 차단 정책

-> 특정 IP가 짧은 시간 내에 많은 요청을 할 경우 차단

'학교수업' 카테고리의 다른 글

웹프로그래밍 12주차  (0) 2021.11.21
정보보호개론 11주차  (0) 2021.11.19
가상현실프로그래밍 11주차  (0) 2021.11.18
가상현실프로그래밍 10주차  (0) 2021.11.17
임베디드기초 10주차  (0) 2021.11.15