Snuffleupagus төсөл нь эмзэг байдлыг хаахын тулд PHP модулийг хөгжүүлдэг

Төслийн хил хязгаарт Хөөрөг хөгжиж байна PHP7 орчуулагчтай холбогдох модуль нь хүрээлэн буй орчны аюулгүй байдлыг сайжруулах, PHP програмуудыг ажиллуулахад эмзэг байдалд хүргэдэг нийтлэг алдаануудыг хаах зорилготой юм. Энэ модуль нь эмзэг програмын эх кодыг өөрчлөхгүйгээр тодорхой асуудлуудыг засах виртуал засваруудыг үүсгэх боломжийг олгодог бөгөөд энэ нь бүх хэрэглэгчийн програмыг шинэчилж байх боломжгүй масс байршуулах системд ашиглахад тохиромжтой. Модуль нь C хэл дээр бичигдсэн бөгөөд дундын номын санд багтсан (php.ini-д "extension=snuffleupagus.so") болон тараасан LGPL 3.0 дагуу лицензтэй.

Snuffleupagus нь аюулгүй байдлыг нэмэгдүүлэхийн тулд стандарт загваруудыг ашиглах, мөн оролтын өгөгдөл болон функцын параметрүүдийг хянах өөрийн дүрмийг бий болгох боломжийг олгодог дүрмийн системээр хангадаг. Жишээлбэл, "sp.disable_function.function("систем").param("command").value_r("[$|;&`\\n]").drop();" дүрэм. програмыг өөрчлөхгүйгээр system() функцын аргументуудад тусгай тэмдэгт ашиглахыг хязгаарлах боломжийг танд олгоно. Үүний нэгэн адил та үүсгэж болно виртуал засварууд мэдэгдэж байгаа эмзэг байдлыг хаах.

Хөгжүүлэгчдийн хийсэн туршилтын дагуу Snuffleupagus нь гүйцэтгэлийг бараг бууруулдаггүй. Өөрийнхөө аюулгүй байдлыг хангахын тулд (хамгаалалтын давхарга дахь боломжит эмзэг байдал нь халдлагын нэмэлт вектор болж болно) төсөл нь янз бүрийн хуваарилалт дахь үйлдэл тус бүрийг сайтар шалгаж, статик шинжилгээний системийг ашигладаг бөгөөд аудитыг хялбарчлахын тулд кодыг боловсруулж, баримтжуулдаг. .

Асуудал, холбоотой өгөгдлийн цуваагаар, аюултай PHP mail() функцийг ашиглах, XSS халдлагын үед күүки контент алдагдсан, гүйцэтгэх код бүхий файлуудыг ачаалахтай холбоотой асуудлууд (жишээлбэл, форматаар) фар), санамсаргүй тоонуудыг чанар муутай үүсгэх ба орлуулах хүчингүй XML бүтэц.

PHP-ийн хамгаалалтыг нэмэгдүүлэх горимуудаас дараахь зүйлийг дэмжинэ.

  • Cookies-д зориулсан "аюулгүй" болон "samesite" (CSRF хамгаалалт) тугуудыг автоматаар идэвхжүүлэх, шифрлэлт Жигнэмэг
  • Халдлагын ул мөр, эвдэрсэн програмуудыг илрүүлэх дүрмийн багц;
  • Глобал идэвхжүүлэх горимыг албадах "хатуу» (жишээ нь, бүхэл тоон утгыг аргумент болгон хүлээж байхад мөрийг зааж өгөх оролдлогыг блоклодог) болон төрлийн заль мэх;
  • Өгөгдмөлөөр блоклодог протоколд зориулсан боодол (жишээлбэл, "phar: //" -ийг хориглох) цагаан жагсаалтын дагуу тэдний тодорхой зөвшөөрөлтэйгээр;
  • Бичих боломжтой файлуудыг ажиллуулахыг хориглох;
  • Үнэлгээний хар ба цагаан жагсаалт;
  • Ашиглахдаа TLS сертификатын баталгаажуулалтыг идэвхжүүлнэ үү
    буржгар;

  • Цувралжуулсан объектуудад HMAC-г нэмэх нь анхны програмын хадгалсан өгөгдлийг сэргээж байгаа эсэхийг баталгаажуулах;
  • Хүсэлтийн бүртгэлийн горим;
  • XML баримт дахь холбоосуудаас libxml-д гадаад файлуудыг ачаалахыг хориглох;
  • Байршуулсан файлуудыг шалгах, сканнердахын тулд гадаад зохицуулагчийг (upload_validation) холбох чадвар;

Энэхүү төслийг Францын томоохон хостинг операторуудын нэгний дэд бүтцэд хэрэглэгчдийг хамгаалах зорилгоор бүтээж ашигласан. Үүнийг тэмдэглэж байнаЗүгээр л Snuffleupagus-ыг залгаснаар Drupal, WordPress болон phpBB-д энэ жил олдсон олон аюултай эмзэг байдлаас хамгаалах болно. Магенто болон Орд дахь эмзэг байдлыг горимыг идэвхжүүлснээр хааж болно
"sp.readonly_exec.enable()".

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх