ICMPv6
ICMPv6(Internet Control Message Protocol Version 6 )
Internet Control Message Protocol (ICMP) mesajları ağ iletişiminde yaşanan sorunların iletişime dahil olan ağ bileşenlerine iletilmesi amacıyla kullanılmaktadır. Bir paket hedefine ulaştırılamadığında, bir yönlendiricinin kendisine gelen bir paketi yönlendirecek kadar boş kapasitesi olmadığında ya da bir paket için belirlenen rotadan daha kısa bir rotanın varlığı keşfedildiğinde ICMP mesajları ile bu durum bildirilir. Ancak, IPv4 tabanlı iletişimde ICMP mesajlarının sınır yönlendiricilerinde engellenmesi sık rastlanan bir uygulamadır. Bunun temel nedeni ICMP’nin saldırganlar tarafından keşif aşamalarında kullanılmasıdır. RFC4443’te tanımlanmış olan ICMPv6, ICMP'nin IPv6 için olan versiyonudur. ICMPv6 mesajları hata mesajları ve bilgi mesajları olmak üzere iki kısma ayrılır. IPv6 paketinde nextheader (IPv4 paket başlığında protokole karşılık olan alan)'da ICMPv6 değeri 58’dir.
ICMPv6 paket yapısı
Tip(type) :8bit Kod(Code): 8bit Toplamsal Hata(Checksum): 16bit
Mesaj Gövdesi
Tip (type)
8 bitlik tip kısmı mesajın tipini gösterir.Eğer yüksek sıralı bit 0 ise((0-127 bitler arası)) bu bir hata mesajıdır.
Eğer 1 ise(128-255 arası bitler arası) bu bir bilgi mesajıdır.
Kod (Code)
8 bitlik kod alanı içeriği mesaj tipine bağlıdır ve ortalama mesaj boyu ekleme seviyesinin oluşturulmasını sağlar.
Toplamsal Hata (Checksum)
IPv6 mesaj kısmında ve ICMP’de hata mesajlarını bulmada kullanılır.Karar nodu IPv6 header’da kaynak ve hedef adreslerinin
checksum(toplamsal hata)'ı hesaplanmadan önce belirlenmesi için mesaj yollar.Eğer karar nodu birden fazla unicast(Bir istasyondan belirli bir istasyona gönderilen çerçeve. Bir unicast çerçevesi belirli kaynak ve hedef cihazların MAC adreslerini içerir.)
adresi içeriyorsa mesajın kaynak adresini aşağıdakiler gibi seçmelidir:
- Eğer mesaj gönderilmiş bir unicast adresinin mesajına cevap ise cevabın kaynak adresi aynı olmalıdır.
- Eğer mesaj gönderilmiş herhangi bir adresin mesajıysa(multicast grup adres,karar nodu ile gerçekleştirilen
herhangi bir cast adresi veya karar noduna ait olmayan bir unicast adres gibi...)
ICMPv6 paketinin kaynak adresi karar noduna ait olan bir unicast adres olmalıdır.
Mesaj Cheksum Hesaplaması
Checksum ICMPv6 mesaj tipi alanıyla başlayan tüm ICMPv6 mesajının toplamının 16 bitlik 1’e tümleyenedir. ICMPv6'nın IPv6 paket başlığının nextheader(IPv4 paket başlığındaki protokole karşılık gelir.) kısmındaki değeri 58'dir. Checksum heplamasının yapılabilmesi için checksum alanı 0’lanır.
ICMPv6 Mesaj tipleri
Type(TİP) | Anlamı |
---|---|
ICMPv6 Hata Mesajları | |
1 | Destination Unreachable ( Gönderen ana makineye bir paketin teslim edilemediğini bildiren hata iletisi.) |
2 | Packet Too Big ( Gönderen ana makineye, bir paketin iletilemeyecek kadar büyük olduğunu bildiren bir hata iletisi.) |
3 | Time Exceeded ( Gönderen ana makineye, bir IPv6 paketinin Atlama Sınırı'nın bittiğini bildiren hata iletisi.) |
4 | Parameter Problem ( Gönderen ana makineye, IPv6 üstbilgisini veya bir IPv6 uzantı üstbilgisini işlerken hatayla karşılaşıldığını bildiren hata iletisi.) |
100 | Private experimentation( Özel Deneyleme) |
101 | Private experimentation( Özel Deneyleme) |
127 | Reserved for expansion of ICMPv6 error messages( ICMPv6 hata mesajlarını genişletmek için ayrılmıştır.) |
ICMPv6 Bilgi Mesajları | |
128 | Echo Request ( IPv6 düğümünün ağ üzerinde kullanılabilir olup olmadığını belirlemek için kullanılan bir bilgi iletisi.) |
129 | Echo Reply ( ICMPv6 Yankı İsteği iletisine yanıt vermek için kullanılan bilgi iletisi.) |
133 | Yönlendirici Talebi (Router Solicitation (NDP)) |
134 | Yönlendirici İlanı (Router Advertisement (NDP)) |
135 | Komşu Talebi (Neighbor Solicitation (NDP)) |
136 | Komşu İlanı (Neighbor Advertisement (NDP)) |
200 | Private experimentation(Özel Deneyleme) |
201 | Private experimentation( Özel Deneyleme) |
255 | Reserved for expansion of ICMPv6 informational messages( ICMPv6 bilgi mesajlarını genişletmek için ayrılmıştır.) |
ICMPv6 Yankı İsteği iletileri göndermek ve ICMPv6 Yankı Yanıtı iletilerinin alındığını kaydetmek için ping komutunu kullanabilirsiniz. Ping ile, ağ veya ana makine iletişim başarısızlıklarını saptayabilir ve sık karşılaşılan IPv6 bağlantı sorunlarını giderebilirsiniz. Atlama Sınırı alanında artan değerlere sahip ICMPv6 Yankı İsteği iletileri göndermek için tracert komutunu kullanabilirsiniz. Tracert, IPv6 paketlerinin kaynak ve hedef arasında kat ettiği yolu izleyip görüntüleyerek yaygın IPv6 yönlendirme sorunlarını gidermenize olanak verir.
ICMP6’nın tüm IPv6 düğümlerinin iletişimleri için temel bir protokol olarak tasarlanmıştır ve RFC 2463 ile bu düğümlerin ICMPv6’yı eksiksiz desteklemesi zorunluluğu ortaya konmuştur. IPv6 iletişiminin sağlıklı yapılabilmesi için engellenmemesi gereken ICMPv6 mesajı tipleri ve isimleri Tablo'da verilmiştir.
Mesaj Tipi | Mesaj Adı |
---|---|
1 | Hedef erişilemez |
2 | Paket çok büyük |
3 | Zaman Aşımı |
4 | Parametre Problemi |
133 | Yönlendirici Talebi |
134 | Yönlendirici İlanı |
135 | Komşu Talebi |
136 | Komşu İlanı |
ICMPv6 ve Ağ Güvenliği Değerlendirmesi
- Mevcut sınır güvenlik uygulamalarından (güvenlik duvarı, saldırı tespit sistemleri vb.) bir çoğu ICMPv6 mesajlarının tipine göre filtrelenmesine imkan sağlamamaktadır. Örneğin güvenlik uygulamaları “ICMPv6 Tip 1 Hedef Erişilemez” mesajlarını geçirirken “ICMPv6 Tip 2 Paket Çok Büyük” mesajlarını filtreleyememektedir. Sunulun iki seçenek tüm ICMPv6 paketlerinin geçirilmesi ya da bu protokole ait tüm trafiğin filtrelenmesidir. Tüm ICMPv6 mesajlarının filtrelenmesi IPv6 tabanlı iletişim sağlıklı yürütülmesini engelleyeceğinden mevcut güvenlik uygulamalarında şu an için uygulanan seçenek tüm mesajlara izin verilmesidir. Bu durum saldırganların gerçek amaçlarını ICMPv6 protokolü içine gizlemelerine imkan sağlamaktadır.
- Ağda verilmeyen servislere ait ICMPv6 mesaj tiplerinin ağa girmesine izin verilmesi güvenlik açıklarına neden olacaktır. Örneğin çoklu gönderim servisi verilmeyen ağı hedef olarak içeren bir “Tip 130 Çoklu Gönderim Dinleyici Sorgusu” ya da dolaşılabilirlik desteği olmayan bir ağı hedef olarak içeren “Tip 144 Ev Sunucusu Adres Çözümleme İsteği” mesajı muhtemel bir saldırgan aktivitesine işaret etmektedir.
- IANA 155-199 arası ICMPv6 mesaj tipleri için henüz bir atama yapmamıştır. Ayrıca 200 ve 201 nolu mesaj tipleri de deneyler için ayrılmıştır. Bu tiplerdeki ICMPv6 mesajlarının filtrelenmesi gerekmektedir.
- “Tip 138 Yönlendiricileri Yeniden Numaralandırma” ve “Tip 139,140 Düğüm Bilgisi Sorgusu” mesajlarına özel ilgi gösterilmeli ve bu mesaj tipleri ile ilgili ağda özel uygulamalar yapılmıyorsa bu mesaj tipleri sınır güvenlik cihazlarında engellenmelidir.