A Snuffleupagus projekt PHP modult fejleszt a sebezhetőségek blokkolására

A projekt határain belül snuffleupagus fejlődik egy modul a PHP7 értelmezőhöz való csatlakozáshoz, amelyet a környezet biztonságának javítására és a PHP-alkalmazások futtatásának sebezhetőségéhez vezető gyakori hibák blokkolására terveztek. A modul lehetővé teszi virtuális javítások létrehozását is az egyes problémák megoldására a sérülékeny alkalmazás forráskódjának megváltoztatása nélkül, ami kényelmesen használható tömeges hosting rendszerekben, ahol lehetetlen minden felhasználói alkalmazást naprakészen tartani. A modul C nyelven íródott, megosztott könyvtár formájában csatlakozik ("extension=snuffleupagus.so" a php.ini-ben) és forgalmazza LGPL 3.0 licenccel.

A Snuffleupagus olyan szabályrendszert biztosít, amely lehetővé teszi szabványos sablonok használatát a biztonság javítása érdekében, vagy saját szabályok létrehozását a bemeneti adatok és a funkcióparaméterek vezérléséhez. Például az "sp.disable_function.function("rendszer").param("command").value_r("[$|;&`\\n]").drop();" lehetővé teszi, hogy korlátozza a speciális karakterek használatát a system() függvény argumentumaiban az alkalmazás megváltoztatása nélkül. Hasonlóképpen létrehozhat virtuális javítások az ismert sebezhetőségek blokkolására.

A fejlesztők által végzett tesztek alapján a Snuffleupagus alig csökkenti a teljesítményt. A projekt saját biztonsága érdekében (a biztonsági réteg esetleges sérülékenységei további támadási vektorként szolgálhatnak) a projekt minden egyes véglegesítés alapos tesztelését végzi el a különböző disztribúciókban, statikus elemző rendszereket használ, a kód formázása és dokumentálása az auditálás egyszerűsítése érdekében történik.

Beépített módszerek állnak rendelkezésre a sebezhetőségi osztályok blokkolására, mint például a problémák, összefüggő adatsorosítással, nem biztonságos PHP mail() függvény használata, Cookie-tartalom kiszivárgása XSS-támadások során, problémák futtatható kóddal (például formátumban) phar), rossz minőségű véletlenszám generálás és helyettesítés helytelen XML konstrukciók.

A következő módok támogatottak a PHP biztonságának fokozása érdekében:

  • Automatikusan engedélyezze a „biztonságos” és „samesite” (CSRF-védelem) jelzőket a cookie-k számára, Titkosítás Aprósütemény;
  • Beépített szabálykészlet a támadások nyomainak és az alkalmazások kompromittálásának azonosítására;
  • Kényszerített globális aktiválása a "szigorú" (például blokkolja a karakterlánc megadására irányuló kísérletet, amikor egész értéket vár argumentumként) és védelmet típusú manipuláció;
  • Alapértelmezés szerint blokkolva protokoll burkolók (például a "phar://" kitiltása) kifejezett engedélyezési listájukkal;
  • Írható fájlok végrehajtásának tilalma;
  • Fekete-fehér listák az eval számára;
  • Szükséges a TLS-tanúsítvány-ellenőrzés engedélyezéséhez használat közben
    becsavar;

  • HMAC hozzáadása a szerializált objektumokhoz annak biztosítására, hogy a deszerializálás lekérje az eredeti alkalmazás által tárolt adatokat;
  • Kérjen naplózási módot;
  • Külső fájlok betöltésének blokkolása a libxml-ben az XML dokumentumokban lévő hivatkozásokon keresztül;
  • Külső kezelők csatlakoztatásának képessége (upload_validation) a feltöltött fájlok ellenőrzéséhez és vizsgálatához;

A projektet az egyik nagy francia hosting szolgáltató infrastruktúrájának felhasználói védelmére hozták létre és használták. Megjegyezzükhogy a Snuffleupagus egyszerű csatlakoztatása védelmet nyújtana a Drupal, a WordPress és a phpBB idén azonosított számos veszélyes sebezhetősége ellen. A Magento és a Horde sebezhetőségei blokkolhatók a mód engedélyezésével
"sp.readonly_exec.enable()".

Forrás: opennet.ru

Hozzászólás