La projekto Snuffleupagus disvolvas PHP-modulon por bloki vundeblecojn

En la limoj de la projekto Snufleupago disvolviĝas modulo por konektiĝi al la PHP7-interpretisto, desegnita por plibonigi la sekurecon de la medio kaj bloki oftajn erarojn, kiuj kondukas al vundeblecoj en funkciado de PHP-aplikoj. La modulo ankaŭ permesas krei virtualajn diakilojn por ripari specifajn problemojn sen ŝanĝi la fontkodon de la vundebla aplikaĵo, kio estas oportuna por uzi en amasaj gastigaj sistemoj, kie estas neeble teni ĉiujn uzantajn aplikojn ĝisdatigitaj. La modulo estas skribita en C, estas konektita en la formo de komuna biblioteko ("etendo=snuffleupagus.so" en php.ini) kaj distribuita de licencita laŭ LGPL 3.0.

Snuffleupagus provizas regulsistemon, kiu ebligas al vi uzi normajn ŝablonojn por plibonigi sekurecon, aŭ krei viajn proprajn regulojn por kontroli enigajn datumojn kaj funkcio-parametrojn. Ekzemple, la regulo “sp.disable_function.function(“sistemo”).param(“komando”).value_r(“[$|;&`\\n]”).drop();” permesas vin limigi la uzon de specialaj signoj en system()-funkciaj argumentoj sen ŝanĝi la aplikaĵon. Simile, vi povas krei virtualaj diakiloj bloki konatajn vundeblecojn.

Juĝante laŭ la testoj faritaj de la programistoj, Snuffleupagus apenaŭ reduktas rendimenton. Por certigi sian propran sekurecon (eblaj vundeblecoj en la sekureca tavolo povas funkcii kiel plia vektoro por atakoj), la projekto uzas ĝisfundan testadon de ĉiu kompromiso en malsamaj distribuoj, uzas statikajn analizsistemojn, kaj kodo estas formatita kaj dokumentita por simpligi revizion.

Enkonstruitaj metodoj estas provizitaj por bloki klasojn de vundeblecoj kiel problemoj, rilataj kun datumseriigo, nesekura uzo de PHP-mail()-funkcio, elfluo de Cookie-enhavo dum XSS-atakoj, problemoj pro ŝargado de dosieroj kun plenumebla kodo (ekzemple, en la formato phar), malbonkvalita hazarda nombrogeneracio kaj anstataŭigo malĝustaj XML-konstruaĵoj.

La sekvaj reĝimoj estas subtenataj por plibonigi PHP-sekurecon:

  • Aŭtomate ebligu "sekuran" kaj "samsite" (CSRF-protekto) flagojn por Kuketoj, ĉifrado Kuketo;
  • Enkonstruita aro de reguloj por identigi spurojn de atakoj kaj kompromiso de aplikoj;
  • Devigita tutmonda aktivigo de la "striktaj" (ekzemple, blokas provon specifi ĉenon atendante entjeran valoron kiel argumenton) kaj protekton kontraŭ tipmanipulado;
  • Defaŭlta blokado protokolaj envolvaĵoj (ekzemple, malpermesante "phar://") kun ilia eksplicita blanklisto;
  • Malpermeso pri ekzekuto de dosieroj skribeblaj;
  • Nigraj kaj blankaj listoj por eval;
  • Bezonata por ebligi TLS-atestilon kontrolante dum uzado
    buklo;

  • Aldonante HMAC al seriigitaj objektoj por certigi ke deseriigo reakiras la datenojn stokitajn per la origina aplikaĵo;
  • Peti registran reĝimon;
  • Blokado de ŝarĝo de eksteraj dosieroj en libxml per ligiloj en XML-dokumentoj;
  • Kapablo konekti eksterajn prizorgantojn (upload_validation) por kontroli kaj skani alŝutitajn dosierojn;

La projekto estis kreita kaj uzata por protekti uzantojn en la infrastrukturo de unu el la grandaj francaj gastigaj operatoroj. Ĝi estas notitake simple konekti Snuffleupagus protektus kontraŭ multaj el la danĝeraj vundeblecoj identigitaj ĉi-jare en Drupalo, WordPress kaj phpBB. Vundeblecoj en Magento kaj Horde povus esti blokitaj ebligante la reĝimon
"sp.readonly_exec.enable()".

fonto: opennet.ru

Aldoni komenton