Snuffleupagus 0.5.1 — modulis PHP lietojumprogrammu ievainojamību bloķēšanai.

Pēc gada attīstības publicēta projekta izlaidums Snuffleupagus 0.5.1, kas nodrošina PHP7 tulka moduli, lai uzlabotu vides drošību un bloķētu izplatītas kļūdas, kas izraisa ievainojamības PHP lietojumprogrammu palaišanā. Modulis ļauj arī izveidot virtuālie ielāpi lai novērstu specifiskas problēmas, nemainot ievainojamās aplikācijas pirmkodu, kas ir ērts lietošanai masveida hostinga sistēmās, kur nav iespējams atjaunināt visas lietotāju aplikācijas. Tiek lēsts, ka moduļa pieskaitāmās izmaksas ir minimālas. 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. 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.

PHP drošības uzlabošanas režīmi, ko nodrošina Snuffleupagus:

  • 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;

Vidū izmaiņas jaunajā laidienā: Uzlabots atbalsts PHP 7.4 un ieviesta saderība ar PHP 8 filiāli, kas pašlaik tiek izstrādāta, pievienota iespēja reģistrēt notikumus, izmantojot syslog (tiek piedāvāta iekļaut direktīvu sp.log_media, kas var ņemt php vai syslog vērtības). Noklusējuma noteikumu kopa ir atjaunināta, iekļaujot jaunus noteikumus nesen konstatētajām ievainojamībām un uzbrukuma metodēm tīmekļa lietojumprogrammām. Uzlabots atbalsts operētājsistēmai macOS un paplašināta nepārtrauktas integrācijas platformas izmantošana, kuras pamatā ir GitLab.

Avots: opennet.ru

Pievieno komentāru