Жаңартуларды цифрлық қолтаңба арқылы тексеруге қолдау көрсететін WordPress 5.2 шығарылымы

Жіберген веб-мазмұнды басқару жүйесін шығару WordPress 5.2. Шығарылым өзінің аяқталуымен ерекшеленеді алты жылдық эпос жүзеге асыру бойынша мүмкіндіктері ЭЦҚ арқылы жаңартулар мен толықтыруларды тексеру.

Осы уақытқа дейін WordPress-те жаңартуларды орнату кезінде негізгі қауіпсіздік факторы WordPress инфрақұрылымы мен серверлеріне сенім болды (жүктеп алғаннан кейін хэш дереккөзді растамай тексерілді). Жобаның серверлеріне қауіп төнсе, шабуылдаушылар жаңартуды қолданып, автоматты жаңартуды орнату жүйесін пайдаланатын WordPress негізіндегі сайттар арасында зиянды кодты тарата алды. Бұрын қолданылған сенімді жеткізу үлгісіне сәйкес мұндай ауыстыру пайдаланушылар тарапынан байқалмай қалатын еді.

Осыны ескере отырып деректер w3techs жобасының мәліметі бойынша, WordPress платформасы желідегі сайттардың 33.8% -ында қолданылады, оқиға апат ауқымында болар еді. Сонымен қатар, инфрақұрылымдық ымыраға келу қаупі гипотетикалық емес, нақты болды. Мысалы, бірнеше жыл бұрын қауіпсіздікті зерттеушілердің бірі көрсетті шабуылдаушыға api.wordpress.org сервер жағында өз кодын орындауға мүмкіндік беретін осалдық.

Цифрлық қолтаңба жағдайында жаңартуды тарату серверін бақылау пайдаланушы жүйелерінің бұзылуына әкелмейді, өйткені шабуыл жасау үшін сізге қосымша жаңартуларға қол қойылған бөлек сақталған жеке кілтті алу қажет болады.

Жаңартулар көзін цифрлық қолтаңба арқылы тексеруді жүзеге асыруға қажетті криптографиялық алгоритмдерді қолдау стандартты PHP пакетінде салыстырмалы түрде жақында пайда болғаны кедергі келтірді. Кітапхананың интеграциясының арқасында қажетті криптографиялық алгоритмдер пайда болды Либсодий негізгі командаға PHP 7.2. Бірақ WordPress-те PHP-тің ең аз қолдау көрсетілетін нұсқасы ретінде мәлімдеді 5.2.4 шығарылымы (WordPress 5.2 - 5.6.20 бастап). Цифрлық қолтаңбаны қолдауды қосу PHP-тің ең аз қолдау көрсетілетін нұсқасына қойылатын талаптардың айтарлықтай артуына немесе хостинг жүйелерінде РНР нұсқаларының кең таралғанын ескере отырып, әзірлеушілер жасай алмайтын сыртқы тәуелділікті қосуға әкеледі.

Шешім болды әзірлеу және Libsodium ықшам нұсқасын WordPress 5.2-ге қосу - Натриймен үйлесімді, онда PHP-де цифрлық қолтаңбаны тексеруге арналған алгоритмдердің минималды жиынтығы жүзеге асырылады. Іске асыру өнімділік тұрғысынан көп нәрсені қажет етеді, бірақ үйлесімділік мәселесін толығымен шешеді, сонымен қатар плагин әзірлеушілеріне заманауи криптографиялық алгоритмдерді енгізуді бастауға мүмкіндік береді.

Электрондық цифрлық қолтаңбаны құру үшін алгоритм қолданылады Ed25519, Дэниел Дж. Бернштейннің қатысуымен әзірленген. Жаңарту мұрағатының мазмұнынан есептелген SHA384 хэш мәні үшін сандық қолтаңба жасалады. Ed25519 ECDSA және DSA қарағанда жоғарырақ қауіпсіздік деңгейіне ие және тексеру мен қолтаңба жасаудың өте жоғары жылдамдығын көрсетеді. Ed25519 үшін бұзуға қарсылық шамамен 2^128 құрайды (орташа алғанда, Ed25519 шабуылына 2^140 бит операциялар қажет), бұл NIST P-256 және 3000 бит кілт өлшемі бар RSA сияқты алгоритмдердің қарсылығына сәйкес келеді. немесе 128-биттік блоктық шифр. Ed25519 сонымен қатар хэш соқтығыстарымен байланысты мәселелерге сезімтал емес және кэш-уақыттық шабуылдарға және бүйірлік арна шабуылдарына сезімтал емес.

WordPress 5.2 шығарылымында цифрлық қолтаңбаны тексеру қазіргі уақытта тек негізгі платформа жаңартуларын қамтиды және әдепкі бойынша жаңартуды блоктамайды, тек пайдаланушыға мәселе туралы хабарлайды. Толық тексеру және айналып өту қажеттілігіне байланысты әдепкі блоктауды бірден қоспау туралы шешім қабылданды мүмкін проблемалар. Болашақта тақырыптар мен плагиндерді орнату көзін тексеру үшін цифрлық қолтаңбаны тексеруді қосу да жоспарлануда (өндірушілер өз кілттері арқылы шығарылымдарға қол қоя алады).

WordPress 5.2 жүйесінде цифрлық қолтаңбаны қолдаудан басқа, келесі өзгерістерді атап өтуге болады:

  • Жалпы конфигурация мәселелерін түзету үшін «Сайт денсаулығы» бөліміне екі жаңа бет қосылды және әзірлеушілер сайт әкімшілеріне жөндеу туралы ақпаратты қалдыра алатын пішін де ұсынылды;
  • Қауіпті мәселелер туындаған жағдайда көрсетілетін және әкімшіге апатты қалпына келтірудің арнайы режиміне ауысу арқылы плагиндерге немесе тақырыптарға қатысты мәселелерді дербес шешуге көмектесетін «өлімнің ақ экранын» іске асыру қосылды;
  • Плагиндермен үйлесімділікті тексеру жүйесі енгізілді, ол қолданылатын PHP нұсқасын ескере отырып, ағымдағы конфигурацияда плагинді пайдалану мүмкіндігін автоматты түрде тексереді. Егер плагин жұмыс істеу үшін PHP-тің жаңарақ нұсқасын қажет етсе, жүйе бұл плагинді қосуды автоматты түрде блоктайды;
  • JavaScript коды бар модульдерді қосу үшін қолдау қосылды веб-пакет и Бабель;
  • Құпиялық саясаты бетінің мазмұнын теңшеуге мүмкіндік беретін жаңа privacy-policy.php үлгісі қосылды;
  • Тақырыптар үшін негізгі тегінен кейін бірден кодты енгізуге мүмкіндік беретін wp_body_open ілмек өңдегіші қосылды;
  • РНР минималды нұсқасына қойылатын талаптар 5.6.20 дейін көтерілді, енді плагиндер мен тақырыптарда аттар кеңістігі мен анонимді функцияларды пайдалану мүмкіндігі бар;
  • 13 жаңа белгіше қосылды.

Қосымша, атап өтуге болады анықтау WordPress плагиніндегі маңызды осалдық WP Live Chat (CVE-2019-11185). Осалдық серверде ерікті PHP кодын орындауға мүмкіндік береді. Плагин келушілермен интерактивті чатты ұйымдастыру үшін 27 мыңнан астам сайттарда, соның ішінде IKEA, Adobe, Huawei, PayPal, Tele2 және McDonald's сияқты компаниялардың сайттарында қолданылады (Live Chat жиі қалқымалы терезені ашу үшін пайдаланылады. Қызметкермен сөйлесу ұсыныстары бар компания сайттарындағы чаттар).

Мәселе файлдарды серверге жүктеп салу кодында көрінеді және жарамды файл түрлерін тексеруді айналып өтуге және PHP сценарийін серверге жүктеп салуға, содан кейін оны тікелей веб арқылы орындауға мүмкіндік береді. Бір қызығы, өткен жылы ұқсас осалдық Live Chat-та (CVE-2018-12426) анықталған болатын, ол Мазмұн түрі өрісінде басқа мазмұн түрін көрсете отырып, PHP кодын кескіннің астында жүктеуге мүмкіндік берді. Түзету бөлігі ретінде ақ тізімдер мен MIME мазмұн түрі үшін қосымша тексерулер қосылды. Белгілі болғандай, бұл тексерулер дұрыс орындалмаған және оларды оңай айналып өтуге болады.

Атап айтқанда, «.php» кеңейтімі бар файлдарды тікелей жүктеп салуға тыйым салынады, бірақ көптеген серверлерде PHP интерпретаторымен байланысты «.phtml» кеңейтімі қара тізімге қосылмаған. Ақ тізім тек суретті жүктеп салуға рұқсат береді, бірақ қос кеңейтімді көрсету арқылы оны айналып өтуге болады, мысалы, «.gif.phtml». Файлдың басындағы MIME түрін тексеруді айналып өту үшін PHP коды бар тегті ашпас бұрын «GIF89a» жолын көрсету жеткілікті болды.

Ақпарат көзі: opennet.ru

пікір қалдыру