Kybernetická bezpečnost • Penetrační testy

Penetrační test API

API je dnes páteří webových i mobilních aplikací a zároveň jejich nejčastěji přehlíženou vrstvou. Testujeme REST i GraphQL rozhraní podle OWASP API Security Top 10 a odhalíme chyby v autorizaci, autentizaci i business logice na straně serveru.

Proč API potřebuje vlastní test

API je dnes samostatná úroveň útoku. Zranitelnost, která se v uživatelském rozhraní vůbec neprojeví, může být přes API přímo zneužitelná, protože rozhraní obvykle nemá stejnou úroveň kontroly jako aplikace a bývá dostupné bez omezení.

Co testujeme

Vycházíme z OWASP API Security Top 10 (2023).
  • Autorizace na úrovni objektů (BOLA)

    Nejčastější a nejzávažnější chyba API: přístup k datům jiného uživatele pouhou změnou identifikátoru v požadavku.
  • Autentizace

    Testujeme bezpečnost API klíčů, tokenů a JWT, odolnost proti brute-force a credential stuffing, správná expirace a odvolání tokenů.
  • Autorizace na úrovni vlastností (BOPLA)

    Testujeme čtení nebo zápis polí, ke kterým uživatel nemá mít přístup (excessive data exposure a mass assignment).
  • Autorizace na úrovni funkcí (BFLA)

    Testujeme přístup k funkcím a endpointům určeným pro jinou roli, typicky administrátorské akce vyvolané běžným uživatelem.
  • Neomezená spotřeba zdrojů

    Testujeme (chybějící) rate limiting a limity, které umožní enumeraci, přetížení služby (DoS) nebo navýšení provozních nákladů.
  • Zneužití citlivých business flows

    Automatizované zneužití legitimních funkcí (hromadné nákupy, rezervace, registrace) bez ochrany proti robotům.
  • Server-Side Request Forgery (SSRF)

    Pokusíme se donutit server k odeslání požadavku na interní systémy přes URL řízenou útočníkem.
  • Bezpečnostní konfigurace a inventář API

    Chybné konfigurace, CORS, chybějící hlavičky a hlavně staré či nezdokumentované verze API (shadow a zombie endpointy).
  • REST i GraphQL specifika

    U GraphQL introspection testujeme hloubku a dávkování dotazů, u REST metody a verzování + bezpečnost konzumace cizích API (unsafe consumption).

Testujeme na produkci, nebo v testovacím prostředí?

Stejně jako u aplikací doporučujeme testovat produkční prostředí — jen tam je konfigurace, rate limiting a chování rozhraní shodné s realitou. Testovací API se často liší nastavením i daty, takže nález z něj nemusí odpovídat skutečnému riziku.

Postupujeme kontrolovaně a nedestruktivně, v dohodnutých oknech; rizikovější kroky vždy předem odsouhlasíme. Pokud produkci testovat nelze, potřebujeme co nejvěrnější kopii.

Časté otázky k penetračním testům

Liší se test API od testu webové aplikace?

Ano. API nemá uživatelské rozhraní a řídí se jinými pravidly — těžiště je v autorizaci na úrovni objektů a funkcí, rate limitingu a datových tocích, ne v prohlížeči. Proto má vlastní metodiku (OWASP API Security Top 10).

Testujete REST i GraphQL?

TODO: odpověď ve Figmě chybí.

Co je BOLA a proč je nejčastější?

TODO: odpověď ve Figmě chybí.

Potřebujete dokumentaci k API?

TODO: odpověď ve Figmě chybí.

Dejte nám vědět!

Domluvte si bezplatnou konzultaci, navrhneme rozsah testu přesně na míru vaší aplikaci a do 24 hodin pošleme nabídku.

Související testy