Penetrační test API
Účel
Stále častěji je třeba vystavit zákazníkům či obchodním partnerům rozhraní (API), které poskytuje různé služby. Obvykle jde o zprostředkování komunikace stroj-stroj.
Cílem penetračního testu je prověřit, zda je dané rozhraní zabezpečené, zda nelze získat osobní či jiné citlivé údaje, přístup do nežádoucích oblastí nebo zda dokonce nelze cílový stroj ovládnout.
Typy rozhraní
Základní typy rozhraní jsou:
Webové služby (web services) na bázi protokolu SOAP/HTTP
REST API rozhraní
SOAP (Simple Object Access Protocol) je protokolem pro výměnu zpráv založených na XML přes síť, hlavně pomocí HTTP. Základním popisem SOAP rozhraní jsou WSDL definice (opět XML), které popisují jednotlivé funkce, které dané rozhraní nabízí.
REST (Representational State Transfer) je architektura rozhraní, které definuje přístup k datům pomocí 4 základních metod (CRUD – create, retrieve, update, delete), tyto metody jsou implementovány pomocí odpovídajících HTTP metod (POST, GET, PUT, DELETE). Strukturovaná data jsou v případě REST API přenášena obvykle ve formátu JSON (může být XML, ATOM aj.).
Testování
Testování WS/REST API není na rozdíl od jiných testů vhodné testovat přístupem black-box (bez jakýchkoliv znalostí o předmětu testu), protože tester více času stráví otázkou „Jak to funguje?“, než „Kde je slabina?“.
Pro efektivní testování je třeba vzorová implementace klienta, SoapUI projekt nebo podrobnou dokumentaci k použitým metodám a parametrům, resp. obecně popis komunikace mezi koncovými body.
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.
Při testování lze využít relevantní části z metodiky pro testování webových aplikací. Zohledňujeme též doporučení sdružení OWASP určená přímo pro webové služby uveřejněná v rámci jejich REST Security a XML Security Cheat Sheets.
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.
Další typy testů
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.
Vzorová zpráva
Ukázka výstupu pro lepší představu o kvalitě naší práce.
Máte otázky?
Pokud Vás zajímá více detailů, prosím kontaktujte nás.