Biologie ovlivňuje bezpečnost

"Když zaútočí nový virus, někteří z nás onemocní, někteří mohou zemřít a jiní přežijí. Každý z nás toti


"Když zaútočí nový virus, někteří z nás onemocní, někteří mohou zemřít a jiní
přežijí. Každý z nás totiž disponuje unikátním imunitním systémem. Tuto
myšlenku by si měl vzít k srdci i průmysl počítačové bezpečnosti," říká
Stephanie Forrestová, profesorka počítačových věd na univerzitě v Novém Mexiku.
Nové přístupy řešící ochranu výpočetní infrastruktury prezentovala sama
společně s řadou dalších vědců při příležitosti Symposium on Information
Security and Privacy v Bostonu. Konferenci uspořádala bostonská univerzita a
oslavila tím zahájení provozu nového pracoviště s názvem Center for Reliable
Information Systems and Cyber Security. Jde o projekt, v jehož rámci chtějí
vědci aplikovat multidisciplinární přístup na oblast počítačové bezpečnosti.
Otevření centra se zúčastnili zástupci mnoha vědních oborů, jejichž poznatky
mohou ovlivnit budoucnost bezpečného computingu.

Inspirující biologie
Různorodost systémů a aplikací může podle Forrestové hrát hlavní roli při
zabezpečení počítačů a sítí před škodlivými útoky. "Jeden z důvodů současné
zranitelnosti počítačů spočívá i v jejich vysoké podobnosti, téměř stejnosti.
Řada úspěšných útoků vychází ze skutečnosti, že se mnoho softwarových komponent
pouze replikuje. Útočníci, kteří odhalí zranitelnost takového modulu, potom
mohou ohrozit celou řadu aplikací i systémů," dodává Forrestová. Jedna z
možných cest efektivní obrany tedy spočívá v přeměně počítačových systémů v
unikátní stroje, jež by svou různorodostí lépe odolávaly útočníkům. Zde lze
jasně spatřit výše zmiňovanou analogii mezi světem biologie a světem počítačů.
Vědci samozřejmě nevyžadují, aby si každý uživatel vytvářel vlastní ojedinělý
operační systém nebo aplikační software. Funkcionalita i všechny další
náležitosti programů budou podle jejich představ neměnné. Jediné, co cíleně
projde náhodnou úpravou, je strojový kód.

Systém RISE
Tým profesorky Forrestové uveřejnil v loňském roce návrh systému přezdívaného
RISE (Randomized Instruction Set Emulation). Jde o mechanismus specifického
zpracování dat, jenž náhodně (ale jednotně) upravuje strojový kód aplikací (při
zachování jeho funkčnosti) a tím maří možnosti potenciálních útočníků. Škodlivé
kódy se do chodu programů nejčastěji infiltrují prostřednictvím tzv. injektáže
binárního kódu. I proto RISE pracuje na úrovni zpracování instrukcí (strojového
kódu) a nikoli na úrovni vyšší, abstraktnější. Zastupuje tak první výpočetní
vrstvu nad hardwarem počítače. Díky tomu je univerzálně přenositelný, neboť jej
vůbec nezajímá zdrojový kód, respektive jazyk příslušné aplikace.
RISE využívá samostatně pracujícího prostředí emulátoru, jenž produkuje
automaticky diverzifikované instrukční sady. Každý program spuštěný v rámci
systému využívá specificky upravených instrukcí, jež lze zpracovat pouze se
znalostí klíče z generátoru náhodných čísel. Cizí kód vstoupí do výpočetního
prostředí RISE bez náležité úpravy, což znemožní jeho provedení. Vetřelec totiž
nemůže znát úpravu původních instrukcí, jichž emulátor ke zpracování využívá.
Systém pracuje dle jednoduchého schématu. Kód aplikace se nahraje z pevného
disku do paměti emulátoru. Při té příležitosti se strojový kód upraví náhodným
číslem. Poté proběhne simulace jeho zpracování se znalostí algoritmu provedené
úpravy. Pokud vše proběhne regulérně, vypustí virtuální stroj instrukce v
původní podobě. Ty potom převezme a standardně zpracuje procesor počítače.
Projekt RISE ochraňuje samotný kód a tudíž v takové míře nevyžaduje permanentní
přítomnost nejrůznějších obranných mechanismů pro porty a podobná slabá místa
výpočetních systémů. Vše, co vstoupí do emulátoru odjinud než ze zadaného
výchozího zdroje, totiž nebude zpracováno. RISE umožňuje, aby každý spuštěný
proces provozoval vlastní instrukční sadu.

Od Intelu na Valgrind
Profesorka Forrestová oslovila s projektem RISE inženýry společnosti Intel. Ti
ovšem předpověděli nutnost vytvoření mnoha odlišných čipů, jednotlivě
podporujících každou instrukční sadu. To by hardwarovou podporu technologie
vzhledem k její náhodnosti v podstatě znemožnilo. Vývojový tým systému RISE
tento problém obešel a zprovoznil systém na softwarovém virtuálním stroji
projektu Valgrind (konkrétně na dynamickém překladači IA32-to-IA32). Prototyp
nevyžaduje rekompilaci programů ani přístup do zdrojového kódu aplikace.
Prostředí virtuálního stroje Valgrind nabízí velkou flexibilitu (neboť jde o
open source), ale jeho výkon poněkud pokulhává za původními představami
vývojářů z Nového Mexika. Funkčnost aplikací a bezpečnost provozu ovšem
prezentuje více než uspokojivě.
Díky svým vlastnostem se RISE v mnoha ohledech jeví jako velmi nepraktický a
neohrabaný. Na druhé straně za nesporně perspektivní prvek považuje profesorka
Forrestová aspekty jeho bezpečnosti. Doposud se jej nepodařilo napadnout ani
zlomit ("cracknout"), což dokládá řada neúspěšných pokusů týmů z dalších
univerzit, jimž byl za tímto účelem nabídnut.
RISE tedy zatím nebyl převeden do komerční podoby, ale dílčí výsledky práce
týmu z Nového Mexika, konkrétně technologie inspirovaná imunologií, se objevily
v nabídkách Primary Response společnosti Sana Security.

Inspirující Darwin
Forrestová se v současnosti obává nebezpečí, jež by v oblasti počítačové
bezpečnosti mohlo vzejít z jiného biologického konceptu, a sice z evoluce.
"Známe škodlivé kódy, jež se mohou replikovat a samostatně šířit. Jediným
termínem z Darwinovy evoluce, jenž nám v počítačové bezpečnosti dosud chybí, je
mutace," dodává Forrestová. Ve smyslu genetické, tj. dědičné změny, kterou by
musely podobné kódy podporovat a zachovávat, jí nejspíše lze dát za pravdu.


Valgrind
Projekt Valgrind reprezentuje sada nástrojů pro ladění linuxových programů.
Jednotlivé aplikace se zabývají například automatickou detekcí chyb paměťového
managementu nebo problematikou zpracování jednotlivých výpočetních vláken.
Výsledkem jejich nasazení při vývoji by měly být především stabilnější programy
s detailněji přizpůsobenými parametry výkonu a paměťové úspornosti. V
současnosti obsahuje distribuce tři nástroje: detektor chyb správy paměti,
editor vyrovnávací paměti a prostředek pro správu výkonu. Valgrind pracuje ve
vlastním provozním prostředí, což z něj učinilo vhodný prostředek pro nasazení
technologie RISE. Sada je šířena pod licencí GNU GPL.

¨
Bostonský RISCS
Pod zkratkou RISCS se skrývá pracoviště bostonské univerzity, jehož úkolem je
koordinovat výzkum na poli spolehlivých a bezpečných výpočtů Center for
Reliable Information Systems and Cyber Security. V této oblasti má zajišťovat i
příslušné vzdělávání.
Za nejdůležitější prvek nového projektu považují představitelé univerzity právě
multidisciplinaritu, tzn. účast řady vědeckých oborů, jež by výše avizovaný
předmět zájmu mohly svými poznatky obohatit. Kromě tvorby konceptů a principů
počítačové bezpečnosti by se výsledky práce RISCSu měly přeměnit i v konkrétní
obranné nástroje kritické výpočetní infrastruktury. V rámci projektu mají být
koordinována univerzitní pracoviště, profesionálové v oboru bezpečnosti, ale i
jednotlivé vývojové komunity.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.