본문 바로가기
침입탐지 및 차단시스템/침입탐지 및 차단시스템 입문

3. 네트워크 계층에서의 주요 공격 유형

by LIZ0904 2021. 4. 5.
반응형

네트워크 계층에서는 랜드공격, 티얼드롭공격, ICMP 플러딩 공격, ICMP 스머핑 공격 등이 있다. '

 

랜드(LAND) 공격

랜드 공격은 IP 스푸핑 공격을 변형한 기법이다. 이때 IP 스푸핑(IP Spoofing) 공격이란 출발지 IP 주소를 조작해 자신을 은폐하는 공격을 의미한다.

 

랜드 공격의 과정

1. 출발지 IP 주소를 목적지 IP 주소와 동일하게 설정한 뒤 ICMP 요청 패킷을 공격 대상자에게 전송한다.

2. 그러면 공격 대상자는 ICMP 응답 패킷을 전송하기 위해 출발지 IP 주소를 참조하는데, 이 경우 출발지와 목적지 IP 주소가 동일하기 때문에 ICMP 응답 패킷을 자신(공격 대상자)에게 보내게 된다. 

3. 네트워크 계층의 플러딩 공격을 하게 된다.

※플러딩(Flooding): 공격 대상자에게 인위적인 과부하를 유발하게 하는 공격

 

랜드공격을 전송계층까지 확장해 사용하는 경우에는 출발지 포트번호&IP주소를 목적지 포트번호&IP주소로 설정한다.

현재 운영체제에서는 출발지 IP주소와 목적지 IP주소가 동일한 경우에는 커널 차원에서 해당 패킷을 차단해 방어한다.

 

 

티얼드롭(Teardrop)공격

티얼드롭 공격은 패킷 분할 속성을 이용한 기법으로, 플러딩 공격의 일종이다. 

 

티얼드롭 공격의 과정

ID 항목 플래그 항목(D 비트) 플래그 항목(M 비트) 플래그먼트 오프셋
1234 0 1 0
1234 0 1 1500
1234 0 1 1500
1234 0 0 4500

1. 공격자는 플래그먼트 오프셋의 정보를 위의 표와 같이 조작해 공격 대상자에게 전송한다.

2. 공격 대상자의 운영체제에서는 두번째 분할 패킷까지는 정상적으로 재조립을 수행한다.

3. 하지만 세번째 분할 패킷 부분은 두번째 분할 패킷의 플래그먼트 오프셋 정보와 동일하다. 이 부분에서 세번째 분할 패킷을 두번째 분할 패킷에 덮어 쓰게 된다.

4. 네번째 분할 패킷이 도달하더라도 운영체제에서는 세번째 분할 패킷의 플래그먼트 오프셋 정보인 3000을 계속 검색하기만 한다.

5. 과부하가 일어난다.

 

현재 대부분의 운영 체제에서는 플래그먼트 오프셋 정보가 불일치할 경우 분할 패킷 전체를 폐기함으로써 이 공격을 원천적으로 차단시키고 있다.

 

 

ICMP 플러딩(Flooding) 공격

ICMP 플러딩 공격은 죽음의 핑 공격이라고도 많이 불린다. 

 

ICMP 플러딩 공격의 과정

1. ICMP 페이로드 크기를 65000byte 이상으로 설정한 뒤, IP 스푸핑 공격을 적용한다.

2. 출발지 IP 주소를 매 순간 임의로 변경해 전송하게 된다.

3. 수신 측에서는 매번 분할 패킷을 재조립한 뒤 ICMP 응답 해킷을 전송하게 된다.

4. 과부하가 일어난다.

 

 

칼리 리눅스를 이용해 랜드 공격과 결합한 ICMP 플러딩 공격 실습을 진행해보자!

공격 실습 예제

위와 같이 hping3 [공격대상자 ip주소] -a [공격대상자 ip주소] --icmp --flood -d 65000 명령을 입력해서 공격을 시도해봤다. 설명에서 '28 headers + 65000'은 65000 바이트의 ICMP 페이로드를 생성한 뒤, 8바이트의 ICMP 헤더와 20바이트 트의 IP 헤더를 붙였다는 것을 의미한다. 

 

ICMP 스머핑(Smurfing) 공격

ICMP 스머핑 공격은 ICMP 플러딩 공격의 변형 기법이다.

 

ICMP 스머핑 공격의 과정

1. 공격 대상자의 IP 주소를 출발지 IP주소로 설정한다.

2. 목적지 IP 주소를 브로드캐스트 IP주소(x.x.x.255)로 설정한다.

3. 공격자가 전송한 ICMP 요청패킷이 해당 대역에 있는 모든 호스트에게 전해진다.

4. ICMP 요청을 받은 모든 호스트들은 출발지 IP 주소로 ICMP 응답 패킷을 보낸다.

5. 모든 응답패킷을 받고 있는 공격 대상자에게 과부하가 일어난다.

※이때, ICMP 플로딩 공격과 마찬가지로 ICMP 페이로드 크기를 65000 바이트 이상으로 설정한다.

 

그럼 안녕,,,,

반응형

댓글