BGP Route Hijacking Saldırısı Nedir?

Bir ağda çeşit çeşit hatalar çıkabilmektedir. Bu hatalara örnek olarak loop, Broadcast paketlerin hattan geçememesi, yapılandırma hataları, vs. bunlara örnek olabilir. Bu hatalara engel olmak için birbirinden farklı amaçlar ile ağ protokolleri hazırlanmıştır. Bugün de bu hatalardan bir çözüm bulan bir protokolü öğreneceğiz. Lakin sadece protokolün ne olduğunu değil bu protokole yapılan saldırıyı da öğreneceğiz. Lafı uzatmadan bu ağ protokolümüzün ne olduğunu ve bu protokole nasıl saldırı yapılıyormuş görelim.

BGP hatalarını çevrimiçi olarak nasıl takip edebilirim?

BGP (Border Gateway Protocol) Nedir?

Border Gateway Protocol (BGP) Türkçe karşılığı ise sınır geçit protokolü anlamına gelmektedir. Bu protokol genellikle İSS (İnternet Servis Sağlayıcısı) tarafından kullanılmakta olan yönlendirme protokolüdür. Bu protokolde her bir yönlendiriciye bir numara atar. Bu numaraya otonom sistem numarası denilmektedir. Bu numaralar 1’den 65535’e kadar bulunan sayılarlar rastgele aranmaktadır. Bu numaraları herkes kullanabilmektedir ama herkesin kullanabileceği özel otonom numarası atanmak zorundadır. Bu özel otomon numaraları ise 64512 ile 65535 sayıları arasındandır.

BGP distance vector (Uzaklık Yönelim) adlı bir algoritma kullanmaktadır. Bunun sebebi ise protokolde bulunan yönlendirme tablosunu oluşturmak için kullanılmaktadır. BGP bu tablolardan 3 tane kullanmaktadır. Bu tablolar, neighbor (komşu) tablosu, BGP tablosu ve Ip yönlendirme tablosudur. Bu tabloları kısaca açıklayalım.

  • Neighbor (Komşu) Tablosu: Yönlendiricilerin komşularının bulunduğu tablo çeşididir.
  • BGP Tablosu: Yerel ağda ki cihazlardan gelen güncellemeleri tablo altına alan tablo çeşididir.
  • IP Yönlendirme Tablosu : Yönlendiricilerin gelen paketleri yönlendirmek için en kısa ve en güvenli rotaların bulunduğu tablo çeşididir.

BGP çalışma mantığını birazdan anlatacağım ama önceden biraz bilgimiz olsun diye şimdi özet geçiyorum.

BGP otonom numarası atadığına göre otonom sistemleri ile de çalıştığını bize gösterir. Otonom sistemlerin amacı ise coğrafi konumlara göre Ip adres havuzu oluşturmaktır. Şimdi asıl konumuza dönelim, uptade paketlerine, BGP otonom sistem numarası ekler. Otonom sistem numarası eklenen uptade paketleri tekrar aynı sisteme girmeyi engeller. Böylece loop adı verilen ağ’a ping atmayı engelleyen ve ms seviyesini çok yüksek seviyeye çıkaran bir sorunu engellemektedir.

BGP yönlendirme döngülerini önlemek

BGP’nin Çalışma Mantığı

BGP komşu protokolleri olabilir. BGP yönlendiricileri bu komşu protokollere her 60 saniyede bir kez olmak üzere 19 byte büyüklüğünde paket yollanır. TCP desteği olan BGP bu paketleri TCP 179. portu üzerinden iletmektedir. BGP bu paketlere birer otonom sistem numarası atar.

BGP’de bulunan otonom sistemlerinin (otonom sistemlerinin kısaltması AS’tır.) içinden geçen protokole IBGP denir. BGP’de bulunan otonom sistemlerinin (AS) arasından geçen protokole ise EBGP denilmektedir. AS’ın (otonom sistemleri) bilgi değişimi için çalışan yönlendiricilere uç yönlendiriciler adı verilmektedir.

Protokol gönderilen yani uptade paketlerine uç yönlendiricler yönlendiricilerle otonom sistem numarası verdikten sonra gerekli yerlere iletir. Bu paketler birbirine iletimi sağlarken loop engellenecektir. Çünkü bir paket sadece bir kez otonom sistemine girebilir. Bu otonom sistem numarası ile engellemektedir. Böylece loop’ta engellenir.

BGP'nin yönlendirici dizilişine örnek görsel

BGP’nin yönlendirici dizilişine örnek görsel.

BGP Hijacking Saldırısı Nedir? Nasıl Yapılır?

BGP hijacking attack veya BGP kaçırma saldırısı ağ trafiğini kendi amaçları doğrultusunda yönetmek için ağ trafiğini kötü amaçla yönlendirmek için yapılan bir ağ saldırısıdır. Saldırganlar saldırdığı ağın erişilebilirliğine ve bilgi alışverişini herkese açık yaparak ağ hakkında bilgileri yayarlar. Ayrıca BGP tablolarını bozarak içinde bulunan Ip adreslerini ele geçirilmiş olur.

Şimdi bu saldırıyı bir de biz deneyelim. Bunun için ilk olarak Dynagen/Dynamips kurmamız gereklidir. Bunun iki yolu vardır ya sanal makinaya kendi sistemini kurarsınız ya da github yardımı ile Linux’a kurarsınız.

https://sourceforge.net/projects/dyna-gen/files/

Bu adresten nasıl kurulacağı veya nasıl Linuxa indirilip kurulum yapılacağı hakkında bilgi vermektedir.

Yukarıda mininet’i kurduktan sonra BGP Hijacking saldırısı nasıl yapılacağına gelelim.

İlk olarak terminale giriyoruz. Sonra dizine geçmek için cd komutunu kullanabilirsiniz bunu yapmak zorunlu değil çünkü bazı sürümlerde otomatik olarak dizinde açılıyor termina lakin* aracın içindekileri bilgileri görüntülememiz lazım bunun için şu komutu girelim.

idlepc get R1
Donanımınızda sanal ortam için bir gecikme süresi ayarlayın

Şimdi ise* AS 1’de ki yönlendirme işlemlerini görmemiz gerekiyor. Bunun için şu komutu yazıyoruz.

show ip route

Unutmayın ki AS 1= R1’dir. Yani bir tane as numarası bir tane yönlendiriciye denk gelmektedir. Karşı taraf, (saldırı öncesi) yönlendirme tablosu şu şekilde olan bir Cisco 3750ME cihazıdır:

Yönlendirme bilgisi enjeksiyonundan önce ilk AS9121 cihazının yönlendirme tablosu

Ardından Loki, IPv4 yönlendirme bilgilerini enjekte etmek için kullanılır

İlk adım, hedef IP adresini, özerk sistem numarasını (2) ve 8 saniyelik bir bekleme süresini yapılandırmaktır. Ardından, “Bağlan” düğmesine tıklayarak oturum kurulabilir. Loki bağlantıyı kurabilirse, her bekleme süresi / 4 saniyede bir BGP bağlantı koruma paketi gönderen bir arka plan bağlantı koruma iş parçacığı başlatılır.

Sonraki adım, bağlı ana bilgisayara yayınlanacak yönlendirme bilgilerini tanımlayan BGP güncelleme mesajını yapılandırmaktır. Örnekte, 192.168.233.0/24 ağını duyurduğumu ve bu ağa ait trafiğin hedef ana bilgisayarım olan 10.0.0.2 IP adresine yönlendirilmesi gerektiğini belirten bir RFC1771 IPv4 yönlendirme BGP güncelleme paketi oluşturuyorum.

AS9121 Turk Telekomunikasyon Anonim Sirketi
bgp route hijack saldırısı işte bu şekilde gerçekleştirilir

Son olarak, bağlantı listesinden belirlenen sunucuyu seçip “Güncelle” düğmesine tıklayarak hazırladığım güncelleme paketini gönderiyorum.

Bu işlem olurken yeni bir terminal sayfası açalım ve şu komutu

Yukarıda ki veriler saldırı olmadan önceki verilerdi. Altında ki veriler ise saldırı olurken karşımıza çıkan veriler. Saldırının yaptığı işlemler* az çok belli oluyor.

show ip route

Yönlendirme bilgileri yayınlandıktan sonra, yönlendiricinin yönlendirme tablosu şu şekilde görünür:

rota, AS9121 yönlendiricilerinden birine eklenir

Bu nedenle, 192.168.233.0/24 ağına başarılı bir şekilde bir yönlendirme ekledim ve bu yönlendirme, bu durumda eşleşen tüm trafiği hedef sunucuma yönlendiriyor.

BGP Hijacking Saldırısına Alınabilecek Önlemler

Bu saldırılara maruz kalmamak için BGPSec ve RPKI (Resource Public Key Infrastructure) programlarına kullanabilirsiniz.

İnternet servis sağlayıcısı kullanabilirsiniz. Böylece internet servis sağlayıcısından Prefix-List özelliğini kullanarak internet sahibi olmayan kişilerin network anonsunu yapmayı engeller. Ayrıca AS-Path’ı yani AS numaralarını limitler.

Bu saldırılardan korunmak için en popüler önlemler bunlardır. Bunlar önemler alındığı takdirde bu saldırıya maruz kalmamız büyük ölçüde azalacaktır.

BGP protokolü her ne kadar sorunlara çözüm olsa bile saldırganlar tarafından bu protokole bu tür saldırılar yapabilmektedirler. İnternet trafiğini izleyebilir, internetinizin yavaşlamasına sebep olabilmektedir. Tabii ki her bir saldırıya karşı bir savunma da vardır. Yukarıda anlattıklarım buna birer örnek olabilir.

Gerçek hayatta, AS9121 veya AS34984 yönlendiricisiyle yeni bir BGP oturumu açmak kolay olmayacaktır. Genellikle, ekipmandaki tüm kullanılabilir portlar bloke edilmiştir. Mevcut BGP oturumları 10 hatta 100 Gbps bağlantılar üzerinden kurulur ve bağlantı durumları izlenir. Ancak yine de seçenekler mevcuttur.

Yönlendirme dayanıklılığı testi ve BGP oturumlarının pratik güvenliği hakkında benimle özel mesaj yoluyla daha detaylı görüşebilirsiniz. İletişim bilgileri bu web sitesinin ilgili bölümünde verilmiştir.

Leave a Comment