IP (Internet Protocol – İnternet Protokolü) Paketlerinin Parçalanması ve Güvenlik Sistemlerine Etkileri

Eyl 07, 2013

Fragmentation (Parçalanma), IP (Internet Protocol – İnternet Protokolü) paketlerinin Yerel Ağlar (LAN – Local Area Network) arasında dolaşırken MTU (Maximum Transmission Unit - Maksimum İletim Birimi) değeri kendi boyutundan daha düşük olan bir ağa geçişinde yönlendirici tarafından parçalanmasıdır. MTU ise bir ağda iletilebilecek en büyük paket boyutudur.

 Protokol  MTU
 HYPERchannel  65,535
 Token Ring(16Mbps)  17,914
 Token Ring(4Mbps)  4,464
 FDDI  4,352
 Ethernet  1,500
 X.25;  5,76
 PPP  296

MTU değerleri farklı iki ağ arasında geçişlerde eğer ilk ortamın MTU değeri daha büyükse IP paketlerinde yeni girilecek ortama göre parçalama işlemi yapılır. Örneğin, ethernet ağlarının MTU değeri 1500 byte'dır. IP paketin değeri MTU değerinden büyük olduğu takdirde, bu paket ethernet ağının girişindeki yönlendiriciye geldiğinde, yönlendirici diğer tarafında ethernet ağı olduğunu ve paketin boyutunun 1500 byte üzerine çıkmaması gerektiğini bilir ve paket ağa parçalanarak gönderilir. Gönderilen paketler hedefe ulaştığında tekrar birleştirilir. Parçalanmış paketler hedefe ulaştığında doğru birleştirilebilmesi için her pakette bulunması gereken bazı alanlar vardır. Bunlar;

  • Aynı IP paketine ait parçalanmış paketler IP ID (Fragmentation Identifier - Parçalanma Tanımlayıcı) ile gösterilir.



  • Parçalanmış her paket taşıdığı veri boyutunu ve hangi byte’dan itibaren taşıdığını bilmelidir. Ne kadarlık bir veri taşıdığı Total Length (Toplam Uzunluk) ile belirtilir.

  • Kendisinden sonra ek parça paket varsa bu alan flags[+], paketin kendisi son paket ise değer flags [none] olur.



  • Her parçanın ait olduğu paketin hangi kısmını taşıdığını Fragment Offset (Parçalanma işaretçisi) değeri belirtir.  Hangi byte’dan itibaren bu verinin ekleneceğini de belirtilir. Örneğin, Fragment Offset değeri 4440 ise önceki paketler toplam 4440 byte taşımıştır, sıradaki paket buna ek 1500 byte gönderir, ancak bir sonraki pakette offset değeri 4440+1480 olacaktır. 1500 yerine 1480 olmasının nedeni her pakette 20 byte IP header (İnternet Protokol başlık) bilgisinin yer almasıdır. Ayrıca parçalanan paketin gönderilen ilk parçasında 8 byte ICMP header (başlık) vardır.

Parçalanmış Paketler ve Güvenlik Zaafiyetleri

Paket parçalama ve MTU değeri farklı yerel ağlar arası paket iletiminde gerekli bir durumdur. Uyum sağlaması için oluşturulan bu sistem çesitli saldırılara ortam hazırlamıştır. Bu saldırılara sebep olan güvenlik açıklıkları uzun zaman önce işletim sistemi geliştirici firmalar tarafından kapatılmıştır. Fakat paket parçalama ile yapılan Firewall (Güvenlik Duvarı) atlatma yöntemleri hala bazı sistemler üzerinde çalışabilmektedir.

Güvenlik duvarına bir paket geldiğinde onu başlık bilgilerine bakarak filtreleyebilir, fakat gelen paket parçalanmış bir paket ise sadece paketin ilk parçasını filtreleyebilecektir, diğer parça paketler güvenlik duvarından geçecektir. Güvenlik duvarları gelip giden paketleri kural tablosu ile karşılaştırabilmesi için paketlerin parçalı olmaması gerekir. Bu da güvenlik duvarlarının paket birleştirme özelliğine sahip olmalarını zorunlu tutar. Örnek olarak OpenBSD PF güvenlik duvarındaki scrub (normalleştirme) özelliği kullanılarak parçalanmış paketlerin güvenlik duvarında tekrar birleştirilmesi ve hedefe bu şekilde ulaştırılması sağlanabilir.