PHP програмын эмзэг байдлыг хаах модуль болох Snuffleupagus 0.5.1-ийг гаргалаа.

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

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

Snuffleupagus-аас өгсөн PHP аюулгүй байдлыг сайжруулах горимууд:

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

дунд өөрчлөлтүүд Шинэ хувилбарт: PHP 7.4-ийн дэмжлэгийг сайжруулж, одоо боловсруулагдаж байгаа PHP 8-ийн салбартай нийцтэй байдлыг syslog-ээр дамжуулан бүртгэх боломжийг нэмсэн (php эсвэл syslog утгыг авч болох sp.log_media удирдамжийг оруулахыг санал болгож байна). Анхдагч дүрмийн багц нь саяхан илэрсэн сул талууд болон вэб програмын эсрэг халдлагын арга техникүүдийн шинэ дүрмүүдийг оруулахаар шинэчлэгдсэн. macOS-ийн дэмжлэг сайжирч, GitLab дээр суурилсан тасралтгүй интеграцийн платформын хэрэглээг өргөжүүлсэн.

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

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