Zranitelnost

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Zranitelnost (anglicky vulnerability) je v informatice označení pro programátorskou chybu, která v software způsobuje bezpečnostní problém. Je-li v programu přítomna chyba způsobující zranitelnost, označuje se její uskutečnitelné využití jako exploit. Útočník využívá zranitelnost pro ovládnutí počítače nebo jiný prospěch (instaluje internetového robota, počítačový virus a podobně).

Příčiny[editovat | editovat zdroj]

Příčin zranitelnosti je několik. Jejich pravděpodobnost výskytu roste s růstem komplexnosti hardware a software. Také politika výrobců, preferujících funkcionalitu (default permit) a automatické funkce (například ukládání a spouštění kódu bez povolení uživatelem) před bezpečností (default deny), způsobuje nekontrolovatelné šíření malware a vzdálený přístup k zařízení a osobním údajům (HTTP cookie). Zadní vrátka mohou být také úmyslná.[1] Lidský faktor (například spouštění software s přílišnými právy či slabá uživatelská hesla) je také značným zdrojem zranitelnosti. Tedy obecně usnadnění z hlediska programátorského či uživatelského vede i k usnadnění zneužití. Tomu má například bránit Trusted Computing, chránící hardware před útoky i před uživatelem samotným.

Protiopatření[editovat | editovat zdroj]

Někdy zvané pouze jako „opatření“ je pojem, který se používá v řízení rizik pro označení čehokoliv, co je navrženo pro zajištění větší bezpečnosti (snížení hrozby a zranitelnosti), tedy snížení rizika. Protiopatření se dělají na základě analýzy rizik.

Audity[editovat | editovat zdroj]

Pro minimalizování zranitelnosti se provádějí audity, tzn. ověřuje se bezpečnost daných kódů, vhodné je i využít Linusův zákon. Jedná se o velmi komplikovanou záležitost, protože čím rozsáhlejší projekt auditujeme, tím více se to stává nemožné. Audity mají význam zejména na malých částech zdrojového kódu, jinak se provádí jenom jako čistě formální záležitost. Stačí doložit funkčnost softwaru, přesně tak, jak si představuje auditor.

Problém v ověřování nastává v případě, že je třeba provést audit u uzavřeného kódu (typicky komerčního), do kterého není přístup. Provádí se certifikace systému podle specifikace, většinou čistě formální záležitost. Existují systémy, kde se certifikace provádějí pečlivě. Takový nejrozšířenějším systémem je OpenVMS využíván především ke komerčním účelům, kde je více správců, čímž se zajišťuje bezpečnost. Penetrační testy se typicky nedělají, ale získávají větší oblibu.

Audit funkce a nastavení systému zajišťuje, že přidělená oprávnění musí být vždy minimální nutná. Pro splnění bezpečnostních požadavků systému je důležité zaznamenávat a analyzovat jeho činnost. Proto musíme vše logovat a výsledné logy archivovat, aby šla následně provést forenzní analýza. Protože pokud dojde k problému či chybě, je nutné najít původce tohoto nedopatření, a proto je nejlepší logy posílat na vedlejší počítač, kde jsou v případě cracknutí hlavního počítače zachovány.

Webové aplikace si správci webů mohou nechat zdarma ověřit službou Skener webu (skener zranitelností webů), kterou provozuje správce české domény CZ.NIC, z.s.p.o.

Nastavení systému[editovat | editovat zdroj]

Využívá se metody minimálního oprávnění, kdy se každému kódu nastaví jen oprávnění, která potřebuje na svou funkci. Například internetový prohlížeč nepotřebuje oprávnění správce. Bohužel nelze jednoznačně určit, jaká jsou minimální oprávnění pro daný kód, proto se omezují z větší části pouze nejdůležitější oprávnění, např. administrátor.

Dlouhodobá analýza[editovat | editovat zdroj]

Daný kód se uvede do činnosti a po určitou dobu se sleduje jeho chování – chyby či slabá místa. Zjištěné informace se dále využívají pro nápravu.

Aktualiazce[editovat | editovat zdroj]

Částečnou ochranou proti zranitelnosti je i průběžná instalace aktualizací. Pro následnou detekci zneužití zranitelnosti se využívají antivirové programy.

Klasifikace zranitelností[editovat | editovat zdroj]

Celosvětově není sjednocena, každý softwarový dům si hodnotí podle svého, tak aby mu to vyhovovalo. Firmy Red Hat a Microsoft používají po dohodě stejné názvy.

Obecně se zranitelnost klasifikuje do třech úrovní:

  1. ohrožení na úrovni uživatele – nejmenší riziko
    chyby v programech (poškození dat, krádež citlivých údajů), například pokud nám někdo ukradne e-mailové adresy a začne na ně rozesílat spamy
  2. zvýšení oprávnění lokálního uživatele – větší problém
    uživatel (proces) se může stát správcem
  3. vzdálený přístup do systému – největší riziko
    přístup neautorizovaného uživatele do systému přes síť
    útočník se nejprve nemusí stát lokálním uživatelem, aby získal potřebná oprávnění ke vstupu do systému

Red Hat a Microsoft Windows[editovat | editovat zdroj]

Tyto dvě významné firmy rozlišují ještě další 4 úrovně, na kterých se společně dohodli:

  1. minimální odpad (low)
    zneužití je obtížné, nebo se jedná pouze o minimální dopad
  2. průměrné (moderate)
    zneužití se zmírněno implicitním nastavením, obtížností, auditováním (záznamem operací)
    k problému může dojít, ale jsme schopni ho včas detekovat a postarat se o včasný zásah
  3. důležité (important)
    ohrožení uživatelských dat nebo systémových prostředků
    například nám někdo nainstaluje do počítače malware, který začne rozesílat spam
  4. kritické (critical)
    ohrožení síťovým červem bez účasti uživatele
    vzdálený útok, kdy se do počítače dostaneme zvenku

V podrobnějším popisu Red Hat zjistíme, že v tomto ohledu je tato firma na sebe velmi tvrdá. Naplnění těchto jednotlivých bodů je velmi různé a můžeme vidět, že věci, které Microsoft vidí jako low jsou u Red Hat posuzovány jako moderate.

Databáze zranitelností[editovat | editovat zdroj]

CVE (Common Vulnerabilities and Exposures)[editovat | editovat zdroj]

CVE spravuje společnost MITRE Corporation. Databáze pocházející z Ameriky a dostávají se sem identifikátory problémů i o operačních systémech.

CERT (Computer Emergency Response Team)[editovat | editovat zdroj]

CERT pracuje pod hlavičkou univerzity Carnegie Mellon v USA. Zabývá se pouze bezpečnostními problémy Internetu. Každý stát, který se chce zviditelnit disponuje svojí vlastní organizací, která poté spolupracuje s americkou univerzitou.

Zveřejnění zranitelnosti[editovat | editovat zdroj]

Úplně neodstraňuje riziko hrozby, ale alespoň částečně omezuje.

Úplné zveřejnění[editovat | editovat zdroj]

Jedná se o úplné odhalení bezpečnostního problému. Zdrojový kód exploitu je zcela k dispozici, aby si jej mohli všichni vyzkoušet. Zpravidla se do exploitu zanášejí netriviální chyby a po stažení z internetu nefunguje, až do provedení malých oprav, kdy se vše opět stává funkční. Tento způsob ověří, že víme o co se jedná a je to také ochrana proti script kiddie. Protože lidé, kteří něco stáhnout z internetu, se hned tváří jako hackeři, protože ve skutečnosti nevědí, že jsou crackeři. Je tu velké riziko pro koncové uživatele, protože zveřejněním exploitu se dá zneužít.

Zveřejnění citlivým způsobem[editovat | editovat zdroj]

Snaha informovat vývojáře takovým způsobem, aby mohli reagovat na daný problém a v co nejkratší možném čase ho opravit, otestovat a uvolnit aktualizaci. Tato doba se vývojářům udává v rámci dnů, týdnů, či měsíců v závislosti na závažnosti problému.

Existují uzavřené skupiny lidí s dobrou pověstí, které mají k dispozici databázi chyb. Ovšem to neznamená, že by nikdo z nich nemohl vynést ven nějakou důvěryhodnou informaci a tím umožnit tajným službám některých států její zneužití. Proto je snaha zkrátit tuto dobu pro vývojáře co nejvíce, jedná se o způsob omezení, ale nedokáže úplně odstranit riziko zneužití.

Využití zranitelnosti[editovat | editovat zdroj]

Využít zranitelnost dokáže speciální program, tzv. Exploit. Exploit má vždy náskok před aktualizacemi, což bývá největší problém. Většinou se exploit vyskytuje ve formě skriptu pro masivní útok (necílený útok, hledání zranitelného počítače a následná snaha o elevaci)

Reference[editovat | editovat zdroj]

  1. http://nwoo.org/rservice.php?akce=tisk&cisloclanku=2013110079 - Šmírování NSA sráží USA business počítačových sítí

Související články[editovat | editovat zdroj]