Raqamli imzo orqali yangilanishlarni tekshirishni qo'llab-quvvatlaydigan WordPress 5.2 versiyasi

Tanishtirdi veb-kontentni boshqarish tizimining chiqarilishi WordPress 5.2. Chiqarish tugallanishi bilan ajralib turadi olti yillik doston amalga oshirish bo'yicha imkoniyatlar raqamli imzo yordamida yangilanishlar va qo'shimchalarni tekshirish.

Hozirgacha WordPress-da yangilanishlarni o'rnatishda asosiy xavfsizlik omili WordPress infratuzilmasi va serverlariga ishonch edi (yuklab olingandan so'ng, xesh manbani tasdiqlamasdan tekshirildi). Agar loyiha serverlari buzilgan bo'lsa, tajovuzkorlar yangilanishni aldashlari va avtomatik yangilanishlarni o'rnatish tizimidan foydalanadigan WordPress-ga asoslangan saytlar orasida zararli kodlarni tarqatishlari mumkin edi. Ilgari foydalanilgan ishonch yetkazib berish modeliga ko'ra, bunday almashtirish foydalanuvchilar tomonidan e'tiborsiz qolar edi.

Shuni hisobga olgan holda ma'lumotlar w3techs loyihasining WordPress platformasi tarmoqdagi saytlarning 33.8 foizida qo'llanilsa, hodisa falokat miqyosida bo'lardi. Shu bilan birga, infratuzilmaning buzilishi xavfi faraziy emas, balki juda real edi. Misol uchun, bir necha yil oldin xavfsizlik tadqiqotchilaridan biri namoyish etildi tajovuzkorga o'z kodini api.wordpress.org server tomonida bajarishga imkon beruvchi zaiflik.

Raqamli imzolar bo'lsa, yangilanishlarni tarqatish serveri ustidan nazoratni qo'lga kiritish foydalanuvchi tizimlarining buzilishiga olib kelmaydi, chunki hujumni amalga oshirish uchun siz qo'shimcha ravishda yangilanishlar imzolanadigan alohida saqlanadigan shaxsiy kalitni olishingiz kerak bo'ladi.

Raqamli imzo yordamida yangilanishlar manbasini tekshirishni amalga oshirishga zarur kriptografik algoritmlarni qo'llab-quvvatlash standart PHP paketida nisbatan yaqinda paydo bo'lganligi sababli to'sqinlik qildi. Kutubxona integratsiyasi tufayli kerakli kriptografik algoritmlar paydo bo'ldi Libsodiy asosiy jamoaga PHP 7.2. Ammo WordPress-da PHP-ning minimal qo'llab-quvvatlanadigan versiyasi sifatida e'lon qilingan 5.2.4 versiyasi (WordPress 5.2 - 5.6.20 dan). Raqamli imzolarni qo'llab-quvvatlashni yoqish PHP ning minimal qo'llab-quvvatlanadigan versiyasiga talablarning sezilarli darajada oshishiga yoki tashqi bog'liqlikning qo'shilishiga olib keladi, bu hosting tizimlarida PHP versiyalarining keng tarqalganligini hisobga olgan holda ishlab chiquvchilar buni qila olmagan.

Yechim shunday edi ishlab chiqish va Libsodium-ning ixcham versiyasini WordPress 5.2-ga kiritish - Natriyga mos, bunda PHP-da raqamli imzolarni tekshirish uchun minimal algoritmlar to'plami amalga oshiriladi. Amalga oshirish unumdorlik nuqtai nazaridan ko'p narsani talab qiladi, lekin moslik muammosini to'liq hal qiladi, shuningdek, plagin ishlab chiquvchilarga zamonaviy kriptografik algoritmlarni amalga oshirishni boshlash imkonini beradi.

Raqamli imzolarni yaratish uchun algoritm qo'llaniladi Ed25519, Daniel J. Bernshteyn ishtirokida ishlab chiqilgan. Yangilanish arxivi tarkibidan hisoblangan SHA384 xesh qiymati uchun raqamli imzo yaratiladi. Ed25519 ECDSA va DSA ga qaraganda yuqori darajadagi xavfsizlikka ega va tekshirish va imzo yaratishning juda yuqori tezligini namoyish etadi. Ed25519 uchun xakerlik qarshiligi taxminan 2 ^ 128 ni tashkil qiladi (o'rtacha, Ed25519 ga hujum qilish uchun 2 ^ 140 bit operatsiyalarni talab qiladi), bu NIST P-256 va RSA kabi kalit o'lchami 3000 bit bo'lgan algoritmlarning qarshiligiga mos keladi. yoki 128 bitli blokli shifr. Ed25519 shuningdek, xesh-to'qnashuvlar bilan bog'liq muammolarga sezgir emas va kesh-vaqt hujumlariga yoki yon kanal hujumlariga sezgir emas.

WordPress 5.2 versiyasida raqamli imzo tekshiruvi hozirda faqat asosiy platforma yangilanishlarini qamrab oladi va yangilanishni sukut bo'yicha bloklamaydi, faqat foydalanuvchini muammo haqida xabardor qiladi. To'liq tekshirish va chetlab o'tish zarurati tufayli standart blokirovkani darhol yoqmaslikka qaror qilindi mumkin bo'lgan muammolar. Kelajakda mavzular va plaginlarni o'rnatish manbasini tekshirish uchun raqamli imzoni tekshirishni qo'shish ham rejalashtirilmoqda (ishlab chiqaruvchilar o'z kalitlari bilan relizlarni imzolashlari mumkin).

WordPress 5.2 da raqamli imzolarni qo'llab-quvvatlashdan tashqari, quyidagi o'zgarishlarni qayd etish mumkin:

  • Umumiy konfiguratsiya muammolarini tuzatish uchun "Sayt salomatligi" bo'limiga ikkita yangi sahifa qo'shildi va ishlab chiquvchilar disk raskadrovka ma'lumotlarini sayt ma'murlariga qoldirishi mumkin bo'lgan shakl ham taqdim etildi;
  • O'limga olib keladigan muammolar yuzaga kelganda ko'rsatiladigan va administratorga maxsus nosozlikni tiklash rejimiga o'tish orqali plaginlar yoki mavzular bilan bog'liq muammolarni mustaqil ravishda hal qilishga yordam beradigan "o'limning oq ekrani" ilovasi qo'shildi;
  • Plaginlar bilan mosligini tekshirish tizimi joriy etildi, u plagindan joriy konfiguratsiyada foydalanilgan PHP versiyasini hisobga olgan holda avtomatik ravishda foydalanish imkoniyatini tekshiradi. Agar plagin ishlashi uchun PHP ning yangiroq versiyasi talab qilinsa, tizim ushbu plaginni kiritishni avtomatik ravishda bloklaydi;
  • JavaScript kodi yordamida modullarni yoqish uchun qo'shimcha yordam veb-paket и Bobil;
  • Maxfiylik siyosati sahifasi mazmunini sozlash imkonini beruvchi yangi privacy-policy.php shablonini qo‘shdi;
  • Mavzular uchun wp_body_open hook ishlov beruvchisi qo'shildi, bu sizga kodni tana tegidan keyin darhol kiritish imkonini beradi;
  • PHP ning minimal versiyasiga qo'yiladigan talablar 5.6.20 ga ko'tarildi, plaginlar va mavzular endi nomlar maydoni va anonim funksiyalardan foydalanish imkoniyatiga ega;
  • 13 ta yangi piktogramma qo'shildi.

Bundan tashqari, siz eslatib o'tishingiz mumkin aniqlash WordPress plaginidagi muhim zaiflik WP jonli suhbat (CVE-2019-11185). Zaiflik serverda o'zboshimchalik bilan PHP kodini bajarishga imkon beradi. Plagin tashrif buyuruvchi bilan interaktiv suhbatni tashkil qilish uchun 27 mingdan ortiq saytlarda, shu jumladan IKEA, Adobe, Huawei, PayPal, Tele2 va McDonald's kabi kompaniyalar saytlarida qo'llaniladi (Live Chat ko'pincha zerikarli qalqib chiquvchi oynani amalga oshirish uchun ishlatiladi. takliflar bilan kompaniya saytlarida suhbatlar xodim bilan suhbat).

Muammo fayllarni serverga yuklash kodida namoyon bo'ladi va sizga haqiqiy fayl turlarini tekshirishni chetlab o'tish va PHP skriptini serverga yuklash va keyin uni to'g'ridan-to'g'ri internet orqali bajarish imkonini beradi. Qizig‘i shundaki, o‘tgan yili xuddi shunday zaiflik Live Chat’da (CVE-2018-12426) allaqachon aniqlangan edi, bu esa Kontent turi maydonida boshqa kontent turini ko‘rsatib, tasvir niqobi ostida PHP kodini yuklash imkonini berdi. Tuzatishning bir qismi sifatida oq roʻyxatlar va MIME kontent turi uchun qoʻshimcha tekshiruvlar qoʻshildi. Ma'lum bo'lishicha, bu tekshiruvlar noto'g'ri amalga oshirilgan va ularni osongina chetlab o'tish mumkin.

Xususan, “.php” kengaytmali fayllarni to‘g‘ridan-to‘g‘ri yuklash taqiqlangan, biroq ko‘plab serverlarda PHP tarjimoni bilan bog‘langan “.phtml” kengaytmasi qora ro‘yxatga kiritilmagan. Oq ro'yxat faqat rasmni yuklashga ruxsat beradi, lekin siz ikki tomonlama kengaytmani belgilash orqali uni chetlab o'tishingiz mumkin, masalan, ".gif.phtml". Fayl boshida MIME turini tekshirishni chetlab o'tish uchun tegni PHP kodi bilan ochishdan oldin "GIF89a" qatorini ko'rsatish kifoya edi.

Manba: opennet.ru

a Izoh qo'shish