вэб агуулгын удирдлагын системийг гаргах . Уг хувилбар нь дууссан гэдгээрээ алдартай хэрэгжилтийн талаар тоон гарын үсэг ашиглан шинэчлэлт, нэмэлтүүдийг шалгах.
Одоог хүртэл шинэчлэлтүүдийг суулгах үед 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 Libsodium-ийн 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 Дараах өөрчлөлтүүдийг тэмдэглэж болно.
- "Сайтын эрүүл мэнд" хэсэгт нийтлэг тохиргооны асуудлуудыг засах зорилгоор хоёр шинэ хуудас нэмэгдсэн бөгөөд хөгжүүлэгчид сайтын админуудад алдаа засах мэдээллийг үлдээх маягтыг өгсөн;
- Үхлийн асуудал гарсан тохиолдолд дэлгэцэн дээр гарч буй "үхлийн цагаан дэлгэц"-ийн хэрэгжилтийг нэмж, администраторт гэмтлийг сэргээх тусгай горимд шилжих замаар залгаас эсвэл сэдэвтэй холбоотой асуудлыг бие даан шийдвэрлэхэд нь тусалдаг;
- Ашигласан PHP хувилбарыг харгалзан залгаасыг одоогийн тохиргоонд ашиглах боломжийг автоматаар шалгадаг залгаасуудтай нийцтэй байдлыг шалгах системийг нэвтрүүлсэн. Хэрэв залгаас ажиллахын тулд PHP-ийн шинэ хувилбар шаардлагатай бол систем автоматаар энэ залгаасыг оруулахыг хориглоно;
- JavaScript код ашиглан модулиудыг идэвхжүүлэх дэмжлэг нэмэгдсэн и ;
- Нууцлалын бодлогын хуудасны агуулгыг өөрчлөх боломжийг олгодог шинэ privacy-policy.php загварыг нэмсэн;
- Загварын хувьд wp_body_open дэгээ зохицуулагчийг нэмсэн бөгөөд энэ нь танд биеийн шошгоны дараа шууд код оруулах боломжийг олгоно;
- PHP-ийн хамгийн бага хувилбарт тавигдах шаардлагыг 5.6.20 болгож нэмэгдүүлсэн бөгөөд сэдвүүд нь нэрийн орон зай, нэргүй функцуудыг ашиглах боломжтой болсон;
- 13 шинэ дүрс нэмсэн.
Үүнээс гадна та дурдаж болно чухал эмзэг байдал WordPress-залгаас (CVE-2019-11185). Энэ эмзэг байдал нь сервер дээр дурын PHP кодыг ажиллуулах боломжийг олгодог. Энэхүү залгаасыг IKEA, Adobe, Huawei, PayPal, Tele27, McDonald's зэрэг компаниудын сайтууд зэрэг зочинтой интерактив чат зохион байгуулах зорилгоор 2 мянга гаруй сайтад ашигладаг. ажилтантай чатлах санал бүхий компанийн сайтууд дээр чатлах).
Асуудал нь серверт файл байршуулах кодонд илэрч, хүчинтэй файлын төрлүүдийн шалгалтыг давж PHP скриптийг серверт байршуулж, дараа нь вэбээр дамжуулан шууд гүйцэтгэх боломжийг олгодог. Сонирхолтой нь, өнгөрсөн жил ижил төстэй эмзэг байдлыг Live Chat (CVE-2018-12426) дээр аль хэдийн илрүүлсэн бөгөөд энэ нь агуулгын төрлийн талбарт өөр агуулгын төрлийг зааж өгснөөр зургийн халхавч дор PHP кодыг ачаалах боломжтой болгосон. Засварын нэг хэсэг болгон цагаан жагсаалт болон MIME агуулгын төрөлд нэмэлт шалгалт нэмсэн. Эндээс харахад эдгээр шалгалтууд буруу хийгдсэн бөгөөд үүнийг амархан тойрч гарах боломжтой.
Тодруулбал, “.php” өргөтгөлтэй файлуудыг шууд байршуулахыг хориглосон боловч олон серверийн PHP орчуулагчтай холбоотой “.phtml” өргөтгөлийг хар жагсаалтад оруулаагүй болно. Зөвшөөрөгдсөн жагсаалт нь зөвхөн зураг байршуулахыг зөвшөөрдөг боловч та давхар өргөтгөл, жишээлбэл, ".gif.phtml" зааж өгснөөр үүнийг тойрч гарах боломжтой. Файлын эхэнд байгаа MIME төрлийн шалгалтыг давахын тулд PHP код бүхий шошгыг нээхээс өмнө "GIF89a" мөрийг зааж өгөхөд хангалттай.
Эх сурвалж: opennet.ru
