Pärast aastat arendust projekti väljalaskmine , mis pakub PHP7 tõlgile moodulit, et suurendada keskkonna turvalisust ja blokeerida tüüpilisi vigu, mis viivad haavatavuste tekkimiseni käitatavates PHP-rakendustes. Moodul võimaldab samuti luua konkreetsed lahendused probleemide lahendamiseks ilma haavatava rakenduse lähtekoodide muutmiseta, mis on mugav massilise majutuse süsteemide jaoks, kus on võimatu hoida kõiki kasutajarakendusi ajakohasena. Mooduli töökoormus on hinnatud minimaalne. Moodul on kirjutatud C keeles, ühendatakse jagatud teegina ("extension=snuffleupagus.so" php.ini-s) ja all LGPL 3.0 litsentsi all.
Snuffleupagus pakub reeglikogumit, mis lubab kasutada nii valmimalle, et suurendada turbelahendust, kui ka luua oma reegleid sisendite ja funktsiooniparametrite kontrollimiseks. Näiteks reegel „sp.disable_function.function(„system“).param(„command“).value_r(„[$|;&`\\n]“).drop();“ võimaldab spetsiaalsete märkide kasutamise piiramist funktsiooni system() argumentides ilma rakendusi muutmata. Pakutakse sisseehitatud meetodeid selliste haavatavuste klasside blokeerimiseks, nagu probleemid, andmete serialiseerimisega, PHP funktsiooni mail() kasutamine, küpsisefailide lekked XSS rünnakute käigus, probleemid faili laadimisega täidetavate koodidega (näiteks formaadis ), madala kvaliteediga juhuslike numbrite genereerimine ja valedega XML konstruktsioonidega.
Snuffleupagus pakutavad PHP turbeesitluse režiimid:
- Küpsiste «secure» ja «samesite» lippude automaatne sisselülitamine (CSRF kaitse), ;
- Sisseehitatud reeglite kogum rünnakute ja rakenduste kompromiteerimise jälgede tuvastamiseks;
- Kohustuslik ülemaailmne «» režiimi sisselülitamine (nt blokeerib stringi näitamise, kui oodatakse täisarvu) ja kaitse ;
- Vaikimisi blokeerimine (nt «phar://» keelamine), nende lubamine valge nimekirja kaudu;
- Failide käitamise keeld, mis on kirjutamiseks saadaval;
- Eval'i mustad ja valged nimekirjad;
- TLS sertifikaatide kontrollimise kohustuslik sisselülitamine curl'i kasutamisel;
HMAC lisamine serialiseeritud objektidele, et tagada andmete saamine, mis on algse rakenduse poolt salvestatud deserialiseerimise käigus; - HMAC-i lisamine serialiseeritud objektidele tagab, et andmed, mis salvestati algse rakenduse poolt, saadakse deserialiseerimisel.
- Päringute logimisrežiim;
- Väliste failide laadimise blokeerimine libxml-is, mis on seotud XML-dokumentidega;
- Võimalus liita väliseid töötlejaid (upload_validation), et kontrollida ja skaneerida üles laetavaid faile;
Kuna uus väljaanne: Parandatud PHP 7.4 tuge ja saavutatud ühilduvus arenduses oleva PHP 8 haru tootmisega. Lisatud võimalus logida sündmusi läbi syslog’i (selle lubamiseks on ette nähtud direktiiv sp.log_media, mis võib võtta väärtusi php või syslog). Uuendatud vaikimisi pakutav reeglikogum, kuhu on lisatud uusi reegleid hiljuti avastatud haavatavuste ja veebirakendusi ründavate tehnikate jaoks. Parandatud macOS tugi ja laiendatud pideva integreerimise platvormi rakendamine GitLabi baasil.
Allikas: opennet.ru
