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 školení listopad 24

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í.