PENETRAČNÍ TESTY / API

Penetrační test API

Ověřte, zda vaše API vrací a mění jen data, ke kterým má volající oprávnění. Test projde operace, tokeny a obchodní toky a doloží, co lze skutečně zneužít.

Penetrační testyPenetrační test API
Pro koho
Týmy, které provozují API pro mobilní aplikace, partnery, integrace nebo vlastní frontend.
Co řeší
Přístup k cizím objektům, zneužití funkcí, úniky dat a nechráněné limity.
Jak pomůžeme
Ruční test podle specifikace i skutečného chování, report s reprodukcí, retest podle nabídky.
PŘEHLED

Kde má test API těžiště

Orientační pohled, nikoli měření: 3 hlavní oblast testu, 2 běžná součást, 1 kontext nebo podle rozsahu, 0 mimo běžný rozsah.

Kde má test API těžiště
OblastÚroveň
Autentizace a relace hlavní zaměření
Autorizace a oprávnění hlavní zaměření
Vstupy a injekce součást testu
Obchodní logika hlavní zaměření
Konfigurace a expozice součást testu
Data a tajemství hlavní zaměření

API rozhoduje o datech i bez uživatelského rozhraní

Uživatelské rozhraní může skrýt tlačítko, API ale zpracuje jakýkoli požadavek, který k němu dorazí. Proto testujeme přímo jednotlivé operace a ověřujeme, zda server vynucuje oprávnění a validaci sám.

Testujeme REST a GraphQL rozhraní, webhooky i API pro mobilní aplikace a partnery. Jiné typy rozhraní posoudíme podle zadání. Rozsah určuje hlavně počet operací, rolí a integrací.

  • Autorizace na úrovni objektů, jejich vlastností a funkcí.
  • Vydávání, platnost, rozsah a odvolání tokenů a klíčů.
  • Validace vstupů, hromadné přiřazení vlastností a server-side request forgery.
  • Limity, stránkování a spotřeba prostředků.
  • Inventář verzí, prostředí a nezdokumentovaných operací.
  • Zpracování dat přijímaných z API třetích stran.

Průběh testu a jeho pravidla

Začínáme specifikací, například OpenAPI nebo GraphQL schématem, a ukázkovými požadavky. Bez dokumentace test proběhne také, mapování ale zabere víc času a pokrytí může být užší.

Před testem potvrdíme písemnou autorizaci a pravidla testu (Rules of Engagement): prostředí, rozsah operací, testovací účty a tokeny, limity intenzity a postup okamžitého zastavení. Operace s dopadem na data nebo třetí strany, například platby či odesílání zpráv, předem vyloučíme nebo omezíme.

Kategorie rizik vycházejí z OWASP API Security Top 10 (vydání 2023), testovací postupy z OWASP WSTG. Jde o metodický rámec, nikoli o certifikaci ani záruku úplného pokrytí.

Typické kategorie nálezů

Autorizace objektů

Přístup k cizím záznamům změnou identifikátoru v cestě, parametru nebo těle požadavku.

Vlastnosti a funkce

API vrací nebo přijímá vlastnosti, které volající nemá vidět ani měnit. Běžný uživatel volá administrátorské operace.

Tokeny a autentizace

Nedostatečně ověřené tokeny, příliš široký rozsah, chybějící odvolání nebo slabá ochrana přihlášení.

Limity a obchodní toky

Neomezená spotřeba prostředků, automatizovatelné citlivé operace, obejití stránkování nebo kvót.

Inventář a integrace

Zapomenuté verze a prostředí, server-side request forgery, nekriticky převzatá data z API třetích stran.

Každý nález doložený konkrétním požadavkem

Retest opravených nálezů a konzultace s vývojáři mohou na test navazovat podle nabídky.

  • Shrnutí rizik a priorit pro vedení a vlastníka produktu.
  • U každého nálezu požadavek, odpověď a kroky reprodukce bez zbytečných citlivých dat.
  • Dotčené operace, role a verze API.
  • Doporučenou opravu na úrovni návrhu i implementace.
  • Rozsah, předpoklady a omezení testu včetně operací, které testovány nebyly.

Co od vás potřebujeme

  • Specifikaci API nebo kolekci požadavků a popis hlavních obchodních toků.
  • Testovací prostředí a účty či tokeny pro každou dohodnutou roli, ideálně dva od každé.
  • Informaci o limitech, ochranných prvcích a operacích, které se nesmí volat.
  • Kontakt na technickou osobu pro dotazy a eskalaci během testu.

Metodické a produktové zdroje

Časté otázky

Než se pustíme do práce.

Potřebujete dokumentaci API?

Není nutná, ale výrazně zpřesní rozsah a zkrátí mapování. Bez ní pracujeme s provozem z aplikace nebo s ukázkovými požadavky a v reportu uvedeme, co to znamená pro pokrytí.

Testujete i GraphQL?

Ano. Zaměřujeme se zejména na autorizaci na úrovni objektů a polí, introspekci, hloubku a složitost dotazů a hromadné operace.

Zatíží test produkční systém?

Intenzitu a časová okna dohodneme v pravidlech testu. Testy limitů a spotřeby prostředků provádíme jen v dohodnutém rozsahu, ideálně mimo produkci.

Jak se test API liší od testu webové aplikace?

Test webové aplikace sleduje uživatelské procesy v prohlížeči. Test API ověřuje jednotlivé operace přímo, včetně těch, které rozhraní nevyužívá. U mnoha aplikací se oba testy doplňují.

NEZÁVAZNÝ PRVNÍ ROZHOVOR

Nevíte, kde začít? Popište nám situaci.

Nemusíte vědět, jestli potřebujete test, technologii nebo konzultaci. Podle popisu situace navrhneme vhodný další krok.