Webové aplikace s sebou přinášejí různě závažná rizika

Petr Závodský 29. 7. 2010

Zavraždit, dohnat k sebevraždě anebo při nejmenším traumatizovat skrze webovou aplikaci určitý počet jedinců z nějakého statisticky významného vzorku potenciálních obětí. Pomysleme třeba jen na stále více diskutovaná témata, jako jsou kyberšikana, kybegrooming, kyberstalking, sexting…

…ukrást v e-shopu, co mi nepatří, vyrazit s cestovkou na dovolenou za chvíli zlodějiny beze strachu v rezervačním systému, nahlédnout do výsledků testů, v nichž následně úspěšně projdu, z legrace anebo z nudy sestřelit nějaký ten server, … je to tak snadné – a to nemusíte být ani tzv. ITC odborníkem.

Nebezpečí – o tom to je. Již několikátým dílem seriálu o OWASP si připomínáme „nebezpečí“, „riziko“, pojmy, které se mohou jevit jako samozřejmé; po bližším zkoumání však zjišťujeme, že ne všem zřejmé.

Mezi „nebezpečí“ a „riziko“ dejme rovnítko. Obojí souvisí s pravděpodobností výskytu nějaké negativní situace (dopadem).

OWASP Risk Rating Methodology

Riziko je značně relativní. Co webová aplikace, to jiné spektrum možných dopadů a také jejich pravděpodobnost výskytu. Jak si změřit „riziko“ plynoucí z té či oné slabiny?

OWASP ve své metodice určování míry rizika vychází z obecně uznávaných metodik. Pro bližší studium odkazuje na:

OWASP Risk Rating Methodology se omezuje na stručná doporučení, jakým způsobem je možné jednoduše zjistit, jak velká rizika aplikace přináší.

Použijme obecnou formuli:

RIZIKO = PRAVDĚPODOBNOST X DOPAD

Pro určení závažnosti rizika postupujme ve čtyřech krocích:

  1. krok: Identifikace rizika

  2. krok: Odhad pravděpodobnosti (faktory pro odhad pravděpodobnosti)

  3. krok: Odhad dopadu (faktory pro odhad dopadu)

  4. krok: Určení závažnosti rizika

  1. 1. krok: Identifikace rizika

Zranitelnost může vést k ohrožení útočníkem a to v případě útoku může mít konkrétní business dopad.

  • Zranitelnost: Jedná se o díru v aplikaci, která umožňuje útočníkovi škodit. Může se jednat o různé typy chyb, od těch technických (neověřené vstupy, nedostatečná autentizace aj.) až po ty, které vycházejí ze samotného myšlenkového návrhu (aplikace může sloužit i nechtěným cílům, např. k vyhledávání budoucích obětí sexuálního násilí).

  • Útok: Útokem je myšlena technika (aktivita), kterou útočník používá k využití slabiny (zranitelné části aplikace). Útok není „chyba“.

  • Útočník: Jednotlivec či skupina se schopností manifestovat hrozbu.

  • Dopad: Faktor, který má vliv např. na chod podniku (provozovatele serveru) nebo na uživatele. Může se jednat třeba o ztrátu důvěry, znepřístupnění služby aj.

Riziko můžeme identifikovat buď náhodně anebo plánovaně (systematicky). Mezi plánované identifikace rizik jistě patří penetrační testování. Je vhodné při penetračním testování používat testovací scénář, podobný tomuto:

Tabulka OWASP rizika [PDF]

V tabulce si všimněte sloupečku Ref. Number. Pod ním naleznete referenční číslo k jednotlivým rizikům podle OWASP. Jednotlivě je máte vyjmenované na stránkách OWASP v kapitole Testing Checklist anebo podrobněji v OWASP Testing Guide v3 Table of Contents. Zadáte-li Ref. Number do Googlu, zpravidla první odkaz vede právě k dané kapitole na webu OWAPS.

Je třeba však počítat s tím, že jednotlivé položky v uvedené tabulce mohou podle míry detailu obsahovat desítky dalších subpoložek, což znamená, že jen testování aplikace může zabrat i stovky člověkohodin (podle rozsahu) a oprava nálezů mnohem více. Proto je třeba si předem stanovit, kterým oblastem z bezpečnostního hlediska má smysl se věnovat a kterým nikoliv.

2. krok: Odhad pravděpodobnosti (faktory pro odhad pravděpodobnosti)

Jsme schopni identifikovat riziko. Nyní musíme zjistit, jak moc reálné je jeho možné zneužití. Nemusíme se tím sáhodlouze zaobírat, bude nám stačit, když zjistíme, že pravděpodobnost je nízká, střední či vysoká.

Naším cílem je nyní odhadnout prav­děpodobnost úspěšného útoku ze skupiny možných útočníků.

Všimněte si, že do závorek uvádím čísla od nuly do devíti. Nulou ohodnoťme nulovou závažnost a devítkou maximální závažnost. To nám poslouží pro další výpočty.

Příklady faktorů pro odhad pravděpodobnosti ze strany „útočníků“:

  • Úroveň dovedností

Jak technicky zdatní jsou potenciální útočníci?

  • Žádné technické dovednosti (1)

  • Některé technické dovednosti (3)

  • Pokročilý uživatel (4)

  • Znalost sítí a programování (6)

  • Kvalifikovaný penetrační tester (9)

  • Motiv

Jak moc jsou motivovaní potenciální útočníci?

  • Žádná anebo malá odměna (1)

  • Možná odměna (4)

  • Vysoká odměna (9)

  • Příležitost

Jakou příležitost mají potenciální útočníci zranitelnost odhalit a zneužít a jaké k tomu potřebují prostředky?

  • Potřebují plný přístup anebo potřebují drahé zdroje (0)

  • Potřebují zvláštní přístup nebo potřebné zdroje (4)

  • Potřebují jen některé přístupy nebo potřebné zdroje (7)

  • Nepotřebují přístup a nepotřebují žádné zdroje (9)

  • Množství potenciálních útočníků

Jak velká je skupina potenciálních útočníků?

  • Vývojáři (2)

  • Správci systému (2)

  • Uživatelé intranetu (4)

  • Partneři (5)

  • Ověření uživatelé (6)

  • Anonymní uživatelé internetu (9)

Příklad: Sesbírali jsme celkem 23 bodů. Podělíme počtem zohledňovaných faktorů a získáme průměr: 23/4 = 5,75 bodů.

Příklady faktorů pro odhad pravděpodobnosti ze strany „zranitelnosti“:

  • Snadnost zjištění

Jak snadné je pro potenciální útočníky zjistit chybu v zabezpečení?

  • Prakticky nemožné (1)

  • Stěží (3)

  • Snadno (7)

  • Automatizovanými nástroji (9)

  • Snadnost využití

Jak snadné je pro potenciální útočníky zneužití chyby v zabezpečení?

  • Teoreticky (1)

  • Stěží (3)

  • Snadno (5)

  • Automatizovanými nástroji (9)

  • Povědomost

Jak je známá zranitelnost pro potenciální útočníky?

  • Neznámá (1)

  • Skrytá (4)

  • Zřejmá (6)

  • Veřejně známá (9)

  • Detekce narušení

Jaká je pravděpodobnost, že případné zneužití bude zjištěno?

  • Aktivní detekce v aplikaci (1)

  • Logy a jejich pravidelná kontrola (3)

  • Logy bez kontrol (8)

  • Bez logů (9)

Příklad: Sesbírali jsme celkem 24 bodů. Podělíme počtem zohledňovaných faktorů a získáme průměr: 24/4 = 6 bodů.

Klikněte si pro pokračování článku…

Ohodnoťte jako ve škole:

Průměrná známka 1,89

Našli jste v článku chybu?
Zasílat nově přidané příspěvky e-mailem
Podnikatel.cz: Daň z příjmů: online formulář

Daň z příjmů: online formulář

Podnikatel.cz: Legální fotka za cenu kávy. Na to máte, ne?

Legální fotka za cenu kávy. Na to máte, ne?

Root.cz: SourceForge už nebude přidávat adware

SourceForge už nebude přidávat adware

Lupa.cz: Google navádí, jak krást fotky, stěžuje si ČTK

Google navádí, jak krást fotky, stěžuje si ČTK

Podnikatel.cz: Podal přiznání, má přeplatek. Nevrátí mu ho

Podal přiznání, má přeplatek. Nevrátí mu ho

Vitalia.cz: Proč si černý kašel cestu zpátky našel

Proč si černý kašel cestu zpátky našel

Podnikatel.cz: Není jim to, tak to vrátí. Víme, jak na ně

Není jim to, tak to vrátí. Víme, jak na ně

Vitalia.cz: Ministerstvo: Palmový olej nezakážeme, není důvod

Ministerstvo: Palmový olej nezakážeme, není důvod

Vitalia.cz: Jak posílit ledviny? Škodí jim strava i stres

Jak posílit ledviny? Škodí jim strava i stres

Lupa.cz: Jak hackovat banky? Útočníci mají nový trik

Jak hackovat banky? Útočníci mají nový trik

Lupa.cz: Lepší než Google: proč používat DuckDuckGo?

Lepší než Google: proč používat DuckDuckGo?

Podnikatel.cz: Babiš chce snížit DPH u piva o 10 %

Babiš chce snížit DPH u piva o 10 %

Podnikatel.cz: Hlasovat o EET se bude 10. února

Hlasovat o EET se bude 10. února

Vitalia.cz: Levnější pivo? Babiš neví, co činí

Levnější pivo? Babiš neví, co činí

Root.cz: EU chce zrušit anonymní platby

EU chce zrušit anonymní platby

Vitalia.cz: Inspekce kontrolovala pesticidy a vodní dýmky

Inspekce kontrolovala pesticidy a vodní dýmky

Root.cz: Orange Pi Plus: malý počítač s Wi-Fi a SATA

Orange Pi Plus: malý počítač s Wi-Fi a SATA

Měšec.cz: Velký jističový podfuk

Velký jističový podfuk

Podnikatel.cz: EET dostala zelenou. Na podzim to vypukne

EET dostala zelenou. Na podzim to vypukne

120na80.cz: Domácí homeopatická lékárnička

Domácí homeopatická lékárnička

Ušetřete