Jak v informačním systému (ne)zjistit bezpečnostní chybu

3. 1. 2016

Sdílet

 Autor: © kebox - Fotolia.com
Třívrstvá architektura využívající webový prohlížeč jako tenký klient pro informační systémy výrazně roste. Nesporné výhody (široké spektrum zařízení, snadná dostupnost, standardizace apod.) vyvažují rizika v podobě bezstavové HTTP/HTTPS komunikace, využívání skriptů/úložiště či nedůslednosti mnohých programátorů. A to je nutné vhodně ošetřit.

Celkově by se daly známé zranitelnosti shrnout např. podle metodiky z dílny OWASP Foundation, a to nejčastěji používaný OWASP Top Ten (dostupný je díky Csirt.cz a CZ.NIC i v českém jazyce). Pod křídly této otevřené a svobodné organizace vzniká řada slibných projektů, které mohou testování bezpečnosti webových aplikací výrazně pomoci.

Za zmínku jednoznačně stojí kromě již uvedeného OWASP Top Ten i špičkový OWASP Zed Attack Proxy Project. Existuje samozřejmě mnoho dalších volně dostupných i placených testovacích nástrojů s rozdílnou kvalitou konfigurace a výstupů, ale takový výčet by přesahoval rozsah tohoto článku.

Před testováním zranitelností (penetračními testy) je nutné vytvořit testovací strategii, která popíše jednotlivé aktivity, jejich dopady a časování.

Samotný průběh testování webové aplikace je možné rozdělit na tři základní fáze (analýzu prostředí, detekci zranitelností a exploitaci – tedy zneužití nalezené chyby).

 

Příprava a strategie testování

Každé penetrační testování začíná přípravou dokumentace a popisem prostředí a integrace s dalšími podpůrnými a závislými systémy (využitím grafického znázornění např. UML diagramů).

Identifikují se slabá místa a veškerá testovatelná rozhraní (webové služby podle specifikace WSDL, uživatelská rozhraní, správcovské konzole apod.).

Při této identifikaci nebo při podrobné specifikaci zadání je v případě, že není zadavateli tato problematika blízká, vhodné spolupracovat s odbornými pracovníky – správně popsaná a kompletní specifikace poptávaného penetračního testování může výrazně zkvalitnit a zpřesnit nabídkovou cenu, a přitom nezapomenout na žádnou důležitou komponentu.

Výstupem této činnosti je přesná představa o tom, jak, co, kdy a čím se bude testovat (je tedy připravená strategie). Tu bychom v podobě návrhu průběhu penetračních testů měli získat i od dodavatele a testovací tým by se jí měl držet.

 

Analýza prostředí

Na základě strategie dochází vždy v počátku k „průzkumu terénu“ formou sběru a roztřídění informací o prostředí. Důležité jsou např. typy a verze databází, webových a aplikačních serverů a vzájemná interakce/integrace mezi těmito systémy.

Jde o naprostý základ pro identifikaci reálných slabých míst a úzkých hrdel (definující vektor zátěžového testování) apod.

Mnoho mohou prozradit i program nmap a „švýcarský nůž penetračního testéra“ – Kali Linux se svou excelentní výbavou testovacích nástrojů (samozřejmě nejenom pro analýzu prostředí).

 

Detekce zranitelností

Oblast odhalování zranitelností je tou největší a nejzásadnější částí v rozsahu aplikačního testování bezpečnosti. Typicky obsahuje jak manuální, tak automatizovanou činnost a výrazné preferování jedné či druhé formy bývá velkou chybou.

Automatizované nástroje jsou schopné zkontrolovat obrovské množství testovatelných elementů vůči velkému počtu útoků, mohou tak poskytnout testérovi základní představu o případných slabých místech, na které se lze poté více zaměřit.

Manuální testování přichází na řadu později nebo např. v oblasti integrace s dalšími systémy (modifikace XML datových souborů apod.), v případě využití JAVA appletů, v částech aplikace vyžadující přesný procesní přístup (vyplňování hodnot ve formulářích ve snaze postoupit na další testovanou stránku/pohled, případně ruční modifikace dotazů) nebo při obcházení bezpečnostních kontrol na straně klienta (JavaScript apod.)....

 

Autor působí ve společnosti Unicorn Systems na pozici senior security architect.

 

bitcoin_skoleni

Tento příspěvek vyšel v Security Worldu 2/2015.Oproti této on-line verzi je výrazně obsáhlejší a přináší další poznatky a tipy, které lze využít při praktické implementaci u vás ve firmě.

Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.