Lëshimi i WordPress 5.2 me mbështetje për verifikimin e azhurnimeve me nënshkrim digjital

Presented lanso i sistemit të menaxhimit të përmbajtjes web WordPress 5.2. Kyçimi ve rëndësisë i epopesë gjashtëvjeçare për realizimin mundësitë e kontrollit të përditësimeve dhe degradimeve përmes nënshkrimit digjital.

Derisa deri tani, kur instalohej pĂ«rditĂ«simi nĂ« WordPress, faktori kryesor i sigurしtĂ« ishte besimi nĂ« infrastrukturĂ«n dhe serverĂ«t e WordPress-it (pas ngarkimit, kryhej verifikimi i hash-it pa verifikimin e burimit). NĂ« rast tĂ« kompromitimit tĂ« serverĂ«ve tĂ« projektit, sulmuesit kishin mundĂ«sinĂ« pĂ«r tĂ« zĂ«vendĂ«suar pĂ«rditĂ«simin dhe pĂ«r tĂ« shpĂ«rndarĂ« kodin e dĂ«mshĂ«m nĂ« mes tĂ« faqeve tĂ« internetit qĂ« pĂ«rdorin sistemin e instalimit automatik tĂ« pĂ«rditĂ«simeve. Sipas modelit tĂ« dorĂ«zimit tĂ« besueshĂ«m tĂ« aplikosur mĂ« parĂ«, nĂ« anĂ«n e pĂ«rdoruesve, njĂ« zĂ«vendĂ«sim i tillĂ« do tĂ« kishte mbetur i paevituar.

Duke marrë në konsideratë se sipas të dhënave projektit w3techs, plataformë WordPress përdoret në 33.8% të faqeve në rrjet, incidenti do të kishte marrë përmasa katastrofike. Ndërkohë, rreziku i kompromitimit të infrastrukturës nuk ishte hipotetik, por mjaft real. Për shembull, disa vjet më parë një nga hulumtuesit e sigurisë demonstronte një dobësi që lejonte sulmuesin të ekzekutonte kodin e tij në anën e serverit api.wordpress.org.

Në rastin e përdorimit të nënshkrimeve digjitale, marrja e kontrollit mbi serverin e shpërndarjes së përditësimeve nuk do të çonte në kompromitimin e sistemeve të përdoruesve, pasi për të kryer një sulm do të nevojitej gjithashtu të merrej çelësi sekret i ruajtur veçmas, me anë të të cilit bëhet nënshkrimi i përditësimeve.

Zbatimi i kontrollit të burimit të përditësimeve përmes nënshkrimit digjital pengohej nga fakti se mbështetja për algoritmet e nevojshme kriptografike u shfaq në paketën standarde të PHP relativisht së fundmi. Algoritmet e nevojshme kriptografike u futën falë integrimit të bibliotekës Libsodium në përbërjen kryesore PHP 7.2. Por si versioni minimalisht i mbështetur në WordPress është deklaruar çlirimi 5.2.4 (duke filluar nga WordPress 5.2 - 5.6.20). Inkludimi i mbështetjes për nënshkrimet digjitale do të kishte çuar në një rritje të konsiderueshme të kërkesave për versionin minimalisht të mbështetur të PHP ose në shtimin e një varësie të jashtme, diçka që zhvilluesit nuk mundën ta bënin duke marrë parasysh përhapjen e versioneve të PHP në sistemet e hostimit. Zgjedhja e daljes ishte

dhe përfshirja në përbërjen e WordPress 5.2 të një varianti kompakt të Libsodium - zhvillimi Sodium Compat Sodium Compat, në të cilin është implementuar një grup minimal algoritmesh për verifikimin e nënshkrimeve digjitale në gjuhën PHP. Zbatimi nuk është ideal në aspektin e performancës, por zgjidh plotësisht problemin e kompatibilitetit dhe lejon zhvilluesit e shtesave të fillojnë të implementojnë algoritmet moderne të kriptografisë.

Për formimin e nënshkrimeve digjitale është angazhuar algoritmi Ed25519, i zhvilluar me pjesëmarrjen e Daniel Bernstein (Daniel J. Bernstein). Nënshkrimi digjital formohet për vlerën e hash-it SHA384, e cila është llogaritur nga përmbajtja e paketës me përditësimin. Ed25519 ofron një nivel sigurie më të lartë se ECDSA dhe DSA, dhe tregon një shpejtësi shumë të lartë verifikimi dhe krijimi nënshkrimesh. Rezistenca ndaj thyerjes për Ed25519 është rreth 2^128 (në mesatar, për të sulmuar Ed25519 do të nevojiten rreth 2^140 operacione bit, e cila përkon me rezistencën e algoritmeve si NIST P-256 dhe RSA me një përmasë çeliku prej 3000 bit ose me një algoritëm blokimi 128-bit). Ed25519 gjithashtu nuk është i ndjeshëm ndaj problemeve të kolizionit në hash-e, nuk është i ndjeshëm ndaj sulmeve përmes analizës së kohës në cache (cache-timing) dhe sulmeve nga kanale të jashtme.

Në versionin WordPress 5.2, verifikimi i nënshkrimit digjital për momentin mbulon vetëm përditësimet kryesore të platformës dhe nuk çon automatikisht në bllokimin e përditësimeve, por vetëm informon përdoruesin për ndonjë problem që ka lindur. Ka vendosur që bllokimi të mos përfshihet menjëherë për shkak të nevojës për një verifikim të plotë dhe për të rrethuar problemet e mundshme. Në të ardhmen planifikohet gjithashtu që verifikimi i nënshkrimit digjital të shtohet për verifikimin e burimit të instalimit të temave dhe shtesave (prodhuesit do të jenë në gjendje të nënshkruajnë lëshimet me çelësin e tyre).

Përveç mbështetjes për nënshkrimet digjitale, në WordPress 5.2 mund të përmendim ndryshimet e mëposhtme:

  • NĂ« seksionin "ShĂ«ndeti i Saiteve" janĂ« shtuar dy faqe tĂ« reja pĂ«r debugimin e problemeve tipike tĂ« konfigurimit, si dhe Ă«shtĂ« ofruar njĂ« formular, nĂ«pĂ«rmjet tĂ« cilit zhvilluesit mund tĂ« lĂ«nĂ« informacion pĂ«r debugim administratoreve tĂ« faqes;
  • ËshtĂ« shtuar implementimi i "ekranit tĂ« bardhĂ« tĂ« vdekjes", i cili shfaqet nĂ« rastin e problemeve fatale dhe ndihmon administratorin tĂ« riparojĂ« vetĂ« problemet e lidhura me shtesat ose temat, duke kaluar nĂ« njĂ« mod tĂ« veçantĂ« rikuperimi pas dĂ«shtimit;
  • ËshtĂ« implementuar njĂ« sistem kontrolli tĂ« pĂ«rputhshmĂ«risĂ« me plugin-in, qĂ« kontrollon automatikisht mundĂ«sinĂ« e pĂ«rdorimit tĂ« plugin-it nĂ« konfigurimin aktual duke marrĂ« parasysh versionin e pĂ«rdorur tĂ« PHP. NĂ«se pĂ«r funksionimin e plugin-it kĂ«rkohet njĂ« version mĂ« i ri i PHP-sĂ«, sistemi do tĂ« bllokojĂ« automatikisht aktivizimin e kĂ«tij plugin-i;
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r aktivizimin e moduleve me kod JavaScript duke pĂ«rdorur webpack dhe Babel;
  • ËshtĂ« shtuar njĂ« model i ri privacy-policy.php, qĂ« lejon konfigurimin e pĂ«rmbajtjes sĂ« faqes me kushtet e respektimit tĂ« privatĂ«sisĂ«;
  • PĂ«r temat e dizajnit Ă«shtĂ« shtuar njĂ« trajtues wp_body_open hook, qĂ« lejon tĂ« futet kodi menjĂ«herĂ« pas etiketĂ«s body;
  • KĂ«rkesat pĂ«r versionin minimal tĂ« PHP-sĂ« janĂ« rritur deri nĂ« 5.6.20, nĂ« plugin-e dhe tema Ă«shtĂ« e mundur tĂ« pĂ«rdoren hapĂ«sirat e emrave dhe funksionet anonime;
  • JanĂ« shtuar 13 ikonat e reja.

Po ashtu mund tĂ« pĂ«rmendet identifikimi mĂ«nyrĂ«s sĂ« kritikĂ«s nĂ« plugin-in WordPress WP Live Chat (CVE-2019-11185). Vulnerabiliteti lejon ekzekutimin e kodit PHP tĂ« libĂ«r me mĂ«nyrĂ« nĂ« server. Plugin-i pĂ«rdoret nĂ« mĂ« shumĂ« se 27 mijĂ« faqeve pĂ«r organizimin e bisedave interaktive me vizitorĂ«t, pĂ«rfshirĂ« nĂ« faqet e kompanive si IKEA, Adobe, Huawei, PayPal, Tele2 dhe McDonald’s (Live Chat shpesh pĂ«rdoret pĂ«r realizimin e bisedave tĂ« ngacmuara nĂ« faqet e kompanive me ofertĂ«n pĂ«r tĂ« biseduar me njĂ« punonjĂ«s).

Problemi shfaqet nĂ« kodin e ngarkimit tĂ« skedareve nĂ« server dhe lejon kalimin e kontrollit tĂ« llojeve tĂ« pranuara tĂ« skedareve dhe ngarkimin e njĂ« skedari PHP nĂ« server, pas tĂ« cilit mund tĂ« ekzekutohet duke bĂ«rĂ« njĂ« kĂ«rkesĂ« tĂ« drejtpĂ«rdrejtĂ« pĂ«rmes web. ËshtĂ« interesante qĂ« vitin e kaluar nĂ« Live Chat Ă«shtĂ« identifikuar njĂ« vulnerabilitet i ngjashĂ«m (CVE-2018-12426) qĂ« lejonte ngarkimin e kodit PHP nĂ«n maskimin e njĂ« imazhi, duke specifikuar njĂ« lloj tĂ« ndryshĂ«m pĂ«rmbajtjeje nĂ« fushĂ«n Content-type. NĂ« kuadĂ«r tĂ« rregullimit tĂ« problemit janĂ« shtuar verifikime tĂ« mĂ«tejshme pĂ«r lista tĂ« bardha dhe llojin MIME tĂ« pĂ«rmbajtjes. Siç u duk se kĂ«to verifikime ishin realizuar gabimisht dhe lehtĂ« mund tĂ« kaloheshin.

Konkretisht, ngarkimi i drejtpërdrejtë i skedareve me shpërndarje «.php» është i ndaluar, por shpërndarja «.phtml» nuk ishte shtuar në listën e zezë, që në shumë servera lidhet me interpretorin PHP. Lista e bardhë lejon vetëm ngarkimin e imazheve, por mund të kalohesh duke specifikuar një shpërndarje të dyfishtë, për shembull, «.gif.phtml». Për të kaluar kontrollin e llojit MIME në fillim të skedarit, para hapjes së etiketës me kodin PHP, ishte mjaft të specifikohej linja «GIF89a».

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster