IP Fragments
1. Fragment란
fragmentation : IP 프로토콜은 IP 패킷을 몇 개의 작은 패킷으로 나누어서 전송되어 목적지 시스템에서 재조합 되는 것을 허용하는 과정
서로 다른 최대 패킷 사이즈의 제한을 가진 이기종의 전송 매체에서도 IP 데이터 그램을 전송하게 함.
MTU(Maximum Transmission Unit) : IP 데이터 그램이 네트워크를 통해 전송될 때, 전송되는 IP 데이터 그램의 크기가 해당 전송 매체에서 전송될 수 있는 최대 크기
IP Fragmentation은 데이터 그램이 MTU보다 클 경우에 발생!!
Ex) MTU가 1500바이트, 데이터 그램이 1500보다 클 때 Ethernet 네트워크를 통과해야 한다면 fragmentation이 필요하게 된다.
공격 유형
fragmentation은 지극히 일반적이고 정상적인 이벤트이지만,
비정상적인 fragment를 발생시켜 서비스거부공격에 이용.
2. Fragment 흐름
2.1 Data의 크기가 최대 패킷 사이즈보다 작을 경우
라우터는 그대로 경로를 정해 보냅니다.
2.2 Data의 크기가 최대 패킷 사이즈보다 클 경우(데이터 분할 전송)
라우터는 약속된 크기의 패킷으로 쪼개워 보냅니다.
2.3 목적지 서버 도착(데이터 재조합 수신)
목적지 서버에 도착한 패킷을 CPU가 연산을 하여 다시 하나의 패킷으로 만듭니다.
3. IP Fragments 패킷 분석
뭔가 3개씩 짝지어진 것을 볼 수 있습니다.
IPv4 2번, ICMP 1번
보시면 아시겠지만
192.168.0.114에서 Echo request를 192.168.0.193에게 요청하고
192.168.0.193는 Echo reply를 192.168.0.114에게 해주고 있음을 볼 수 있습니다.
또한
이를 통해 알 수 있는 사실은 ICMP 메세지의 크기가 커서 3개로 분할해서 보낸다는 것입니다.
3.1 1번 패킷
그렇다면 1번 패킷을 자세히 볼까요?
보시면 아시겠지만 Total Length가 1500임을 볼 수 있습니다.
데이터를 1500씩 짜른다는 얘기입니다.(MTU=1500)
Flags를 열어보도록 하죠
More fragments에 1이 체크되있습니다.
이는 아직 분할된 fragment가 남았다는 것입니다.
또한 fragment offset이 0임을 볼 수 있는데 이는 시작이 0이라는 뜻입니다.
Data가 1480 bytes인걸 보아 0~1479 까지가 1번패킷의 fragment입니다.
3.2 2번 패킷
2번 패킷을 봅시다.
1번패킷에서 봤던 내용들을 봅시다.
MTU는 1500
다음 fragment가 존재하고
offset은 1480
데이터가 1480개 이므로 1480~2959 까지임을 알 수 있습니다.
3.3 3번 패킷
3번 패킷을 봅시다.
MUT : 140
More fragments : 없음.
offset : 2960
Data : 120bytes (2960~3079)
정상적으로 패킷이 분할된 것을 확인할 수 있습니다.
여기까지 IP fragments 분석이었습니다.
'IT > Network' 카테고리의 다른 글
네트워크 보안 - TCP 세션 하이재킹 Session hijacking (0) | 2019.08.20 |
---|---|
네트워크 보안 - DRDOS (Distributed Reflection Dos) (0) | 2019.08.20 |
네트워크 보안 - Snort의 payload 데이터 검사 항목 (0) | 2019.08.19 |
네트워크 보안 - 침입탐지시스템 (0) | 2019.08.12 |
네트워크 보안 - NAC (Network Access Control) (1) | 2019.08.09 |
댓글