Mae'r prosiect Snuffleupagus yn datblygu modiwl PHP ar gyfer rhwystro gwendidau

Yn ffiniau'r prosiect snuffleupagus yn datblygu modiwl ar gyfer cysylltu Γ’ chyfieithydd PHP7, wedi'i gynllunio i wella diogelwch yr amgylchedd a rhwystro gwallau cyffredin sy'n arwain at wendidau wrth redeg cymwysiadau PHP. Mae'r modiwl hefyd yn caniatΓ‘u ichi greu clytiau rhithwir i drwsio problemau penodol heb newid cod ffynhonnell y cymhwysiad bregus, sy'n gyfleus i'w ddefnyddio mewn systemau cynnal torfol lle mae'n amhosibl diweddaru pob rhaglen defnyddiwr. Mae'r modiwl wedi'i ysgrifennu yn C, wedi'i gysylltu ar ffurf llyfrgell a rennir (β€œextension=snuffleupagus.so” yn php.ini) a dosbarthu gan trwyddedig o dan LGPL 3.0.

Mae Snuffleupagus yn darparu system reolau sy'n eich galluogi i ddefnyddio templedi safonol i wella diogelwch, neu greu eich rheolau eich hun i reoli data mewnbwn a pharamedrau swyddogaeth. Er enghraifft, mae'r rheol "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();” yn eich galluogi i gyfyngu ar y defnydd o nodau arbennig mewn dadleuon swyddogaeth system() heb newid y rhaglen. Yn yr un modd, gallwch chi greu clytiau rhithwir i rwystro gwendidau hysbys.

A barnu yn Γ΄l y profion a gynhaliwyd gan y datblygwyr, prin y mae Snuffleupagus yn lleihau perfformiad. Er mwyn sicrhau ei ddiogelwch ei hun (gall gwendidau posibl yn yr haen ddiogelwch fod yn fector ychwanegol ar gyfer ymosodiadau), mae'r prosiect yn defnyddio profion trylwyr o bob ymrwymiad mewn gwahanol ddosbarthiadau, yn defnyddio systemau dadansoddi statig, ac mae'r cod yn cael ei fformatio a'i ddogfennu i symleiddio'r archwilio.

Darperir dulliau integredig i rwystro dosbarthiadau o wendidau megis materion, cysylltiedig gyda chyfresoli data, anniogel defnydd o'r swyddogaeth PHP mail() , cynnwys Cwci yn gollwng yn ystod ymosodiadau XSS, problemau oherwydd llwytho ffeiliau gyda chod gweithredadwy (er enghraifft, yn y fformat phar), cynhyrchu rhifau ar hap o ansawdd gwael a eilydd lluniadau XML anghywir.

Cefnogir y dulliau canlynol i wella diogelwch PHP:

  • Galluogi baneri "diogel" a "yr un safle" (amddiffyniad CSRF) yn awtomatig ar gyfer Cwcis, amgryptio Cwci;
  • Set o reolau adeiledig i nodi olion ymosodiadau a chyfaddawdu cymwysiadau;
  • Gweithrediad byd-eang gorfodol o'r "llym" (er enghraifft, yn rhwystro ymgais i nodi llinyn wrth ddisgwyl gwerth cyfanrif fel dadl) ac amddiffyniad rhag trin math;
  • Blocio rhagosodedig deunydd lapio protocol (er enghraifft, gwahardd "phar://") gyda'u rhestr wen benodol;
  • Gwahardd gweithredu ffeiliau y gellir eu hysgrifennu;
  • Rhestrau du a gwyn ar gyfer eval;
  • Yn ofynnol i alluogi gwirio tystysgrif TLS wrth ddefnyddio
    cyrl;

  • Ychwanegu HMAC at wrthrychau cyfresol i sicrhau bod dad-gyfeiriad yn adfer y data a storiwyd gan y cymhwysiad gwreiddiol;
  • Modd logio cais;
  • Rhwystro llwytho ffeiliau allanol yn libxml trwy ddolenni mewn dogfennau XML;
  • Y gallu i gysylltu trinwyr allanol (upload_validation) i wirio a sganio ffeiliau wedi'u llwytho i fyny;

CrΓ«wyd y prosiect a'i ddefnyddio i amddiffyn defnyddwyr yn seilwaith un o'r gweithredwyr cynnal mawr yn Ffrainc. Nodiry byddai cysylltu Snuffleupagus yn syml yn amddiffyn rhag llawer o'r gwendidau peryglus a nodwyd eleni yn Drupal, WordPress a phpBB. Gellid rhwystro gwendidau yn Magento a Horde trwy alluogi'r modd
msgstr "sp.readonly_exec.enable()".

Ffynhonnell: opennet.ru

Ychwanegu sylw