Axtarış...

“HollowByte” boşluğu OpenSSL serverlərini hədəf alır

“HollowByte” boşluğu OpenSSL serverlərini hədəf alır

“OpenSSL” kriptoqrafik proqram kitabxanasında xidmətdən imtina (DoS) hücumunun həyata keçirilməsinə şərait yaradan təhlükəsizlik boşluğu müəyyən edilib.“HollowByte” adlandırılan boşluq autentifikasiyadan keçməmiş hücumçuya cəmi 11 bayt həcmində xüsusi hazırlanmış TLS sorğusu göndərməklə serverin qeyri-mütənasib həcmdə operativ yaddaş (RAM) ayırmasına səbəb olur.

Təhlükəsizlik boşluğu “OpenSSL” kitabxanasının əvvəlki versiyalarında TLS bağlantısının yaradılması zamanı daxil olan məlumatların emal edilməsi mexanizmi ilə əlaqədardır. TLS bağlantısının qurulması prosesi müştəri tərəfindən göndərilən “ClientHello” mesajı ilə başlayır. Hər bir TLS əl sıxma mesajının (TLS Handshake Message) əvvəlində qəbul ediləcək məlumatın həcmini göstərən dörd baytlıq başlıq (Header) yerləşir. Həmin başlığın üç baytlıq hissəsi mesajın əsas məzmununun gözlənilən uzunluğunu müəyyən edir.

“OpenSSL”in həssas versiyalarında daxil olan məlumatın həqiqi həcmi qəbul və yoxlanılmadan əvvəl başlıqda göstərilən ölçüyə uyğun yaddaş buferi (Memory Buffer) ayrılır. Təhdid aktoru böyük həcmli məlumat göndərəcəyini bildirən, lakin faktiki olaraq həmin məlumatı ehtiva etməyən 11 baytlıq sorğu vasitəsilə serverin hər bir bağlantı üçün 131 kilobayta qədər yaddaş ayırmasına səbəb olur. Nəticədə serverin işçi prosesi (Worker Process) göndərilməyən məlumatın daxil olmasını gözləyərək bloklanmış vəziyyətdə qalır.

Hücumun çoxsaylı paralel bağlantılar üzərindən təkrarlanması serverin yaddaş resurslarının tədricən tükənməsinə və nəticədə xidmətlərin əlçatanlığının pozulmasına səbəb ola bilir. Hücumun həyata keçirilməsi üçün istifadəçi hesabına, əvvəlcədən əldə edilmiş giriş imkanına və ya əlavə istismar zəncirinə ehtiyac yoxdur.

Bağlantı dayandırıldıqdan sonra “OpenSSL” ayrılmış yaddaş buferini azad etsə də, “GNU C Library” (“glibc”) kiçik və orta ölçülü yaddaş sahələrini dərhal əməliyyat sisteminə qaytarmaya bilər. Fərqli məlumat ölçülərinin göstərildiyi çoxsaylı sorğuların göndərilməsi yaddaşın fraqmentasiyasına (Memory Fragmentation) və server prosesinin faktiki olaraq istifadə etdiyi fiziki yaddaş həcmini ifadə edən rezident yaddaş göstəricisinin (Resident Set Size — RSS) davamlı şəkildə artmasına səbəb olur.

Belə hallarda bağlantıların dayandırılması ayrılmış yaddaşın tam şəkildə bərpa olunması üçün kifayət etməyə bilər. Yaddaş resurslarının yenidən əlçatan vəziyyətə gətirilməsi məqsədilə server prosesinin və ya müvafiq xidmətin yenidən başladılması tələb oluna bilər.

Boşluq geniş təsir dairəsinə malikdir, çünki “OpenSSL” kitabxanasından “Apache” və “NGINX” veb-serverləri, “Node.js”, “Python”, “Ruby” və “PHP” proqramlaşdırma mühitləri, eləcə də “MySQL” və “PostgreSQL” kimi verilənlər bazası sistemləri daxil olmaqla çoxsaylı proqram təminatlarında istifadə olunur.

Bu səbəbdən internet üzərindən əlçatan olan və TLS bağlantılarının emal edilməsi üçün “OpenSSL”in həssas versiyalarından istifadə edən serverlər yaddaş resurslarının tükənməsinə əsaslanan xidmətdən imtina hücumlarının potensial hədəfinə çevrilə bilər.

© 2011-2026 Bütün Hüquqlar Qorunur