Ang proyekto ng Snuffleupagus ay bumubuo ng isang PHP module para sa pagharang ng mga kahinaan

Sa mga hangganan ng proyekto snuffleupagus ay umuunlad isang module para sa pagkonekta sa PHP7 interpreter, na idinisenyo upang mapabuti ang seguridad ng kapaligiran at harangan ang mga karaniwang error na humahantong sa mga kahinaan sa pagpapatakbo ng mga PHP application. Pinapayagan ka rin ng module na lumikha ng mga virtual na patch upang ayusin ang mga partikular na problema nang hindi binabago ang source code ng vulnerable na application, na maginhawa para sa paggamit sa mga mass hosting system kung saan imposibleng panatilihing napapanahon ang lahat ng application ng user. Ang module ay nakasulat sa C, ay konektado sa anyo ng isang shared library (β€œextension=snuffleupagus.so” sa php.ini) at ipinamahagi ni lisensyado sa ilalim ng LGPL 3.0.

Ang Snuffleupagus ay nagbibigay ng system ng mga panuntunan na nagbibigay-daan sa iyong gumamit ng mga karaniwang template upang mapabuti ang seguridad, o lumikha ng sarili mong mga panuntunan upang kontrolin ang data ng input at mga parameter ng function. Halimbawa, ang panuntunang β€œsp.disable_function.function(β€œsystem”).param(β€œcommand”).value_r(β€œ[$|;&`\\n]”).drop();” nagbibigay-daan sa iyong limitahan ang paggamit ng mga espesyal na character sa system() function arguments nang hindi binabago ang application. Katulad nito, maaari kang lumikha mga virtual na patch upang harangan ang mga kilalang kahinaan.

Sa paghusga sa pamamagitan ng mga pagsubok na isinagawa ng mga developer, halos hindi binabawasan ng Snuffleupagus ang pagganap. Upang matiyak ang sarili nitong seguridad (mga posibleng kahinaan sa layer ng seguridad ay maaaring magsilbing karagdagang vector para sa mga pag-atake), gumagamit ang proyekto ng masusing pagsubok sa bawat commit sa iba't ibang distribusyon, gumagamit ng mga static na sistema ng pagsusuri, at naka-format at nakadokumento ang code upang pasimplehin ang pag-audit.

Ang mga built-in na pamamaraan ay ibinibigay upang harangan ang mga klase ng mga kahinaan gaya ng mga isyu, kaugnay na may data serialization, hindi ligtas paggamit ng PHP mail() function, pagtagas ng mga nilalaman ng Cookie sa panahon ng pag-atake ng XSS, mga problema dahil sa paglo-load ng mga file na may executable code (halimbawa, sa format phar), mahinang kalidad ng random na pagbuo ng numero at pagpapalit maling mga konstruksyon ng XML.

Ang mga sumusunod na mode ay sinusuportahan upang mapahusay ang seguridad ng PHP:

  • Awtomatikong paganahin ang mga flag na "secure" at "samesite" (CSRF protection) para sa Cookies, encryption Cookie;
  • Built-in na hanay ng mga panuntunan upang matukoy ang mga bakas ng mga pag-atake at kompromiso ng mga application;
  • Sapilitang pandaigdigang pag-activate ng "mahigpit" (halimbawa, hinaharangan ang isang pagtatangka na tukuyin ang isang string kapag umaasa ng isang integer na halaga bilang isang argumento) at proteksyon laban sa pagmamanipula ng uri;
  • Pag-block bilang default mga balot ng protocol (halimbawa, pagbabawal sa "phar://") sa kanilang tahasang pag-whitelist;
  • Pagbabawal sa pagpapatupad ng mga file na maaaring isulat;
  • Mga itim at puti na listahan para sa eval;
  • Kinakailangan upang paganahin ang TLS certificate checking kapag gumagamit
    kulot;

  • Pagdaragdag ng HMAC sa mga serialized na bagay upang matiyak na ang deserialization ay kinukuha ang data na nakaimbak ng orihinal na application;
  • Humiling ng logging mode;
  • Hinaharang ang paglo-load ng mga panlabas na file sa libxml sa pamamagitan ng mga link sa mga XML na dokumento;
  • Kakayahang ikonekta ang mga panlabas na tagapangasiwa (upload_validation) upang suriin at i-scan ang mga na-upload na file;

Ang proyekto ay nilikha at ginamit upang protektahan ang mga gumagamit sa imprastraktura ng isa sa mga malalaking French hosting operator. Ito ay nabanggitna ang simpleng pagkonekta sa Snuffleupagus ay mapoprotektahan laban sa marami sa mga mapanganib na kahinaan na natukoy ngayong taon sa Drupal, WordPress at phpBB. Maaaring ma-block ang mga kahinaan sa Magento at Horde sa pamamagitan ng pagpapagana ng
"sp.readonly_exec.enable()".

Pinagmulan: opennet.ru

Magdagdag ng komento