Zabezpečte rozhraní API a webové aplikace pomocí skeneru Probely DAST

Důležitost testování zabezpečení webových aplikací

Vzhledem k tomu, že útoky na webové aplikace jsou příčinou zhruba jedné třetiny všech známých narušení bezpečnosti, je klíčové důkladně testovat zabezpečení těchto aplikací a jejich API rozhraní.

Důvodem není jen shoda s regulačními požadavky, ale především ochrana dat vašich klientů a minimalizace rizik, kterým je vaše organizace vystavena.

Existuje mnoho přístupů k zabezpečení webových aplikací, každý s vlastními výhodami a nevýhodami. Některé metody se zaměřují na odhalování chyb v samotném zdrojovém kódu, zatímco jiné chrání aplikace před aktivními útoky. Další strategie spoléhají na dynamické testování bezpečnosti aplikací v reálném čase, simulující tak útoky hackerů.

Tento článek se podrobněji zaměří na posledně zmíněný přístup, konkrétně na nástroj Probely. Probely se odlišuje od konkurence zejména tím, že efektivně řeší dvě klíčové výzvy v oblasti skenování zranitelností webových aplikací: rozsah skenování moderních webových aplikací a přesnost výsledků.

Probely nabízí dvě varianty: samoobslužnou, určenou pro malé a střední podniky, a podnikovou, zaměřenou na organizace s mnoha webovými aplikacemi a API.

Hlavním cílem Probely je zajistit maximální pokrytí v moderních vývojových prostředích a minimalizovat falešné poplachy díky výsledkům skenování podloženým důkazy. Zároveň umožňuje integraci DAST (Dynamic Application Security Testing) skenování do celého životního cyklu vývoje softwaru.

Zní to až příliš dobře? Podívejme se na detailní analýzu nástroje Probely.

Jak funguje Probely?

Probely je navržen s ohledem na potřeby vývojářů i firem všech velikostí. Testuje aplikace a API, provádí skenování s cílem odhalit bezpečnostní problémy a zranitelnosti. Po dokončení testování poskytuje konkrétní pokyny, jak nalezené problémy odstranit.

Vývojáři a bezpečnostní inženýři mohou s Probely pracovat přes intuitivní uživatelské rozhraní. Pro náročnější použití a flexibilitu je k dispozici plnohodnotné API, které je navrženo s důrazem na vývojový přístup API-first. Toto API zpřístupňuje všechny funkce, které jsou dostupné i v uživatelském rozhraní a umožňuje integraci Probely do CI/CD pipeline, nástrojů pro správu zranitelností, orchestrátorů a systémů pro sledování problémů. Pro populární nástroje, jako jsou JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI a Slack jsou připraveny hotové integrace. Pokud ale používáte vlastní řešení, API je tou správnou cestou.

Pokrytí, prohledávání a přesnost

Probely používá pokročilý crawler, který dokáže navigovat v komplexních javascriptových aplikacích stejně jako standardní webový prohlížeč. Díky tomu dosahuje vynikajícího pokrytí webových stránek, což je problém u mnoha jiných DAST nástrojů. Tento crawler je ideální pro jednostránkové aplikace, jako jsou ty založené na React nebo Angular JS.

Je důležité si uvědomit, že skener dokáže identifikovat zranitelnosti pouze na stránkách, které dokáže najít. Proto je kvalitní crawler zcela zásadní.

Probely nabízí různé profily skenování v závislosti na prostředí, které testujete. Pro produkční prostředí můžete zvolit méně rušivý profil. V případě testování QA prostředí můžete nastavit důkladnější profil pro kompletní kontrolu. Testování preprodukčního prostředí vám umožní identifikovat a opravit zranitelnosti ještě před nasazením aplikace do produkce.

Reporting

Přestože Probely detekuje širokou škálu zranitelností, jeho hlavním cílem je poskytovat relevantní informace bez falešných poplachů. U některých typů zranitelností poskytuje důkaz, který ověřuje jejich skutečnost. Tímto způsobem šetří čas vašeho týmu, který by jinak musel ručně ověřovat, zda jsou zranitelnosti skutečné a relevantní.

Probely poskytuje podrobné reporty přímo v rozhraní, ale také umožňuje synchronizovat informace o zranitelnostech s nástroji pro sledování problémů nebo správu zranitelností, což usnadňuje integraci Probely do vašich existujících pracovních postupů.

Probely dokáže testovat váš software proti zranitelnostem uvedeným například v OWASP TOP 10, a také pomáhá s dodržováním požadavků PCI-DSS, GDPR, HIPAA a ISO270-01.

Díky reportům, které odrážejí OWASP TOP 10, získáte rychlý přehled o tom, co je v dané oblasti špatně.

Uživatelské rozhraní

Uživatelské rozhraní je intuitivní a snadno se ovládá, což umožňuje rychlé zahájení práce. Verze Enterprise umožňuje efektivní správu uživatelů, rolí a definování vlastních rolí. Pomocí štítků můžete organizovat uživatele, aktiva a zranitelnosti pro efektivnější správu zabezpečení webových aplikací. Díky dostupnosti všech funkcí přes API můžete Probely snadno integrovat do vašich podnikových bezpečnostních aplikací a procesů.

Pokud používáte Jira nebo Azure Boards, můžete nastavit, aby Probely automaticky odesílala všechny nalezené chyby zabezpečení do vašeho nástroje pro sledování problémů. Když vývojář opraví a uzavře problém v nástroji pro sledování problémů, Probely automaticky spustí nový test. Tím zkontroluje, zda byla chyba skutečně opravena. Pokud ne, problém se znovu otevře v nástroji pro sledování problémů. Vývojový tým tak může pracovat se zprávou o zranitelnosti stejně jako s jakoukoli jinou chybou přímo v nástroji pro sledování problémů, bez nutnosti používat rozhraní Probely. Je to velmi praktické, že?

Začínáme s Probely

Pro účely testování jsem používal Enterprise edici Probely.

K dispozici jsou také edice Standard a různé plány včetně bezplatné verze. Bezplatná verze testuje pouze tři kategorie zranitelností: příznaky souborů cookie, bezpečnostní hlavičky a problémy s SSL/TLS. Plán Pro nabízí většinu funkcí a je určen pro malé a střední podniky s pěti nebo méně cíli ke skenování.

Enterprise edice je zaměřena na organizace s velkým počtem cílů a nabízí pokročilé funkce, jako jsou uživatelé, skupiny, role a oprávnění, které jsou běžné v podnikovém softwaru. Umožňuje také skenovat interní cíle (v soukromé síti) pomocí instalace agenta.

Přidání cíle

Přidání cíle je velmi jednoduché. Po přihlášení do svého účtu přejděte na stránku Cíle a klikněte na Přidat. Zde zadáte název, URL adresu a jeden nebo více štítků – například Testování, Produkce, Vývoj atd. – pro nový cíl. Pokud chcete, aby Probely skenovala daný cíl jako samostatné API bez podpůrné webové aplikace, zaškrtněte příslušnou možnost a identifikujte cíl jako API.

Pokud cíl není dostupný z internetu a máte nainstalovaného Probely agenta ve vaší privátní síti, můžete při přidávání cíle vybrat, kterého agenta chcete použít.

Po přidání cíle musíte ověřit jeho vlastnictví. Probely potřebuje důkaz, že máte potřebná oprávnění ke spuštění kontroly. K dispozici jsou dvě alternativní metody ověření: nahrání souboru s poskytnutým obsahem do kořenového adresáře cíle nebo přidání TXT záznamu do DNS s názvem domény a určitým obsahem. Po ověření cíle můžete spustit skenování stisknutím tlačítka Skenovat.

Průběh a stav skenování můžete zkontrolovat na kartě Skenování v ovládacím panelu Probely. Tato stránka zobrazuje čas zahájení skenování a dosavadní nálezy. Náklady jsou barevně odlišeny podle závažnosti, takže okamžitě uvidíte, zda existují kritické problémy, které vyžadují okamžitou pozornost.

Pokud má váš web přihlašovací stránku a chcete, aby Probely skenovala i části za ní, musíte zadat přihlašovací údaje, které umožní procházení webu jako ověřenému uživateli. Probely podporuje většinu metod ověřování pro přihlašovací stránky.

Skenování API

Pro skenování API cíle potřebuje Probely schéma API. To provedete při přidávání API cíle, buď zadáním adresy URL OpenAPI schématu, nebo nahráním schématu z lokálního souboru. Možnost URL umožňuje Probely načíst schéma před každým skenováním, což zajišťuje, že bude vždy pracovat s nejnovější verzí schématu.

Existují různé možnosti nastavení ověřování pro přístup k API. Probely podporuje nejen statické tokeny, ale umožňuje také dynamickou konfiguraci ověřování. Můžete konfigurovat přihlašovací endpoint, kde Probely získá ověřovací token, nebo nastavit vlastní hlavičku s pevným API klíčem. Můžete také zadat vlastní parametry, které Probely použije při skenování.

Po konfiguraci ověřování a parametrů můžete spustit kontrolu stisknutím tlačítka Skenovat. Po několika sekundách můžete sledovat průběh skenování na stránce skenování. Po dokončení skenování si můžete stáhnout report o pokrytí, který zobrazuje všechny nalezené koncové body a každý kód odpovědi. Report také informuje, zda došlo k selhání koncového bodu.

Analýza zjištění

Stránka nálezů zobrazuje výsledky skenování, jakmile jsou nalezeny. I když skenování stále probíhá, jsou výsledky k dispozici. Každý nález obsahuje informace o závažnosti (vysoká, střední, nízká), cíli a URL adrese, popis nálezu, čas a datum nálezu, stav (opravený/neopravený), přiřazení a informace o dopadu na soulad s PCI-DSS nebo OWASP.

Kromě informací o zranitelnostech, které byly nalezeny, můžete na stránce nálezů také přiřazovat zranitelnosti vašemu týmu pro opravu. K tomu stačí kliknout na zaškrtávací políčko vlevo a z rozbalovací nabídky vybrat příjemce.

Probely také poskytuje informace o tom, jak opravit nalezené chyby. Spolu s těmito pokyny získáte přehled o celé žádosti, odpovědi a důkazech.

Na stránce Dashboard najdete různé grafy, které sumarizují bezpečnostní riziko skenovaných cílů. Grafy zobrazují trendy různých metrik, jako je skóre rizik, průměrný čas na vyřešení problémů a úroveň závažnosti. Můžete se také podívat na stránky, které vyžadují největší pozornost, a na 5 nejčastějších zranitelností.

Nakonec na stránce Integrace můžete nastavit integraci Probely s různými nástroji pro správu projektů, týmovou komunikaci, sledování problémů a další. K dispozici jsou integrace s Azure Boards, DefectDojo, Slack, Jira, Jenkins a CircleCI.

Nástroj pro vývojáře a bezpečnostní týmy

Pro agilní vývojové týmy je prioritou rychlost uvedení produktu na trh. Každá úspora času při uvedení softwaru do produkce, bez snížení kvality, je velmi vítaná. Probely nabízí právě toto – efektivní způsob, jak zlepšit zabezpečení webových stránek a API a dodržet stanovené termíny, a to s kvalitním softwarem.

Pro bezpečnostní týmy představuje Probely platformu pro zabezpečení webových aplikací a správu zranitelností. Umožňuje přesunout některé bezpečnostní testy do vývojových týmů, přičemž bezpečnostní týmy mají roli dohledu.

Probely nabízí bezplatné zkušební verze, podnikové zkušební licence a ukázky produktů. Kontaktujte Probely a začněte.