Poznejte hacknuté webové aplikace

14. 5. 2017

Sdílet

 Autor: © badmanproduction - Fotolia.com
Změněný vzhled webu? Kopie databází? Záhadné soubory? Zde je návod, jak zjistit, zda byla webová aplikace hacknutá a jak ji jednou provždy zabezpečit.

Když zákazníci komunikují s vaší firmou, setkají se s velkou pravděpodobností nejdříve s vaší webovou aplikací. Je to veřejná tvář vaší společnosti, a v důsledku této expozice je to také zřejmé místo zranitelnosti.

Většina útoků proti webovým aplikacím je nenápadná a je těžké je objevit. To je problém, protože jakmile se útočníci dostanou dovnitř, skrývají se nezpozorovaní v sítích průměrně 205 dní, uvádí zpráva společnosti Verizon o únicích dat (2015 Verizon Data Breach Investigations Report).

Většina organizací zjistí, že je někdo zkompromitoval, až když jim zavolá někdo z oblasti vynucování práva nebo rozhněvaný zákazník.

Jak tedy lze zjistit, že došlo k hacknutí webové aplikace? „Když je vaše webová aplikace zkompromitovaná, začne se dít něco neobvyklého,“ tvrdí Steve Durbin, šéf společnosti Information Security Forum. Klíčem k úspěchu je důkladně pochopit to, co je normální chování dané aplikace, a poté sledovat, zda se neobjevují nějaké odchylky.

Tady je pět příznaků, že došlo ke zkompromitování webové aplikace, a rady, kde začít s příslušným šetřením. Najdete zde také některá rozumná doporučení pro zabezpečení webové aplikace nehledě na to, zda k hacknutí skutečně došlo.

 

Příznak č. 1: Aplikace nedělá to, k čemu byla navržená

Monitoring aplikací je jedním z nejlepších způsobů, jak zjistit, že se děje něco podezřelého. Třeba aplikaci nově trvá mnohem déle než v minulosti, než zobrazí výslednou stránku s výsledky z databáze.

Možná že jen zobrazuje stránky v neočekávaném čase nebo přesměrovává uživatele na jinou stránku. Možná že se zvýšil síťový provoz, ale neexistuje žádná doprovodná marketingová kampaň, která by mohla takový nárůst vysvětlit – malý internetový obchod, který má obvykle například cca 50 objednávek denně, má najednou za den pět tisíc objednávek.

Samozřejmě že to nemusejí být nutně příznaky, že došlo ke zkompromitování webové aplikace. Pomalé načítání stránek může být snadno důsledkem problémů s konektivitou, nebo dokonce útoku DDoS, ke kterému mohou mít útočníci nějaké důvody. Je však vždy lepší ihned prošetřit něco podivného, než čekat na velký rozruch.

Pokud aplikace přesměrovává uživatele na jinou stránku, zjistěte proč. Nemůže to být reklama, která škodlivým způsobem přebírá funkci stránek? Nebyl nedávno změněn kód stránky? Došlo k manipulaci s informacemi v databázi?

Pravidelně komunikujte s aplikací v produkčním prostředí, abyste tak mohli získat analýzu normálního chování a dokázali ihned rozpoznat nečekané chování a mohli ho okamžitě prošetřit.

 

Příznak č. 2: Výskyt neočekávaných zpráv v protokolu

Protokoly mohou být zlatý důl informací o útoku, pokud jsou správně nastavené. Pečlivá kontrola logů databáze může ukázat nečekané dotazy a odhalit kopírování informací.

Pokud databázové protokoly například ukazují více chyb v krátkém časovém období, může to být známkou toho, že se někdo v aplikaci snažil „vrtat“ a hledal (a možná už nalezl) vektor pro úspěšný útok SQL injection. Zpětně bývá možné zjistit původ databázových dotazů a zajistit, aby aplikace zpracovávala vstupy korektně.

Software webového serveru dokáže protokolovat příchozí a odchozí síťová připojení přes systémové protokoly FTP a HTTP. (Jsou zapnuté, že ano?) Tyto protokoly umějí zachytit varovné příznaky neoprávněných a nebezpečných aktivit.

Webové servery by obecně měly iniciovat pouze spojení s interními databázemi. Pokud existují odchozí síťová spojení z webového serveru na veřejné IP adresy, je na čase zjistit proč.

Nevysvětlitelné přenosy souborů ukazují, že data opouštějí webový server. To by mohlo naznačovat, že útočníci již přečerpali data z aplikace a přenášejí tento obsah na vzdálené servery.

Nezaměřujte se nadměrně na to, co směřuje ven ze sítě, abyste nakonec neignorovali boční pohyb. Pokud webový server komunikuje s ostatními zdroji v síti, jako jsou například disky pro sdílení souborů a jednotlivé počítače uživatelů, může to být známkou toho, že útočníci získali přístup a pohybují se ve vaší síti.

Jestliže například aplikace dovolí uživatelům nahrávat soubory, potom se ujistěte, že používá vyhrazený souborový server, a ne nějaký obecný, umístěný někde v podniku. 

Stejně jako protokoly serverů mohou i protokoly aplikací odhalit, když se něco pokazí, tedy za předpokladu, že jsou správně nastavené a monitorované. Zajistěte, aby aplikace zaznamenávala do protokolu úkony na úrovni správce stejně jako vytváření uživatelských účtů a účtů správců.

Pokud aplikace například vytvoří účty na úrovni správce nebo další privilegované účty, ověřte, zda jsou tyto účty skutečně legitimní a naopak je nevytvořili útočníci.

Webové aplikace by měly také poskytovat informace, kdy se správci přihlašují, abyste mohli pravidelně kontrolovat, zda nedochází k přístupu z nečekaných lokalit v nečekaných časech. Kontrolujte, co dělají účty s oprávněním správce.

Nevysvětlitelné případy přístupu z administrátorského účtu k webové aplikaci bývají obvykle významným příznakem narušení.

Pokud narůstá počet chyb souvisejících s odesíláním formuláře nebo se objevuje více chyb při načítání stránek, je pravděpodobné, že se aplikace snaží dělat něco, k čemu nebyla navržena. Jestliže si všimnete nárůstu chyb, sledujte stránku, která chyby vyvolává, a zjistěte, co se mohlo změnit.

 

Příznak č. 3: Najdete nové procesy, uživatele či úlohy

Monitorujte procesy běžící na webovém serveru, abyste zjistili, kdy server spustí ty neznámé nebo spustí známé v neobvyklou dobu. Neznámý proces je obecně významným příznakem, že aplikace už není pod vaší kontrolou.

Jakmile má útočník účet na serveru, je toho jen málo, co nemůže dělat. Pravidelně kontrolujte uživatele vytvářené na serveru, zejména ty, kteří mají zvýšená oprávnění. Tyto účty se obvykle netvoří při běžném provozu, takže se vyplatí je zkontrolovat, kdykoli vzniknou.

Pokud někteří uživatelé, kteří by neměli požadovat zvýšená práva či přístup typu root, najednou takové požadavky mají, může jít o útočníka, který ukradl přihlašovací údaje.

Zvykněte si kontrolovat crontabs na linuxových serverech a naplánované úlohy na serverech Windows, abyste věděli, jak vypadají normální záznamy.

Jestliže se přidají nové úlohy, může to být vodítko, že aplikace dělá něco neočekávaného. Možná jde jen o účelovou údržbu, ale může to být také pokus útočníka o pravidelné volání aplikace domů pro získání dalších pokynů z řídicího serveru.

Útočník by také mohl odesílat získaná data v malých automatizovaných dávkách na vzdálený server.

 

Příznak č. 4: Změna souborů

Ukazují časová razítka souborů webové aplikace, které jste měnili před lety, že došlo nedávno k jejich změně? Pokud webový server není správně nakonfigurovaný nebo má aplikace nějakou zranitelnost, mohli útočníci upravit aplikaci, aby spouštěla jejich vlastní škodlivý kód.

Mohlo by jít o vložení kódu do JavaScriptu nebo o přepsaný modul. Kontrolujte...

 

bitcoin_skoleni

Tento příspěvek vyšel v Security Worldu 2/2016. Oproti této variantě je obsáhlejší a obsahuje řadu dalších rad, které můžete využít u sebe ve firmě.

Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.