Snuffleupaguse projekt arendab haavatavuste blokeerimiseks PHP-moodulit

Projekti piirides Nuusktubakas areneb 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.

PHP turvalisuse suurendamiseks toetatakse järgmisi režiime:

  • Lubage küpsiste jaoks automaatselt lipud "turvaline" ja "sama sait" (CSRF-kaitse), krüpteerimine Küpsis;
  • Sisseehitatud reeglite kogum rünnete jälgede tuvastamiseks ja rakenduste ohustamiseks;
  • "" sunnitud globaalne aktiveeriminerange" (nt blokeerib katse määrata string, kui eeldab argumendina täisarvu) ja kaitse tüüpi manipuleerimine;
  • Vaikimisi blokeeritakse protokolli ümbrised (näiteks "phar://" keelamine) koos nende selgesõnalise lubatud loendiga;
  • Kirjutatavate failide käivitamise keeld;
  • eval mustad ja valged nimekirjad;
  • Nõutav TLS-i sertifikaadi kontrollimise lubamiseks kasutamisel
    curl;

  • 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()".

Allikas: opennet.ru

Lisa kommentaar