Projekt Snuffleupagus arendab PHP moodulit haavatavuste blokeerimiseks.

Projektis Snuffleupagus areneb PHP7 tõlkijaga ühendamiseks mõeldud moodul, mille eesmärk on suurendada keskkonna turvalisust ja blokeerida tüüpilisi vigu, mis võivad viia haavatavuste ilmnemiseni PHP rakendustes. Moodul võimaldab ka luua virtuaalseid patše konkreetsete probleemide lahendamiseks ilma haavatava rakenduse lähtekoodi muutmata, mis on mugav massilise majutuse süsteemide jaoks, kus ei ole võimalik hoida kõiki kasutajarakendusi ajakohasena. Moodul on kirjutatud C keeles ja see ühendatakse jagatud teegi vormis ("extension=snuffleupagus.so" php.ini-s) ning levitatakse on litsentsi LGPL 3.0.

Snuffleupagus pakub reeglite süsteemi, mis võimaldab kasutada nii tüüpilisi malli tõhususe tõstmiseks kui ka luua oma reegleid sisendi ja funktsioonide parameetrite kontrollimiseks. Näiteks reegel "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]" ).drop();" võimaldab muutmata rakendusi piirata erimärkide kasutamist funktsiooni system() argumentides. Ühiseid reegleid saab luua samuti virtuuaalpatšide loomiseks tuntud haavatavuste blokeerimiseks.

Arendajate testide põhjal ei vähenda Snuffleupagus peaaegu üldse jõudlust. Omakaitseks (võimalikud haavatavused kaitsekihi sees võivad olla lisarünnakute vektoriks) rakendab projekt igas commit’is põhjalikku testimist erinevates distribuutides, kasutatakse staatilise analüüsi süsteeme ning kood on vormindatud ja dokumenteeritud, et lihtsustada auditite tegemist.

Pakutakse sisseehitatud meetodeid selliste haavatavuste klasside blokeerimiseks nagu probleemid seotud andmete serialiseerimisega, ebaturvaliseks PHP funktsiooni mail() kasutamine, Cookie sisu lekkimine XSS rünnakute käigus, failide üleslaadimisega seotud probleemid, kus sisu on täidetud käivitatava koodiga (näiteks formaadis phar), kehv juhuslike numbrite genereerimine ja asendamine valede XML konstruktsioonidega.

PHP turvataseme tõstmiseks toetatakse järgmisi režiime:

  • Küpsiste "secure" ja "samesite" (CSRF rünnakute kaitseks) seadistamine automaatselt, küpsiste krüpteerimine; Sisseehitatud reeglite komplekt rünnakute ja rakenduste kompromiteerimise jälgede tuvastamiseks;
  • Sundige globaalset "
  • režiimi sisselülitamist.strict» (näiteks blokeerib katsetuse teatada stringi, kui oodatakse täisarvulist argumenti) ja kaitse tüüpide manipuleerimise vastu;
  • Vaikimisi blokeerimine protokollide ümbrikud (näiteks keeld «phar:///») nende väljendatud lubamise valge nimekirja kaudu;
  • Keelatud on käivitada faile, mis on kirjutamiseks saadaval;
  • Mustad ja valged nimekirjad eval jaoks;
  • TLS sertifikaatide kontrollimise kohustuslik lubamine, kui kasutatakse
    curl;
  • HMAC lisamine serialiseeritud objektidele, et tagada, et deserialiseerimisel saadakse andmed, mis on salvestatud algses rakenduses;
  • Päringute logimise režiim;
  • Väliste failide laadimise blokeerimine libxml parameetrite kaudu XML-dokumentides;
  • Võimalus ühendada väliseid töötlejaid (upload_validation) üles laaditud failide kontrollimiseks ja skannimiseks;

Projekt on loodud ja seda kasutatakse kasutajate kaitsmiseks ühe suure Prantsuse hostimisoperaatori infrastruktuuris. On märgitud, mis näitab, et Snuffleupaguse lihtsalt käitamine suudaks kaitsta paljude ohtlike haavatavuste eest, mis on sel aastal tuvastatud Drupalis, WordPressis ja phpBB-s. Haavatavusi Magento ja Horde saaks blokeerida, kui aktiveerida režiim
«sp.readonly_exec.enable()».

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster