Penetrační test API

Webová služba neboli API představuje prostředek pro komunikaci ve strojově čitelném formátu. Mnoho moderních aplikací využívá na pozadí nějakou formu API. V takovém případě testujeme API typicky jako součást webové, mobilní nebo desktopové aplikace.

Tato stránka pojednává a testu samostatných API vystavených například pro potřeby zákazníků či obchodních partnerů. Ti mohou API využít ve svých softwarových řešeních.

Přínosy

Problematika zabezpečení webových služeb je podobná jako v případě webových aplikací. Také API je typicky vyvíjeno na zakázku a může tak obsahovat unikátní chyby. Jelikož bývá vystaveno do internetu, neubrání se řadě neustálých útoků.

I zde platí, že část nedostatků mohou nalézt automatizované nástroje. S některými druhy zranitelností, jako jsou například chyby v aplikační logice, si ale neporadí. Při našich testech proto vždy kombinujeme pokročilé automatizované nástroje (včetně komerčních) s důkladným manuálním testováním.

Nejčastěji potkáváme SOAP a REST API. Poradíme si ale i s GraphQL, gRPC a dalšími.

Průběh testů

Pro webové služby neboli API není na rozdíl od jiných druhů testů příliš vhodný black box přístup (bez jakýchkoliv znalostí o předmětu testu), protože tester pak více času stráví otázkou „Jak to funguje?“, než zkoumáním „Kde je slabina?“.

Pro efektivní testování je vhodné mít k dispozici vzorovou implementaci klienta, SoapUI projekt, OpenAPI specifikaci nebo jinou formu podrobné dokumentace k použitým metodám a parametrům. Vhodné mohou být i ukázkové příklady volání API.

Na pracnost testování má vliv počet použitých metod, parametrů, testovacích scénářů, způsob autentizace a počet uživatelských rolí, které mají být předmětem testu. Občas dává smysl netestovat celé API, ale jen vytipovanou reprezentativní sadu volání.

Při testování vycházíme z relevantních částí metodiky OWASP WSTG (OWASP Web Security Testing Guide) a projektu OWASP API Security. Napříč týmem testerů sdílíme zkušenosti z mnoha předchozích projektů.

Další typy testů

Jak již bylo zmíněno, mnoho moderních aplikací využívá na pozadí API. Pokud je k dispozici klientská aplikace, doporučujeme netestovat API samostatně, ale jako součást testu webové, mobilní nebo desktopové aplikace.

Detailnější analýzu zdrojových kódů webové služby můžeme provést v rámci code review.

Vedle výše popsaných testů poskytujeme našim klientům také mnoho jiných typů penetračních testů – viz Penetrační testování – přehled.

Závěrečná zpráva

Výstupem penetračního testu je závěrečná zpráva, která obsahuje podrobnosti o průběhu testu, popis a klasifikaci nalezených zranitelností a doporučení ke snížení rizika. Zprávu předáváme bezpečně ve formátech MS Word a PDF a výsledky lze prezentovat formou manažerské prezentace nebo technického workshopu.

Vzorová zpráva

Ukázka výstupu pro lepší představu o kvalitě naší práce.

Demo zpráva


Máte otázky?

Pokud Vás zajímá více detailů, prosím kontaktujte nás.

Dotaz e-mailem

Tel: +420-226-523-026