Přeskočit na hlavní obsah

Neomezený přístup k citlivým tokům

  • Při návrhu API je potřeba se zamyslet, jakou byznys logiku bude vystavovat jaký endpoint.
  • Některá byznys logika může být citlivější než jiná a její zneužití by mohlo byznys výrazně poškodit.
  • Příklady citlivé byznys logiky:
    • Objednávka - útočník může pomocí skriptu vykoupit celý sklad nedostatkového zboží a prodat jej z druhé ruky.
    • Komentáře - útočník může spamovat systém.
    • Rezervace - útočník může rezervovat veškeré volné sloty a znemožnit tak ostatním používání systému.
  • Citlivost byznys logiky závisí na konkrétním use casu - pro jednu sociální síť může být spamování komentáři přijatelné a pro druhou ne.
  • API je zranitelné, pokud není daná byznys logika vhodně omezená.

Jak zranitelnosti předcházet

🔴 Identifikujte rizika pro váš byznys a zjistěte, jaké funkce ho při jejich zneužití můžou poškodit.

🔴 Najděte vhodné technické řešení, které pomůže zmíněnému riziku předcházet.

🔴 Znemožněte přístup k službě neočekávaným zařízením (např. headless browser).

🔴 Použijte CAPTCHu nebo jiné řešení, které pomůže identifikovat, že jde o člověka.

🔴 Analyzujte uživatelské flow a identifikujte non-human patterny (např. přidání do košíku a dokončení objednávky během vteřiny).

🔴 Zabezpečete a omezte přístup k vývojářským / B2B API.

Příklady zneužití zranitelnosti

  1. Společnost vydá limitovanou edici svého produktu.
    • Útočník napíše skript, který toto zboží automaticky objedná.
    • V den spuštění objednávek útočník spustí svůj skript z různých IP adres a poloh.
    • API není vhodně omezené a útočníkovi se povede vykoupit celý sklad.
    • Později toto zboží prodá na Amazonu za mnohem vyšší cenu.
  2. Letecká společnost umožňuje zakoupení letenek bez poplatku za zrušení.
    • Útočník vykoupí 90 % sedadel a pár dní před odletem je všechny zruší.
    • To leteckou společnost přinutí výrazně zlevnit letenky, aby let zaplnila.
    • V návaznosti na to si útočník zakoupí výrazně levnější letenku.
  3. Aplikace nabízí referenční program.
    • Za každého referenčního uživatele dostane uživatel kredit.
    • Kredit může být později použit jako sleva pro nákup zboží.
    • Útočník vytvoří skript pro automatickou registraci uživatelů.
    • Tím na svůj účet dostane velké množství kreditů.
    • Díky tomu útočník kupuje produkty společnosti zcela zdarma.

Kam dál

Cheat sheety

Checklisty

Zranitelnosti

Další