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?
İ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.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.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
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.