Snuffleupagus 0.5.1-ի՝ PHP հավելվածներում խոցելիության արգելափակման մոդուլի թողարկում

Մեկ տարի զարգացումից հետո հրատարակված նախագծի թողարկում Snuffleupagus 0.5.1, որը տրամադրում է մոդուլ PHP7 թարգմանչի համար՝ բարելավելու շրջակա միջավայրի անվտանգությունը և արգելափակելու սովորական սխալները, որոնք հանգեցնում են խոցելիության PHP հավելվածների գործարկման ժամանակ: Մոդուլը թույլ է տալիս նաև ստեղծել վիրտուալ patches վերացնել կոնկրետ խնդիրները՝ առանց խոցելի հավելվածի սկզբնաղբյուրը փոխելու, որը հարմար է զանգվածային հոսթինգ համակարգերում օգտագործելու համար, որտեղ անհնար է բոլոր օգտատերերի հավելվածները թարմացնել: Մոդուլի վերադիր ծախսերը գնահատվում են նվազագույն: Մոդուլը գրված է C-ով, միացված է ընդհանուր գրադարանի տեսքով («extension=snuffleupagus.so» php.ini-ում) և տարածվում է լիցենզավորված LGPL 3.0-ի համաձայն:

Snuffleupagus-ը տրամադրում է կանոնների համակարգ, որը թույլ է տալիս օգտագործել ստանդարտ ձևանմուշներ՝ անվտանգությունը բարելավելու համար, կամ ստեղծել ձեր սեփական կանոնները՝ վերահսկելու մուտքային տվյալները և ֆունկցիայի պարամետրերը: Օրինակ՝ «sp.disable_function.function(«system»).param(«հրաման»).value_r(«[$|;&`\\n]»).drop();" կանոնը: թույլ է տալիս սահմանափակել հատուկ նիշերի օգտագործումը system() ֆունկցիայի փաստարկներում՝ առանց հավելվածը փոխելու: Ներկառուցված մեթոդները տրամադրվում են խոցելիության դասերի արգելափակման համար, ինչպիսիք են խնդիրները, связанные տվյալների սերիականացումով, անապահով PHP mail() ֆունկցիայի օգտագործում, Cookie-ի բովանդակության արտահոսք XSS գրոհների ժամանակ, գործարկվող կոդով ֆայլերի բեռնման հետ կապված խնդիրներ (օրինակ՝ ձևաչափով փար), անորակ պատահական թվերի ստեղծում և փոխարինում սխալ XML կոնստրուկցիաներ:

PHP անվտանգության բարելավման ռեժիմներ, որոնք տրամադրվում են Snuffleupagus-ի կողմից.

  • Ավտոմատ կերպով միացնել «անվտանգ» և «նույն կայքի» (CSRF պաշտպանություն) դրոշները թխուկների համար, կոդավորումը Թխվածքաբլիթ;
  • Ներկառուցված կանոնների հավաքածու՝ հարձակումների և հավելվածների փոխզիջման հետքերը հայտնաբերելու համար.
  • Համաշխարհային հարկադիր ակտիվացում «խիստ« (օրինակ, արգելափակում է տողը նշելու փորձը, երբ ակնկալում է ամբողջ արժեք որպես արգումենտ) և պաշտպանություն տեսակի մանիպուլյացիա;
  • Կանխադրված արգելափակում արձանագրությունների փաթաթաններ (օրինակ՝ արգելելով «phar://») իրենց բացահայտ սպիտակ ցուցակով.
  • Գրելու ենթակա ֆայլեր գործարկելու արգելք.
  • Սև և սպիտակ ցուցակներ eval-ի համար;
  • Պահանջվում է օգտագործելիս TLS վկայագրի ստուգումը միացնելու համար
    գանգուր;
  • HMAC-ի ավելացում սերիականացված օբյեկտներին՝ ապահովելու համար, որ deserialization-ը վերբերում է սկզբնական հավելվածի կողմից պահված տվյալները.
  • Հարցումների գրանցման ռեժիմ;
  • libxml-ում արտաքին ֆայլերի բեռնման արգելափակում XML փաստաթղթերի հղումների միջոցով.
  • Արտաքին մշակողներին (upload_validation) միացնելու հնարավորություն՝ վերբեռնված ֆայլերը ստուգելու և սկանավորելու համար;

Մեջ փոփոխությունները PHP 7.4-ի բարելավված աջակցություն և ներկայումս մշակվող PHP 8 մասնաճյուղի հետ իրականացված համատեղելիություն: Ավելացվել է syslog-ի միջոցով իրադարձությունները գրանցելու հնարավորություն (առաջարկվում է ներառել sp.log_media հրահանգը, որը կարող է ընդունել php կամ syslog արժեքներ): Կանոնների լռելյայն փաթեթը թարմացվել է՝ ներառելու նոր կանոններ վերջերս հայտնաբերված խոցելիության և վեբ հավելվածների դեմ հարձակման տեխնիկայի համար: MacOS-ի բարելավված աջակցություն և GitLab-ի վրա հիմնված շարունակական ինտեգրման պլատֆորմի ընդլայնված օգտագործում:

Source: opennet.ru

Добавить комментарий