MAC taşması atağının ne olduğunu anlayabilmek için öncelikle anahtarlamanın (switching) nasıl çalıştığını iyi bilmek gerekir.Her bir anahtarın üzerinde, anahtara bağlı ağ cihazlarının MAC adresleriyle anahtarın portlarının eşleştirildiği bir tablo bulunur. Anahtar, portları arasındaki veri iletişimini bu tablodaki bilgilere bakarak yapar. Bu tabloya MAC adres tablosu denebildiği gibi CAM (Content Address Memory) tablosu da denilmektedir.
MAC Taşması (MAC Flooding) Atağı
Aşağıdaki tabloda da görülebildiği gibi her bir MAC adresi bir portla eşleştirilmiştir. (Bir IEEE 802.1q ya da ISL portu üzerinde birden fazla MAC adresi görülebilir.) Bu tabloda port numaraları ve MAC adreslerinin yanı sıra; ilgili portun, MAC adresini hangi VLAN üzerinden, hangi yöntemle öğrendiği (static/dynamic) ve portta hangi protokolün kullanıldığı bilgisi de yer almaktadır.
vlan mac address type protocols port
------- --------------- --------
--------------------- --------------------
20 000a.2281.61e4
dynamic
ip GigabitEthernet1/1
20 000a.2201.9079
dynamic
ip GigabitEthernet1/1
20 000a.22c0.ddf9
dynamic
ip GigabitEthernet1/1
61 001b.2461.09f6
dynamic
ip GigabitEthernet1/2
61 0040.ca79.8821
dynamic
ip GigabitEthernet1/15
61 00d0.b7bc.3d2c
dynamic
ip GigabitEthernet3/34
61
0800.8e05.1bbc dynamic
ip GigabitEthernet3/33
61 0800.8e05.39b7 dynamic
ip GigabitEthernet3/35
Şimdi gelelim anahtarlamanın (switching) nasıl yapıldığına:
Anahtar, portlarına gelen bir çerçevenin (frame) önce hedef MAC adres kısmına bakar. Daha sonra çerçevenin (frame) içinde yer alan bu hedef MAC adresinin kendi MAC adres tablosunda olup, olmadığına bakar.Anahtar, çerçevenin içinde yer alan hedef MAC adresini MAC adres tablosunda bulursa çerçeveyi (frame) ilgili porta gönderir. Yapılan bu işleme anahtarlama (switching) denir.
Örneğimizi yukarıdaki tabloyla sağlamlaştıralım: GigabitEthernet3/35 portuna takılı bir bilgisayar, GigabitEthernet1/2 portuna bir çerçeve (frame) göndermek istesin. Bu durumda GigabitEthernet3/35 numaralı porttan çıkan çerçevenin hedef MAC adres kısmında GigabitEthernet1/2 numaralı porta takılı olan bilgisayarın MAC adresi yer alacaktır. (Bu işlemden önce anahtar üzerinden ARP isteği gönderilecek ve cevabı alınacaktır. İşlemin bu kısmını burada anlatmıyoruz.) Çerçeveyi alan anahtar, hemen MAC adres tablosuna bakacak, çerçevede yer alan hedef MAC adresi bilgisini kendi MAC adres tablosundaki listeyle karşılaştıracak ve çerçeveyi GigabitEthernet1/2 portuna gönderecektir.
Anahtarların MAC adres tabloları -marka ve modele göre farklılık arzetse de- yine de oldukça fazla adres içerebilmektedir. Ama yine de anahtarların da MAC adres tablolarının bir sınırı vardır. Peki anahtarın MAC adres tablosunun tamamen dou olması durumunda ne olacaktır? Anahtar bu durumda nasıl davranacaktır?
Gelen çerçevenin (frame) hedef MAC adresi, anahtarın MAC adres tablosunda bulunduğu takdirde anahtar bu çerçeveyi (frame) ilgili porta gönderecektir. Fakat anahtara gelen çerçevenin (frame) hedef MAC adresi, anahtarın MAC adres tablosunda bulunmadığı durumlarda, anahtar bir “hub” gibi davranacak ve aldığı çerçeveyi (frame) tüm portlarına yollayacaktır. Yani aslında sadece bir porta göndermek istediğimiz çerçeveler portların hepsine gönderilecektir. Çünkü anahtarın MAC adres tablosu doludur ve anahtar ağ bağlantısını kesmemek için böyle davranacaktır.
Anahtarın MAC adres tablosunu sahte MAC adresleriyle doldurabilecek yazılımlar mevcuttur. Anahtara bu yazılımlar ile saldırılıp, MAC adres tablosu sahte adreslerle doldurulabilir. Bu saldırıdan sonra anahtarın MAC adres tablosu aşağıdakine benzer bir durumda olacaktır. (Saldırganın portunun GigabitEthernet3/33 olduğunu düşünüyoruz.)
vlan mac address type protocols port
------- --------------- -------- --------------------- --------------------
20 000a.2281.61e4 dynamic ip GigabitEthernet1/1
20 000a.2201.9079 dynamic ip GigabitEthernet1/1
20 000a.22c0.ddf9 dynamic ip GigabitEthernet1/1
61 001b.2461.09f6 dynamic ip GigabitEthernet1/2
61 0040.ca79.8821 dynamic ip GigabitEthernet1/15
61 00d0.b7bc.3d2c dynamic ip GigabitEthernet3/34
61 0800.8e05.1bbc dynamic ip GigabitEthernet3/33
61 0800.8e05.1aaa dynamic ip GigabitEthernet3/33
61 0800.8e05.1aab dynamic ip GigabitEthernet3/33
61 0800.8e05.1aac dynamic ip GigabitEthernet3/33
61 0800.8e05.1aad dynamic ip GigabitEthernet3/33
61 0800.8e05.1aae dynamic ip GigabitEthernet3/33
61 0800.8e05.1aaf dynamic ip GigabitEthernet3/33
61 0800.8e05.1ab0 dynamic ip GigabitEthernet3/33
..................................................................................................
..................................................................................................
61 0800.8e05.39b7 dynamic ip GigabitEthernet3/35
Bazı saldırı araçlarıyla anahtarın herhangi bir portuna bağlı olan bir bilgisayardan anahtara binlerce sahte MAC adresi yollanabilir. Yukarıdaki örnekte GigabitEthernet3/33 portundan anahtara birçok sahte MAC adresi yollanmıştır. Bu saldırı, anahtarın MAC adres tablosu dolana kadar devam etmiştir. Anahtarın MAC adres tablosu tamamen dolduktan sonra da artık anahtar bir “hub” gibi davranacak ve bir portuna gelen çerçeveleri (frame) diğer tüm portlarına gönderecktir. Yani bundan sonra elimizde bir anahtar değil de adeta bir “hub” vardır. Bu şekilde de anahtarın portuna bağlı olan herhangi bir bilgisayar diğer portların trafiğini dinleyebilecektir. Çünkü bilindiği gibi “hub”lar portlarına gelen bilgileri diğer portlarına aynen iletirler. Bu şekilde anahtarın konfigürasyonuna herhangi bir müdahalede bulunmadan anahtara bağlı tüm portların trafiği dinlenebilir.
ÇÖZÜM:
Bu saldırıdan korunmanın yolu çok basittir: MAC adresi kilitlemesi. Ama tabii ki bunun için elimizdeki anahtarın MAC adres kilitlemesi özeliğinin olması gerekmektedir. Anahtarlarımızın portlarına MAC adresi kilitlemesi uygularsak bu olası saldırıdan kurtulmuş oluruz. Aşağıda Cisco ve HP anahtarlar için MAC adresi kilitlemesi örnek konfigürasyon satırları bulunmaktadır:
(Aşağıdaki konfigürasyonlar sizin sistemlerinize uygun olmayabilir.)
- CISCO konfigürasyonu
- Anahtar(config)#interface range GigabitEthernet 3/2 – 48
- Anahtar(config-range)# switchport mode access
- Anahtar(config-range)# switchport port-security
- Anahtar(config-range)# switchport port-security maximum 3
- Anahtar(config-range)# switchport port-security violation restrict
- Anahtar(config-range)#switchport port-security mac-address sticky
HP ProCurve konfigürasyonu
Anahtar(config)#port-security ethernet 1-10 address-limit 3 learn-mode static action send-disable
Favori olarak ekle (1) | Görüntüleme sayısı: 2728
Sadece kayıtlı kullanıcılar yorum yazabilir. Lütfen sisteme giriş yapın veya kayıt olun. |