Popüler OpenSSL kütüphanesinde keşfedilen ve 'HollowByte' adı verilen bir güvenlik açığı, saldırganların yalnızca 11 baytlık kötü amaçlı bir veri yüküyle sunucuda hizmet reddi (DoS) oluşturmasına olanak tanıyor. Okta Red Team tarafından tespit edilen bu açık, OpenSSL'nin TLS el sıkışma (handshake) sürecindeki bir zafiyetten kaynaklanıyor. Saldırgan, sunucuya bağlanırken gönderdiği mesajın başlık kısmında, gerçekte göndereceğinden çok daha büyük bir veri boyutu bildiriyor. Sunucu, bu bildirime güvenerek hemen o büyüklükte bir bellek alanı ayırıyor ve ardından gelecek veriyi beklemeye başlıyor. Ancak saldırgan, beklenen veriyi hiçbir zaman göndermiyor. Bu durum, sunucunun iş parçacığını süresiz olarak bloke ediyor ve aynı anda birden çok bağlantıyla tekrarlandığında sunucu belleği hızla tükeniyor.
HollowByte açığının en dikkat çekici yönü, saldırının çok düşük bant genişliğiyle gerçekleştirilebilmesi. Okta araştırmacılarının yaptığı testlerde, düşük kapasiteli sunucuların kısa sürede tamamen bellek dışı kalabildiği, yüksek kapasiteli sunucularda ise bellek kullanımının %25 oranında artabildiği gözlemlendi. Daha da kötüsü, bu saldırı sırasında oluşan trafik, tipik güvenlik uyarı eşiklerinin altında kalabiliyor, bu da saldırının fark edilmesini zorlaştırıyor. Açığın etkisi yalnızca bellek tüketimiyle sınırlı değil; GNU C Library (glibc) gibi bellek yöneticileri, küçük ve orta boyutlu bellek alanlarını işletim sistemine hemen geri vermediği için, saldırı sona erdikten sonra bile sunucu belleği şişkin kalıyor. Sunucunun eski sağlıklı durumuna dönmesi için ancak yeniden başlatılması gerekiyor.
Açığın temelinde, TLS el sıkışma protokolünde her mesajın başında bulunan 4 baytlık başlık yatıyor. Bu başlığın 3 baytı, gelen mesajın boyutunu belirtiyor. OpenSSL'nin zafiyetli sürümleri, bu boyut bilgisini doğrulamadan kabul ediyor ve hemen bellekte o kadar yer ayırıyor. Oysa düzeltilmiş sürümlerde, bellek tahsisi ancak veri gerçekten geldiğinde yapılıyor ve başlıktaki boyut bilgisi yok sayılıyor. Okta ekibi, bu açığı bir 'sertleştirme düzeltmesi' olarak nitelendirse de, etkisi göz önüne alındığında bir güvenlik açığı olarak ele alınması gerektiğini vurguluyor.
HollowByte açığı, OpenSSL'nin 4.0.1 sürümünde sessizce düzeltildi ve yama eski sürümlere de geri yüklendi. Düzeltilmiş sürümler: 3.6.3, 3.5.7, 3.4.6 ve 3.0.21. Bu sürümler, başlıktaki boyut bilgisine güvenmek yerine, veri geldikçe tamponu büyütüyor. Kullanıcıların ve sistem yöneticilerinin, kullandıkları OpenSSL sürümünü bu güncel sürümlere yükseltmeleri kritik önem taşıyor.
OpenSSL, internet üzerindeki güvenli iletişimin temel taşlarından biri olduğu için bu açık geniş bir yelpazedeki yazılımları etkiliyor. NGINX ve Apache gibi web sunucuları, Node.js, Python, Ruby ve PHP gibi dil çalışma zamanları, MySQL ve PostgreSQL gibi veritabanları, OpenSSL kütüphanesini kullanıyor. Ayrıca çoğu Linux dağıtımında TLS şifreleme ve sertifika işlemleri için OpenSSL önceden yüklenmiş olarak geliyor. Bu nedenle, herhangi bir kuruluşun bu açıktan etkilenme olasılığı oldukça yüksek.
Sonuç ve Değerlendirme
DoS açıkları genellikle veri hırsızlığı veya kod çalıştırma gibi açıklardan daha az ciddi olarak değerlendirilse de, HollowByte gibi düşük eşikli saldırılar işletmelerde ciddi operasyonel kesintilere ve itibar kaybına yol açabilir. Okta, kullanıcıların dağıtımlarındaki OpenSSL paketlerini hemen güncellemelerini tavsiye ediyor. Bu güncelleme, sunucuların bu tür sinsi saldırılara karşı korunması için atılacak en önemli adım.
Kaynak: bleepingcomputer.com