facebook LinkedIN LinkedIN - follow
Hlavní partner sekce
Partneři sekce
Tematické sekce
 
Branžové sekce

Přihlaste se k odběru zpravodaje SystemNEWS na LinkedIn, který každý týden přináší výběr článků z oblasti podnikové informatiky

Přehledy
 
Partneři webu
IT SYSTEMS 3/2010 , IT Security

Jak se bránit útokům na webové aplikace

Michal Zábelka


Dnes jsme svědky masivního vystavování podnikových aplikací do prostředí internetu a z druhé strany narůstajícího počtu skrytých hrozeb, proti kterým je stále obtížnější bojovat. Patří mezi ně cílené i obecně zaměřené útoky na webové aplikace klient/server a jejich data. Tyto útoky se rozšiřují i na aplikační vrstvě a mohou zahrnovat sofistikované pokusy o narušení v rámci protokolů a metod přístupu k datům, jako je XSS, přetečení bufferu, SQL injection a mnohých dalších. Přehled nejvážnějších hrozeb a rizik z nich plynoucích je definován standardem OWASP (www.owasp.org).


V praxi se velmi často můžeme setkat s případem, kdy klient řeší dilema typu – mám aplikaci, která je podpůrným nástrojem pro komunikaci s okolním světem, a tudíž ji nemůžu jen tak vypnout. A zároveň má výsledky nedávno provedených bezpečnostních testů odkrývající nedostatky v jejím zabezpečení a odvozené možné následky plynoucí z nepokrytí jednotlivých rizik.
Smluvně definované požadavky na bezpečnost zákazník nemá a dodavatel aplikace s nejvyšší pravděpodobností nebude chtít jen tak „zdarma“ přepsat kód v aplikaci. Horším případem může být, že aplikace je tak zastaralá, že původní dodavatel již neexistuje, nebo to není v jeho současných silách.
Zákazník tak stojí před těžkým úkolem, jak co nejrychleji a s přijatelnými náklady řídit rizika související s provozem svých podnikových aplikací v prostředí webu, mnohdy i pod tlakem nejrůznějších bezpečnostních regulativů, jako je PCI DSS.

Úvod do bezpečnosti webových aplikací

Bezpečnost webových aplikací stručně řečeno znamená implementaci bezpečnostních prvků a opatření ve webových aplikacích samotných. Zkusme zapomenout na odpovědi typu: je to za firewallem, máme IDP/IPS, používáme SSL, běží to na bezpečném OS, aplikovali jsme patche, uživatel musí mít heslo. Nic z toho aplikační bezpečnost primárně neřeší. Tyto jednotlivé části podporují celkovou úroveň bezpečnosti, ale nechrání samotnou aplikaci:
  • Šifrování SSL – zabezpečuje komunikaci, tedy chrání pouze informace (data) na cestě mezi klientem a serverem. Navíc není zpravidla používána autentizace uživatele certifikátem, takže se serverem může šifrovaným kanálem komunikovat kdokoli.
  • Samotný firewall nestačí – musí být otevřeny porty pro přístup na webové servery (typicky 80, 443). Většinou jsou také otevřeny porty pro komunikaci zevnitř – útoky trojského koně, kdy program útočící z prostředí vašich systémů firewall nezachytí.
  • Standardní skenovací nástroje nestačí – sledují známé zranitelnosti, otevřené porty atd., ale nezjišťují chyby v kódu na webových a aplikačních serverech.
  • IDS/IPS zpravidla sledují pouze útoky na známé zranitelnosti, skenování portů apod. Pokud útočník napadá přímo logiku aplikace jako legitimní uživatel, většinou jej IDS/IPS nezaznamená (výjimkou může být velký počet pokusů o spuštění kódu apod.).



Bezpečnost aplikační vrstvy se dnes zpravidla řeší značně intuitivně, nebo v horším případě vůbec. I když se při vývoji aplikací zohledňují nejnovější principy pro kvalitnější a bezpečnější kód, nedochází následně již k řádnému testování z důvodu požadavku na rychlé dodání požadované funkcionality. Reálným dopadem jsou poměrně vážné bezpečnostní chyby v provozovaných aplikacích. Navíc je bezpečnost jednotlivých aplikačních služeb často poplatná době jejich vzniku a nezohledňuje nejnovější typy útoků. WAF by tak měl být klíčovou součástí každé sítě s HTTP provozem, poskytující nepřetržitou ochranu provozu kritických webových aplikací.

Webový aplikační firewall

Ze všech dnes hlášených útoků je zhruba sedmdesát procent cíleno na aplikační vrstvu. Webový aplikační firewall (WAF) – dodatečně zvyšuje celkovou úroveň bezpečnosti tím, že dokáže zabránit útokům dříve, než zasáhnou vlastní webovou aplikaci. Poskytuje ochranu před velkou škálou útoků, nabízí monitorování HTTP provozu a jeho analýzu v reálném čase. To vše s minimálním, nebo žádným dopadem na existující infrastrukturu. WAF funguje tam, kde jsou běžné paketové firewally a většina IDS/IPS neúčinné.



Možností využití WAF je mnoho, mezi nejčastější však patří následující:
  • detekce/prevence HTTP útoků a logování,
  • rychlé řešení existujících chyb – aplikace workaround řešení,
  • „suplování“ chybějících kompetencí.

Detekce anomálií v HTTP provozu, následná ochrana a logování

WAF je schopen analyzovat na aplikační vrstvě veškeré náležitosti HTTP protokolu. Je použitelný také pro ochranu tzv. web services. Může analyzovat jak záhlaví, tak tělo dotazů, a to samé platí také pro odpovědi. Proti nejčastějším útokům lze s úspěchem používat dodávané sady pravidel, tzv. core rules, pro složitější pravidla je k dispozici jazyk pro definici pravidel. Po vyhodnocení daného pravidla může reagovat jako standardní firewall – od zahození požadavku přes zobrazení chybového hlášení, přesměrování na tzv. honeypot až po prosté zalogování události.

Just-in-time patching

Existují dva základní důvody, proč je nutné, nebo přinejmenším vhodné mít k dispozici rychlé řešení, kterým lze nahradit například bezpečnostní patch nebo nasazení nové verze aplikace. Jedná se o případ, kdy je publikován nový útok a kdy výrobce nebo dodavatel není schopen v krátké době připravit a distribuovat opravu. Druhým důvodem je objevení bezpečnostní chyby v rámci vlastní provozované aplikace, kdy může být problém realizovat rychlou nápravu bez důkladnějšího studia chyby. Příkladem může být chyba v administračním rozhraní, které je určené jak pro externí, tak interní uživatele. Dočasným řešením může být povolení této funkce pouze pro interní administrátory, kteří jsou považováni za důvěryhodné, při zachování zbylé funkcionality.

„Suplování“ chybějících kompetencí

V neposlední řadě může být WAF poslední záchrannou brzdou, pakliže dodavatel, respektive vývojář, prakticky netuší, co znamenají zkratky a termíny jako XSS (cross site scripting) či SQL injection. Validaci dat a jejich jednotné kódování považuje za zbytečné a bezpečnost chápe jako použití SSL protokolu. V tomto případě opravdu není reálné počítat s tím, že by něco dokázal opravit a náhrada aplikace ze dne na den není většinou možná. Neznamená to, že by tímto způsobem šlo docílit stoprocentní bezpečnosti. Pro odstranění chyb v obchodní logice WAF většinou použít nelze.

Autor působí ve společnosti Arrow ECS (dříve Soft-Tronik).
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.

Inzerce

Modernizace IS je příležitost přehodnotit způsob práce

IT Systems 4/2025V aktuálním vydání IT Systems bych chtěl upozornit především na přílohu věnovanou kybernetické bezpečnosti. Jde o problematiku, které se věnujeme prakticky v každém vydání. Neustále se totiž vyvíjí a rozšiřuje. Tematická příloha Cyber Security je příležitostí podívat se podrobněji, jakým kybernetickým hrozbám dnes musíme čelit a jak se před nimi můžeme chránit. Kromě kybernetické bezpečnosti jsme se zaměřili také na digitalizaci průmyslu.