Google Contracts zvýší bezpečnost Javy

13. 2. 2011

Sdílet

Google vyvíjí sadu rozšíření, které by měly aplikace vyvinuté v Javě ochránit před chybami buffer overflow. Příslušné rozšíření Contracts (jiný název DBC, Design-By-Contract, Cofoja) bylo uvolněno jako open source.

Rozšíření je primárně určeno pro zjednodušení vývoje a identifikaci nefunkčních kusů kódu už v raném stadiu, ale mohlo by přispět i k větší bezpečnosti hotových aplikací. To se zdá být poměrně významným problémem: např. Microsoft loni oznámil, že Java, respektive chyby v interpreteru JRE (Java Runtime Environment) představují největší hrozbu pro podnikové sítě, protože systémy IPS/IDS je detekují jen s malou pravděpodobností (viz také: Systémy podnikové ochrany mají problémy s kódem v Javě).

Contracts by měl přetečení zásobníku bránit kontrolou hodnot používaných při volání procedur a hodnot, které procedury vracejí. Jedná se o tedy de facto o nástroj sledující komunikaci mezi různými komponentami kódu. Původní inspirací pro vývojáře Googlu má být podobná technologie použitá v programovacím jazyku Eiffel.

bitcoin_skoleni

Neočekávaná hodnota obvykle vede k pádu programu, systém se však přitom může dostat do nestabilního stavu, který útočníkům umožní vsunout ke zpracování své vlastní příkazy. (Vlastně jde o ochranu vstupních hodnot, trochu analogicky obraně proti útokům SQL injection).