Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 12729|Yanıt: 1

[teknik analiz] Derinlemesine ve anlaşılması kolay: Ağ saldırısı ve savunma saldırısına giriş

[Bağlantıyı kopyala]
Yayınlandı 25.10.2014 21:04:02 | | |
1. DDoS saldırısı temelleri

DDoS (Dağıtık Hizmet Reddi) saldırıları, DDoS saldırılarının ana amacı, belirlenmiş bir hedefin normal hizmet sunmasını veya hatta internetten kaybolmasını engellemektir.

DDoS, başlatma şekline göre basitçe üç kategoriye ayrılabilir.

Birinci kategori zorla kazanırİnternetin her köşesinden devasa veri paketleri akıyor, IDC'ye girişi engelliyor, çeşitli güçlü donanım savunma sistemlerini ve hızlı ve verimli acil durum süreçlerini işe yaramaz hale getiriyor. Bu tür saldırıların tipik örnekleri, artık nadir olan ICMP Flood ve UDP Flood'dur.

İkinci kategori zekilikle kazanır, akıllı ve fark edilmez, her birkaç dakikada bir paket göndermek ya da sadece paket gerektirmesi, lüks yapılandırma sunucusunun artık yanıt vermemesine neden olabilir. Bu tür saldırılar esas olarak Slowloris saldırıları, hash çarpışma saldırıları gibi protokol veya yazılımdaki açıklıkların sömürülmesiyle başlatılır ve belirli çevresel tesadüfler gerektirir.

Üçüncü kategori, yukarıdaki ikisinin karışımıdırSadece protokol ve sistemin kusurlarından faydalanmakla kalmaz, aynı zamanda SYN Flood saldırısı ve DNS Sorgu Flood saldırısı gibi büyük miktarda trafiğe sahiptir; bu da mevcut ana akım saldırı yöntemidir.

Bu makale, bu en yaygın ve temsil edici saldırı yöntemlerini tek tek anlatacak ve savunma seçeneklerini tanıtacaktır.

1.1. SYN Flood

SYN Flood, internetteki en klasik DDoS saldırılarından biridir; ilk olarak 1999 civarında ortaya çıkmıştır ve Yahoo o dönemin en ünlü kurbanıydı. SYN Flood saldırıları, hedef sunucuyu tepki vermeyecek ve küçük bir maliyetle izlenmesi zor hale getirebilen TCP üçlü el sıkışma kusurlarını kullanır.

Standart TCP üç yönlü el sıkışma süreci şöyledir:

  • İstemci, SYN bayrağı içeren bir TCP paketi gönderir, SYN senkronize olur ve senkronizasyon paketi, istemcinin kullandığı portu ve TCP bağlantısının ilk seri numarasını gösterir.
  • İstemciden SYN paketi alındıktan sonra, sunucu istemcinin talebinin kabul edildiğini gösteren SYN+ACK (yani Onay onayı) paketi döndürür ve TCP ilk seri numarası otomatik olarak 1 ile eklenir.
  • İstemci ayrıca sunucuya ACK onay mesajı döndürür ve TCP seri numarası da 1 ile eklenir.

Bu üç adımdan sonra TCP bağlantısı kurulur. Güvenilir iletim sağlamak için TCP protokolü, üç el sıkışma sırasında bazı istisna işleme mekanizmaları kurmuştur. Üçüncü adımda, sunucu istemciden son ACK onay paketini alamazsa, sunucu SYN_RECV durumunda kalır, istemci IP adresini bekleme listesine ekler ve ikinci adımda SYN+ACK paketini tekrar gönderir. Yeniden paylaşımlar genellikle 3-5 kez yapılır ve bekleme listesi yaklaşık 30 saniyelik aralıklarla bir kez sorgulanır ve tüm istemciler tekrar denenir. Öte yandan, sunucu SYN+ACK paketini gönderdikten sonra, yaklaşan TCP bağlantısı için bilgileri depolamak üzere kaynakları önceden tahsis eder ve bu bilgiler yeniden deneme beklenirken korunur. Daha da önemlisi, sunucu kaynakları sınırlıysa, sürdürülebilecek SYN_RECV durum sınırı aştıktan sonra yeni SYN paketlerini kabul etmeyecek, yani yeni TCP bağlantıları reddedilecek.

SYN Flood, saldırının amacına ulaşmak için yukarıdaki TCP protokol ayarlarını kullanır. Saldırganlar, sunucuya SYN paketleri göndermek için çok sayıda IP adresini gizler ve sahte IP adreslerinin varlığı neredeyse imkansız olduğundan, neredeyse hiçbir cihaz sunucuya herhangi bir yanıt vermez. Sonuç olarak, sunucu uzun bir bekleme listesi tutuyor ve SYN+ACK paketlerini göndermeye sürekli çalışıyor, bu da çok fazla kaynak tüketiyor ve serbest bırakılamaz. Daha da önemlisi, saldırıya uğrayan sunucunun SYN_RECV kuyruğu kötü amaçlı paketlerle doluyor, yeni SYN talepleri artık kabul edilmiyor ve meşru kullanıcılar TCP bağlantılarını kurmak için üç el sıkışmayı tamamlayamaz. Başka bir deyişle, sunucu SYN Flood tarafından hizmet vermedi.

SYN Flood ile ilgileniyorsanız, 2006'da yazdığım ve daha sonra birkaç değişiklik yaptım, hataları düzelttim, agresifliği azalttığım ve sadece test amaçlı kullanıldığı http://www.icylife.net/yunshu/show.php?id=367'ye göz atabilirsiniz.

1.2. DNS Sorgu Sel

İnternet'in en temel ve temel hizmeti olan DNS, doğal olarak DDoS saldırılarının önemli hedeflerinden biridir. Bir DNS servisini kapatmak, dolaylı olarak bir şirketin tüm işini veya bir bölgedeki ağ servisini çökertebilir. Bir süre önce, popüler hacker grubu Anonymous da küresel internetteki 13 DNS sunucusuna saldıracağını duyurdu, ancak sonunda başarılı olamadı.

UDP saldırıları büyük trafik başlatmak için en kolay saldırı yöntemidir ve rastgele kaynak IP sahtekarlığını izlemek zordur. Ancak, filtreleme daha kolaydır çünkü çoğu IP UDP hizmeti sunmaz, bu yüzden UDP trafiğini tamamen atabilirsiniz. Bu nedenle, saf UDP trafik saldırıları artık nispeten nadirdir ve bunların yerini UDP protokolü tarafından taşınan DNS Sorgu Flood saldırıları alır. Basitçe söylemek gerekirse, DDoS saldırıları protokol ne kadar yüksek olursa, savunması o kadar zordur çünkü protokol ne kadar yüksekse, o kadar iş ile ilgilidir ve savunma sistemi o kadar karmaşık hale gelir.

DNS Sorgu Suçu, bir saldırganın çok sayıda sockpuppet makinesini manipüle ederek hedefe çok sayıda alan adı sorgusu isteği başlatmasıdır. ACL tabanlı filtrelemeyi önlemek için paket rastgeleliği iyileştirilmelidir. Yaygın bir uygulama, UDP katmanında kaynak IP adresini, kaynak portu ve diğer parametreleri rastgele sahte yapmaktır. DNS protokol katmanında, sorgu kimliği ve çözülecek alan adı rastgele sahte edilir. Filtrelemeyi önlemenin yanı sıra, rastgele sahte alan adlarının çözülmesi DNS önbelleğine ulaşma olasılığını da azaltabilir ve DNS sunucusunun mümkün olduğunca çok CPU kaynağı tüketebilir.

DNS Sorgu Flood koduyla ilgili olarak, Temmuz 2011'de sunucu performansını test etmek için bir kod yazdım ve bağlantı http://www.icylife.net/yunshu/show.php?id=832. Benzer şekilde, bu kod yapay olarak daha az agresiftir ve sadece test amaçları içindir.

1.3. HTTP Flood

Yukarıda açıklanan SYN Flood ve DNS Sorgu Flood'u bu aşamada etkili bir şekilde korunabilir ve büyük üreticiler ile internet şirketleri için gerçek baş ağrısı HTTP Flood saldırılarıdır. HTTP Flood, yedinci katman protokole yönelik bir web servisine yapılan bir saldırıdır. Büyük zararı esas olarak üç yönde kendini gösterir: kolay başlatma, zor filtreleme ve geniş kapsamlı etki.

Hem SYN Flood hem de DNS Sorgu Flood, saldırganların root ayrıcalıklarına sahip çok sayıda botu kontrol etmesini gerektirir. Çok sayıda kök ayrıcalığı toplamak zaman ve çaba gerektirir ve saldırı sırasında, yönetici tarafından keşfedilen anormal trafik nedeniyle saldırganın hızlı kaynak kaybı nedeniyle kukla makinesi yavaş yenilenir; bu da saldırı yoğunluğunda önemli bir azalmaya yol açar ve uzun süre sürdürülemez. HTTP Flood saldırıları farklıdır; saldırganlar çok sayıda botu kontrol etmek zorunda değildir; bunun yerine port tarayıcıları kullanarak internette anonim HTTP proxy'leri veya SOCKS proxy'leri bulurlar; bu proxy'ler aracılığıyla saldırgan saldırı hedefine HTTP istekleri başlatır. Anonim proxy'ler nispeten zengin bir kaynaktır ve birkaç gün içinde proxy elde etmek zor değildir, bu yüzden saldırıları başlatmak kolaydır ve uzun süre sürebilir.

Öte yandan, HTTP sel saldırıları HTTP katmanında başlatılır; bu, web sitesi işiyle yakından ilişkili olan normal kullanıcıların web sayfası isteği davranışını güçlü bir şekilde taklit eder ve güvenlik sağlayıcılarının kullanıcı deneyimini etkilemeyen ortak bir çözüm sunmasını zorlaştırır. Bir yerde iyi çalışan kurallar, senaryoları değiştirmek çok sayıda adam öldürmeye yol açabilir.

Son olarak, HTTP sel saldırıları ciddi zincirleme reaksiyonlara yol açabilir; sadece doğrudan saldırıya uğrayan web ön kısmından yavaş yanıt vermekle kalmaz, aynı zamanda dolaylı olarak arka uç Java ve diğer iş katmanı mantığı ile arka uç veritabanı servislerine saldırır, baskılarını artırır ve hatta log depolama sunucularını etkiler.

İlginç bir şekilde, HTTP Flood'un tarihsel olarak CC saldırısı adlanan bir lakabı da var. CC, Çin'de tanınmış bir güvenlik şirketinden alınan DDoS koruma cihazı olan Challenge Collapsar'ın kısaltmasıdır. Mevcut duruma bakılırsa, sadece Collapsar değil, tüm donanım savunma ekipmanları hâlâ sorgulanmakta ve risk kaldırılmadı.

1.4. Yavaş bağlantı saldırıları

Saldırılar söz konusu olduğunda, ilk tepki büyük trafik ve büyük paketlerdir. Ama tam tersini yapan bir saldırı var; yavaş olduğu bilinen, bazı saldırı hedefleri nasıl öldüklerini bilmeden öldürülüyor, bu da yavaş bağlantı saldırısıdır, en temsilcisi rsnake tarafından icat edilen Slowloris'tir.

HTTP protokolü, HTTP isteklerinin \r\n\r\n ile sona erdiğini belirtir; bu da istemcinin göndermeyi bitirdiğini ve sunucunun işlemeye başladığını gösterir. Peki \r\n\r\n hiç göndermezseniz ne olur? Slowloris bunu DDoS saldırılarında avantajına kullanır. Saldırgan, HTTP isteği başlığında Bağlantıyı Keep-Alive olarak ayarlar, web sunucusundan TCP bağlantısının kesilmemesini ister, ardından her birkaç dakikada bir sunucuya a:b\r\n gibi bir anahtar-değer formatı gönderir; bu da sunucunun HTTP başlığının alınmadığını düşünmesine ve beklemesine neden olur. Bir saldırgan aynı şeyi yapmak için çoklu iş ipliği veya kukla kullanırsa, sunucunun web konteyneri hızla saldırganın baskısını kaybeder ve yeni talepleri kabul etmez.

Kısa süre sonra Slowloris'in çeşitli varyantları ortaya çıkmaya başladı. Örneğin, POST yöntemi veriyi Web Sunucusu'na gönderir, büyük bir İçerik Uzunluğu doldurur ama bayt bayt yavaş POST gerçek veri içeriğini vs. Slowloris saldırısıyla ilgili olarak, rsnake ayrıca bir test kodu da verir, bkz. http://ha.ckers.org/slowloris/slowloris.pl.

2. DDoS saldırısı gelişmiş2.1. Hibrit saldırılar

Yukarıdakiler, ağa saldırmak ve hatta Alibaba, Baidu ve Tencent gibi dev web sitelerini yenmek için kullanılabilen birkaç temel saldırı yöntemini tanıtıyor. Ama hepsi bu değil, farklı seviyelerde saldırganlar tamamen farklı DDoS saldırıları başlatabilir ve bunların kullanımı aynıdır.

Gelişmiş saldırganlar saldırı için tek bir vektör kullanmaz, hedef ortama göre bunları esnek bir şekilde birleştirir. Sıradan SYN Flood, trafik temizleme cihazları tarafından ters algılama, SYN çerezleri ve diğer teknik yöntemlerle kolayca filtrelenebilir, ancak SYN+ACK paketleri SYN Flood'da karıştırılırsa, her sahte SYN paketinin karşılık gelen bir sahte istemci onay paketi olur; burada karşılık gelen kaynak IP adresi, kaynak port, hedef IP, hedef port, TCP pencere boyutu, TTL vb. aynı ana bilgisayarın ve aynı TCP Akışının özellikleriyle uyumludur. Akış temizleme ekipmanlarının ters algılama ve SYN kurabiyeleri üzerindeki baskı önemli ölçüde artacaktır. Aslında, SYN veri paketleri ve çeşitli diğer bayrak bitleri burada tanıtılmamış özel saldırı etkilerine sahiptir. DNS Sorgu Sel için de benzersiz teknikler vardır.

Öncelikle, DNS sıradan DNS ve yetkili alan alan DNS'i olarak ikiye ayrılabilir; sıradan DNS'e saldırır, IP adresi rastgele sahte yapılmalı ve sunucu özyinelemeli çözüm gerektirir; Ancak, yetkili alan DNS'ine saldırırken, sahte kaynak IP adresi tamamen rastgele olmamalı, dünya genelindeki ISS'lerin DNS adreslerinin önceden toplanması olmalıdır; böylece maksimum saldırı etkisi sağlanabilir ve trafik temizleme cihazı IP kara listesini ekleme veya eklememe gibi utanç verici bir durumda olur. Eklemek çok sayıda adam öldürmeye yol açar ve kara liste eklemezseniz, her paketin tersine incelenmesi gerekir, bu da performans baskısını artırır.

Öte yandan, daha önce belirtildiği gibi, cihazı temizleme baskısını artırmak için, önbelleğe ulaşmadan istenen alan adını rastgele yapmak gerekir, ancak çözülecek alan adının sahtekarlıkta belirli bir düzenliliğe sahip olması gerekir; örneğin, alan adının sadece belirli bir kısmını sahte etmek ve temizleyicinin beyaz listesini aşmak için bir kısmı katı hale getirmek gibi. Sebep basittir, Tencent'in sunucuları sadece Tencent'in alan adlarını çözebiliyor ve tamamen rastgele alan adları doğrudan atılabilir ve katedilmelidir. Ama tamamen düzeltilirse, doğrudan kolayca atılabilir, bu yüzden sahte olması gerekir.

İkinci olarak, DNS saldırıları yalnızca DNS protokolüne göre standart hizmet olan UDP portlarına odaklanmamalıdır. Bir saldırı durumunda, hem UDP hem de TCP saldırıları aynı anda gerçekleştirilebilir.

HTTP Flood'un odağı, ön önbelleği aşmak ve HTTP başlığındaki alan ayarları üzerinden doğrudan Web Sunucusuna ulaşmaktır. Ayrıca, HTTP Flood hedef seçimi için de çok kritiktir ve sıradan saldırganlar, saldırı hedefi olarak arama gibi çok sayıda veri sorgusu gerektiren sayfaları seçerler; bu çok doğrudur ve sunucudan mümkün olduğunca çok kaynak tüketebilir. Ancak bu saldırı, insan-makine tanımlama yoluyla temizlik ekipmanlarıyla kolayca tespit edilebilir, peki bu sorunu nasıl çözebiliriz? Çok basit, normal kullanıcıların APP üzerinden eriştiği, genel olarak çeşitli Web API'leri üzerinden eriştiğini seçmeye çalışın. Normal kullanıcılar ve kötü niyetli trafik APP'den gelir ve insan ile makine arasındaki fark çok küçüktür ve temel entegrasyonu ayırt etmek zordur.

Her TCP bağlantısı sunucu tarafında ve kendi üzerinde bulunur ve TCP durumunu korumak için kaynak tüketmesi gerekir, bu yüzden bağlantı çok fazla sürdürülemez. Bu çözülebilirse, agresiflik büyük ölçüde artacaktır; yani Slowloris durumsuz bir şekilde saldırılar başlatabilir, TCP seri numarasını ele geçirebilir ve istemci üzerindeki TCP bağlantılarının korunmasını koklayarak doğrulayabilir; sistem çekirdeği TCP'nin çeşitli durum değişikliklerine dikkat etmesine gerek kalmaz ve bir dizüstü bilgisayar 65.535 TCP bağlantısı üretebilir.

Önceki açıklamaların hepsi teknik saldırı geliştirmeleridir. İnsan tarafında başka yollar da var. Eğer SYN Flood çok sayıda paket gönderiyorsa ve Slowloris'in yavaş bağlantılarıyla birlikte gelirse, kaç kişi sırrı keşfedecek? Sunucu kapansa bile, sadece SYN saldırıları bulunabilir; TCP katman temizliğini güçlendirmeye çalışır ve uygulama katmanının davranışını görmezden gelir. Her türlü saldırı birlikte çalışarak maksimum etki elde edebilir. Saldırı zamanı seçimi de önemli bir noktadır; örneğin, bakım personeli öğle yemeği yerken seçilir, bakım personeli işten çıktıktan sonra yolda sıkışıp kaldığında veya metroda kablosuz ağ kartında sinyal olmadığında ve hedef kuruluş büyük ölçekli bir etkinlik düzenlerken trafik dalgalandığında seçilir.

Bu tamamen bir saldırıdır, bu yüzden herhangi bir kod veya derinlemesine açıklama verilmez.

2.2. P2P ağlarından Saldırılar

Önceki saldırı yöntemleri ise büyük ölçüde bazı botlar gerektiriyor, hatta HTTP Flood bile çok sayıda anonim proxy aramayı gerektiriyor. Bir saldırı olursa, sadece bazı talimatlar vermeniz yeterlidir ve makine otomatik olarak onu çalıştırır, bu da mükemmel çözümdür. Bu saldırı zaten ortaya çıktı ve bu P2P ağlardan.

Hepimizin bildiği gibi, P2P kullanıcıları ve internetteki trafik son derece büyük bir sayı. Hepsi belirli bir yere gidip veri indirip binlerce gerçek IP adresini bağlarsa, hiçbir cihaz bunu destekleyemez. BT indirmesini örnek alalım, bazı popüler videoların torrentlerini sahte yapıp arama motorlarına yüklemek birçok kullanıcıyı ve trafiği kandırmak için yeterli, ancak bu sadece temel bir saldırıdır.

Gelişmiş P2P saldırıları, kaynak yönetim sunucularının doğrudan sahteliğidir. Örneğin, Thunder istemcisi bulduğu kaynakları kaynak yönetim sunucusuna yükler ve ardından aynı kaynakları indirmesi gereken diğer kullanıcılara gönderir, böylece bir bağlantı yayınlanır. Protokol tersine çevirme yoluyla saldırganlar, popüler kaynak bilgisini sahte edip kaynak yönetim merkezi aracılığıyla dağıtır; bu bilgiler anında tüm P2P ağına yayılabilir. Daha da korkutucu olan, bu saldırının kendisi tarafından bile durdurulamaması; saldırı, P2P yetkilisi sorunu bulup sunucuyu güncelleyene ve indirme kullanıcısının indirilmiş yazılımı yeniden başlatana kadar devam etmesi.

3. Özet

DDoS saldırılarına giriş kısmı bu kadar, daha ileri gitmek istemiyorum—bu kadar savunmanın yeterli olduğunu anlamak için yeterli.

Genel olarak, DDoS saldırıları çevik ve zarif olabilir. Uygulamanın güzelliği zihnin birliğinde yatıyor.





Önceki:Ücretsiz internet erişimi, QQWifi ile CMCC'ye ücretsiz erişim vb
Önümüzdeki:Kilo verin ve en büyük numarayı arayın
Yayınlandı 25.10.2014 21:46:21 |
Özetlemişsiniz
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com