Zranitelnost

nedokonalost počítačového vybavení, která umožňuje útočníkovi narušit bezpečnost

Zranitelnost (anglicky vulnerability) je v informatice označení pro programátorskou chybu, která v software nebo v hardware 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

Příčin zranitelnosti je několik. Jejich pravděpodobnost výskytu roste s růstem komplexnosti (novosti) hardware a software. S časem a množstvím používaných zařízení tak roste i počet útoků, které cílí především na nejpoužívanější software.[1] Také úmyslná politika výrobců (vulnerability-by-design), 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 (např. HTTP cookie). Zadní vrátka mohou být také vytvořena úmyslně autory zařízení nebo programu. 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ě: komfort z hlediska programátorského či uživatelského vede i k usnadnění zneužití. Tomu má například bránit iniciativa Trusted Computing, chránící hardware před útoky i před uživatelem samotným.

Protiopatření

editovat

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.

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

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

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.

Aktualizace

editovat

Částečnou ochranou proti zranitelnosti je i průběžná instalace aktualizací. Pro následnou detekci zneužití zranitelnosti se využívají antivirové programy. Ty ale mohou zvýšit zranitelnost,[2] protože mj. zvyšují výše uvedenou komplexnost.

Klasifikace zranitelností

editovat

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

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

  1. minimální dopad (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

CVE (Common Vulnerabilities and Exposures)

editovat

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

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

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

Úplné zveřejnění

editovat

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

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

Zranitelnost běžně přetrvává několik let.[3] 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).

Příklady

editovat

Roku 2018 byly zveřejněny údaje o mikroprocesorových zranitelnostech Meltdown a Spectre využívajících spekulativní provádění. I roku 2023 je Spectre funkční zranitelnost.[4]

Reference

editovat
  1. https://www.kaspersky.com/about/press-releases/2017_era-of-exploits-number-of-attacks--using-software-vulnerabilities-on-the-rise - Era of exploits: number of attacks using software vulnerabilities on the rise
  2. http://www.pcworld.com/article/3020327/antivirus-software-could-make-your-company-more-vulnerable.html - Antivirus software could make your company more vulnerable
  3. https://threatpost.com/zero-days-have-staying-power/124190/ - ZERO DAYS HAVE STAYING POWER
  4. Researchers break Apple's new MacBook pro weeks after release. techxplore.com [online]. [cit. 2023-11-21]. Dostupné online. 

Související články

editovat

Externí odkazy

editovat