İkinci Katman Saldırıları – 2

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

Selçuk Şahin, TÜBİTAK-UEKAE

Cevap Gönder

E-posta adresiniz yorumunuzda yayınlanmayacaktır.