Rəqəmsal imza ilə yeniləmələrin yoxlanılması dəstəyi ilə WordPress 5.2-nin buraxılışı

Tərəfindən təqdim edildi veb məzmun idarəetmə sisteminin buraxılışı WordPress 5.2. Buraxılış tamamlanması ilə diqqət çəkir altı illik dastan həyata keçirilməsi üzrə imkanları rəqəmsal imzadan istifadə edərək yeniləmələrin və əlavələrin yoxlanılması.

İndiyə qədər WordPress-də yeniləmələri quraşdırarkən əsas təhlükəsizlik amili WordPress infrastrukturuna və serverlərinə inam idi (endirdikdən sonra mənbə yoxlanılmadan hash yoxlanılırdı). Layihənin serverləri pozulubsa, təcavüzkarlar yeniləməni saxtalaşdıra və avtomatik yeniləmə quraşdırma sistemindən istifadə edən WordPress əsaslı saytlar arasında zərərli kodu paylaya bildilər. Əvvəllər istifadə edilmiş güvən çatdırılma modelinə uyğun olaraq, belə bir əvəzetmə istifadəçilər tərəfindən diqqətdən kənarda qalardı.

Bunu nəzərə alaraq Uyğun olaraq w3techs layihəsinin, WordPress platforması şəbəkədəki saytların 33.8%-də istifadə edildiyi halda, hadisə fəlakət miqyasında olardı. Eyni zamanda, infrastrukturun kompromis təhlükəsi hipotetik deyil, kifayət qədər real idi. Məsələn, bir neçə il əvvəl təhlükəsizlik tədqiqatçılarından biri nümayiş etdirdi təcavüzkarın api.wordpress.org saytının server tərəfində öz kodunu icra etməyə imkan verən boşluq.

Rəqəmsal imzalar vəziyyətində, yeniləmələrin paylanması serverinə nəzarətin əldə edilməsi istifadəçi sistemlərinin güzəştinə səbəb olmayacaq, çünki hücum həyata keçirmək üçün əlavə olaraq yeniləmələrin imzalandığı ayrıca saxlanılan şəxsi açar əldə etməlisiniz.

Rəqəmsal imzadan istifadə edərək yeniləmələrin mənbəyinin yoxlanılmasının həyata keçirilməsinə lazımi kriptoqrafik alqoritmlərin dəstəyinin standart PHP paketində nisbətən yaxınlarda meydana çıxması mane oldu. Kitabxananın inteqrasiyası sayəsində zəruri kriptoqrafik alqoritmlər meydana çıxdı Libsodium əsas komandaya PHP 7.2. Ancaq WordPress-də PHP-nin minimum dəstəklənən versiyası kimi bildirildi buraxılış 5.2.4 (WordPress 5.2 - 5.6.20-dən). Rəqəmsal imzalara dəstəyin aktivləşdirilməsi PHP-nin minimum dəstəklənən versiyasına tələblərin əhəmiyyətli dərəcədə artmasına və ya hostinq sistemlərində PHP versiyalarının yayılmasını nəzərə alaraq tərtibatçıların edə bilmədiyi xarici asılılığın əlavə edilməsinə səbəb olardı.

Həll yolu idi inkişafı və Libsodium-un kompakt versiyasının WordPress 5.2-ə daxil edilməsi - Sodium CompatPHP-də rəqəmsal imzaları yoxlamaq üçün minimum alqoritmlər dəsti həyata keçirilir. Tətbiq performans baxımından çox arzuolunanları buraxır, lakin uyğunluq problemini tamamilə həll edir, həmçinin plagin tərtibatçılarına müasir kriptoqrafik alqoritmləri tətbiq etməyə başlamağa imkan verir.

Rəqəmsal imza yaratmaq üçün bir alqoritm istifadə olunur Ed25519, Daniel J. Bernstein iştirakı ilə hazırlanmışdır. Yeniləmə arxivinin məzmunundan hesablanan SHA384 hash dəyəri üçün rəqəmsal imza yaradılır. Ed25519 ECDSA və DSA-dan daha yüksək təhlükəsizlik səviyyəsinə malikdir və çox yüksək yoxlama və imza yaratma sürətini nümayiş etdirir. Ed25519 üçün hakerlik müqaviməti təxminən 2^128-dir (orta hesabla, Ed25519-a hücum üçün 2^140 bit əməliyyat tələb olunur), bu, NIST P-256 və RSA kimi açar ölçüsü 3000 bit olan alqoritmlərin müqavimətinə uyğundur. və ya 128 bitlik blok şifrəsi. Ed25519 həmçinin hash toqquşmaları ilə bağlı problemlərə həssas deyil və keş-zamanlama hücumlarına və ya yan kanal hücumlarına həssas deyil.

WordPress 5.2 buraxılışında rəqəmsal imzanın yoxlanılması hazırda yalnız əsas platforma yeniləmələrini əhatə edir və defolt olaraq yeniləməni bloklamır, ancaq istifadəçini problem barədə məlumatlandırır. Tam yoxlama və yan keçid ehtiyacı səbəbindən dərhal defolt bloklamanın aktiv edilməməsinə qərar verildi mümkün problemlər. Gələcəkdə mövzuların və plaginlərin quraşdırılması mənbəyini yoxlamaq üçün rəqəmsal imza yoxlamasının əlavə edilməsi də planlaşdırılır (istehsalçılar öz açarları ilə buraxılışları imzalaya biləcəklər).

WordPress 5.2-də rəqəmsal imza dəstəyinə əlavə olaraq, aşağıdakı dəyişiklikləri qeyd etmək olar:

  • Ümumi konfiqurasiya problemlərinin aradan qaldırılması üçün “Sayt sağlamlığı” bölməsinə iki yeni səhifə əlavə edildi və tərtibatçıların sayt administratorlarına sazlama məlumatlarını buraxa biləcəyi forma da təqdim edildi;
  • Ölümcül problemlər olduqda nümayiş etdirilən və xüsusi qəza bərpa rejiminə keçməklə administratora plaginlər və ya mövzularla bağlı problemləri müstəqil şəkildə düzəltməyə kömək edən "ölümün ağ ekranı" tətbiqi əlavə edildi;
  • İstifadə olunan PHP versiyasını nəzərə alaraq, plaqinin cari konfiqurasiyada istifadə imkanlarını avtomatik yoxlayan plaginlərlə uyğunluğun yoxlanılması sistemi tətbiq edilmişdir. Əgər plagin işləmək üçün PHP-nin daha yeni versiyasını tələb edirsə, sistem avtomatik olaraq bu plaqinin daxil edilməsini bloklayacaq;
  • JavaScript kodu ilə modulları aktivləşdirmək üçün əlavə dəstək veb-paket и Babel;
  • Məxfilik siyasəti səhifəsinin məzmununu fərdiləşdirməyə imkan verən yeni privacy-policy.php şablonu əlavə edildi;
  • Mövzular üçün, bədən etiketindən dərhal sonra kodu daxil etməyə imkan verən wp_body_open çəngəl işləyicisi əlavə edilmişdir;
  • PHP-nin minimum versiyası üçün tələblər 5.6.20-yə qaldırıldı, plaginlər və mövzular artıq ad boşluqlarından və anonim funksiyalardan istifadə etmək imkanına malikdir;
  • 13 yeni ikona əlavə edildi.

Əlavə olaraq qeyd edə bilərsiniz aşkarlanması WordPress plaginində kritik zəiflik WP Canlı Söhbət (CVE-2019-11185). Zəiflik serverdə ixtiyari PHP kodunu icra etməyə imkan verir. Plugin ziyarətçi ilə interaktiv söhbət təşkil etmək üçün 27 mindən çox saytda, o cümlədən IKEA, Adobe, Huawei, PayPal, Tele2 və McDonald's kimi şirkətlərin saytlarında istifadə olunur (Live Chat tez-tez zəhlətökən pop-up tətbiq etmək üçün istifadə olunur. işçi ilə söhbət təklifləri ilə şirkət saytlarında söhbətlər).

Problem faylların serverə yüklənməsi kodunda özünü göstərir və etibarlı fayl növlərinin yoxlanışından yan keçməyə və PHP skriptini serverə yükləməyə, sonra isə onu birbaşa internet vasitəsilə icra etməyə imkan verir. Maraqlıdır ki, ötən il analoji boşluq Live Chat-da (CVE-2018-12426) artıq müəyyən edilmişdi ki, bu da Content-type sahəsində fərqli məzmun növünü göstərərək, şəkil adı altında PHP kodunu yükləməyə imkan verirdi. Düzəlişin bir hissəsi olaraq ağ siyahılar və MIME məzmun növü üçün əlavə yoxlamalar əlavə edildi. Göründüyü kimi, bu yoxlamalar səhv həyata keçirilir və asanlıqla yan keçə bilər.

Xüsusilə, “.php” uzantılı faylların birbaşa yüklənməsi qadağandır, lakin bir çox serverlərdə PHP tərcüməçisi ilə əlaqəli olan “.phtml” uzantısı qara siyahıya salınmayıb. Ağ siyahı yalnız şəkillərin yüklənməsinə icazə verir, lakin siz ikiqat artırma, məsələn, “.gif.phtml” göstərərək onu keçə bilərsiniz. Faylın əvvəlində MIME növü yoxlanışından keçmək üçün PHP kodu ilə etiketi açmazdan əvvəl “GIF89a” sətirini göstərmək kifayət idi.

Mənbə: opennet.ru

Добавить комментарий