Snuffleupaguse projekt arendab haavatavuste blokeerimiseks PHP-moodulit
Projekti piirides Nuusktubakasareneb moodul PHP7 tõlgiga ühenduse loomiseks, mis on loodud keskkonna turvalisuse parandamiseks ja tavaliste vigade blokeerimiseks, mis viivad PHP rakenduste käitamise haavatavuseni. Moodul võimaldab luua ka virtuaalseid plaastreid konkreetsete probleemide lahendamiseks ilma haavatava rakenduse lähtekoodi muutmata, mida on mugav kasutada massmajutussüsteemides, kus kõiki kasutajarakendusi pole võimalik ajakohasena hoida. Moodul on kirjutatud C-keeles, on ühendatud jagatud teegi kujul (“extension=snuffleupagus.so” php.ini-s) ja jaotatud litsentsitud LGPL 3.0 alusel.
Snuffleupagus pakub reeglite süsteemi, mis võimaldab teil turvalisuse parandamiseks kasutada standardseid malle või luua sisendandmete ja funktsiooniparameetrite juhtimiseks oma reegleid. Näiteks reegel „sp.disable_function.function(“süsteem”).param(“käsk”).value_r(“[$|;&`\\n]”).drop();” võimaldab piirata erimärkide kasutamist funktsiooni system() argumentides ilma rakendust muutmata. Samamoodi saate luua virtuaalsed plaastrid teadaolevate haavatavuste blokeerimiseks.
Arendajate tehtud testide põhjal otsustades ei vähenda Snuffleupagus jõudlust peaaegu üldse. Enda turvalisuse tagamiseks (võimalikud haavatavused turvakihis võivad olla rünnakute lisavektoriks) testitakse projektis iga commit põhjalikult erinevates distributsioonides, kasutatakse staatilisi analüüsisüsteeme ning auditeerimise lihtsustamiseks vormindatakse ja dokumenteeritakse kood.
Sisseehitatud meetodid on saadaval turvaaukude klasside blokeerimiseks, nagu probleemid, seotud andmete serialiseerimisega, ebaturvaline PHP mail() funktsiooni kasutamine, küpsiste sisu lekkimine XSS-i rünnakute ajal, käivitatava koodiga failide laadimise probleemid (näiteks vormingus phar), halva kvaliteediga juhuslike numbrite genereerimine ja asendamine valed XML-konstruktsioonid.
HMAC-i lisamine jadaobjektidele tagamaks, et deserialiseerimine toob algse rakenduse salvestatud andmed;
Taotle logimisrežiimi;
Väliste failide laadimise blokeerimine libxml-is XML-dokumentides olevate linkide kaudu;
Võimalus ühendada väliseid töötlejaid (upload_validation) üleslaaditud failide kontrollimiseks ja skannimiseks;
Projekt loodi ja seda kasutati kasutajate kaitsmiseks ühe suure Prantsusmaa hostimisoperaatori infrastruktuuris. Märgitakseet lihtsalt Snuffleupaguse ühendamine kaitseks paljude Drupali, WordPressi ja phpBB sel aastal tuvastatud ohtlike haavatavuste eest. Magento ja Horde haavatavused saab režiimi lubamisega blokeerida
"sp.readonly_exec.enable()".