관리 메뉴

IT창고

Network IP Fragment(단편화) 본문

보안/Network

Network IP Fragment(단편화)

방구석여포 2018. 3. 28. 02:14

IP Fragment에 대해 알아보겠습니다.

IP Fragment는 단편화 혹은 패킷 분할이라고도 합니다.

여기서 사용될것은 IP헤더안에 있는 Identification, Flag, Offset 3가지 입니다.

3가지가 분할에 필요한 ip패킷 요소입니다.


Identification은 단편화된 ip의 패킷을 식별하는 번호입니다.


Flag는 000, 010, 001로 나눠지며 자세한 내용은 아래와 같습니다.

- 000 : 분할(단편화)되지않는 경우

- 010 : 분할하지않는 경우

- 001 : 분할된 경우


Offset은 단편화된 패킷의 시작위치입니다.


MTU에 대해 알아보겠습니다.

MTU는 컴퓨터 네트워크에서 ip패킷이 가질수있는 최대크기입니다.

리눅스에서도 확인해볼수있습니다. 


분할된 모습을 직접 확인해보겠습니다.

ping명령어에 보면 -s옵션으로 패킷 사이즈를 조절해서 보낼수있습니다. -s옵션을 사용하지않을 경우 기본값56byte로 전송이 됩니다.

리눅스의 MTU는 1500으로 되어있습니다. ping으로 5000사이즈로 보내보겠습니다.

id에서 구분해보면 3개로 나뉘어 전송이된걸 확인할수있습니다. reply역시 3번 나눠서 전송됩니다.

사용한 스니퍼는 아래와 같습니다.

===================================================

===================================================


분할은 직접 만들어볼수도 있습니다.

ip헤더를 3개로 나눠서 각각 8byte정도의 크기로 분할해서 보낼수있습니다.

===================================================

===================================================


지금까지 배운 내용으로 인해 나올수있는 취약점들을 알아보겠습니다.

이미 대부분이 지금은 사용할수없는 취약점이지만 알아보도록 하겠습니다.


1. Fragment를 이용한 취약점

- DoS(Denial of Service)

- 방화벽 우회

- Tear Drop : offset 값을 조작해서 도착지에서 재조립시 오류가 발생하도록 한다

- fragment overlap : offset값을 조작해서 방화벽등을 우회하기 위한 목적입니다.


2. ip헤더를 이용한 취약점

- Ping of Death : 주로 DDos가 있으며 아주 큰 대량의 echo request를 전송해서 타겟에게 부하를 주는 방식

- LAND Attack : src ip와 dst ip를 같은 아이피로 설정해서 타겟PC안에서 echo응답을 하도록하는 방법

  *과거에는 문제가 되었지만 지금 운영체제는 응답을 하지않습니다.

- Smurf Attack : dst ip를 브로드케스트 주소로 바꿉니다. src ip를 타겟에 두면 같은 네트워크 안의 스위치들이 증폭기 역활을 해서 타겟의 PC에게 대량의 echo를 보내게 됩니다.

- IP Spoofing : ip헤더의 출발지나 도착지의 아이피를 속이는 행위 보통 TCP Session hijecking이나  TCP나 UDP를 이용한 DDoS공격에 활용합니다.

'보안 > Network' 카테고리의 다른 글

Network UDP Flooding  (0) 2018.03.30
Network UDP(User Datagram Protocol)  (0) 2018.03.29
Network ICMP(Internet Contorl Message Protocol)  (0) 2018.03.27
Network ARP Cache Poisoning  (0) 2018.03.23
Network APR(Address Resolution Protocol)  (0) 2018.03.21
Comments