Në kuadër të projektit moduli për lidhjen me interpretorin PHP7, i destinuar për të rritur sigurinë e mjedisit dhe për të bllokuar gabimet tipike që çojnë në shfaqjen e dobësive në aplikacionet PHP që ekzekutohen. Moduli gjithashtu lejon krijimin e patches virtuale për të adresuar probleme specifike pa ndryshuar tekstet originare të aplikacionit të dobësuar, që është e dobishme për përdorim në sistemet e hostimit në masë, ku është e pamundur të sigurohet që të gjitha aplikacionet e përdoruesve të mbahen në gjendje të azhurnuar. Moduli është shkruar në gjuhën C, lidhet si një bibliotekë ndarëse ("extension=snuffleupagus.so" në php.ini) dhe në përputhje me licencën LGPL 3.0.
Snuffleupagus ofron një sistem rregullash që lejon përdorimin e template-ve standarde për të rritur mbrojtjen si dhe krijimin e rregullave të veta për kontrollin e hyrjeve dhe parametrave të funksioneve. Për shembull, rregulli "sp.disable_function.function("system").param("command").value_r("[$|;&`\n]").drop();" lejon bllokimin e përdorimit të karaktereve speciale në argumentet e funksionit system() duke mos e ndryshuar aplikacionin. Njëlloj mund të krijohen për bllokimin e dobësive të njohura.
Sipas testimeve të kryera nga zhvilluesit, Snuffleupagus pothuajse nuk e ul performancën. Për të siguruar sigurinë e saj (dobësitë e mundshme në ndërfaqen mbrojtëse mund të shërbejnë si një vektor shtesë për sulme), projekti zbatohet një testim të detajuar të çdo commit-i në distribuime të ndryshme, përdoren sisteme analize statike, kodi formatizohet dhe dokumentohet për të lehtësuar auditimin.
Metodat e përfshira ofrohen për të bllokuar klasa të tilla dobësish si problemet, me serializimin e të dhënave, përdorimin e funksionit PHP mail(), rrjedhjen e përmbajtjes së Cookie gjatë sulmeve XSS, problemet që shkaktohen nga ngarkimi i skedarëve me kod ekzekutues (për shembull, në formatin ), gjenerimin e rastit të dobët dhe e përbërjeve të papërshtatshme XML.
Nga modet për rritjen e mbrojtjes PHP mbështet:
- Aktivizimi automatik i flamujve "secure" dhe "samesite" (mbrojtja nga CSRF) për Cookie, i Cookie;
- Një grup të integruar rregullash për identifikimin e shenjave të sulmeve dhe kompromiseve në aplikacione;
- Aktivizimi global i detyrueshëm i modit "" (për shembuj, bllokon përpjekjet për të treguar një varg kur pritet një vlerë e plotë numrore si argument) dhe mbrojtja nga ;
- Përjashtimi i parazgjedhur (për shembull, ndalimi "phar://"ët me leje të qartë nëpërmjet një liste të bardhë;
- Ndalimi i ekzekutimit të skedarëve që janë të shkruar;
- Lista të zeza dhe të bardha për eval;
- Aktivizimi i kontrollit të domosdoshëm të certifikatave TLS gjatë përdorimit të
curl; - Shtimi i HMAC në objektet e serializuara për të garantuar që gjatë deserializimit të dhënat e marra kanë ardhur nga aplikacioni burim;
- Rehimi i regjistrimit të kërkesave;
- Bllokimi i ngarkimit të skedarëve të jashtëm në libxml përmes lidhjeve në dokumentet XML;
- Mundësia e lidhjes së trajtuesve të jashtëm (upload_validation) për verifikimin dhe skanimin e skedarëve të ngarkuar;
Projekti është krijuar dhe përdoret për mbrojtjen e përdoruesve në infrastrukturën e një nga operatorët e mëdhenj francezë të hostimit. , që thjesht duke lidhur Snuffleupagus do të mund të mbrohej nga shumë dobësi të rrezikshme që janë zbuluar këtë vit në Drupal, WordPress dhe phpBB. Dobësitë në Magento dhe Horde do të mund të ishin bllokuar duke aktivizuar modin
"sp.readonly_exec.enable()".
Burimi: opennet.ru
