28 Şubat tarihinde GitHub firmasına yapılan 1.35 Tbps 'lik DDoS saldırısı tarihte gerçekleşen en büyük saldırı olarak yerini aldı.
Olayın ilginç olan kısmı ise, bu boyuttaki bir trafiği yaratmak için herhangi bir botnet ağı kullanılmayarak, saldırıyı güçlü hale getirmek için yanlış yapılandırılmış Memcahce uygulanmış sunucuları kullanılarak yapılması oldu.
İnternet Nedir?
internet bilgisayar sistemlerini birbirine bağlayan elektronik iletişim ağıdır.İnternet, çok protokollü bir ağ olup birbirine bağlı bilgisayar ağlarının tümü olarak da tanımlanabilir.İnternet sadece router(yönlendirici)’ların birbirleriyle haberleşmesinden oluşmamaktadır. Aslında daha genel tanım olarak internet Otonom Sistemlerin Komşuluğu ile meydana gelmektedir. Otonom sistemler ise, BGP ler ile haberleşmektedirler. Örnek olarak, Türk Telekom’un kullandığı bir ASN(Otonom sistem numarası) ise; https://bgp.he.net/AS9121 şeklindedir. Looking Glass(hurricane electric internet service bunlardan bir tanesi) sistemleri aracılığı ile bütün AS’ler incelenebilinmektedir. ISP’ler birbirleriyle BGPler aracılığıyla konuşurken mevcut trafiklerinide IXP noktalarında takas ederek veri iletimini sağlamaktadırlar. IXP internet değişim noktası ( Internet Exchange Point) Farklı internet servis sağlayıcılarının (karşılıklı denklik anlaşmalarına göre, kendi ağları arasında internet trafiği değişimini ücretsiz olarak gerçekleştirmelerini sağlayan fiziksel bir altyapıdır. Ayrıca, IXP üzerinden keşfedilen yolların artan sayısı yönlendirme (routing) verimini arttırır, hata toleransını gelişmesini sağlar. IXP ‘ler aynı zamanda internet altyapılarıda sağlamaktadırlar.
BGP (Border Gateway Protocol - Sınır Geçit Protokolü) Nedir?
BGP İnternet servis sağlayıcıları tarafından kullanılan gelişmiş bir yönlendirme protokolüdür. BGP’de yönlendiricilere otonom sistem numarası atanır. Otonom sistem numarası 1 ile 65535 arasında değişir. 64512 ile 65535 arası özel otonom sistem numarasıdır ve herkes tarafından kullanılabilir. BGP, yönlendirme tablosunu oluşturmak için metrik hesaplarken, hedefe giderken üzerinden geçilen otonom sistem sayısını göz önüne alır. Bu durum BGP’nin Distance Vector (Uzaklık Yönelim) algoritmasını kullandığını gösterir.
Otonom Sistemler Nedir?
İnternette, otonom sistemler (AS) bir veya daha fazla şebeke operatörünün (ISP gibi) kontrolü altında birleştirilmiş bir İnternet Protokolü (IP) yönlendirme öneklerinin, tek bir idari varlık veya ortak, açıkça tanımlanmış bir yönlendirme politikası sunan bir etki alanı adına toplanmasıdır. Otonom sistemlerde amaç IP ağlarının coğrafi konumlarına göre gruplara paylaşılması/bölünmesi ve IP ağlarının yönetimini kolaylaştırılması ve sınırların çizilmesi maksadı ile kullanılır. Otonom Sistemler 2007 yılına kadar 16 bit ile ifade edilebillirken, günümüzde 32bit AS konuşabilen router(yönlendirici) lar ile 32bit ‘e kadar destek verebilmektedir. 16 Bit giğer bir ifade ile 0 ile 65535 arasında değerler alabilirler. Otonom Sistem kavramı “AS” olarak ingilizce kısaltma olarak ifade edilirler. “AS” numaraları RIPE , ARIN gibi kuruluşlardan satın alınabilirler. 64512-64534 arasında bulunan “AS” numaraları “private range” olarak rezerve edilmiştir ve “Private” IP blokları yalnızca iç networklerde belli amaçlar için kullanılabilirler. 32 bit ASN’ler ise 4,294,967,295 kadar değer alabilirler.
GitHub Nedir?
GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için internet tabanlı bir depolama servisidir. GitHub açık kaynaklı projeler için ücretsiz hizmet veren ortak çalışma platformudur. Mayıs 2011 itibarıyla GitHub açık kaynaklı projeler tarafından tercih edilen en popüler depolama servisidir.
DoS Saldırısı Nedir?
DoS (Denial-Of-Service) saldırıları bir internet/uygulama sunucusuna eş zamanlı ve mümkün olduğunca çok sayıda istek göndermesi, sunucunun kapasitesinin aşılması sonucunda da hizmet veremez hale getirilmesidir. Saldırı sonunda tükenen kapasite karşısında, firewall güvenlik duvarı gelen paketlerin hangi paketin gerçek hangi paketin sahte olduğunu anlamakta yetersiz kalırlar. Saldırganlar saldırıyı tek bir istemciden düzenlese de bu bir DoS saldırısı olarak sınıflandırılır. Genel olarak kapasiteyi tüketerek sistemi çalışamaz hale getirmek amacı ile yapılır. Tespit edilmesi ve engellenmesi DDoS saldırılarına göre daha kolaydır. Nedeni ise tek istemci üzerinden yapıldığı için belirli olan sunucu adresinden gelen paketler engellenerek saldırılar bertaraf edilebilir.
DDoS Saldırısı Nedir?
DDoS(Distributed Denial Of Service) saldırıları, birden çok sistemleri hedef alacak ve sistemin kaynakları ya da bant genişliği saldırıya uğratmak amacıyla yapılır. Hedefler genellikle bir ve/veya internet sunucusu/uygulama sunucusudur. Bu sistemler saldırganlar tarafından çeşitli yöntemler kullanılarak gerçekleştirilir. Birden çok istemci ile yapılması ve birden çok ip barındırması sebebi ile yapılan atağın güvenlik duvarı kullanılarak engellenmesini imkansızlaştırmaktadır.
Peki DDoS Saldırı çeşitleri nelerdir?
DDoS Saldırı türleri genel olarak 3 gruba ayırabiliriz;
Memcahce Nedir?
Memcahce , açık kaynak kodlu olarak yazılan, nesnelerin belleğe depolanmasına izin veren ve çok sayıda açık bağlantıyla çalışacak şekilde tasarlanmış yüksek performanslı, dağıtık mimaride çalışabilen bir önbellekleme sunucu sistemidir.Memcahce sunucuları UDP'nin 11211 bağlantı numarasından çalışmaktadır.
Memcahce uygulaması, sistem yöneticilerinin dinamik web uygulamalarının hızını arttırabilmek için, veritabanı üzerindeki yükü azaltarak web uygulamalarının performasını arttırmaya yönelik olarak tasarlanmıştır. Facebook, Flickr, Twitter, Reddit, YouTube ve Github dahil olmak üzere binlerce internet sitesi tarafından yaygın olarak kullanılmaktadır.
İnternet sunucuları/sayfalarında kullanım yerleri ise;
Reflection (Yansıtma) Saldırısı Nedir?
Hedef olan sunucu ip adresi ile internet üzerinde hizmet veren DNS servisleri açık olan sunuculara paket gönderir, bu sunucular gelen UDP paketlerininin kaynak ip adresleri doğrulanamadığı için, gerçek paket cevaplarını hedefledikleri yere yollatırlar. Saldırgan SYN paketi yollatarak(3-way handshake), alınacak SYN-ACK cevapları istek ile aynı boyutta olacaktır. SYN paketi temelli saldırı ise TCP protokolü ile gerçekleşmektedir.
Amplification (Yükseltme) Saldırısı Nedir?
Teorik olarak 1mbit bant genişliği ile yaklaşık 50gbit trafik üretilebilmektedir.(Burdaki zafiyet içerek servislere göre değişiklik göstermektedir.) Gerçekleşen dünyada üzerindeki amplification ataklarının %47 si DNS üzerinde gerçekleşmektedir. Genelde UDP portu üzerinden saldırı gerçekleştirilir.
Bu saldırı DNS kullanarak yapılırsa, DNS isteğine geri dönen paket boyutu 100 kata kadar olabilmektedir.
Saldırı Tipi NTP kullanılarak yapılır ise, 20 ila 200 kat arası geri dönen cevap paketi alınabilmektedir. NTP Yükseltme saldırısı da UDP protokolü ile gerçekleştirilir.
Yine yükseltme saldırısı memcahce ile yapılırsa, dönen cevap 50.000 kat fazla olucağından, ufak bir bant genişliği ile çok yüksek hacimli saldırı gerçekleştirilebilmektedir.
Güçlendirilen DDoS atağı çalışma mantığı ise; hedeflenen memcahe sunucusunun 11211 UDP portuna, mağdurun ip adresi ile eşleşen sahte bir ip adresi ile sahte istek yollar.
Zafiyet içeren sunucuya yollanacak bir kaç byte'lık istek ile, kurbanın IP adresine onbinlerce kez büyük paket isteği cevabı döner. UDP protokolünde 3-way-handsake(3lü el sıkışma) olmadığı için paketler güvensiz ama daha çok iletilebilmektedir.
Shodan.io nın verdiği listeye göre, Türkiye’deki yaklaşık 73 bin sunucuda recursion(özyineleme) aktif durumdadır. Bu da bu sunucularla kolaylıkla sahte ip lerde yükseltme saldırısı yapılabileceğini göstermektedir.
Bulut Bilişim firması olan Akamai Network, bu saldırının Eylül 2016 yılında yaşanan Mirai Botnet saldırısı ve halka açıklanan bütün saldırıların en az iki katı büyüklüğünde gerçekleştiği açıkladı. Akamai sayesinde, Github'ın 28 şubatta yaşadğı bu saldırıdan başarıyla kurtulduğu açıklandı.
Github firmasının , mühendislik blog'unda yaptığı açıklamada; saldırı kaynağının onbinlerce benzersiz sonlandırma noktarlarının karşısında yüzlerce farklı otonom sitemlerden (ASNs) geldiği belirtildi.
Yukarıda açıklanan memcached tabanlı saldırıda, yakalanan en yüksek paket geçişi saniyede 126.9 milyon paketle 1.35 Tbps'e ulaştı.
Her ne kadar büyütme/çoğaltma saldırıları yeni olmasa da, bu saldırı vektörü, binlerce yanlış/eksik ayarlanmış memcahce sunucularıda bir bakıma ortaya çıkarmış oldu. Bu zafiyete sahip sunucular yüzünden, internette hizmet veren bir çok sunuculara daha büyük saldırılar için kullanılabilir durumdadır.
Bu istatistikde ise, dünya üzerindeki memcahced sunucularının sayıları gözükmektedir.
http://www.digitalattackmap.com/#anim=1&color=0&country=ALL&list=0&time=17590&view=map
Norse firmasının sunduğu dijital DDoS saldırı haritasında da 28 şubat 2018 de dünya üzerindeki DDoS trafiğinin çok yoğun olduğu gözükmektedir.
Son 30 gün içerisinde Türkiye’de kaydedilen/paylaşılan DdoS saldırıları sayısı ddosmon.net sitesinin verdiği verilere göre 201 adet olarak gözükmektedir.
Daha önemlisi, GitHub 1.35 Tbps 'lik saldırıyla nasıl başa çıktı?
Prolexic Firması, GitHub saldırıya uğradıktan sonra AS 36459 Otonom Sistem Numaralı yerden gelen istekleri karşılayamadı, bu otonom numarasından 3 farklı ISP hizmet veriyordu, bunlar ise Telia, Level 3 ve NTT firmaları idi. Bu kadar ISP olmasına rağmen gelen istek 1.35 Tbps gibi devasa bir boyut ulaşınca, ISP ler tamamen çalışmaz hale geldi ve gelen istemci isteklerine yanıt veremediler. GitHub’ ın DdoS koruma cihazları ise, gelen bu isteklerden sonra, AS 36459 BGP rotalarını geri çekerek, Prolexic firması ile yeni AS 32787 Otonom Numaralı BGP ile konuşmaya başladı. Prolexic’s scrubbing centers (trafik temizleme merkezi) ile gelen trafik temizlenmeye başladı ve sadece 15 dakika içerisinde bütün dünyadaki BGP ler ile yeni otonom sistem üzerinden iletişime devam etti. Saldırı başlangıcından tam 6 saat sonra bütün zararlı trafik süzülerek sistem eski haline geldi. Bu sürenin sonunda, yeniden BGP anonsu yapılarak prolexic firmasının otonom sisteminden eski otonom sistemine geçiş yapıldı.
Alttaki grafik de de, eski ve yeni BGP rotoları ve Otonom Sistemlerin haritası gözükmektedir.
MemCahce zaafiyetli sunucular nasıl korunur?
UDP 'nin 11211 portu kısıtlanmalı ya da ihtiyaç yoksa UDP portu tamamen devre dışı bırakılmalıdır.
Ayrıca memcahce kullanan bir sunucu var ise;
"$ echo -en "\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n" | nc -q1 -u 127.0.0.1 11211"
sunucuda bu komut dizisi çalıştırılarak, herhangi bir zafiyet içerip içermediğide kontrol edilebilir.
Arbor gibi DDoS koruma cihazlarınız varsa, inline filter yazılarak da bu ataklardan korunabilir.
“drop proto 17 and src port 11211 and length > 1024”
Bu komut, 17 (UDP’nin protokol numarası) kaynak portu 11211 olan ve boyutu 1024’ten büyük ise, bu paketleri düşür şeklinde çalışıcaktır.
Güncelleme Notu: Bu haber hazırlanırken, 1 mart 2018 GitHub ikinci bir DDoS atağına maruz kaldı. Erişilebilirlik %61 'lere kadar düşse de,15 dakika içinde bütün servisler ayağa kaldırıldı. Bu ikinci GitHub saldırısından sonra, Ağ Güvenliği ve İzleme şirketi olan ARBOR Networks tarafından ATLAS Global Trafiği içeren 1.7 Tbps'lik DDoS saldırısının adı açıklanmayan Amerika Meşeili bir müşteri'nin internet sitesine yapıldığını iddia edildi.
Geçen hafta yaşanan GitHub DDoS saldırısına benzer bir şekilde, inanılmaz veriyolu büyüklüğüne sahip yanlış yapılandırılmış Memcahce sunucularıyla 51.000 kat etkisi arttırılarak gerçekleştirildi. Yaşanan bu ve benzer saldırılar bize, düzgün/iyi yapılandırılmamış en masum herhangi bir sunucunun dahi internete eriştiğinde ne kadar tehlikeli olabileceğini göz önüne sermiş oldu. Doğru yapılandırma, periyodik güncellemeler ve periyodik sızma testi yapılması daima önerilen bir yöntemdir.
Hazırlayan: BGYS Birimi
Kaynaklar:
https://krebsonsecurity.com/2018/03/powerful-new-ddos-method-adds-extortion/
https://www.secplicity.org/2018/03/02/github-ddos-handle-traffic/
https://thehackernews.com/2018/03/biggest-ddos-attack-github.html
https://www.bleepingcomputer.com/news/security/memfixed-tool-helps-mitigate-memcached-based-ddos-attacks/
https://ddosmon.net/memcached_amplification_attack
https://arstechnica.com/information-technology/2018/02/in-the-wild-ddoses-use-new-way-to-achieve-unthinkable-sizes/
https://bgp.he.net/AS9121
http://bidb.itu.edu.tr/eskiler/seyirdefteri/blog/2013/09/06/bgp-(border-gateway-protocol---s%C4%B1n%C4%B1r-ge%C3%A7it-protokol%C3%BC)
https://thehackernews.com/2018/02/memcached-amplification-ddos.html
https://blog.cloudflare.com/memcrashed-major-amplification-attacks-from-port-11211/
https://thehackernews.com/2018/03/memcached-ddos-exploit-code.html
https://thehackernews.com/2018/03/ddos-attack-memcached.html
https://wccftech.com/ddos-attacks-hit-record-1-7tbps/
https://blog.thousandeyes.com/how-github-successfully-mitigated-ddos-attack/