Nová zbraň proti hackerům: obrovské množství chyb v softwaru

  • Vědci vymysleli nový systém obrany proti hackerům
  • Pomocí speciálního systému implementují do softwaru spoustu chyb
  • Tyto chyby nejsou zneužitelné, což útočník zjistí až po čase

Vědci z News University (NYU) ve spolupráci s vědci z MIT představili nové řešení pro boj proti hackerům, kteří hledají chyby v softwaru všeho druhu. Díky těmto chybám pak obejdou nejdůležitější ochranu a poté získají například přístup k administrátorskému účtu či oblasti, kam by neměli mít nikdy přístup. Z takových útoků pak vznikají hackerské útoky na internetové služby, ale třeba i na operační systémy, hry a podobně.

Vyvíjet software bez chyb není možné, obzvláště v dnešní době, kdy se už velké softwarové balíky skládají z milionů řádek, obrovského množství propojení, závislostí a podobně, to vše navíc v různých vysokoúrovňových jazycích. I když se vývojáři snaží chyby opravovat, hackeři mají v tomto směru vždy náskok, protože si dají na čas, najdou potřebnou chybu a zneužijí pro vlastní úrok nebo ji prodají třetí straně, která díru zneužije.

Do budoucna by ale vývojáři mohli dostat do ruky slušnou obranu, díky které by se hackerům vše zkomplikovalo, minimálně po časové stránce.

Od hledání chyb k vytváření falešných chyb

Vědci se původně zabývali řešením, které by hledalo a hodnotilo chyby v softwaru. Aby mohli řešení testovat, museli si udělat i nástroj, který vytvářel tisíce umělých chyb, na kterých se zkoušelo, jak řešení pro hledání chyb funguje.

Při tvorbě systému si ale vědci uvědomili, že je poměrně časově náročné hledat chyby a došlo jim, že řešením není hledat a odstranit chyby, ale naopak jich do softwaru přidat spoustu takových, které nelze zneužít, i když to na první pohled nelze poznat.

Ekonomický princip hackingu

Hackování jakéhokoli druhu je dnes postaveno na ekonomických principech – vynaložená síla na hledání chyb musí být pro útočníka ekonomicky výhodná. Musí se mu tedy vyplatit investovat daný čas zkoumáním, aby na následném útoku posléze vydělal ať už při vlastním útoku nebo prodeji takové chyby třetí straně.

Nový obranný systém řeší přesně tuto ekonomickou oblast. Hacker je totiž zaplaven množstvím chyb v softwaru, ke kterým se postupně dostane, ale teprve až na konci zjistí, že nejsou zneužitelné pro získání třeba vyšší oprávnění pro prolomení bezpečnostních opatření a podobně.

Časová a tedy i ekonomická náročnost se výrazně zvýší, obzvláště když takových chyb bude najednou tisíce nebo více. Hacker by strávil obrovské množství času nad zkoumáním chyb zcela zbytečně, než by našel nějakou skutečnou, která funguje. A o to právě jde.

Neškodné umělé chyby

Všechny umělé vytvořené chyby v softwaru jsou pochopitelně neškodné, ale to útočník musí poznat až na konci zkoumání. Aby se tak stalo, musí vědci dokázat vytvořit tyto umělé chyb tak, aby je nebylo možné snadno odlišit od těch skutečných.

Jinak by to nedávalo příliš smysl – hackeři by si snadno vytvořili nějaký typ filtrovacího nástroje, který by jim okamžitě řekl, že jde o „umělou“ chybu“ a dále by se jí nezabývali.

Nový systém by tak vývojáři měli používat už přímo při vývoji softwaru, díky čemuž by se umělé chyby dostaly i do různých hlubokých částí, ale útočník by mohl zneužít pouze umělá data, nikoli ta skutečná, na kterých program pracuje.

Vědci se pokusili prototyp použít na stávající software v podobě webového serveru Nginxa také knihovny libFLAC, do kterých nahráli tisíce umělých chyb. Zatímco původní software fungoval bez problému, pomocí současných hackerských nástrojů bylo zjištěno, že lze zneužít tisíce chyb.

Nejtěžším úkolem pro další výzkum je, aby umělé chyby byly co nejvíce reálné a nedaly se snadno odlišit od skutečných, které hackeři v softwaru hledají. Ať už ale budou možnosti použití jakkoli omezené, určitě by se mohlo jednat o další obrannou vrstvu proti hackerům.

Originální materiál k výzkumu naleznete zde (PDF)

Diskuze (28) Další článek: Ráj retro her EmuParadise po bezmála 20 letech končí

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,