WordPress 5.2 vÀljaanne, mis toetab digitaalsete allkirjade abil vÀrskenduste kontrollimist

Esitletud veebisisuhaldussĂŒsteemi vĂ€ljakuulutamine WordPress 5.2. VĂ€ljaanne on tuntud oma lĂ”petamise poolest kuueaastase epopöa rakendamise osas vĂ”imaluste vĂ€rskenduste ja tĂ€ienduste kontrollimiseks digitaalsete allkiri abil.

Siiani oli WordPressi vĂ€rskenduste installimisel peamine ohutegur usaldus WordPressi infrastruktuuri ja serverite suhtes (pĂ€rast allalaadimist viidi lĂ€bi hash-kontroll ilma allika kinnitamiseta). Projekti serverite kompromiteerimise korral said rĂŒndajad vĂ”imaluse uuendamist petta ja levitada pahavara WordPressi pĂ”hinevatesse saitidesse, mis kasutasid automaatsete vĂ€rskenduste installimise sĂŒsteemi. Varasema usaldusvÀÀrsete kohaletoimetamise mudeli kohaselt oleks selline valeandmine kasutajate poole pealt jÀÀnud mĂ€rkamatuks.

Arvestades, et andmete projekti w3techs andmetel kasutatakse platvormi WordPress 33,8% veebisaitidest, oleks intsident omandanud katastroofilise mÔÔtme. Samuti ei olnud infrastruktuuri kompromiteerimise oht hĂŒpoteetiline, vaid tĂ€iesti reaalne. NĂ€iteks mĂ”ned aastad tagasi leidis ĂŒks turva-uuringute spetsialist demonstreeris haavatavuse, mis lubas rĂŒndajal kĂ€ivitada oma koodi сДрĐČДрis api.wordpress.org.

Digitaalsete allkirjade kasutamisel ei viiks vĂ€rskenduste jaotamise serveri kontrolli allavĂ”tmine kasutajate sĂŒsteemide kompromiteerimiseni, kuna rĂŒnnaku lĂ€biviimiseks oleks lisaks vajalik eraldi hoitav privaatvĂ”ti, millega vĂ€rskendused allkirjastatakse.

VĂ€rskenduste allika kontrollimist digitaalsete allkirjade abil takistas see, et vajalike krĂŒptograafiliste algoritmide tugi ilmus PHP vaikimisi pakkumises suhteliselt hiljuti. Vajalikud krĂŒptograafilised algoritmid said tĂ€nu raamatukogu Libsodium integreerimisele PHP 7.2. Kuid minimaalne versioon PHP, mida WordPress toetab, on mĂ€rgitud vĂ€ljalase 5.2.4 (WordPress 5.2 – 5.6.20 alguses). Digitaalsete allkirjade toe lisamine tooks kaasa mĂ€rgatava tĂ”usu nĂ”uetes minimaalsele toetatud PHP versioonile vĂ”i vĂ€lise sĂ”ltuvuse lisamisele, mida arendajad ei saanud arvestades PHP versioonide levikut hostimissĂŒsteemides.

Lahendus oli arendus ja Libsodium kompaktse variandi kaasamine WordPress 5.2. Naatrium Compat, milles on PHP keeles rakendatud minimaalne algoritmide kogum digitaalsete allkirjade kontrollimiseks. Rakendus jĂ€tab soovida jĂ”udluse osas, kuid lahendab tĂ€ielikult ĂŒhilduvuse probleemi ning vĂ”imaldab pluginate arendajatel alustada kaasaegsete krĂŒptograafiliste algoritmide rakendamist.

Digitaalsete allkirjade genereerimiseks kasutatakse algoritmi PerformanceResourceTiming, mille arendamisel osales Daniel Bernstein. Digitaalne allkiri genereeritakse SHA384 rĂ€sihinni pĂ”hjal, mis arvutatakse uuenduse arhiivi sisu pĂ”hjal. Ed25519 pakub kĂ”rgemat turvataset kui ECDSA ja DSA ning nĂ€itab vĂ€ga kĂ”rget allkirjade verifitseerimise ja loomise kiirus. Ed25519 tugevus hĂ€kkimise vastu on ligikaudu 2^128 (keskmiselt, et rĂŒnnata Ed25519, tuleb teha 2^140 bititehteid), mis vastab selliste algoritmide, nagu NIST P-256 ja RSA, mille vĂ”tme suurus on 3000 bitti vĂ”i 128-bitise plokksalakirjutuse tugevusele. Ed25519 ei ole ka vastuvĂ”tlik hĂ€kki rĂ€sihinnade kollisioonide probleemidele, ei ole mĂ”jatud andmete ajaskoorimise analĂŒĂŒsi (cache-timing) ja kĂŒlgrĂŒnnakute rĂŒnnakute probleemidest.

WordPress 5.2 vĂ€ljaandes katab digitaalne allkiri praegu ainult platvormi pĂ”hivĂ€rskendused, ega pĂ”hjusta vaikimisi vĂ€rskenduste blokeerimist, vaid teavitab kasutajat tekkinud probleemist. Vaikimisi ei otsustatud blokeerimist koheselt sisse lĂŒlitada, kuna on vajalik tĂ€ielik kontroll ja vĂ”imalike probleemide ĂŒletamine . Tulevikus plaanitakse digitaalsete allkirjade kontrollimist lisada ka teemade ja pluginad installatsiooniallikate versiooni valideerimiseks (tootjad saavad allkirjastada vĂ€ljaanded oma vĂ”tmega).Peale digitaalsete allkirjade toe on WordPress 5.2-s mainitud ka jĂ€rgmisi muudatusi:

Jaotisse „Site Health“ on lisatud kaks uut lehte standardsete seadistamise probleemide tĂ”rkeotsingu jaoks ning on vĂ”imalik edastada arendajate tĂ”rkeinfo saidi administraatoritele;

  • Lisatud on „surma valge ekraani“ teostus, mis kuvatakse kriitiliste probleemide korral ja aitab administraatoril iseseisvalt parandada pluginate vĂ”i teemadega seotud probleeme, minnes erilise taastereĆŸiimi.
  • Lisatud on "surma valge ekraani" rakendus, mis kuvatakse tĂ”siste probleemide korral ja aitab administraatoril ise probleeme, mis on seotud pluginatega vĂ”i teemaprogrammidega, lahendada, minnes spetsiaalsesse taaste reĆŸiimi pĂ€rast riket.
  • Rakendatud on pluginatega ĂŒhilduvuse kontrollimise sĂŒsteem, mis automaatselt kontrollib, kas pluginat saab kasutada antud konfiguratsioonis vĂ”ttes arvesse kasutatavat PHP versiooni. Kui plugin vajab uuemat PHP versiooni, blokeerib sĂŒsteem automaatselt selle sisselĂŒlitamise.
  • Lisatud tugi JavaScripti koodiga moodulite aktiveerimiseks kasutades webpack ja Babel;
  • Lisatud on uus mall privacy-policy.php, mis vĂ”imaldab kohandada lehe sisu, mis kĂ€sitleb privaatsuspoliitika tingimusi.
  • Teemade jaoks on lisatud wp_body_open hook, mis vĂ”imaldab koodi sisestada kohe pĂ€rast body sildit.
  • PHP minimaalne versiooninĂ”ue on tĂ”stetud 5.6.20-ni, ning pluginates ja teemades on nĂŒĂŒd vĂ”imalik kasutada nimespase ja anonĂŒĂŒmseid funktsioone.
  • Lisatud on 13 uut ikooni.

Lisaks vĂ”ib mainida tuvastamine kriitilist haavatavust WordPressi pluginas WP Live Chat (CVE-2019-11185). Haavatavus vĂ”imaldab serveris tĂ€ita vabalt valitud PHP koodi. Pluginat kasutatakse enam kui 27 000 veebisaidil interaktiivse vestluse korraldamiseks kĂŒlastajatega, sealhulgas selliste ettevĂ”tete nagu IKEA, Adobe, Huawei, PayPal, Tele2 ja McDonald's veebisaitidel (Live Chat kasutatakse sageli hĂŒpikakende, mis kutsub kasutajat rÀÀkima töötajaga, rakendamiseks).

Probleem ilmneb serverisse failide ĂŒleslaadimise koodis ja vĂ”imaldab mööda minna lubatud failitĂŒĂŒpide kontrollist ning ĂŒles laadida serverisse PHP skripti, millele pÀÀseb otse ligi veebibrauseri kaudu. Huvi tĂ”ttu ilmnes möödunud aastal Live Chatis sarnane haavatavus (CVE-2018-12426), mis vĂ”imaldas PHP koodi ĂŒles laadida pildi kujul, mĂ€rkides sisu tĂŒĂŒbi teisesuguseks Content-type vĂ€ljale. Probleemi lahendamise raames on lisatud tĂ€iendavaid laboreid ja MIME sisu tĂŒĂŒbi kontrollimist. VĂ”ib selguda, et need kontrollid on valesti teostatud ning neid saab kergesti petta.

Konkreetsemalt on otse ĂŒleslaadimine '.php' laiendiga keelatud, kuid musta nimekirja ei lisatud laiendit '.phtml', mis paljude serverite puhul on seotud PHP tĂ”lkijaga. Valge nimekiri lubab ainult piltide ĂŒleslaadimist, kuid seda saab mööda minna, mĂ€rkides topelt laiendi, nĂ€iteks '.gif.phtml'. MIME tĂŒĂŒbi kontrolli ringi minemiseks piisab, kui faili alguses, enne PHP koodi avamise silti, mĂ€rkida rida 'GIF89a'.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster