Rhyddhau Snuffleupagus 0.5.1, modiwl ar gyfer blocio gwendidau mewn cymwysiadau PHP
Ar Γ΄l blwyddyn o ddatblygiad cyhoeddi rhyddhau prosiect Snuffleupagus 0.5.1, sy'n darparu modiwl ar gyfer y dehonglydd PHP7 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 ddileu problemau penodol heb newid cod ffynhonnell y cais sy'n agored i niwed, sy'n gyfleus i'w ddefnyddio mewn systemau cynnal torfol lle mae'n amhosibl cadw pob cais defnyddiwr yn gyfredol. Amcangyfrifir bod costau gorbenion y modiwl yn fach iawn. 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. 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.
Dulliau gwella diogelwch PHP a ddarperir gan Snuffleupagus:
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;
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;
Ymhlith newidiadau yn y datganiad newydd: Gwell cefnogaeth i PHP 7.4 a gweithredu cydnawsedd Γ’'r gangen PHP 8 sy'n cael ei datblygu ar hyn o bryd. Ychwanegwyd y gallu i logio digwyddiadau trwy syslog (cynigir cynnwys y gyfarwyddeb sp.log_media, a all gymryd gwerthoedd php neu syslog). Mae'r set ddiofyn o reolau wedi'i diweddaru i gynnwys rheolau newydd ar gyfer gwendidau a nodwyd yn ddiweddar a thechnegau ymosod yn erbyn cymwysiadau gwe. Gwell cefnogaeth i macOS a defnydd ehangach o'r platfform integreiddio parhaus yn seiliedig ar GitLab.