OpenSSL’deki HollowByte Açığı
OpenSSL, internet iletişiminde güvenliğin temel taşını oluşturduğu için herhangi bir güvenlik açığı büyük öneme sahiptir. HollowByte olarak adlandırılan bu yeni zayıflık, doğrulanmamış saldırganların sadece 11 byte’lık bir kötü niyetli yükle OpenSSL sunucularında hizmet dışı kalma (DoS) durumu oluşturmasına olanak tanıyor.
Açığın Teknik Detayları
Okta’nın Kırmızı Takımı, HollowByte DoS açığının nasıl çalıştığını ve gerçek dünya senaryosundaki etkilerini ayrıntılı bir şekilde açıkladı. Araştırmacılar, bir TLS el sıkışmasında, her mesajın gelen mesajın boyutunu belirtmek için 4-byte’lık bir başlık içerdiğini belirtiyor. Ancak, etkilenen OpenSSL versiyonları, yükü alıp boyutunu kontrol etmeden önce bildirilen uzunluğu ayırıyor.
- TLS el sıkışma mesajları, 4-byte’lık bir el sıkışma başlığı ile başlar.
- Üç byte’lık boyut alanı, takip eden el sıkışma verisinin boyutunu açıklar.
- Etkilenen sunucu, yükü doğrulamadan paketlerin iddialarını kabul eder ve belirtilen bellek ayırır.
Saldırgan, bir TLS bağlantısı açarak ve daha büyük bir mesaj gövdesinin ardından geleceğini belirten bir başlıkla 11-byte’lık kötü niyetli bir girdi göndererek HollowByte’u tetikleyebilir. Aynı işlemi birden fazla bağlantıda tekrar ederek, sunucunun, görece küçük bir verimli veri hacmi ile önemli miktarda bellek ayırmasına yol açar.
Okta araştırmacıları, OpenSSL’in bağlantı kesildiğinde tamponları serbest bıraktığını, ancak GNU C Kütüphanesi (glibc)’nin bellek yönetiminde farklı bir yaklaşım izlediğini ve “küçük-orta boyutlu tahsisleri işletim sistemine hemen geri vermediğini” vurguladı. Bu durum, saldırganın rastgele boyut iddialarıyla bağlantılar başlatarak serbest kalan parçaların yeniden kullanımını engellemesine yol açar.
Etkilenen Sistemler
Açığın etkisi yaygın olup, OpenSSL kütüphanesi, aşağıdaki popüler yazılım projelerine gömülüdür:
- Web sunucuları: NGINX, Apache
- Programlama dilleri: Node.js, Python, Ruby, PHP
- Veritabanları: MySQL, PostgreSQL
Okta’nın NGINX üzerindeki testleri, düşük kapasiteli ortamlarda HollowByte kullanılarak bellek kaybının kolayca sağlanabileceğini göstermektedir. Daha yüksek kapasiteli sunucular ise saldırı bant genişliği güvenlik uyarı eşiklerinin altında kaldığında bile belleklerinin %25’ine kadar kaybedebilmektedir. DoS zayıflıkları, veri hırsızlığını veya kod yürütmeyi sağlayan açılardan daha az ciddi kabul edilse de, operasyonel kesintilere ve itibar kaybına yol açabilir.
Çözüm ve Korunma
HollowByte açığı, OpenSSL 4.0.1 sürümünde düzeltilmiş ve 3.6.3, 3.5.7, 3.4.6 ve 3.0.21 sürümlerine geri aktarılmıştır. Bu yeni sürümler, veriler gelmeden önce bellek ayırmayı durdurarak başlık iddialarını göz ardı etmektedir. Okta, bu durumun “güçlendirme düzeltmesi” olarak nitelendirildiğini vurgulamakta, ancak tüm kullanıcıların dağıtımlarındaki OpenSSL paketlerini derhal güncellemelerini önermektedir.
Sonuç
Okuyucuların, sistemlerinde güvenlik açıklarına karşı dikkatli olmaları ve özellikle OpenSSL’in en güncel sürümüne geçiş yaparak potansiyel tehditleri minimize etmeleri önemlidir. Güncellemeler yapılmalı, kullanılmayan portlar kapatılmalı ve uygun güvenlik duvarı kurallarının uygulanması sağlanmalıdır. Unutmayın, korunmanın en iyi yolu güncel kalmaktır.


