Hlavní navigace

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…

Našli jste v článku chybu?

7. 8. 2010 16:35

Odhad pravděpodobnosti hrozby aneb jak technicky zdatní jsou potenciální útočníci.

Zamysleli jste se nad těmi čísly v závorkách? Jestliže k realizaci hrozby nejsou potřeba žádné znalosti a může jí realizovat v podstatě každý, měla by být tomuto faktoru přidělena vyšší váha, než když jsou požadovány znalosti kvalifikovaného penetračního testera. Proč? Protože pravděpodobnost této hroby je mnohem vyšší. Body by měly být v tomto případě seřazeny sestupně. To znamená, že žádné technické dovednosti …

7. 8. 2010 15:48

Tom (neregistrovaný)

Právnickou osobu nemůžete uvěznit. Za veškeré škody samozřejmě neodpovídá, pokud to jen trochu půjde, má ve smlouvě klauzule typu „odlišný právní názor“.

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

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

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

Lupa.cz: Slevové šílenství je tu. Kde nakoupit na Black Friday?

Slevové šílenství je tu. Kde nakoupit na Black Friday?

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

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

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

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

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

Rakovina oka. Jak ji poznáte?

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

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

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

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

Recenze Westworld: zavraždit a...

120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

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

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

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

Sony KD-55XD8005 s Android 6.0

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

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

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

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami