Snuffleupagus նախագիծը մշակում է PHP մոդուլ՝ խոցելիությունը արգելափակելու համար

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

Snuffleupagus-ը տրամադրում է կանոնների համակարգ, որը թույլ է տալիս օգտագործել ստանդարտ ձևանմուշներ՝ բարելավելու անվտանգությունը կամ ստեղծել ձեր սեփական կանոնները՝ մուտքային տվյալները և ֆունկցիայի պարամետրերը կառավարելու համար: Օրինակ՝ «sp.disable_function.function(«system»).param(«հրաման»).value_r(«[$|;&`\\n]»).drop();" կանոնը: թույլ է տալիս սահմանափակել հատուկ նիշերի օգտագործումը system() ֆունկցիայի փաստարկներում՝ առանց հավելվածը փոխելու: Նմանապես, դուք կարող եք ստեղծել վիրտուալ patches արգելափակել հայտնի խոցելիությունը:

Դատելով մշակողների կողմից անցկացված թեստերից՝ Snuffleupagus-ը գրեթե չի նվազեցնում կատարողականությունը։ Սեփական անվտանգությունն ապահովելու համար (անվտանգության շերտի հնարավոր խոցելիությունները կարող են ծառայել որպես գրոհների լրացուցիչ վեկտոր), նախագիծը օգտագործում է յուրաքանչյուր commit-ի մանրակրկիտ փորձարկում տարբեր բաշխումներում, օգտագործում է ստատիկ վերլուծության համակարգեր, և կոդը ձևակերպվում և փաստաթղթավորվում է աուդիտը պարզեցնելու համար:

Ներկառուցված մեթոդները տրամադրվում են խոցելիության դասերի արգելափակման համար, ինչպիսիք են խնդիրները, связанные տվյալների սերիականացումով, անապահով PHP mail() ֆունկցիայի օգտագործում, Cookie-ի բովանդակության արտահոսք XSS գրոհների ժամանակ, գործարկվող կոդով ֆայլերի բեռնման հետ կապված խնդիրներ (օրինակ՝ ձևաչափով փար), անորակ պատահական թվերի ստեղծում և փոխարինում սխալ XML կոնստրուկցիաներ:

PHP-ի անվտանգությունը բարձրացնելու համար աջակցվում են հետևյալ ռեժիմները.

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

  • HMAC-ի ավելացում սերիականացված օբյեկտներին՝ ապահովելու համար, որ deserialization-ը վերբերում է սկզբնական հավելվածի կողմից պահված տվյալները.
  • Հարցումների գրանցման ռեժիմ;
  • libxml-ում արտաքին ֆայլերի բեռնման արգելափակում XML փաստաթղթերի հղումների միջոցով.
  • Արտաքին մշակողներին (upload_validation) միացնելու հնարավորություն՝ վերբեռնված ֆայլերը ստուգելու և սկանավորելու համար;

Նախագիծը ստեղծվել և օգտագործվել է ֆրանսիական խոշոր հոսթինգ օպերատորներից մեկի ենթակառուցվածքում օգտվողներին պաշտպանելու համար: Նշվում էոր պարզապես Snuffleupagus-ը միացնելը կպաշտպանի Drupal-ում, WordPress-ում և phpBB-ում այս տարի հայտնաբերված շատ վտանգավոր խոցելիություններից: Magento-ի և Horde-ի խոցելիությունները կարող են արգելափակվել՝ միացնելով ռեժիմը
«sp.readonly_exec.enable()»:

Source: opennet.ru

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