EN
EN

TCP/IP Ağlarda Parçalanmış Paketler ve Güvenlik Sorunları


OSI modeli ağda bulunan iki cihazın iletişimin nasıl sağlanacağını tanımlayan bir modeldir. 7 katmandan oluşur ve veriler bu katmanlardan geçerek iletilir. Veri iletiminin sağlanması için katmanlarda kullanılan birçok protokoller ve standartlar bulunmaktadır.

Veriler iletim sırasında çeşitli bölümleme ve kapsülleme işlemlerinden geçer. Kapsülleme sırasında, her katman, yukarıdaki katmandan SDU'ya kontrol bilgisi içeren bir başlık ekleyerek bir protokol veri birimi (PDU) oluşturur.

Veri 4. Katman olan taşıma katmanına geldiğinde segmentlere ayrılır. Segmentlere port numarası eklenir ve port numaralarına göre iletişim sağlanır. 4. katmandan gelen segmentlere 3. katman olan ağ katmanında ip adresleri eklenerek segmentler paketlere dönüştürülür. 2.katman olan data link katmanında ise paketlere MAC adresleri eklenerek frameler oluşturulur. Frameler kapsülleme işleminin son aşamasıdır. 1. katmanda ise yani fiziksel katmanda, gelen frameler bitlere çevrilerek ağa gönderilir.

Şekil 1. Katmanlar ve Veri Biçimleri

Fragmantasyon (Parçalama) ve Segmentasyon

Segmentasyon Katman 4'te yani Taşıma Katmanında gerçekleşir. Bu, paketlerin orijinal oluşturulması sırasında bir veri kümesi “Maksimum Segment Boyutu (MSS)” içine sığmadığında meydana gelir. Veriler daha sonra “PDU” olarak adlandırılan birden fazla segmente ayrılır. Bu işlem segmentasyon olarak bilinir.

Parçalanma, Katman 3'te, yani Ağ Katmanında gerçekleşir. Parçalanma ağ katmanının aktarım için Veri Bağlantı Katmanına paketleri göndermesi gereken orijinal framelerin oluşturulması sırasında gerçekleşir. Gönderilecek paket MTU'dan daha büyükse parçalanma işlemi gerçekleştirilir. Bu parçalar, hedefin ağ katmanına ulaştıklarında tekrar birleştirilir. Parçalanmayı önlemek için Veri segmentindeki bayt sayısı + başlık <MTU olmalıdır.

Şekil 2. Paket Parçalama

Interface Mtu (Maximum Transmission Unit)

Maksimum İletim Birimi (MTU), belirli bir katmanın iletebileceği bayt cinsinden en büyük boyuttur. MTU, kullandığımız her protokol ve ortam için farklıdır. MTU, 3. katmanda parçalanma sürecini kontrol etmek ve başlatmak için kullanılır.

Ip Mtu (Maximum Transmission Unit)

IP MTU, bir ip paketinin parçalanması gerekip gerekmediğini belirlemek için kullanılır. Her arayüz varsayılan bir maksimum paket boyutuna veya MTU boyutuna sahiptir. Arayüz MTU'su (Ethernet MTU) ağ cihazımızdaki belirli bir donanım portunun iletebileceği maksimum MTU büyüklüğüdür.

Mss (Maximum Segment Size)

MTU fragmantasyon için kullanılır, MTU'dan daha büyük paket parçalanır. MTU arabirimi ve IP MTU'nun, fragmantasyonun en iyi şekilde çalışması için aynı değerde olması gerekir. IP MTU, MTU Arayüzünden daha büyükse, IP yükünün MTU arayüzünden daha büyük aktarımı başarısız olur. 

MSS, Maksimum TCP segmenti Boyutudur. Yani TCP pakete eklenebilecek Max Data Byte sayısıdır. Parçalanma gerekliliğini belirleyen MSS, MTU’dan hesaplanır. MTU'dan farklı olarak, MSS'den daha büyük olan paket parçalanmaz, sadece atılır.

Fragmantasyon ve Güvenlik Sorunları

Parçalama işlemi paket kayıplarına ve retransmissio işlemine neden olarak performans sorunları oluşturabilmektedir. Bir parçanın kaybını gidermek için, TCP gibi protokoller parçaları yeniden iletir. Parçalı trafik giriş tespit sistemlerinden kaçınmak amaçlı olarak kullanılabilir. Bu sistemin açıkları uzmanlar tarafından kapatılsa da çeşitli saldırılara da ortam hazırlayabilmektedir. Bu saldırıların başında DOS saldırısı yapmak için kullanılan Ping Of Death ve Tear Drop gelir. Paket parçalama saldırılarıyla güvenlik duvarları atlatılabilmektedir. Bir güvenlik duvarı paket geldiğinde paket başlık bilgisine göre geçişine izin verebilir. Eğer parçalı paketlerden olmuşmuş bir paket ise ilk paketi kontrol edip diğer paketlerin geçişine izin verebilir. Paket devamında zararlı bir içerik bulunabilir.

Diğer saldırı türüyse TCP'nin paketlere sağladığı sıra numaralarının tahmin edilebilirliğidir. Bir saldırgan paketlerin sıra numarasını tahmin edebilirse, TCP oturumunu ele geçirebilir. Bu da saldırganın makinenizle bir başkası makine arasındaki bir işlemin arasına girerse, sizin gibi davranabileceği anlamına gelir.

Diğer bir saldırı türü ise ağın MTU'sunu aşan sahte UDP veya ICMP paketleri gönderir. Paketler gerçek olmadığından yeniden birleştirilemezler, ancak ağ onları yeniden iletmeye devam edecektir. Bu durum sunucuyu boğar ve tamamen kapatılmasına sebep olabilir.

Parçalanma Nasıl Önlenir?

IP parçalanmasını önlemek için, ağ üzerinden gönderilecek IP paketlerinin boyutunu belirlenebilir. Genel olarak kullanılan iki yaklaşım vardır; bunlar MTU Yol Keşfi ve

Maksimum segment boyutunun (MSS) ayarlanmasıdır.

MTU Yol Keşfi

Don’t Fragment (DF) bit ayarı açıkken istenen hedefe bir internet kontrol mesajı protokolü (ICMP) paketi gönderilir. Parçalanma gerektiren bir ağa gönderildiğinde, Katman 3 cihazı paketi atar ve parçalanmayı önlemek için gereken MTU değerini içeren bir ICMP mesajı gönderir. Paket daha sonra bu MTU değerinde tekrar gönderilecek ve parçalanmayacaktır. ICMP güvenlik duvarları ve paket filtreleme cihazlarında engellenmişse bu yöntem işe yaramaz.

Maksimum Segment Boyutunun (MSS) Ayarlanması

Aygıtlar, TCP trafiği için MSS'yi ayarlayarak, gelen TCP senkronizasyon / başlat (SYN) paketlerini inceler ve parçalanma gerektirmeyen bir MTU değeri belirler. Gereksiz parçalanmayı önlemek için ideal MSS ayarı MTU'dan daha az olmalıdır, ancak çok küçük olmamalıdır, performans sorunlarıyla karşılaşılabilir. Veri aktarımı verimliliği için ağ performansını değerlendirmek üzere MSS değerini de kullanabilir.