INTEGRITY Dokumentace

Detekce zranitelnosti Broken Object Level Authorization

Zranitelnost Broken Object Level Authorization (BOLA) nastává, když aplikace nebo API řádně neověří, zda má uživatel oprávnění přistupovat ke konkrétním datům.

Chyby v aplikaci nebo API umožňují útočníkům obejít kontrolu autorizace a získat přístup k potenciálně citlivým informacím tím, že manipulují s identifikátory objektů (například ID uživatelů nebo objednávek) a postupně je procházejí.

Zranitelnosti mohou vzniknout kdykoli, a to už i při původním nasazení aplikace. Tyto chyby ale mohou přinést i změny nebo aktualizace zásad ověřování a autorizace.

Zranitelnosti BOLA jsou stejně nebezpečné jako převzetí účtu. Úspěšné zneužití zranitelnosti BOLA umožní útočníkovi přistupovat k datům, ke kterým by neměl mít přístup, nebo je měnit.

Cloudflare označuje koncové body rizikem BOLA, pokud zjistí dva odlišné signály typické pro útoky zneužívající BOLA: Parameter pollution a Enumerace.

Enumerace

Cloudflare sleduje, jak každá relace komunikuje s jednotlivými koncovými body, a označuje relace, které úspěšně vyžádají výrazně více unikátních datových bodů, než je výchozí hodnota pro daný koncový bod.

Příklad enumerace

Endpoint: GET /api/v1/users/{userId}/credit-cards

Parameter pollution

Cloudflare detekuje úspěšné požadavky, u nichž se hodnota parametru nalezená na očekávaném místě (v cestě, řetězci dotazu, hlavičce nebo cookie) opakuje i na neočekávaném, podobném místě. Toto chování může naznačovat, že se útočníci snaží zmást autorizační systém API a obejít bezpečnostní kontroly.

Příklad techniky parameter pollution

Endpoint: GET /api/v1/orders/{orderId}

Proces

API Shield detekuje útoky BOLA na základě učení vzorců návštěvnického provozu a identifikace neobvyklého přístupu ke konkrétním objektům. Postižené koncové body se automaticky označí následujícím štítky rizika:

Pokud se u některého z endpointů vašeho API zobrazí jeden z těchto štítků, projděte si se svým vývojářským týmem jeho autorizační politiku a zjistěte, zda neobsahuje chyby v autorizaci. Můžete se také obrátit na Cloudflare a vyžádat si zprávu s identifikátory útočníků, která potvrdí rozsah a dopad útoku.

Informace o útocích BOLA najdete ve svém Přehled zabezpečení, Security Analytics, a Podrobnosti o koncovém bodu.

Přehled zabezpečení

Pokud byly na vašich endpointech zjištěny zranitelnosti BOLA, můžete si v Cloudflare dashboardu zobrazit přehled útoku a doporučení k jeho zmírnění.

  1. V dashboardu Cloudflare přejděte na Security stránce.

    Přejděte na Přehled ↗
  2. Přejděte na Zneužití API nebo Všechny návrhy.

  3. V závislosti na typu útoku vyberte Kontrola provozu z potenciálního výčtového útoku BOLA nebo Kontrola provozu z potenciálního útoku typu znečištění parametrů , kde zobrazíte podrobnosti útoku a doporučené akce.

  4. Vyberte Zobrazit všechny dotčené endpointy nebo Zobrazit podrobnosti na konkrétním endpointu a zkontrolujte podezřelé relace v Webová aktiva.

Cloudflare vyhodnocuje požadavky ve vašich relacích z hlediska útoků typu enumerace i parameter pollution a poskytuje vám seznam ohrožených koncových bodů spolu s počtem anomálních relací, u kterých byl útok zjištěn. Podle navržených kroků pak můžete řešit zranitelnosti BOLA a předcházet budoucím útokům na vaše koncové body.

Security Analytics

V Cloudflare dashboardu si můžete prohlédnout analytické údaje o provozu vaší zóny a o podezřelých požadavcích souvisejících s útoky typu enumerace nebo parameter pollution.

Přejděte na Analytics ↗

Požadavky můžete filtrovat podle typu útoku zjištěného ve vaší zóně, včetně hashovaných ID relací nalezených při útoku a odpovídajícího štítku rizika zranitelnosti BOLA, a zobrazit si tak analýzu aktivity požadavků za posledních sedm dní. Tento filtr zahrnuje veškerý provoz z podezřelých relací útočníka, takže můžete vyhodnotit i další akce, které proti vaší zóně podnikají.

Toto nefiltruje podle konkrétních endpointů.

Zkontrolujte hlavní statistiky a podrobnosti o spravovaných koncových bodech API, cestách a hodnotách, na které útok cílil, i o zdrojových IP adresách, user agentech a otiscích.

Zkontrolujte profil svého provozu, zda neobsahuje neobvyklé vzorce, například nárůsty požadavků na unikátní objekty nebo neočekávané umístění parametrů.

Podrobnosti o koncovém bodu

Rozbalením podrobností endpointu ve Web Assets získáte informace o aktivitě podezřelých relací na daném endpointu, včetně podrobností o útocích enumerací i útocích znečištěním parametrů.

Přejděte na Webová aktiva ↗

V části Přehled zabezpečení, vyberte Zobrazit útok , abyste zkontrolovali dotčené relace s přiřazenými IP adresami a otisky JA4 (otisky TLS klienta, které pomáhají identifikovat software, jenž požadavek odesílá).

Můžete exportovat .csv soubor obsahující všechny IP adresy a otisky JA4 pro všechny relace nebo jen pro konkrétní relaci.

V podrobnostech je uveden ovlivněný parametr, počet relací zapojených do útoku a to, jak moc se jejich chování odchýlilo od výchozí hodnoty.

Pokud došlo k neoprávněnému přístupu k parametru, zvažte možný dopad na vaši aplikaci, uživatele a data. Doporučujeme neoprávněný přístup ověřit společně s vývojáři vaší aplikace a API, a to kontrolou logů vašeho API originu se zaměřením na IP adresu a JA4 otisk zneužívajících relací.

Data o útocích můžete zobrazit v Security Analytics.

Přejděte na Analytics ↗

Spravovaný endpoint se automaticky vyfiltruje v aktivitě požadavků za posledních sedm dní. Filtrovat můžete také podle podezřelých IP adres a otisků nalezených v podrobnostech útoku.


Dostupnost

Detekce zranitelnosti Broken Object Level Authorization je dostupná pouze pro zákazníky s plánem Enterprise. Pokud jste zákazníkem s plánem Enterprise a máte o tuto funkci zájem, obraťte se na tým, který spravuje váš účet.