ugrás a tartalomhoz

Megerősített PHP

Granc Róbert · 2004. Május. 18. (K), 12.04
A PHP-General levelezőlistán a héten bejelentették a "Megerősített PHP" (Hardened PHP) projekt elindítását. A kezdeményezés a PHP összes potenciális támadási felületének megszüntetését tűzte ki célul maga elé.

A Hardened PHP jelenleg elérhető 0.1.1-es változata olyan funkciókat valósít meg, mint
- a Zend Memory Manager "kanári-védelme"
- a Zend Linked Lists "kanári-védelme"
- a belső formátumú szkript-visszaélések elleni védelem
- a kódbeszúrás elleni védelem
- a támadó IP-címének syslog szintű loggolása

A "kanári-védelem" kifejezés a bányákban az elmúlt századokban használt kanárikra utal. Anno a bányászok azért vitték le kalitkában magukkal a vájatokba a kanárikat, hogy mérgező gázok megjelenése esetén a talpukat korán feldobó madarak szolgáljanak vészriadóként a vájat azonnali kiürítésére.
Ebben az esetben ez a módszer a puffer-túlcsordulás elleni védelmet jelenti: a stackre ismert adatot rakunk, majd minden funkcióhíváskor a visszatérés előtt ellenőrizzük hogy ez az adat nem változott. A legtöbb támadás a stack egy részének felülírására épül, a "kanári-védelem" viszont észleli hogy megváltozott a stack, így a rosszindulatú kód nem fog lefutni. Azaz a stackre általunk rakott adat a kanári, amelynek elvesztése figyelmeztet minket a fontos adatokat fenyegető veszélyre.