Snuffleupagus projekts izstrādā PHP moduli ievainojamību bloķēšanai

Projekta robežās snuffleupagus attīstās modulis savienojuma izveidei ar PHP7 tulku, kas paredzēts, lai uzlabotu vides drošību un bloķētu izplatītas kļūdas, kas noved pie ievainojamībām PHP lietojumprogrammu darbināšanā. Modulis arī ļauj izveidot virtuālus ielāpus konkrētu problēmu novēršanai, nemainot ievainojamās lietojumprogrammas avota kodu, kas ir ērts lietošanai masveida hostinga sistēmās, kur nav iespējams atjaunināt visas lietotāja lietojumprogrammas. Modulis ir rakstīts C valodā, ir savienots koplietojamās bibliotēkas veidā (“extension=snuffleupagus.so” php.ini) un izplata licencēts saskaņā ar LGPL 3.0.

Snuffleupagus nodrošina noteikumu sistēmu, kas ļauj izmantot standarta veidnes, lai uzlabotu drošību, vai izveidot savus noteikumus, lai kontrolētu ievades datus un funkciju parametrus. Piemēram, noteikums “sp.disable_function.function(“sistēma”).param(“command”).value_r(“[$|;&`\\n]”).drop();” ļauj ierobežot speciālo rakstzīmju lietošanu sistēmas() funkcijas argumentos, nemainot lietojumprogrammu. Līdzīgi jūs varat izveidot virtuālie ielāpi lai bloķētu zināmās ievainojamības.

Spriežot pēc izstrādātāju veiktajiem testiem, Snuffleupagus gandrīz nemazina veiktspēju. Lai nodrošinātu savu drošību (iespējamās drošības slāņa ievainojamības var kalpot kā papildu vektors uzbrukumiem), projektā tiek izmantota rūpīga katra commit pārbaude dažādos izplatījumos, tiek izmantotas statiskās analīzes sistēmas, kā arī kods tiek formatēts un dokumentēts, lai vienkāršotu auditu.

Tiek nodrošinātas iebūvētas metodes, lai bloķētu ievainojamību klases, piemēram, problēmas, saistīti ar datu serializāciju, nedrošs PHP mail() funkcijas izmantošana, sīkfailu satura noplūde XSS uzbrukumu laikā, problēmas, kas saistītas ar failu ielādi ar izpildāmu kodu (piemēram, formātā phar), sliktas kvalitātes nejaušo skaitļu ģenerēšana un aizstāšana nepareizas XML konstrukcijas.

Lai uzlabotu PHP drošību, tiek atbalstīti šādi režīmi:

  • Automātiski iespējot "drošu" un "samesite" (CSRF aizsardzība) karogus sīkfailiem, šifrēšana Cepums;
  • Iebūvēts noteikumu kopums, lai identificētu uzbrukumu pēdas un lietojumprogrammu apdraudējumu;
  • Piespiedu globālā aktivizēšanastingri" (piemēram, bloķē mēģinājumu norādīt virkni, ja kā argumentu sagaida vesela skaitļa vērtību) un aizsardzību pret tipa manipulācijas;
  • Bloķēšana pēc noklusējuma protokolu ietinēji (piemēram, aizliedzot "phar://") ar to nepārprotamu balto sarakstu;
  • Aizliegums izpildīt ierakstāmus failus;
  • eval melnie un baltie saraksti;
  • Nepieciešams, lai lietošanas laikā iespējotu TLS sertifikātu pārbaudi
    čokurošanās;

  • HMAC pievienošana serializētiem objektiem, lai nodrošinātu, ka deserializācija izgūst sākotnējās lietojumprogrammas saglabātos datus;
  • Pieprasīt reģistrēšanas režīmu;
  • Ārējo failu ielādes bloķēšana libxml, izmantojot saites XML dokumentos;
  • Iespēja savienot ārējos apdarinātājus (upload_validation), lai pārbaudītu un skenētu augšupielādētos failus;

Projekts tika izveidots un izmantots, lai aizsargātu lietotājus viena no lielā Francijas hostinga operatora infrastruktūrā. Tiek atzīmētska vienkārša Snuffleupagus pievienošana aizsargātu pret daudzām bīstamām ievainojamībām, kas šogad tika konstatētas Drupal, WordPress un phpBB. Iespējojot režīmu, var bloķēt Magento un Horde ievainojamības
"sp.readonly_exec.enable()".

Avots: opennet.ru

Pievieno komentāru