PENETRAČNÉ TESTY / API

Penetračný test API

Overte, či vaše API vracia a mení iba údaje, ku ktorým má volajúci oprávnenie. Test prejde operácie, tokeny a obchodné toky a doloží, čo sa dá skutočne zneužiť.

Penetračné testyPenetračný test API
Pre koho
Tímy, ktoré prevádzkujú API pre mobilné aplikácie, partnerov, integrácie alebo vlastný frontend.
Čo rieši
Prístup k cudzím objektom, zneužitie funkcií, úniky údajov a nechránené limity.
Ako pomôžeme
Manuálny test podľa špecifikácie aj skutočného správania, report s reprodukciou, retest podľa ponuky.
PREHĽAD

Kde má test API ťažisko

Orientačný pohľad, nie meranie: 3 hlavná oblasť testu, 2 bežná súčasť, 1 kontext alebo podľa rozsahu, 0 mimo bežného rozsahu.

Kde má test API ťažisko
OblasťÚroveň
Autentifikácia a relácie hlavné zameranie
Autorizácia a oprávnenia hlavné zameranie
Vstupy a injekcie súčasť testu
Obchodná logika hlavné zameranie
Konfigurácia a expozícia súčasť testu
Údaje a tajomstvá hlavné zameranie

API rozhoduje o údajoch aj bez používateľského rozhrania

Používateľské rozhranie môže skryť tlačidlo, API však spracuje akúkoľvek požiadavku, ktorá k nemu dorazí. Preto testujeme priamo jednotlivé operácie a overujeme, či server vynucuje oprávnenia a validáciu sám.

Testujeme REST a GraphQL rozhrania, webhooky aj API pre mobilné aplikácie a partnerov. Iné typy rozhraní posúdime podľa zadania. Rozsah určuje najmä počet operácií, rolí a integrácií.

  • Autorizácia na úrovni objektov, ich vlastností a funkcií.
  • Vydávanie, platnosť, rozsah a odvolanie tokenov a kľúčov.
  • Validácia vstupov, hromadné priradenie vlastností a server-side request forgery.
  • Limity, stránkovanie a spotreba prostriedkov.
  • Inventár verzií, prostredí a nezdokumentovaných operácií.
  • Spracovanie údajov prijímaných z API tretích strán.

Priebeh testu a jeho pravidlá

Začíname špecifikáciou, napríklad OpenAPI alebo GraphQL schémou, a ukážkovými požiadavkami. Bez dokumentácie test prebehne tiež, mapovanie však zaberie viac času a pokrytie môže byť užšie.

Pred testom potvrdíme písomnú autorizáciu a pravidlá testu (Rules of Engagement): prostredie, rozsah operácií, testovacie účty a tokeny, limity intenzity a postup okamžitého zastavenia. Operácie s dopadom na údaje alebo tretie strany, napríklad platby či odosielanie správ, vopred vylúčime alebo obmedzíme.

Kategórie rizík vychádzajú z OWASP API Security Top 10 (vydanie 2023), testovacie postupy z OWASP WSTG. Ide o metodický rámec, nie o certifikáciu ani záruku úplného pokrytia.

Typické kategórie zistení

Autorizácia objektov

Prístup k cudzím záznamom zmenou identifikátora v ceste, parametri alebo tele požiadavky.

Vlastnosti a funkcie

API vracia alebo prijíma vlastnosti, ktoré volajúci nemá vidieť ani meniť. Bežný používateľ volá administrátorské operácie.

Tokeny a autentifikácia

Nedostatočne overené tokeny, príliš široký rozsah, chýbajúce odvolanie alebo slabá ochrana prihlásenia.

Limity a obchodné toky

Neobmedzená spotreba prostriedkov, automatizovateľné citlivé operácie, obídenie stránkovania alebo kvót.

Inventár a integrácie

Zabudnuté verzie a prostredia, server-side request forgery, nekriticky prevzaté údaje z API tretích strán.

Každé zistenie doložené konkrétnou požiadavkou

Retest opravených zistení a konzultácie s vývojármi môžu na test nadväzovať podľa ponuky.

  • Zhrnutie rizík a priorít pre vedenie a vlastníka produktu.
  • Pri každom zistení požiadavka, odpoveď a kroky reprodukcie bez zbytočných citlivých údajov.
  • Dotknuté operácie, roly a verzie API.
  • Odporúčaná oprava na úrovni návrhu aj implementácie.
  • Rozsah, predpoklady a obmedzenia testu vrátane operácií, ktoré sa netestovali.

Čo od vás potrebujeme

  • Špecifikáciu API alebo kolekciu požiadaviek a opis hlavných obchodných tokov.
  • Testovacie prostredie a účty či tokeny pre každú dohodnutú rolu, ideálne dva z každej.
  • Informáciu o limitoch, ochranných prvkoch a operáciách, ktoré sa nesmú volať.
  • Kontakt na technickú osobu pre otázky a eskaláciu počas testu.

Metodické a produktové zdroje

Časté otázky

Kým sa pustíme do práce.

Potrebujete dokumentáciu API?

Nie je nutná, ale výrazne spresní rozsah a skráti mapovanie. Bez nej pracujeme s prevádzkou z aplikácie alebo s ukážkovými požiadavkami a v reporte uvedieme, čo to znamená pre pokrytie.

Testujete aj GraphQL?

Áno. Zameriavame sa najmä na autorizáciu na úrovni objektov a polí, introspekciu, hĺbku a zložitosť dopytov a hromadné operácie.

Zaťaží test produkčný systém?

Intenzitu a časové okná dohodneme v pravidlách testu. Testy limitov a spotreby prostriedkov vykonávame iba v dohodnutom rozsahu, ideálne mimo produkcie.

Ako sa test API líši od testu webovej aplikácie?

Test webovej aplikácie sleduje používateľské procesy v prehliadači. Test API overuje jednotlivé operácie priamo, vrátane tých, ktoré rozhranie nevyužíva. Pri mnohých aplikáciách sa oba testy dopĺňajú.

NEZÁVÄZNÝ PRVÝ ROZHOVOR

Neviete, kde začať? Opíšte nám situáciu.

Nemusíte vedieť, či potrebujete test, technológiu alebo konzultáciu. Podľa opisu situácie navrhneme vhodný ďalší krok.