Memcached süper büyük DRDoS saldırısının derinlemesine analizi

Lei Feng'den editör notu: Son zamanlarda yurtiçi ve yurtdışındaki birçok güvenlik şirketi ve kurumu, tüm tarafların dikkatini çeken Memcached süper DRDoS (Distributed Reflection Denial of Service) saldırılarına karşı arka arkaya uyarılar yayınladı. Leifeng.com, daha önce GitHub'a yaptığı saldırıları da rapor etmişti. O sırada saldırının maksimum trafiği şaşırtıcı bir şekilde 1,35T'ye ulaştı.

27 Şubat'tan önce Memcached yansıtma saldırılarının trafik aralığı yalnızca birkaç yüz megabayt ile 500G arasındaydı. Sadece birkaç gün içinde, yoğun saldırıların tarihsel kaydı hızla ikiye katlandı ve yenilendi ve saldırıların sıklığı günde bir düzineden yüzlerce kez arttı.

Memcached'in mevcut dağılımı nedir? Bilgisayar korsanı saldırıyı nasıl başlattı? Nasıl kontrol edilir ve önlenir?

1. Etkinlik incelemesi

İzleme verilerine göre, pazartesiden cumaya (26 Şubat - 2 Mart saat 06:00), dünya genelinde sadece 5 günde 79 yansıma yükseltme saldırısı gerçekleşti. Toplam günlük saldırı trafiği 419 TB bayta kadardır.

Memcached yansıma büyütme saldırısı günlük saldırı süreleri

Memcached yansıması, saldırı gününde toplam saldırı trafiğini artırır

Bunların arasında Çin'de Memcached'e yönelik 68 yansıtma ve güçlendirme saldırısı vardı. Jiangsu ve Zhejiang eyaletleri sık sık saldırıya uğrar. Ülkemiz içindeki saldırılar için tek bir saldırının en yüksek zirvesi 505 Gbps'ye ulaştı. En uzun saldırı süresi 1 Mart'ta 1,2 saat sürdü ve toplam saldırı trafiği 103,8 TByte'a ulaştı.

Çin'in çeşitli il ve bölgelerindeki Memcached yansıma büyütme saldırılarının sayısı

Etki kapsamı açısından bakıldığında, tüm İnternet hizmetleri Memcached DRDoS saldırılarının hedefi olabilir. Bir yandan bant genişliği veya iş, büyük miktarda trafik tarafından saldırıya uğrar, bu da ihracat bant genişliğinin tamamen işgal edilmesine ve normal işletmeye erişilememesine neden olurken, diğer yandan işletmenin dahili Memcached sistemi suçlular tarafından saldırgan olmak için kullanılabilir.

2. Saldırı analizi

2.1 Memcached nedir?

Memcached, yüksek performanslı bir açık kaynak dağıtılmış bellek nesnesi önbelleğe alma sistemidir. Esas olarak web uygulamalarının ölçeklenebilirliğini artırmak için kullanılır ve büyük veri önbelleğe alma ile ilgili birçok sorunu etkin bir şekilde çözebilir. Dünya çapında yaygın olarak kullanılmaktadır. Memcached, bellek anahtar / değer çiftine göre küçük veri parçalarını depolar ve bu verileri veritabanı çağrılarını, API çağrılarını veya sayfa oluşturmayı tamamlamak için kullanır. Saldırgan, Memcached'in büyük trafiğine sahip bir yansıma saldırısı oluşturmak için anahtar-değer işlevini kullandı.

2.2 Memcached'in Dağıtımı

En son istatistikler, bu Memcached yansıma büyütme saldırılarına katılmak için dünya çapında toplam 3790 Memcached sunucusunun kullanıldığını göstermektedir. Yansıyan bu kaynaklar, dünya genelinde 96 ülke veya bölgede kullanılmaktadır. Bunların arasında Amerika Birleşik Devletleri dünyanın dörtte birini oluşturuyor.

Çin'de dağıtılan kullanılmış Memcached sunucuları% 12,7 ile ikinci sırada yer aldı. Guangdong, Pekin ve Zhejiang İLK 3 olmak üzere Çin'deki illerin oranı aşağıda gösterilmektedir.

NSFOCUS Network Threat Intelligence (NTI) istatistiklerine göre, 104.506 Memcached sunucuları küresel olarak sömürülme riski altında. Dağıtım aşağıdaki gibidir:

Coğrafi dağıtım açısından, Amerika Birleşik Devletleri en fazla kullanılabilir Memcached sunucularına sahiptir ve onu Çin izlemektedir.

Bu aktif Memcached reflektörleri, bir süper DRDoS saldırısı oluşturmak için güçlü bir ön koşul sağlar. Yönetim zamanında onarılmazsa, Memcached yansıtma saldırılarına dayalı saldırıların artmaya devam etmesi ve sonuçlarının düşünülemez olması beklenir.

2.3 Memcached nasıl bir DRDoS saldırısı oluşturur?

Memcached yansıtma saldırısının yapım süreci aşağıdaki üç aşamaya ayrılmıştır:

1. Reflektör IP'sini toplayın

NTI / Shodan gibi istihbarat motorları aracılığıyla açık Memcached sistemini bulun ve sistem IP'sini alın;

2. Reflektörü yapılandırın

Açık Memcached sistemini bir yansıtıcı olarak kullanın ve bir yansıma büyütme saldırısı oluşturmaya hazırlanırken daha büyük bir depolama kapasitesi elde etmek için anahtar-değer yapılandırmasını değiştirin;

3. Bir yansıma saldırısı başlatın

Saldırgan, saldırının hedef adresi olarak kendi IP'sini taklit eder ve Memcached reflektörüne, Memcached tarafından anahtar / değer çiftinde depolanan bilgileri okumak için bir istek gönderir. Memcached, isteği aldıktan sonra sahte kaynak IP'ye yanıt verir ve böylece bir yansıma oluşturur.

Memcached yansıma saldırı diyagramı

Çok sayıda Memcached aynı anda kullanıldığında ve aynı sahte kaynak IP ile yanıtlandığında, bu sahte kaynağa (kurban) karşı büyük bir trafik DRDoS saldırısı oluşturmak kolaydır.

2.4 Memcached'in saldırı özellikleri

DRDoS (Dağıtılmış Yansıtıcı Hizmet Reddi) bir tür DDoS saldırı sınıflandırmasıdır.

Daha önce, çeşitli güvenlik satıcıları tarafından tespit edilen DRDoS saldırıları temel olarak SSDP yansıması, DNS yansıması ve NTP yansımasıydı. Aşağıdaki tablo (US-Cert'ten alıntılanmıştır) çeşitli yansıma saldırılarının büyütmesini detaylandırmaktadır.

Yalnızca büyütme açısından, Memcached yansıtma saldırıları diğer yansıma saldırılarına göre çok daha zararlıdır.US-Cert tarafından sağlanan veriler, büyütme etkisinin 51.000 katına ulaşabileceğini göstermektedir.

Diğer yansıma saldırılarıyla karşılaştırıldığında, Memcached nasıl bu kadar kat büyütme etkisine ulaşır? Bunun önemli nedeni, Memcached'in anahtar-değer işlevidir. Yukarıda belirtildiği gibi, anahtar / değer çiftinin işlevi, depolama kapasitesinin boyutunu belirlemektir Normal şartlar altında, anahtar / değer çiftinin değeri genellikle birkaç kilobaytı aşmaz. Memcached bir saldırgan tarafından yansıtıcı olarak kullanıldığında, anahtar / değer çiftinin değeri 1 milyon baytı aşacak şekilde değiştirilebilir.

Saldırı süreci:

İlk adım, büyütmeyi artırmak için Memcached üzerindeki anahtar-değer parametrelerini komutlar aracılığıyla değiştirmektir.

gönder = "set t 09001048501" + "\ r \ n" + "a" * 1048501 + "\ r \ n"

socket.sendall (gönder)

Doğrulamanın ardından, anahtar / değer çiftinin maksimum değeri 1048501'dir.

İkinci adım, Memcached'in depolama bilgilerini get komutu aracılığıyla okumak ve hedef IP'ye yansıtmaktır.

get = "\ x00 \ x00 \ x00 \ x00 \ x00 \ x01 \ x00 \ x00get t \ r \ n"

socket.sendto (get, (ana bilgisayar, 11211))

Oluşan saldırı mesajı şu şekildedir:

Memcached yansıma saldırısını tetiklemek için minimum istek mesajı, 8 bayt (RFC belirtilen alanlar) + 3 bayt (alma) + 1 (boşluk) + minimum 1 bayt (anahtar adı) + 2 kelime dahil olmak üzere 15 bayttır Bölüm (\ r \ n) ve döndürülen istek verileri 1.05 milyon bayta ulaşır ve bu teorik olarak yaklaşık 70.000 katına çıkarılabilir. Böylesine güçlü bir güçlendirme saldırısı, diğer DRDoS saldırı türlerinin tersidir.

3. Memcached saldırı korumasını güçlendirmek için öneriler

3.1 Memcached sistemi kendi kendine denetim önerileri

Saldırının oluşum süreci bize iyi bir erken uyarı fikri sağlar.Güvenlik ürünleri, Memcached'in anahtar / değer yapılandırmasını algılayabilir ve saldırının kaynağı olarak kullanılmadan önce Memcached sistemini durdurabilir. Denetim süreci aşağıdaki gibidir:

(1) Hedef bağlantı noktası 11211 olan TCP veya UDP paketlerini tespit edin (bunun bir Memcached sunucusu olduğundan emin olun);

(2) Mesajın bir set komutu olup olmadığını kontrol edin (set komutunun formatı için eke bakın), eğer öyleyse, çalıştırın (3), aksi takdirde algılamayı sonlandırın;

(3) Ayar komutundan sonra bayt alan değerinin (aşağıdaki şekilde işaretlenmiş 1048501) ayarlanan eşiği aşıp aşmadığını kontrol edin Eğer öyleyse, mesajın anormal olduğundan şüphelenebilirsiniz;

(4) Bu tür anormal kontrol mesajını tespit ettikten sonra, aşağıdaki gibi iki işleme yöntemi vardır:

a. Uyarı ve izleme. Kazara öldürmeyi önlemek için, sunucunun bir yansıtıcı olarak kullanılıp kullanılmadığını daha fazla belirlemek için Memcached sunucusunun arkasındaki trafik değişikliklerini izlemeniz önerilir.

b. Doğrudan atın. Kaydın kötü amaçla eklendiğine dair yeterli kanıt varsa, kaydın doğrudan iptal edilmesi, sunucunun bir yansıtıcı olarak kullanılmamasını sağlayabilir.

Kendi kendini denetleme örneği: Aşağıdaki resmin, genel ağdaki bir Memcached sunucusundan elde edilen veriler olduğunu varsayalım.

Normalde, çoğu değerin boyutu 64K'dan azdır ve sonuncusu yaklaşık 1M'ye ulaşır, bu da diğer kayıtlardan açıkça farklıdır.Kayıtla ilgili bir sorun olduğu ve sunucunun kullanılmış olabileceği yargısına varılabilir.

3.2 Memcached saldırı trafiği temizleme

Böylesine büyük ölçekli ve geniş kapsamlı bir DDoS saldırı tehdidiyle karşı karşıya kalan tüm ağ güvenlik düğümleri, saldırı koruması ve giden temizlemeden başlayarak savunmalarını güçlendirmeli ve altyapı ve iş trafiğinin güvenliğini tam olarak garanti etmelidir. Bu saldırı için aşağıdaki koruma önerilerini sunuyoruz:

· Şebeke.

Operatörler ve IDC, ağın yukarı akışındadır ve güçlü bant genişliği kaynaklarına sahiptirler, saldırıların en doğrudan kurbanları ve korumanın önündeki ilk engeldirler. Operatörler, hızlı filtreleme için yönlendirme stratejilerini ve koruma stratejilerini esnek bir şekilde kontrol edebilir.

1) Kaynak bağlantı noktası 11211 olan paketlerin oranını engellemek veya sınırlamak için sınırda UDP erişim kontrol kurallarını yapılandırın;

2) Kaynak bağlantı noktası 11211 olan UDP trafiğinin oranını engellemek veya sınırlamak için sınırda BGP FlowSpec politikasını yapılandırın;

3) 11211 kaynak bağlantı noktasıyla UDP trafiğini engellemek veya sınırlamak için DDoS koruma ekipmanı kullanın.

· İşletme kullanıcıları

Kurumsal kullanıcılar genellikle hizmet terminaline yakındır, kendi iş trafiğinin özelliklerine aşinadır ve daha net politika yapılandırmasına ve güçlü esnekliğe sahiptir.

1) Büyük kurumsal müşteriler, 11211 kaynak portu ile UDP trafiğini engellemek veya sınırlamak için çıkış sınırı cihazında UDP erişim kontrol kurallarını veya BGP FlowSpec stratejisini yapılandırmak için operatörle aynı stratejiyi kullanabilir;

2) Çıkış yönlendirmesini yapılandırma hakkına sahip olmayan kurumsal müşteriler, 11211 numaralı kaynak bağlantı noktasıyla UDP trafiğini engellemek veya sınırlamak için anti-DDoS ve diğer ekipmanlarda koruma stratejileri yapılandırabilir;

3) Kurumsal ihracat bant genişliğinin dolu olabileceği durumu göz önünde bulundurulduğunda, kurumsal müşteriler operatör veya bulut temizleme hizmeti aracılığıyla temizleme stratejisini yukarı akışa uygulayabilir Stratejinin içeriği ayrıca 11211 numaralı kaynak portu ile UDP trafiğini bloke etmek veya sınırlamaktır.

3.3 Memcached sistem koruma takviyesi

Memcached sistemini kullanan kullanıcılar için, saldırganların kullanmasını önlemek ve Memcached'i saldırı kaynağı yapmak, dışarıya saldırı trafiği başlatmak ve kendi sistemlerinin performansını etkilemek için aşağıdaki önerileri sunuyoruz.

1) Yanlış kaynak IP paketlerini filtrelemek için sınır ağ ekipmanında URPF politikasını yapılandırın;

2) Memcached sisteminin önünde derinlemesine inceleme gerçekleştirin ve mesaj özelliklerinde 090064000 ayar anahtarının üçüncü alanı çok büyük olan paketleri doğrudan filtreleyin Bu, Memcached sistemi değiştirilmeden ve bir saldırı kaynağı olarak kullanılmadan önce durdurulabilir;

3) Memcached hizmetinin UDP bağlantı noktasını izleyip izlemediğini kontrol etmek için Memcached hizmetinde bir güvenlik kontrolü yapın. -L parametresi olup olmadığını görmek için Memcached işlemini bulun, yoksa varsayılan 0.0.0.0'dır. Memcached servisinin UDP'yi izlemesi gerekmiyorsa, UDP'yi devre dışı bırakın. Ayrıntılar için resmi Memcached belgesine bakın:

https://github.com/memcached/memcached/wiki/ConfiguringServer#udp

ek

Set komutunun temel sözdizimi formatı aşağıdaki gibidir:

anahtar bayrakları exptime baytlarını ayarla

değer

Parametre açıklaması aşağıdaki gibidir:

anahtar: Önbelleğe alınan değeri bulmak için kullanılan, anahtar / değer yapısındaki anahtar.

bayraklar: Anahtar-değer çiftleri dahil tamsayı parametreleri. İstemciler, anahtar-değer çiftleri hakkında ek bilgi depolamak için kullanır.

exptime: Anahtar / değer çiftlerini önbellekte kaydetme süresi (saniye cinsinden, 0 sonsuza kadar demektir)

bayt: önbellekte depolanan bayt sayısı

noreply (isteğe bağlı): Bu parametre, sunucuya veri döndürmesine gerek olmadığını söyler

değer: saklanan değer (her zaman ikinci satırda) (doğrudan anahtar / değer yapısındaki değer olarak anlaşılabilir)

İlgili makale: GitHub, tarihindeki en kötü DDoS saldırısına uğradı. Hackerlar büyük bir bilet mi oynamak istiyor?

Bu makale NSFOCUS Telecom Yundi tarafından ortaklaşa hazırlandı ve Leifeng.com tarafından düzenlendi.

Gergedan: Genç yaşta ölen güzel hayatlar daha güzel yerlere gitsin
önceki
"Güzel" bir deneyim yaratın
Sonraki
"Wang Xing Undercover" yakında yayınlanacak! Bir kişi, bir köpek hayal gücünü bozar ve yeni bir polis ve suç filmi tarzı yaratır
"Qin Shuo Great Detective" kısa videosu burada İlk hafta LeTV, "Jump" ve Moutai'ye yorum yapıldı
Moda toplandı, ilk Meitu Dönüşüm Festivali Şangay'da başladı
Sabah Okuması Kanadanın Çin Büyükelçisi Mai Jialian istifa etti machine Okul dışı eğitim makinesi yüksek oranda cinsel saldırı oluşturuyor
Dünyanın en karlı ünlüler listesi yayınlandı! Aslında "Dul Kardeş" i 1 numaralı aktris olarak yendi.
Kader cesur olanı tercih eder
Snapdragon 710'un dünya prömiyeri Xiaomi Mi 8SE, en güçlü bin yuan amiral gemisini yorumluyor
IoT platformu harcamaları, yıllık% 39 bileşik büyüme oranıyla 2023'te 22 milyar ABD dolarına ulaşacak IoT Analytics raporu güncellemesi
Python ve Keras ile kendi AlphaZero'nuzu oluşturmayı öğretin
"Di Renjie: The Four Heavenly Kings" Yuchi Zhenjin, "Second Edition" Sakura Wood Flower Road'a yükseltildi
Sensörler, robot geliştirmenin dört ana problemini çözüyor
Video işbirliğinin gelişimine liderlik eden Logitech, CC4900e kameranın piyasaya sürülmesini şok ediyor
To Top