վեբ բովանդակության կառավարման համակարգի թողարկում . Թողարկումն աչքի է ընկնում իր ավարտով իրականացման վերաբերյալ թարմացումների և լրացումների ստուգում` օգտագործելով թվային ստորագրություն:
Մինչև հիմա, թարմացումները տեղադրելիս WordPress Անվտանգության ապահովման հիմնական գործոնը ենթակառուցվածքների և սերվերների նկատմամբ վստահությունն էր WordPress (Ներբեռնումից հետո հեշը ստուգվել է առանց աղբյուրը ստուգելու): Եթե նախագծի սերվերները վնասվել են, հարձակվողները հնարավորություն են ունեցել փոխարինել թարմացումը և տարածել վնասակար կոդը կայքերի միջև՝ հիմնվելով WordPress, օգտագործելով ավտոմատ թարմացումների տեղադրման համակարգը: Նախկինում օգտագործվող վստահելի առաքման մոդելի դեպքում նման փոխարինումը աննկատ կմնար օգտատերերի կողմից:
Հաշվի առնելով այն հանգամանքը, որ w3techs հարթակի նախագիծ WordPress Ինտերնետում կայքերի 33.8%-ի կողմից օգտագործվող միջադեպը կարող էր աղետալի լինել։ Ավելին, ենթակառուցվածքների վնասման վտանգը ենթադրական չէր, այլ բավականին իրական։ Օրինակ՝ մի քանի տարի առաջ անվտանգության հետազոտող խոցելիություն, որը հարձակվողին թույլ է տալիս կատարել իր կոդը api.wordpress.org-ի սերվերի կողմից:
Եթե օգտագործվում են թվային ստորագրություններ, թարմացումների բաշխման սերվերի վրա վերահսկողություն ձեռք բերելը չի հանգեցնի օգտատերերի համակարգերի փոխզիջմանը, քանի որ հարձակում իրականացնելու համար դուք լրացուցիչ պետք է ձեռք բերեք առանձին պահված մասնավոր բանալի, որն օգտագործվում է թարմացումները ստորագրելու համար:
Թվային ստորագրության միջոցով թարմացումների աղբյուրի ստուգման իրականացումը խոչընդոտվեց այն փաստով, որ անհրաժեշտ գաղտնագրման ալգորիթմների աջակցությունը համեմատաբար վերջերս հայտնվեց ստանդարտ PHP փաթեթում: Գրադարանի ինտեգրման շնորհիվ հայտնվեցին անհրաժեշտ գաղտնագրման ալգորիթմները հիմնական թիմին Բայց որպես նվազագույն աջակցություն WordPress PHP տարբերակներ Թողարկում 5.2.4 (սկսած WordPress 5.2 - 5.6.20): Թվային ստորագրությունների աջակցության միացումը զգալիորեն կբարձրացներ PHP-ի նվազագույն աջակցվող տարբերակի պահանջները կամ կավելացներ արտաքին կախվածություն, ինչը մշակողները չէին կարող անել՝ հաշվի առնելով PHP տարբերակների տարածվածությունը հոսթինգային համակարգերում:
Լուծումը եղել է և ներառումը կազմի մեջ WordPress Լիբսոդիումի 5.2 կոմպակտ տարբերակը - , որում PHP-ում ներդրված է թվային ստորագրությունների ստուգման ալգորիթմների նվազագույն փաթեթ։ Իրականացումը շատ ցանկալի է թողնում կատարողականի առումով, բայց ամբողջությամբ լուծում է համատեղելիության խնդիրը, ինչպես նաև թույլ է տալիս հավելվածների մշակողներին սկսել ժամանակակից գաղտնագրման ալգորիթմների ներդրումը:
Թվային ստորագրություններ ստեղծելու համար օգտագործվում է ալգորիթմ , մշակվել է Դանիել Ջ.Բերնշտայնի մասնակցությամբ։ Թվային ստորագրություն է ստեղծվում SHA384 հեշ արժեքի համար, որը հաշվարկվում է թարմացման արխիվի բովանդակությունից: Ed25519-ն ունի անվտանգության ավելի բարձր մակարդակ, քան ECDSA-ն և DSA-ն և ցուցադրում է ստուգման և ստորագրության ստեղծման շատ բարձր արագություն: Ed25519-ի հաքերային դիմադրությունը մոտ 2^128 է (միջինում Ed25519-ի վրա հարձակումը կպահանջի 2^140 բիթ գործողություններ), ինչը համապատասխանում է այնպիսի ալգորիթմների դիմադրությանը, ինչպիսիք են NIST P-256-ը և RSA-ն 3000 բիթ հիմնական չափսով: կամ 128-բիթանոց բլոկային ծածկագիր: Ed25519-ը նույնպես ենթակա չէ հեշ բախումների հետ կապված խնդիրների և զգայուն չէ քեշի ժամանակի գրոհների և կողային ալիքի հարձակումների նկատմամբ:
Թողարկման մեջ WordPress 5.2 Թվային ստորագրության ստուգումը ներկայումս ներառում է միայն հիմնական հարթակի թարմացումները և լռելյայնորեն չի արգելափակում թարմացումը, այլ միայն տեղեկացնում է օգտատիրոջը խնդրի մասին: Որոշվել է լռելյայնորեն չմիացնել արգելափակումը՝ լրիվ ստուգման և շրջանցման անհրաժեշտության պատճառով: . Ապագայում նախատեսվում է նաև ավելացնել թվային ստորագրության ստուգում՝ թեմաների և պլագինների տեղադրման աղբյուրը ստուգելու համար (արտադրողները կկարողանան ստորագրել թողարկումները իրենց բանալիով):
Բացի թվային ստորագրությունների աջակցությունից, WordPress 5.2-ում կարելի է նշել հետևյալ փոփոխությունները.
- «Կայքի առողջություն» բաժնում ավելացվել են երկու նոր էջեր՝ ընդհանուր կազմաձևման խնդիրները կարգաբերելու համար, ինչպես նաև տրամադրվել է ձև, որի միջոցով մշակողները կարող են վրիպազերծման մասին տեղեկությունները թողնել կայքի ադմինիստրատորներին.
- Ավելացվել է «մահվան սպիտակ էկրանի» իրականացումը, որը ցուցադրվում է ճակատագրական խնդիրների դեպքում և օգնում է ադմինիստրատորին ինքնուրույն շտկել պլագինների կամ թեմաների հետ կապված խնդիրները՝ անցնելով վթարի վերականգնման հատուկ ռեժիմի.
- Ներդրվել է պլագինների հետ համատեղելիության ստուգման համակարգ, որն ավտոմատ կերպով ստուգում է ընթացիկ կոնֆիգուրացիայի մեջ plugin-ի օգտագործման հնարավորությունը՝ հաշվի առնելով օգտագործվող PHP-ի տարբերակը։ Եթե plugin-ը պահանջում է PHP-ի ավելի նոր տարբերակ աշխատելու համար, համակարգը ավտոմատ կերպով կարգելափակի այս փլագինի ներառումը.
- Ավելացվել է JavaScript կոդով մոդուլները միացնելու աջակցություն и ;
- Ավելացրել է նոր privacy-policy.php ձևանմուշ, որը թույլ է տալիս հարմարեցնել գաղտնիության քաղաքականության էջի բովանդակությունը.
- Թեմաների համար ավելացվել է wp_body_open hook handler, որը թույլ է տալիս տեղադրել կոդը անմիջապես body tag-ից հետո;
- PHP-ի նվազագույն տարբերակի պահանջները հասցվել են 5.6.20-ի, փլագիններն ու թեմաներն այժմ հնարավորություն ունեն օգտագործելու անունների տարածքներ և անանուն գործառույթներ.
- Ավելացվել է 13 նոր պատկերակ:
Բացի այդ, կարող եք նշել կրիտիկական խոցելիություն WordPress-պլագին (CVE-2019-11185): Խոցելիությունը թույլ է տալիս կամայական PHP կոդը կատարել սերվերի վրա: Պլագինը օգտագործվում է ավելի քան 27 հազար կայքերում՝ այցելուի հետ ինտերակտիվ զրույց կազմակերպելու համար, ներառյալ այնպիսի ընկերությունների կայքերում, ինչպիսիք են IKEA-ն, Adobe-ը, Huawei-ը, PayPal-ը, Tele2-ը և McDonald's-ը (Live Chat-ը հաճախ օգտագործվում է անհանգստացնող թռուցիկներ իրականացնելու համար։ զրույցներ ընկերության կայքերում առաջարկներով զրուցել աշխատակցի հետ):
Խնդիրը դրսևորվում է սերվերում ֆայլեր վերբեռնելու կոդով և թույլ է տալիս շրջանցել վավեր ֆայլերի տեսակների ստուգումը և վերբեռնել PHP սկրիպտը սերվերի վրա, այնուհետև այն կատարել անմիջապես համացանցի միջոցով: Հետաքրքիր է, որ անցյալ տարի նմանատիպ խոցելիություն արդեն հայտնաբերվել էր Live Chat-ում (CVE-2018-12426), որը թույլ էր տալիս PHP ծածկագիրը բեռնել պատկերի քողի տակ՝ Content-type դաշտում նշելով բովանդակության այլ տեսակ: Որպես ուղղման մաս՝ լրացուցիչ ստուգումներ են ավելացվել սպիտակ ցուցակների և MIME բովանդակության տեսակի համար: Ինչպես պարզվում է, այդ ստուգումները սխալ են իրականացվում և հեշտությամբ կարելի է շրջանցել։
Մասնավորապես, արգելվում է «.php» ընդլայնմամբ ֆայլերի ուղղակի վերբեռնումը, սակայն «.phtml» ընդլայնումը, որը կապված է բազմաթիվ սերվերների PHP թարգմանչի հետ, չի ավելացվել սև ցուցակում։ Սպիտակ ցուցակը թույլ է տալիս միայն պատկերների վերբեռնում, բայց դուք կարող եք շրջանցել այն՝ նշելով կրկնակի ընդլայնում, օրինակ՝ «.gif.phtml»: Ֆայլի սկզբում MIME տեսակի ստուգումը շրջանցելու համար, նախքան PHP կոդով պիտակը բացելը, բավական էր նշել «GIF89a» տողը։
Source: opennet.ru
