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?
120na80.cz: Otestujte klíště na boreliózu z domova

Otestujte klíště na boreliózu z domova

DigiZone.cz: Sat novinky: Skylink skončil s kanály ČT

Sat novinky: Skylink skončil s kanály ČT

120na80.cz: I tuto vodu můžete pít

I tuto vodu můžete pít

Vitalia.cz: Signál roztroušené sklerózy: brnění končetin

Signál roztroušené sklerózy: brnění končetin

Podnikatel.cz: 3 velké průšvihy obchodních řetězců

3 velké průšvihy obchodních řetězců

Lupa.cz: Největší pitominy s logem “nyní smart a připojené”

Největší pitominy s logem “nyní smart a připojené”

Podnikatel.cz: Od baletu k požární ochraně. A jiné rarity

Od baletu k požární ochraně. A jiné rarity

Vitalia.cz: Klíšťata letos řádí, skvrna se udělá jen někomu

Klíšťata letos řádí, skvrna se udělá jen někomu

Měšec.cz: Banky umí platby na kartu, jen to neříkají

Banky umí platby na kartu, jen to neříkají

DigiZone.cz: Sázka na e-sporty stanici Prima vychází

Sázka na e-sporty stanici Prima vychází

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

Podnikatel.cz: Prodej na Alibabě? Malí hráči utřou nos

Prodej na Alibabě? Malí hráči utřou nos

Vitalia.cz: Sobotní masakr žrádla, chlastu a zábavy

Sobotní masakr žrádla, chlastu a zábavy

Podnikatel.cz: Polská vejce na českém pultu Albertu

Polská vejce na českém pultu Albertu

Měšec.cz: Investice do drahých kovů - znáte základní chyby?

Investice do drahých kovů - znáte základní chyby?

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta

DigiZone.cz: Oživení ekonomiky by mělo navýšit reklamu

Oživení ekonomiky by mělo navýšit reklamu

DigiZone.cz: Samsung uvolnil nástroj pro Tizen

Samsung uvolnil nástroj pro Tizen

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie