İkinci Katman Saldırıları – 3

Farklı VLAN’lere üye olan bilgisayarlar ağ üzerinden birbirlerine erişemezler. Bir VLAN’in ARP isteği diğer VLAN’lere normalde hiçbir şekilde ulaşamaz. Çünkü herbir VLAN farklı bir “broadcast domain”idir. VLAN’lerin birbirlerine erişebilmeleri için, VLAN arayüzleri oluşturmak, bu arayüzlere birer IP numarası vermek ve sonrasında da “Inter-VLAN routing (VLAN’ler arası yönlendirme)” yapmak gerekir. Bunun için de ya bir yönlendiriciye ya da yönledirici özelliği bulunan bir anahtarlama cihazına ihtiyaç vardır.
Fakat anahtarlar üzerinde bazı güvenlik önlemleri alınmadığı takdirde VLAN’ler arası geçiş sağlanıp, bir VLAN’e bağlı bir bilgisayar, kendi VLAN’inin haricinde farklı bir VLAN’de yer alan başka bir bilgisayara erişebilmektedir. Saldırganın, bağlı bulunduğu anahtardan farklı bir anahtar üzerinde kendi VLAN’i haricindeki, normalde erişememesi gereken bir VLAN’e erişmesine VLAN atlama atağı denmektedir. VLAN atlama atakları ikinci katmanda (Layer 2) gerçekleştirildiği için IP tabanlı (Layer 3) saldırı tespit ya da engelleme sistemleri tarafından yakalanmaları mümkün değildir.
VLAN atlama atakları iki türlü gerçekleştirilir:

Anahtar Kandırma (Switch Spoofing)

Bu atak türü, Cisco marka anahtarlara yönelik bir ataktır. Cisco anahtarlarının portları ya “access port” ya da “trunk port” olarak tanımlanabilirler. “access port”, bir adet VLAN’e atanmış port olarak bilinir. “access port”ların, bağlı bulundukları VLAN haricindeki diğer VLAN portlarına erişimi yoktur. “trunk port” ise anahtar üzerinde yer alan tüm VLAN’lere üyedir ve farklı anahtarlar üzerinde tanmlı olan farklı VLAN’lere üye portların birbirleriyle haberleşmesini sağlar. Anahtarlar arasındaki trafiğin ayırt edilebilmesi için “trunk port”, üzerinden geçen çerçevelere (frame) bir etiket ekler. Bu etiketleme mekanizması iki türlü yapılır. Bunlardan birisi IEEE 802.1q ve diğeri de sadece Cisco anahtarlarda çalışabilen ISL (InterSwitch Link) etiketlemesidir. Anahtarlar arası VLAN erişiminin sağlanması için anahtarları birbirine bağlayan “trunk port”ların aynı etiketleme türüne sahip olması gereklidir. (Karşılıklı bağlanmış olan “trunk port”ların ya IEEE 802.1q ya da ISL etiketli olması gereklidir.)
Bu ön bilgilendirmeden sonra şimdi de anahtar kandırma atağının nasıl yapıldığını inceleyelim:
Cisco anahtarların portları beş modda çalışırlar: “on”, “off”, “desirable”, auto” ve nonegotiate”. Cisco anahtarların portları ön tanımlı (default) olarak “dynamic desirable” modundadırlar. Bu da şu anlama gelmektedir: Bu portun karşısındaki port “access port” ise port kendisini otomatik olarak “access port” olarak tanımlayacaktır. Karşısındaki portun modu “on”, “auto” ya da “dynamic desirable” ise port kendisini “trunk port” olarak tanımlayacaktır. Yani bir saldırgan “dynamic desirable” modundaki bir porta kendisini “trunk port”muş gibi gösteren bir bilgisayar bağlandığı takdirde anahtarın ilgili portu “trunk port” olacaktır. Böylece saldırganın bilgisayarı tüm VLAN’lere erişebilecek duruma gelecektir. Çünkü bütün VLAN’lere gidecek olan çerçeveler (frame) saldırganın portuna da gelecektir. Saldırgan, bu sayede bütün VLAN’lere giden trafiği dinleme imkanına sahip olacaktır.

Çift Etikteleme (Double Tagging)

Bu saldırının anlaşılabilmesi için “native VLAN” ve IEEE 802.1q kavramlarının iyi bilinmesi gereklidir. Bu kavramları biraz açıklamaya çalışalım:
Normalde anahtar üzerindeki her bir port sadece bir VLAN’e üye yapılabilir. Bir porttan birden fazla VLAN’in iletilmesi için ilgili porta IEEE 802.1q tanımlamasının yapılması gereklidir. IEEE 802.1q tanımı yapılmış olan portlar birden fazla VLAN’i bağlı oldukları diğer anahtarlara aktarabilirler. IEEE 802.1q tanımı yapılmış olan port, kendisine gelen çerçevenin (frame) “MAC adresi” ve “EtherType” alanlarının arasına 32-bitlik bir başka alan ekler. Bundan da anlaşılabileceği üzere, IEEE 802.1q tanımı, aslında bir etiketlemeden (tagging) ibarettir. IEEE.802.1q portu, sadece etiketlenmiş (tagged) çerçeveleri iletir. Etiketlenmemiş (untagged) çerçeveler IEEE 802.1q portundan geçemezler. Bunun istisnası “native VLAN”e üye olan çerçevelerdir. IEEE 802.1q portuna gelen ve “native VLAN”e üye olan çerçeveler, herhangi bir etiketlenme yapılmaksızın IEEE 802.1q portu üzerinden karşıdaki anahtara iletilirler. Karşılıklı bağlanmış olan anahtarlar arasında VLAN iletişiminin yapılabilmesi için karşılıklı olarak bağlanmış bu anahtarların IEEE 802.1q portlarının “native VLAN” numaralarının aynı olması gereklidir. IEEE 802.1q portuna etiketlenmemiş çerçeve gelirse bu çerçeveler “native VLAN”e üye kabul edilirler. Özetle, IEEE 802.1q tanımı yapılmış olan portlar “native VLAN” için normal bir port gibi davranır.
“native VLAN” özelliği çift etiketlenmiş VLAN atlama saldırılarına açıktır. Şimdi çift etiketleme saldırısının nasıl yapıldığına bakalım:
Herhangi bir tanımlama yapılmadığı takdirde, bir IEEE 802.1q portunun “native VLAN” numarası “1”dir (VLAN 1). Saldırgan, oluşturmuş olduğu çift VLAN etiketli çerçevenin, dış VLAN etiket (outer VLAN tag) numarasına “native VLAN”in numarasını verir. İç VLAN etiket (inner VLAN tag) numarası olarak da hedef anahtarda yer alan hedef VLAN’in numarasını verir. Bunu bir örnekle açıklayalım:
Aşağıdaki örnekte saldırgan, kendisini “native VLAN”e üyeymiş gibi gösteren bir çerçeve oluşturur. Tabii ki bu saldırıyı yapabilmesi için saldırganın, bağlı olduğu anahtarın “native VLAN” numarasını bilmesi gereklidir. Yukarıda da belirtildiği gibi “native VLAN” için herhangi bir tanım yapılmamışsa, VLAN 1 “native VLAN”dir ki “native VLAN” numarası da anahtarlarda genellikle değiştirilmemektedir. Bu durumda saldırgan kendisinin VLAN 1’de olduğunu belirten bir çerçeve oluşturur. Bu çerçeveye 32-bitlik bir etiket ekler (IEEE 802.1q etiketi). Bu ilk etiketin içindeki VLAN değerine de (VID) “1” verir. Bundan sonra saldırgan, çerçeveye ikinci bir 32-bitlik etiket daha ekler. Bu etiketin içine de saldırıyı yapacağı VLAN’in numarasını yazar. Bu şekilde saldırgan çift etiketli bir çerçeve oluşturmuş olur. (Bu şekilde özel çerçevelerin (frame) oluşturulabildiği programlara internet üzerinden ulaşmak zor değildir.)
Aşağıdaki örnekte IEEE 802.1q portlarının “native VLAN” numarası “1” olarak kabul edilmiştir. Saldıracağımız VLAN’in numarasının da 61 olduğunu varsayıyoruz. Bu durumda, çift VLAN etiketli çerçevenin dış VLAN etiketi ”1”, iç VLAN etiketi de “61” olarak belirlenir.

Yukarıdaki şekilde de görülebileceği gibi; saldırganın hedefindeki VLAN, “61” numaralı VLAN’e bağlı olan bilgisayarlardır. Saldırgan, göndermiş olduğu çerçeveye çift etiket eklemiştir. Burada dış etiket numarası aynı zamanda “native VLAN” numarası olan “1” ve iç etiket numarası da hedef VLAN’imiz olan “61”dir. “1” numaralı anahtarın IEEE 802.1q portuna gelen çerçevedeki dış etiket “1” numaralı “native VLAN”e ait olduğundan anahtar “1” numaralı etiketi çıkarır ve çerçeveyi karşıdaki “2” numaralı anahtara gönderir. “2” numaralı anahtarın IEEE 802.1q portu da kendisine gelen bu çerçevenin “61” numaralı VLAN etiketini okuyarak çerçeveyi “61” numaralı VLAN’e ait olan portlara gönderir. Bu şekilde saldırgan “2” numaralı anahtarda yer alan “61” numaralı VLAN’e erişmiş olur. Saldırgan, “61” numarasını değiştirmek suretiyle “2” numaralı anahtarda tanımlanmış olan herhangi bir VLAN’e erişebilecektir. Saldırganın yapması gereken tek şey, iç VLAN etiket numarasının yerine erişmek istediği VLAN numarasını yazmaktır.

Önlem:

Anahtar kandırma (switch spoofing) atağını engellemek için anahtarın portlarından DTP özelliğini kaldırmak gerekir. IEEE 802.1q portuna ihtiyacımız olduğu takdirde bunun manuel olarak yapılması tavsiye edilir. Aşağıdaki komut satırı girilmek suretiyle anahtarın portlarından DTP kaldırılmış olur:

ANAHTAR(config)#interface range FastEthernet 0/1 – 24
ANAHTAR(config-if)#switchport mode access

Çift etiketleme atağından korunmak için de aşağıdaki maddeler tavsiye edilir:

  1. “native VLAN”i kullanıcılar için kullanmayın,
  2. “default VLAN” numarasına “1”den farklı bir değer verin ve bu VLAN’i kullanıcılar için kullanmayın,
  3. Kullanılmayan portları kapatın ve bu portları “default VLAN” haricinde başka bir VLAN’e dahil edin.

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

2 Yorum
  1. hakan

    verdiğiniz bilgiler konusunda çok teşekkürler…

    1. Ertan Dönmez

      Yardımcı olabildiysem ne mutlu bana. Ben teşekkür ederim

Cevap Gönder

E-posta adresiniz yorumunuzda yayınlanmayacaktır.