Siber Uzay'ın Haber Platformu

H4cktimes Youtube Kanalı

HTTP/2 hataları, web sitelerini DoS saldırılarına maruz bırakıyor

0

Mayıs 2015‘te başlatılan HTTP/2, sayfa yüklerini hızlandırarak daha iyi güvenlik ve daha iyi çevrimiçi deneyim için tasarlanmıştır. Bugün, yüz milyonlarca web sitesi veya internetteki tüm sitelerin %40‘ı HTTP/2 protokolünü kullanarak çalışıyor. Ancak HTTP/2 protokolünün birden çok uygulaması güncellenmediğinde ve gerekli yamalar yapılmadığında sunuculara gelen istekler Denial-of-service (DoS) saldırılarında meydana gelen etkiyle aynı etkilere sahip bir kaynak tüketimine neden olabiliyor.

Hataların Benzerlikleri

Günümüzde kullanılan sunucularda bir DoS durumuna neden olabilecek 8 farklı güvenlik açığının bulunduğu açıklandı. Hatta birçok şirket bu hataları düzeltecek olan güncellemelerini kullanıcılara sundu. Bazı sistemler tek bir sistemden birden fazla sunucuyu etkileyebilecek güce sahip olduğundan diğerlerinden çok daha şiddetli saldırılara neden olabiliyor ancak DDoS ataklarına karşı verimli bir savunmaya sahip olan çoğu şirket bundan etkilenmiyor.

Bu saldırılara neden olan hatalardan 7‘si Netflix çalışanı olan Jonathan Looney tarafından ve bir tanesi de Google‘dan Piotr Sikora tarafından bulundu.

Geçtiğimiz günlerde yayımlanan bir belgede, Netflix tüm bu saldırı vektörlerinin aynı tema üzerinden geliştiğini ve zafiyetli bir sunucuya gönderilen okuma isteğinin sunucu tarafından  isteğin reddedilmesine neden olduğu söyledi.

Sunucuya gelen isteklerin sunucu tarafından nasıl sıralandığına bağlı olmakla birlikte, sunucu kendisine gelen istekleri işlemek için aşırı miktarda bellek ve CPU kullanmak zorunda kalıyor.

Oluşan DoS saldırıları, sunucuların yanıt veremeyecek kadar meşgul olmasına ve ziyaretçilerin web sayfalarına erişimini engellemesine neden olabiliyor. Şiddeti daha düşük olan saldırılarda ise sayfalar daha yavaş yüklenmeye başlıyor.

CERT Koordinasyon Merkezi tarafından yayımlanan  zafiyet raporunda da oluşan saldırıların DoS etkilerine değiniliyor.

Bu saldırılardan etkilenenlerin listesinde Amazon, Apache, Apple, Facebook, Microsoft, Nginx, Node.js ve Ubuntu gibi büyük isimler de yer alıyor.

Zafiyetler Güncelleniyor

Bazı şirketler bu sorunları çoktan düzeltmeye başladı. Örneğin CloudFlare, HTTP/2 iletişiminden sorumlu olan Nginx sunucularını etkileyen bu güvenlik açıklarından 7 tanesini giderdiğini açıkladı.

Burada 6 farklı potansiyel güvenlik zafiyeti var ve hepsini takip ediyoruz. Az sayıda saldırı tespit ettik ve bunları hafifletebildik, ancak henüz yaygın bir saldırıyla karşılaşmadık.” – CloudFlare

CloudFlare, bu koordineli gerçekleşen zafiyetler hakkında açıklama yapmadan önce Netflix tarafından DoS güvenlik riskleri hakkında bir bildirim de almıştı.

Microsoft bu şirketlerden ayrı olarak, HTTP/2 protokolünü (HTTP.sys) etkileyen DoS zafiyetleriyle ilgili 5 tane güncelleme yayımladı. (1, 2, 3, 4, 5)

Nginx, 1.17.3 ana sürümüne yönelik getirmiş olduğu yeni bir güncellemeyle birlikte DoS açıklarından 3 tanesini kapattığını bildirdi.

Apple ise, SwiftNIO uygulamasına ait 5 zafiyeti Sierra 10.12 versiyonundan itibaren kapattığını açıkladı.

1. CVE-2019-9511 Data Dribble: Saldırgan, sunucudan belirli bir kaynaktan çok sayıda veri akışı sağlayabilecek büyüklekte bir veri ister. Sunucuya gönderdiği 1 baytlık verileri parçalar halince sunucuda sıraya sokmaya zorlamak için pencere boyunu ve akış önceliklerini değiştirir. Bu verilerin ne kadar verimli bir şekilde sıraya alındığına bağlı olarak, sunucu üzerinde yüksek miktarda CPU ve bellek kullanımına neden olabilecek bir DoS saldırısı oluşturabilmektedir.

2. CVE-2019-9512 Ping Flood: Saldırgan, sürekli olarak sunucunun HTTP/2 servisine ping atarak isteklerin dahili bir yanıt sırası oluşturmasına neden olur. Bu verilerin ne kadar verimli bir şekilde sıraya alındığına bağlı olarak, sunucu üzerinde yüksek miktarda CPU ve bellek kullanımına neden olabilecek bir DoS saldırısı oluşturabilmektedir.

3. CVE-2019-9513 Resource Loop: Saldırgan, birden fazla istek akışı yaratır ve akışların önceliklerini sunucu tarafından işleneceği zaman karmaşaya neden olacak şekilde düzenler. Bu istekler fazla CPU tüketimine neden olarak da sistemi yormaktadır.

4. CVE-2019-9514 Reset Flood: Saldırgan, sunucuya çok sayıda istek açar ve sunucundan bir RST_STREAM frame talep etmesi gereken her isteğe geçersiz bir istek gönderir. Sunucunun RST_STREAM isteklerini nasıl algıladığına bağlı olarak, aşırı hafıza ve CPU tüketir. Böylece DoS saldırısına yol açar.

5. CVE-2019-9515 Settings Flood: Saldırgan, sunucuya bir SETTINGS frame isteği gönderir. RFC, sunucunun SETTINGS frame başına bir onayla yanıt vermesini gerektirdiğinden, boş bir SETTINGS frame’ini ping atarak sunucuya gönderir. Bu verilerin ne kadar verimli bir şekilde sıraya alındığına bağlı olarak, sunucuda fazladan CPU ve bellek tüketir ve DoS saldırısına neden olmaktadır.

6. CVE-2019-9516 0-Length Headers Leak: Saldırgan, isteğe bağlı olarak 1 bayt veya daha büyük başlıklar halinde kodlanan 0-length başlık adı ve 0-length başlık değeri olan bir isteği sunucuya gönderir.  Bazı uygulamalar bu başlıklar için hafıza ayırır ve oturum sona erene kadar hafızasında canlı olarak bekletir. Bu durum fazla bellek tüketerek DoS saldırısına neden olur.

7. CVE-2019-9517 Internal Data Buffering: Saldırgan, HTTP/2 penceresini açar, böylece verileri sınırlama olmadan gönderebilir ve TCP penceresini kapalı kaldığından verilerdeki baytlar kabloya yazılamaz. Saldırgan daha sonra büyük bir yanıt nesnesi için sunucuya sürekli bir istekte bulunur. Bu verilerin ne kadar verimli bir şekilde sıraya alındığına bağlı olarak, sunucu üzerinde yüksek miktarda CPU ve bellek kullanımına neden olabilecek bir DoS saldırısı oluşturabilmektedir.

8. CVE-2019-9518 Empty Frames Flood: Saldırgan, boş bir payload kullanarak sunucuya istekte bulunmak için end-of-stream flag’i gönderir. Gönderilen bu veriler DATA, HEADERS, CONTINUATION ve PUSH_PROM olabilir. İstekler, sunucunun bant genişliğine saldırmak için her frame’i orantısız bir şekilde işlettirir. Bu durum sunucuda fazladan CPU tüketimine yol açar.

Geliştirilmeye başlandığı zamanlar herhangi bir güvenlik amacı taşımayan Web, üzerinde zafiyetler çıktıkça yamalanmaya devam ederek geliştirildi. Gün geçtikçe ilk zamanlardaki veri hızı ve boyutları da ihtiyacı karşılamadı ve bunlar da geliştirildi. Hala bir çok eksiği olan ve gün geçtikçe üzerindeki eksiklikler kapatılarak kullanılmaya devam eden bu büyük ağ yapılan her müdahalede insan zafiyetinden nasibini alıyor. Oluşan bu zafiyetler son kullanıcı tarafında büyük bir tehdit oluşturmasa da günlük hayatın işleyişinde arka planda her zaman bir uğraş konusu olarak kalıyor.

Yorum Bırak

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.