Deset největších nebezpečí pro web servery odhaleno

Sdružení Open Web Application Security Project zveřejnilo zprávu, ve které poukazuje na nejzávažnější rizika v bezpečnosti webových aplikací. Součástí zprávy jsou i postupy odhalení nebezpečí a možnosti nápravy.
Open Web Application Security Project vznikl z popudu Open Source komunity. Jeho cílem je zajištění vývoje bezpečných webových aplikací a služeb. Zatím posledním počinem OWASP je zveřejnění seznamu (PDF) deseti nejzávažnějších nebezpečí pro webové servery a návod na jejich odhalení a vyřešení. Všechny popsané chyby jsou již dlouho známy, ale přesto je jejich řešení v mnoha organizacích opomíjeno.

Chyba 1 – Neověřené parametry (Unvalidated Parameters)

Nebezpečí spočívá v neověření informací obsažených v požadavku na web serverů před tím, než jsou předány webové aplikaci. Útočníci mohou tento nedostatek zneužít vložením vlastního kódu. Ochrana spočívá v ověřování platnosti požadavků na straně serveru. Každý požadavek na server musí být zkontrolován, zda odpovídá povolenému formátu pro daný parametr.

Chyba 2 - Narušení kontroly přístupu (Broken Access Control)

Problém spočívá v nedostatečném zajištění přístupových práv uživatelů. Útočníci mohou odhalením nedostatků získat přístup k účtům jiných uživatelů, citlivým souborům nebo kritickým funkcím. Problematika kontrolních mechanismů v oblasti přístupových práv bývá designery webových služeb často podceňována. Ochrana před zneužitím této slabiny je poměrně komplexní. Základním kamenem je kodifikování bezpečnostní politiky a její důsledné dodržování. Sem spadá volba bezpečných ID a hesel, odhadnutelné adresy veřejně nepřístupných dokumentů a další.

Chyba 3 – Porušení správy účtů (Broken Account and Session Management)

Tato chyba pokrývá problematiku nedostatečné ochrany uživatelských údajů sloužících k přihlášení se k serveru či službě. Útočníkům je umožněno získat hesla a další informace, které jim umožní obejít autentifikační a restrikční mechanismy a zneužít cizí identitu. Obrana spočívá v účinné kontrole změn hesel – systém by měl vždy požadovat i staré heslo případně další informace (emailová adresa použitá při první registraci). Samotná hesla by měla být dostatečně silná, nejlépe počítačem generovaná, i když tento přístup snižuje uživatelský komfort. Dalším problémem je uchovávání databází hesel, bezpečný způsob přenosu citlivých dat a další.

Chyba 4 – Zneužití serveru k odesílání skriptů (Cross-site scripting flaws)

XSS útoky probíhají tak, že útočník zneužije slabiny serveru a donutí jej, aby uživatelům na jejich požadavky odpovídal zasláním škodlivého kódu, většinou v podobě javaskriptu. Protože takový kód přijde od ověřeného serveru, prohlížeč skript provede a vystaví tak uživatele počítače nebezpečí. Útoky tohoto typu často slouží k získání přístupových hesel a dalších citlivých informací. Ochrana spočívá jak v odhalení útoku při vyslání požadavku na server tak ve filtrování všech informací posílaných k uživateli. Nejjednodušší ochrana spočívá v jednoduchém převedení některých znaků do bezpečné podoby („<” na “<”).

Chyba 5 – přehlcení bufferu (Buffer owerflows)

Některé webové aplikace lze zadáním speciálních dat donutit k pádu a dokonce převzít kontrolu nad systémem. Odhalení a zneužití takových chyb je náročné, ale pokud k takové situaci dojde, informace se rychle šíří a vzniká závažné nebezpečí. Citlivým bodem jsou zejména grafické knihovny a některé komponenty webových serverů. Ochrana spočívá především ve sledování informací týkajících se nainstalovaných produktů a včasného instalování oprav případně skenování vlastního serveru za účelem odhalení možného nebezpečí.

Chyba 6 – “vstříknutí” příkazu (Command injection flaw)

Útočník může do parametrů, které webové servery používají pro přístup k externím systémům nebo do operačního systému vložit škodlivé příkazy, které jsou následovně vykonány podobně jako u XSS. Toto nebezpečí se týká i SQL databází. Nejjednodušší ochranou je nahrazení systémových příkazů použitím speciálních knihoven. Dalším způsobem obrany tam, kde nahrazení není možné, je validace příkazů a omezení přístupů z webové aplikace do operačního systému.

Chyba 7 – nezvládnutí chybové operace (Error Handling Problems)

Hacker, který zapříčiní chybu, kterou systém neumí korektně zpracovat, může získat detailní informace o systému, způsobit DoS nebo pád serveru. Ochrana spočívá v popsání všech možných chybových situací a zajištění správného výstupu – jednoduché informace o chybě uživateli, detailní popis chyby administrátorovi.

Chyba 8 – nechráněné použití kryptografie (Insecure use of cryptography)

Citlivé informace jsou často chráněny použitím kryptografických metod, ale přestože je tyto systémy snadné implementovat, v jejich nasazení dochází často k nedostatkům. Může jít o nechráněné uložení klíčů, certifikátů či hesel, omezenou míru náhody, malý výběr algoritmů nebo selhání při šifrování dat. Nejjednodušší ochranou je minimalizování použití kryptografie. Místo uchovávání zašifrovaných dat OWASP doporučuje nucené opětovné zadávání například čísel kreditních karet, stejně jako použití jednocestného zaklíčování hesel pomocí funkce SHA-1.

Chyba 9 – slabiny ve vzdálené správě (Remote Administration Flaws)

Možnosti, které prostředky pro vzdálenou správu dávají administrátorům, se mohou stát zbraní hackerů, pokud se jim podaří získat k takovým nástrojům přístup. Problémem může být zejména slabá autorizace uživatele či zajištění bezpečného přenosu dat mezi administrátorem a serverem. Ochranou před zneužitím možností vzdálené administrace je využití bezpečného spojení SSL nebo VPN. OWASP ale doporučuje použití vzdálené správy eliminovat.

Chyba 10 – špatná konfigurace serveru (Web and Application Server Misconfiguration)

Konfigurace serveru hraje v oblasti bezpečnosti hlavní roli. Chyby v nastavení serveru, nepravidelné updaty systému, špatné nastavení práv, příliš obsáhlá chybová hlášení dostupná uživatelům nebo použití špatných certifikátů se stávají otevřenou branou pro hackery. Ochrana před touto desátou chybou (kterou lze označit za chybu lidské blbosti) je poměrně složitá. Hlavní vodítkem, jak se této chybě vyvarovat, mohou být nejrůznější průvodci bezpečným nastavením serveru, které nabízejí mnohé organizace (OWASP, CERT, SANS). Nutné je sledování informací o možném ohrožení, časté aktualizace a pravidelné prověřování zabezpečení serveru jak interně, tak s využitím externích dodavatelů.

Diskuze (20) Další článek: Internet po elektrické síti

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,