Hlavní navigace

Sporná otázka bezpečnosti

Vojtěch Bednář 12. 1. 2006

Je Linux X krát (ne)bezpečnější než Windows? Je v jedné platformě více chyb než v jiné? Jsme nepřetržitě vystaveni rizikům útoků, nebo jde jen o strašení několika jednotlivců a firem podpořené novináři?

Loňský rok byl podle výzkumů zatím nejkritičtějším obdobím, pokud jde o výskyt závažných bezpečnostních mezer v používaném softwaru. Různých zpráv a analýz, které to dokazují a porovnávají z hlediska bezpečnosti různé platformy, existují řádově desítky. Jedna z nich, zpráva americké vládní agentury (US-CERT), hovoří o chybách v operačních systémech, mimo jiné ve Windows a v GNU/Linux.

Díky zmatení několika pojmů došlo k tomu, že jste si v uplynulých dnech mohli přečíst o tom, jak Linux je, případně není čtyřikrát nebezpečnější než Microsoft Windows. Ponechme stranou samotné přetahování se o otázku, zda něco je bezpečnější než něco jiného z hlediska počtu nalezených chyb. Nenechme se také unášet bojem, zda řešení vad v proprietárních systémech je efektivnější než v otevřených. To jsou určitě zajímavá témata k porovnání.

To, o co bych se rád pokusil, je něco jiného. Totiž pohled na samotnou podstatu zabezpečení počítačového softwaru. Co když je boj o „bezpečnostní mezery” ve skutečnosti jen pouhou iluzí? Co když bezpečnost jako taková, v dnešní době už víceméně průmyslové odvětví v rámci IT, ve skutečnosti představuje pouhou nafouknutou a neopodstatněnou bublinu? Bublinu, která živí armádu odborníků. Ač to může znít neuvěřitelně, je to možné. A obhájitelné argumenty.

Podstata rizik

Každá forma zpracování důležité informace vyžaduje nějakou podobu jejího zabezpečení. Toto zabezpečení musí být tím vyšší, čím větší je důležitost informace a čím více osob se k ní může přiblížit. Zatímco sazebník poplatků u pultu v bance stačí prostě položit, maximálně přikartovat špagátkem, peníze jsou bezpečně uloženy v sejfu. Cena informace představované penězi je zkrátka mnohem vyšší než cena sazebníku. Do banky chodí mnoho lidí, kteří se k sazebníku i k penězům přiblíží, ale asi nemá smysl dohadovat se, o co mají větší zájem.

Informace uložená v počítačovém systému je na tom velmi podobně. Některou je potřeba chránit před nenechavci více, jinou méně. Pokud je počítač součástí sítě, pak může být využitelný nejen pro uložení dat, ale také pro svou schopnost je zpracovávat. Stává se nejen nosičem cenné informace, nýbrž je sám hodnotou.

Když se bavíme o hackerských útocích, bavíme se vždy o pokusech o převzetí nebo zlikvidování informace, případně o využití kapitálu spojeného se schopností zpracovávat informaci a poskytovat ji jiným podobným systémům, přebírat ji od nich. Může to znít strašně složitě, ale předchozích několik řádků popisovalo, tak trochu v metajazyce, fungování počítačového systému a zájem potenciálních útočníků o něj. Kdyby byl počítač skříní na šanony, bylo by poměrně jednoduché ošetřit jej tak, aby se k nim žádný nepovolaný člověk nedostal. Protože má ale kromě jednoduchého zámku schopnost být využíván k mnoha jiným účelům, není takové zabezpečení jednoduché.

Tím, co podráží zabezpečení počítačů nohy, je jejich univerzalita. Schopnost provozovat různé, často velmi rozdílné programy je podmíněna schopností zpracovávat informaci mnoha různými způsoby. A rozlišit, který z nich je a který není napadením představuje neřešitelný oříšek. Právě zde se nachází podstata toho, co se většinou nazývá „bezpečnostní rizika”. A co je poslední dobou tak úspěšné.

Díra v díře

Málokterý program pro Windows nebo pro Linux je programem jednoduchým. I primitivní aplikace využívá mnoha různých aplikačních rozhraní, služeb mnoha nepůvodních komponent a operačního systému, externích knihoven. Aplikace, jak ji vidí uživatel, je možná jednoduchou kalkulačkou, ve skutečnosti ale jde o složitý propletenec mnoha funkcí a vztahů mezi nimi. Přesně popsat a sledovat tyto vztahy je nemožné i pro samotné autory programů a operačních systémů. Pokud navíc systém vidíme jako konglomerát knihoven, aplikací, ovladačů nebo částí jádra, pak tušíme, že složitost celku je nejspíše značná. Tato složitost ovšem není na škodu. Je podmínkou schopnosti napsat pro daný počítač a systém prakticky libovolný program. Je rámcem svobody autorů a možností uživatelů softwaru.

Existuje jen několik málo konceptů bezpečnostních mezer, ale bezpočet jejich výskytů v praxi. Notoricky známou je chyba způsobená přetečením nebo podtečením datového zásobníku. Vedle ní stojí neautorizované zavolání vnitřní funkce programu způsobené například opomenutím programátora nebo shodou okolností danou tím, že ve složitém systému, který je nepřehledný, došlo k vzájemnému společnému působení několika různých faktorů. Do této skupiny chyb můžeme řadit rovněž nekorektní fungování komunikačního protokolu nebo situaci, kdy dojde k neočekávané odezvě periferie. Všechny tyto „chyby” mají společné dvě věci. Především mohou být využity k narušení bezpečnosti uložené informace a pracovního kapitálu počítače. A za druhé, vzhledem k tomu, že jejich existence je podmíněna určitým konkrétním stavem velmi složitého prostředí, se velmi špatně odhadují. Prostředí (systému) se přitom mění s každým zásahem do něj a ta „pravá” konstelace pro vznik bezpečnostní mezery může vzniknout, poněkud paradoxně, například také snahou o zalepení jiné. Poněkud nadneseně, bezpečnostní mezera může být podmíněna jinou bezpečnostní mezerou.

Kolik je těch chyb?

Otázka „Kolik je bezpečnostních mezer?” se může zdát stejně tak hloupá jako aktuální. Číselná odpověď na ni takřka jistě neexistuje. Nabídnu ale odpověď, která se jeví logicky správná. Je jich tolik, kolik jich jsme schopni najít. Vzhledem k výše uvedenému je tedy možné, že „chyby” nebo „mezery” nejsou ničím jiným než přesně popsaným stavem složitého systému, který umožňuje obejít jeho zabezpečení. Někdy to může být jednodušší, jindy složitější. Podmínky, které musí být naplněny, jsou jednou vzácné, jindy běžné, ale v zásadě jde vždy o totéž.

Oprava konkrétní chyby a „zalepení” mezery je přitom vysoce iluzorním počinem. Proč? Protože její aplikací vzniká pouze jiný stav téhož systému. A tento jiný stav může být využit pro nalezení jiné nedokonalosti. Její existence přitom nemá zhola nic společného se schopnostmi programátorů nebo dokonalostí vyladění systému. Je dána prostě jeho složitostí a multifunkčností. Stav, ve kterém je možné dostat se k informacím, je systému vlastní, mezera tedy nepochází z toho, že by někdo něco opomenul, že by udělal chybu. Ona je faktem, který se objektivizuje v okamžiku, kdy je objeven. Pokud je předchozí pravda, počet chyb je neomezený a nekonečný, ať si autoři softwaru dělají, co chtějí.

Lovci mršin

Předchozí konstrukce může mnohým připadat nefér. Ale zamysleme se. Pokud by na ni bylo zbla pravdy, pak kde vznikají bezpečnostní mezery? V dílnách tvůrců softwaru? U Microsoftu, nebo třeba Novellu? Ve vývojových komunitách, u testerů? Nikoli. Prostředí pro ně je dáno stejnými zákony, které umožňují PC, aby na něm fungoval Linux, stejně jako Windows. Ale to je jen prostředí. Chyby vznikají tam, kde se hledají. A tam, kde se publikují. Čili například u firem, jako je Secunia. A také na serverech zabývajících se IT.

Profesionální lovci zranitelností je vlastně vytvářejí tím, že hledají vhodné stavy systémů. Nutí tak jejich tvůrce lepit své zdánlivé chyby, za které ale ve velké většině případů vůbec nemohou. A je lhostejno, jde-li o Linux či Windows. Jediná chyba je totiž na jejich straně – v jejich aktivitě. Nejsou nic jiného než jacísi profesionální lovci mršin mající jistotu, že svou práci dobře prodají. Ve skutečnosti však zabezpečení více škodí než prospívají. Jejich činnost vede k tomu, že popisy reálných mezer jsou k dispozici rádoby hackerům, dobrodruhům nebo dokonce zločincům, kteří by je sami odhalit nedokázali, ale umí šikovně využít práce „těch hodných”.

Tak Windows, nebo Linux?

Je to jedno. Bezpečný operační systém, nebo vůbec bezpečný software neexistuje. Osobně se domnívám, že porovnání založené na počtu objevených mezer je naprosto irelevantní a o reálné úrovni zabezpečení nevypovídá vůbec nic. Předchozím textem jsem chtěl poukázat na nesmyslnost počínání hledačů chyb. Domnívám se, že skutečných omylů tvůrců programů je v současném softwaru, přinejmenším v tom nejpoužívanějším, velice málo. Chyby ve skutečnosti nejsou chybami, navíc tvoří určitou část nátury IT. Nelze se jich zcela zbavit, ale je možné jimi pěkně dlouho otravovat uživatelům, a nejen jim, život. Otázka zní, zda to stojí za to.

Anketa

Je to tak?

Našli jste v článku chybu?

25. 2. 2008 19:06

uživatel si přál zůstat v anonymitě
pane bednar radeji se uz k nicemu nevyjadrujte ani se nesnazte na zadny z techto prispevku odpovidat nebo zase strhnete dalsi obrovskou vlnu rakci na vase plky ode dneska vam budu prezdivat ,,windowsman,,jinak muj obecny nazor je ze program je sestaven a-z 0-9/nadsazene/ pokud mame takto vymezene moznosti psani programu tak je logicky nemozne udelat chybu protoze pracujeme v prostredi ..od do..toto prostredi ma mezniky a v nich se da vse kontrolovat i predvidat takze lze napsat bezchybny program…

10. 1. 2007 12:30

lordrat (neregistrovaný)
Dovolim si nesuhlasit. "hello world" ma vyznam. Je "oboznamovaci", co sa o praznom programe neda povedat. ;-)
Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?