Utgivning av WordPress 5.2 med stöd för verifiering av uppdateringar med digital signatur.

Presenteras utgÄvan av webbplatshanteringssystemet WordPress 5.2. UtgÄvan utmÀrks av avslutningen pÄ en sexÄrig epope för att genomföra möjligheten till verifiering av uppdateringar och tillÀgg genom digital signerande.

Än sĂ„ lĂ€nge har tillit till WordPress infrastruktur och servrar varit den huvudsakliga faktorn för sĂ€kerhet vid installation av uppdateringar (efter nedladdning utfördes en hash-jĂ€mförelse utan verifiering av kĂ€llan). Vid kompromettering av projektservrar hade angriparna möjlighet att manipulera uppdateringen och sprida skadlig kod bland webbplatser som anvĂ€nder WordPress automatiska uppdateringssystem. Enligt den tidigare tillĂ€mpade tillitsmodellen för distribution skulle en sĂ„dan manipulation förbli obemĂ€rkt för anvĂ€ndarna.

Med tanke pÄ att enligt data w3techs plattform anvÀnds WordPress pÄ 33,8% av webbplatserna pÄ nÀtet, skulle incidenten ha en katastrofal omfattning. Samtidigt var riskerna för kompromettering av infrastrukturen inte hypotetiska, utan fullt verkliga. Till exempel för flera Är sedan upptÀckte en av sÀkerhetsforskare visade en sÄrbarhet som gjorde det möjligt för en angripare att köra sin kod pÄ serversidan av api.wordpress.org.

Vid anvÀndning av digitala signaturer skulle kontroll av uppdateringsdistributionsservern inte leda till kompromiss av anvÀndarsystem, eftersom en attack dessutom skulle krÀva att man fÄr ett separat lagrat privat nyckel, med vilket uppdateringar signeras.

Införandet av kĂ€llverifiering för uppdateringar genom digital signerande hindrades av det faktum att stöd för de nödvĂ€ndiga kryptografiska algoritmerna tillkommit relativt nyligen i PHP:s standardleverans. De nödvĂ€ndiga kryptografiska algoritmerna kom till genom integration av biblioteket Libsodium i kĂ€rnan PHP 7.2. Men den minimi stödja versionen av PHP som anges för WordPress Ă€r version 5.2.4 (frĂ„n och med WordPress 5.2 – 5.6.20). Inkluderingen av stöd för digitala signaturer skulle leda till en betydande ökning av kraven för den minimi stödja versionen av PHP eller tillĂ€gg av ett externt beroende, vilket utvecklarna inte kunde gĂ„ med pĂ„ med hĂ€nsyn till spridningen av PHP-versioner inom hosting-system.

Lösningen var utveckling att inkludera en kompakt version av Libsodium i WordPress 5.2 — Sodium Compat, dĂ€r en minimiuppsĂ€ttning algoritmer för kontroll av digitala signaturer implementerats pĂ„ sprĂ„ket PHP. Implementeringen lĂ€mnar mycket att önska nĂ€r det gĂ€ller prestanda, men löser helt kompatibilitetsproblemet, samt möjliggör för plugin-utvecklare att pĂ„börja implementeringen av moderna kryptografiska algoritmer.

För att skapa digitala signaturer anvÀnds algoritmen Ed25519, utvecklad i samarbete med Daniel Bernstein (Daniel J. Bernstein). Den digitala signaturen skapas för hashvÀrdet SHA384, berÀknat frÄn innehÄllet i arkivet med uppdateringen. Ed25519 har en högre sÀkerhetsnivÄ Àn ECDSA och DSA, och visar en mycket hög hastighet för verifiering och skapande av signaturer. MotstÄndet mot intrÄng för Ed25519 ligger pÄ ungefÀr 2^128 (i genomsnitt krÀvs 2^140 bitoperationer för att attackera Ed25519), vilket motsvarar motstÄndet hos alternativ som NIST P-256 och RSA med en nyckelstorlek pÄ 3000 bitar eller 128-bitars blockchiffer. Ed25519 Àr ocksÄ inte kÀnslig för kollisioner i hashar, och Àr motstÄndskraftig mot attacker genom cache-timing och attacker genom sidokanaler.

I versionen av WordPress 5.2 omfattar kontrollen av digitala signaturer endast de huvudsakliga uppdateringarna av plattformen och leder inte som standard till blockering av uppdateringar, utan informerar anvÀndaren om det problem som uppstÄtt. Blockering som standard har beslutats att inte inkluderas omedelbart pÄ grund av behovet av fullstÀndig kontroll och kringgÄ möjliga problem. I framtiden planeras kontrollen av digitala signaturer ocksÄ att lÀggas till för verifiering av kÀllan till installationen av teman och plugins (tillverkare kommer att kunna signera utgÄvor med sin nyckel).

Förutom stödet för digitala signaturer i WordPress 5.2 kan följande förÀndringar noteras:

  • I avsnittet 'Site Health' har tvĂ„ nya sidor lagts till för att felsöka typiska konfigurationsproblem, samt tillhandahĂ„lls ett formulĂ€r genom vilket utvecklare kan lĂ€mna felsökningsinformation till webbplatsens administratörer;
  • En implementation av 'den vita döds-skĂ€rmen' har lagts till, som visas vid fatala problem och hjĂ€lper administratören att sjĂ€lvstĂ€ndigt lösa problem relaterade till plugins eller teman genom att gĂ„ in i ett sĂ€rskilt Ă„terstĂ€llningslĂ€ge efter krasch;
  • Ett kompatibilitetstestssystem med tillĂ€ggen har implementerats, vilket automatiskt kontrollerar möjligheten att anvĂ€nda ett tillĂ€gg i den aktuella konfigurationen med hĂ€nsyn till den anvĂ€nda PHP-versionen. Om ett tillĂ€gg krĂ€ver en nyare PHP-version, kommer systemet automatiskt att blockera aktiveringen av det tillĂ€gget;
  • Stöd för aktivering av moduler med JavaScript-kod har lagts till med hjĂ€lp av webpack och Babel;
  • En ny mall privacy-policy.php har lagts till, vilket gör det möjligt att anpassa innehĂ„llet pĂ„ sidan med villkor för att skydda integriteten;
  • För teman har en wp_body_open hook-lösning lagts till, vilket möjliggör insĂ€ttning av kod direkt efter body-taggen;
  • Krav pĂ„ minimal PHP-version har höjts till 5.6.20, och tillĂ€gg samt teman kan nu anvĂ€nda namnrymder och anonyma funktioner;
  • Tretton nya ikoner har lagts till.

Dessutom kan man nÀmna identifiering en kritisk sÄrbarhet i WordPress-tillÀgget WP Live Chat (CVE-2019-11185). SÄrbarheten tillÄter exekvering av godtycklig PHP-kod pÄ servern. TillÀgget anvÀnds pÄ mer Àn 27 000 webbplatser för att organisera interaktiv chat med besökare, inklusive pÄ webbplatser för företag sÄsom IKEA, Adobe, Huawei, PayPal, Tele2 och McDonald's (Live Chat anvÀnds ofta för att implementera pÄtrÀngande chattar pÄ företagswebbplatser med erbjudanden om att prata med en anstÀlld).

Problemet uppstÄr i koden för filuppladdning till servern och tillÄter att kontrollen av tillÄtna filtyper kringgÄs och ladda upp en PHP-script till servern, vilket sedan kan exekveras direkt genom webben. Intressant nog upptÀcktes en liknande sÄrbarhet i Live Chat förra Äret (CVE-2018-12426), vilket tillÀt uppladdning av PHP-kod under förespeglingen av en bild, genom att ange en annan typ av innehÄll i Content-type-fÀltet. För att ÄtgÀrda problemet har ytterligare kontroller baserade pÄ vitlistor och MIME-typ lagts till. Det visade sig att dessa kontroller Àr felaktigt implementerade och lÀtt kan kringgÄs.

Specifikt Àr direkt uppladdning av filer med Àndelsen '.php' förbjuden, men Àndelsen '.phtml' lades inte till i svartlistan, vilken pÄ mÄnga servrar Àr kopplad till PHP-tolkaren. Den vita listan tillÄter endast uppladdning av bilder, men kan kringgÄs genom att ange en dubbel Àndelse, till exempel '.gif.phtml'. För att kringgÄ kontroller av MIME-typ Àr det tillrÀckligt att ange strÀngen 'GIF89a' i början av filen, före öppningen av PHP-kodtaggen.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster