Skrytá rizika v externím perimetru: Opatření proti snadno přehlédnutým zranitelnostem
V bezpečnostním světě se ne nadarmo hovoří o nutnosti sledovat zranitelnosti, které mohou ohrozit firemní aktiva. Ale co když vám řekneme, že to není jen o skenování a monitorování rizik? Ačkoli taková opatření samozřejmě mohou zvýšit vaši bezpečnost, je důležité soustředit se i na samotný zdroj problému.
V tomto článku se zaměříme na zranitelnosti v externím perimetru. Podíváme se na skupinu zranitelností, které často unikají pozornosti, a prozkoumáme, jak se lépe zaměřit na jejich identifikaci a eliminaci.
Marek Malcovský je etický hacker s výrazným smyslem pro detail. Během své kariéry odhalil zranitelnosti v několika uznávaných softwarových produktech a systémech, které používají společnosti na celém světě. V axelum působí jako penetrační tester a jeho hlavní specializací je identifikace bezpečnostních zranitelností v komplexních systémech, což z něj dělá klíčového člena Red Teamu.
Marek vlastní světově uznávanou certifikaci Offensive Security Certified Professional (OSCP) pro etický hacking. A mimo jiné, Marek také vyvinul službu Perimeter Guard, která aktivně chrání perimetr našich klientů.
Co je externí perimetr?
Externí perimetr zahrnuje vše, co je organizací vystaveno na internetu – ať už jde o infrastrukturu, cloudová řešení nebo služby třetích stran. Může se jednat o FTP servery v provozu vlastního ASN bloku, API hostovaná na Azure, nebo analytické nástroje od třetích stran. Veškeré tyto služby mají společný cíl – zpracovávat, ukládat nebo zpřístupňovat data vaší organizace, a to jak pro interní, tak pro externí použití. Vytvářejí tak virtuální bránu, která může být nečekanou cestou pro různé bezpečnostní hrozby a útoky.
Zranitelnosti, které unikají
S jakými nejčastějšími zranitelnosti se můžeme setkat? Možná si říkáte, že vás se to netýká. Vždyť pravidelně provádíte penetrační testy a skeny, investujete do bezpečnosti značné zdroje. Nicméně i přes veškerá bezpečnostní opatření se na externím perimetru mohou objevit překvapující slabiny.
Jedna z častých bezpečnostních slabin spočívá ve využívání debuggovacích servisních rozhraní ve webových aplikacích a API, jako jsou například Springboot Actuator nebo Jolokia. Tyto nástroje primárně poskytují informace o tom, jak aplikace funguje, například její stav, metriky, logy, konfigurační prostředí a další. Avšak to znamená, že dochází i k odhalení citlivých údajů jako session cookies, tokeny, nebo dokonce uživatelská jména a hesla. Tato zranitelnost se často projeví, když jsou zmíněné nástroje neuváženě přidány do aplikace, aniž by byla řádně zohledněna jejich role a expozice v rámci vnějšího perimetru.
Testovací prostředí a zastaralé aplikace
Dalším běžným zdrojem nechtěných zranitelností jsou testovací prostředí a aplikace, které již nejsou aktivně využívány. Tyto zdroje mohou být zapomenuty či ignorovány poté, co byly použity pro testování nových funkcí. S postupným vývojem a změnami v prostředí může být udržování těchto zdrojů obtížné, a to vede k výskytu základních zranitelností.
Reverzní proxy slouží jako prostředník mezi internetem a vaší aplikací – zajišťují vyšší úroveň bezpečnosti a zpracovávají případné škodlivé útoky. Mimo to mohou být reverzní proxy také využity pro load balancing, cachování nebo transformaci dat. Avšak při špatné konfiguraci může dojít ke zranitelnosti typu SSRF (Server-Side Request Forgery), kdy útočník využije reverzní proxy, aby získal přístup k interním službám organizace, jako jsou databáze nebo administrátorské rozhraní webu. V důsledku toho se z reverzní proxy stanou běžné proxy. Bohužel k této konfigurační chybě dochází poměrně často a její odhalení může trvat delší dobu.
I přes pokročilé technologie, včetně MVC frameworků a objektových rozhraní pro databáze, stále narážíme na zranitelnosti, které byly obvyklé před deseti lety a v nových aplikacích se již dnes neobjevují. Zejména se jedná o Cross-Site Scripting (XSS) a SQL Injection. To však nutně neznamená, že se vývojáři nedokážou poučit. Spíše se jedná o situaci, kdy aplikace stále běží na zastaralých technologiích, a výměna za moderní a robustní řešení je finančně náročná nebo technicky obtížná.
Nadbytečné služby nejsou příklad přímé zranitelnosti, avšak jejich provozování na vnějším perimetru organizace může zvýšit pravděpodobnost útoků. Často se setkáváme s organizacemi, které na vnějším perimetru provozují služby jako SSH, RDP, LDAP nebo Telnet. V dnešní době, kdy jsou k dispozici bezpečné VPN technologie, není žádný důvod, proč by takové služby měly být provozovány přímo na perimetru. I když může být protokol sám o sobě bezpečný, je nutné pamatovat na možnost výskytu slabých nebo výchozích hesel.
Závislost na různých poskytovatelích služeb třetích stran může výrazně rozšířit vnější bezpečnostní perimetr organizace. Na rozdíl od interní infrastruktury zde často chybí kontrolní mechanismy, jako jsou firewally, monitorování přístupu nebo aplikovaná politika přístupu. Pokud poskytovatel těchto služeb nebere bezpečnost vážně, může útočník pomocí jeho infrastruktury snadno proniknout do sítě vaší organizace.
Jako příklad uvedeme platební bránu, kterou klientovi poskytovala třetí strana. Platební brána obsahovala Command Injection (spuštění systémového příkazu na vzdáleném serveru) a “nevědomky” nám při jednom ze simulovaných cvičení umožnila přístup do sítě organizace. Organizace a dodavatel o samotné zranitelnosti vůbec nevěděli.
Možné zdroje problémů
Nedostatečná znalost vámi využívaných služeb a aplikací může být velkým problémem. Když organizace není plně informována o všech službách na externím perimetru, může při penetračních testech nebo monitorování zabezpečení dojít k opomenutí některých z nich. Tento problém se zvláště projevil v roce 2021, kdy byla objevena zranitelnost Log4Shell. Mnoho organizací se potýkalo s výzvou identifikovat všechny své internetové systémy a aplikace, což vedlo k situaci, kdy některé z nich zůstávaly dlouho zranitelné nebo byly neočekávaně odhaleny až právě během bezpečnostních testů.
Správné načasování penetračních testů je klíčové pro identifikaci zranitelností. Provedení testů ve špatné fázi, například před nasazením do produkce, může vest k přehlédnutí některých zranitelností. Například během vývoje může být aktivní ladící (debugging) mód, který zahrnuje detailnější logování nebo méně striktní bezpečnostní kontroly. Pokud by se tento mód omylem udržel i po nasazení aplikace do produkčního prostředí, mohlo by to vést k odhalení citlivých informací nebo zjednodušení cesty pro potenciální útočníky. Proto je zásadní provádět penetrační testy nejen před, ale i po uvedení aplikace do ostrého provozu. Jen tak se zajistí efektivní identifikace zranitelnosti a její odstranění.
Před zahájením penetračních testů je nezbytné definovat cíle testování a určit jeho rozsah. Důležité je také zajistit, aby bezpečnostní tým provádějící testy měl k dispozici veškeré relevantní informace o testovaném systému. Absence jasně stanovených cílů a nedostatečné informace poskytnuté týmu mohou vést k neúplnému nebo neefektivnímu testování. To znamená, že některé zranitelnosti nemusí být v rámci testování identifikovány nebo prozkoumány s potřebnou důkladností.
V dnešní době se většina organizací spoléhá na služby poskytované třetími stranami. Jak jsme výše zmiňovali, tyto služby mohou zahrnovat specifické zranitelnosti, nad kterými organizace nemá přímou kontrolu. Identifikace a náprava těchto zranitelností může být komplexním úkolem, který bude vyžadovat úzkou spolupráci s poskytovateli a důkladné porozumění aspektům integrace.
Občas se stane, že je zranitelnost v systému identifikovaná, avšak riziko s ní spojené je nesprávně vyhodnoceno. V důsledku toho může být taková zranitelnost považována za méně závažnou, než ve skutečnosti je, a to vede k jejímu nedostatečnému nebo neadekvátnímu řešení.
A jaká jsou možná řešení, jak se popsaným problémům vyhnout?
Znáte svá aktiva? Zásadním a prvním krokem v bezpečnosti vnějšího perimetru je mít přehled o všem, co provozujete. Často se stává, že organizace nemají plné vědomí o rozsahu webových aplikací a služeb, které jsou vystaveny do internetu. Jak jsme si však už ukázali, je nezbytné mít detailní znalost o všech IP adresách, síťových rozsazích a doménách, které spadají do vaší infrastruktury.
Někdy mohou být objeveny zranitelnosti v komponentách poskytovaných třetími stranami, které nejsou přímo pod kontrolou organizace. I když organizace nemůže vždy tyto zranitelnosti přímo odstranit, je zásadní, aby byla o nich informována. Pravidelná kontrola těchto externích komponent (například pomocí bezpečnostního auditu třetích stran) jsou klíčové pro prevenci široké škály bezpečnostních problémů, které by mohly ovlivnit externí perimetr organizace.
Je důležité pečlivě zvážit, jestli je skutečně třeba mít přístup k některým službám či aplikacím z veřejné sítě. V případě, kdy to není nutné, by mělo být jejich nasazení omezeno pouze na interní prostředí. V opačném případě je klíčové nastavit přístupy co nejrestriktivněji a spravovat je pomocí autorizace a autentizace. Je také dobré pravidelně monitorovat dostupnost těchto služeb a v případě, že již nejsou potřeba, jejich přístup by měl být zablokován.
Penetrační testy jsou důležité, ale samy o sobě nestačí. Vzhledem k tomu, že se zranitelnosti objevují neustále, je nutné provádět testování průběžně. Pro to lze využít jak komerční, tak open-source nástroje a skenery, které dnes odhalí většinu základních zranitelností, nebo konfiguračních nedostatků.
I přes dostupné postupy pro hodnocení zranitelností je stále klíčový lidský faktor. Spoléhat se pouze na hodnocení generované automatizovanými nástroji nebo externími subjekty není vhodné. Může to totiž vést k nesprávnému nastavení priorit. A důsledkem je to, že některé závažné zranitelnosti nejsou včas nebo vůbec identifikovány a odstraněny.
Klíčovým prvkem je lidský faktor a otevřená komunikace v bezpečnostním týmu. Tento proces nezahrnuje pouze sebereflexi, ale také vytvoření takových podmínek, které minimalizují negativní dopady při sdílení těchto informací.
Doporučujeme tedy zkoumat externí perimetr z různých perspektiv a nespoléhat se pouze na jednu metodu prevence zranitelností. Důležité je mít také taktický plán pro jejich řešení a následné odstranění. Informace o zranitelnostech jsou jedna věc, ale může trvat týdny, než budou opraveny. Jednoduchá opatření jako pravidla pro Web Application Firewall (WAF)nebo obecná omezení přístupu vám mohou být užitečnou pomocí.
Sledujte rizika, která ohrožují vaše aktiva
Jste připraveni odhalit zranitelnosti externího perimetru vaší organizace? Jako reakci na tuto problematiku jsme vytvořili komplexní službu
Perimeter Guard. Naše řešení poskytuje komplexní skenování online objektů s cílem identifikovat oblasti pro zlepšení zabezpečení perimetru. A aktuálně ji dodáváme jak organizacím v oblasti bankovnictví, retailu tak i v rámci velkých telekomunikací. Perimeter Guard je vhodný prakticky pro každou organizaci, která má nějakou internetovou stopu. A kdo ji v dnešní době nemá, že?
Mohlo by vás také zajímat
Máte přehled o rizicích, která mohou ohrozit vaše aktiva? Infrastruktura, cloudová řešení, služby třetích stran a další. To vše tvoří virtuální bránu, kterou mohou útočníci využít k tomu, aby se dostali do vaší firmy. Připojte se k nám 21. 3. od 10 hodin na webinář, kde vám bezpečnostní odborníci odhalí, jak by útočník mohl vašich zranitelností využít a také vám poskytnou rady, jak tyto hrozby externího perimetru sledovat a především, jak jim předcházet.
Zamčené dveře nemusí být pro útočníky vždy konečnou překážkou. Existuje mnoho způsobů, jak se dostat bez klíče na druhou stranu. A přesto je stále u velkých organizací fyzické zabezpečení jednou z nejvíce přehlížených oblastí. (Článek pouze v angličtině.)
Odebírejte newsletter
Buďte s námi v obraze. Každý měsíc se můžete těšit na exkluzivní vzdělávací obsah a novinky ze světa informační bezpečnosti.