reklama
reklama
26. 1. 2009 | poslední aktualizace: 26. 1. 2009  13:03

Penetrační testy a informační bezpečnost ve finančním sektoru

Penetrační testy se v průběhu posledních let staly nedílnou součástí řízení informační bezpečnosti v rámci každé větší organizace. Při testech technici simulují chování útočníka s cílem odhalit pokud možno veškerá zranitelná místa zkoumaného informačního systému. Výhody pro organizaci jsou nesporné. Výsledky testů jí umožní zmapovat rizika chodu důležitých informačních systémů a zároveň investovat do jejich zabezpečení efektivním způsobem. Při dosahování těchto cílů zadavateli výrazně pomůže pečlivá příprava projektu.

Daniel Kefer
Cleverlance


Informační systémy bankovních i jiných finančních institucí se potýkají s jednou velmi nepříjemnou skutečností - takové systémy budou vždy preferovaným cílem počítačových útočníků motivovaných vysokými finančními příjmy plynoucími z jejich možné kompromitace. Proto takové instituce více než jiné mají potřebu přistupovat k zabezpečení svých systémů na opravdu komplexní bázi. Jedním z řady periodicky realizovaných opatření jsou také právě penetrační testy.

OTEVŘENÉ DVEŘE PRO INTERNETOVOU KRIMINALITU

Ty nabývají na důležitosti především s rostoucím trendem vystavit co největší objem služeb pro online přístup. Zatímco takový vývoj pomáhá institucím snižovat celou řadu nákladů a klientům zásadně zvyšuje míru pohodlí, zároveň však otevírá dveře dokořán pro internetovou kriminalitu.

Ta je v absolutních číslech vůbec nejrychleji rostoucí kriminální činností na světě. Pokud ze statistik konzultantské společnosti Gartner vyplývá, že v roce 2007 byly tři ze čtyř velkých organizací terčem cíleného útoku počítačových pirátů, pak v bankovní sféře toto číslo rozhodně není nižší. A zcela určitě lze do budoucna očekávat vzestupnou tendenci.

Penetrační testy se logicky zdají být poměrně účinným kladivem na uvedené hrozby. Pro efektivitu takového projektu však zdaleka nestačí vypracovat stručné zadání a z nabídek dodávajících firem vybrat tu s nejatraktivnějšími cenovými podmínkami, což je díky podceňování úlohy penetračních testů častou chybou poptávajících organizací.

Při realizaci testů je třeba uvědomit si jednu podstatnou věc - zatímco opravdový počítačový útočník při své práci není limitován časem a pokud je dobře motivovaný, pak jeho práce může trvat celou řadu měsíců, dodavatel penetračních testů je striktně limitován časem, který si jeho zákazník zakoupí. Samozřejmě z celé řady důvodů nemá smysl na penetrační testy obětovat stejné množství času, který má k dispozici útočník, ale je třeba najít optimální poměr výkon/cena tak, aby zadavateli projekt přinesl co největší užitnou hodnotu. Nutno konstatovat, že tento úkol pro zadavatele často není vůbec jednoduchý.

SPRÁVNÝ ODHAD NÁROČNOSTI PROJEKTU

Pro správný odhad náročnosti projektu je potřebné mít tři zcela zásadní znalosti.

První z nich se týká cíle projektu - neboli čeho chce zadavatel provedením testů dosáhnout. Takovým cílem může být například posouzení náročnosti nějaké konkrétní cesty útoku, komplexní zhodnocení úrovně bezpečnosti organizace jako celku nebo zabezpečení nové instalované aplikace. Je ale důležité si také stanovit, které potřeby je efektivní řešit pomocí penetračních testů a které jinými prostředky.

Třeba představa, že je pomocí penetračních testů možné eliminovat veškeré možnosti počítačových útočníků, je poměrně scestná. Už pouze proto, že útočníci často využívají nově objevených zranitelností, a to ještě předtím, než organizace aplikuje příslušná bezpečnostní opatření. Pokud by cílem projektu měla být eliminace této hrozby, pak by penetrační testy musely probíhat nepřetržitě, což je samozřejmě nemá smysl. Je tak mnohem efektivnější rychlou odezvu či monitoring aktuálních hrozeb řešit jinými prostředky.

Druhá znalost spočívá v obeznámenosti s vlastní infrastrukturou a prostředky - neboli které systémy souvisí s jakými, z jakých lokací lze získat přístup k jakým datům, jak jsou konkrétní systémy rozsáhlé a jaké riziko by pro organizaci jejich napadení znamenalo. Tato znalost souvisí zejména s komplexním vnímáním bezpečnosti.

Vzhledem k tomu, že útočník si vždy bude vybírat co nejjednodušší cestu, nemá smysl do jednoho úseku infrastruktury investovat velké peníze a jiný zabezpečit nedostatečně. Zadavatele v takovém případě často čeká nepříjemné překvapení v podobě zjištění, že útočník spáchal škodu v síti například pomocí průniku do systému, který nikdy nebyl předmětem testování.

Třetí, neméně důležitou znalostí je pak povědomí o možnostech útočníka - neboli jaké prostředky a cesty má k dispozici. Je samozřejmě důležité rozlišovat cesty, které může využít při napadání jednoho určitého systému a které při napadání organizace jako celku.

Různé možnosti útoku představují specifické typy penetračních testů, které si stručně popíšeme.

VNĚJŠÍ PENETRAČNÍ TESTY

Vzdálený přístup útočníka přes internet simulují vnější penetrační testy. Při takovém útoku je pro útočníka poměrně snadné zachovat si celkem vysokou míru anonymity, zejména při využití různých anonymizérů či vedení útoků přes více kompromitovaných uzlů v síti. Na druhou stranu finanční instituce bývají dnes již většinou proti takovému útoku poměrně dobře chráněny a tudíž se pro něj tato cesta řadí spíše mezi ty obtížnější.

Schopného útočníka však taková překážka nezastaví a je schopný se s ní vypořádat více způsoby, například pomocí kompromitace systému některého z uživatelů pomocí trojského koně, monitorováním jeho komunikace s cílovým systémem a odchytáváním důvěrných dat.

VNITŘNÍ PENETRAČNÍ TESTY

Při vnitřních penetračních testech, jejichž smyslem je ohodnotit možnosti útočníka ve fyzickém dosahu cílového systému, je vhodné nejdříve definovat požadovaný způsob vedení testů, neboť zde se zpravidla nabízí celá řada možností. První z nich je využití pouze bezdrátových sítí, které jsou přístupné často komukoli, kdo se dostane do blízkosti některého z objektů společnosti. Takový přístup nejenže pro útočníka představuje pořád poměrně vysoký stupeň anonymity, ale občas díky slabému zabezpečení také dostupnost zajímavých citlivých dat či ovládnutí některých síťových prostředků a zařízení.

Dále je možné provést test neznalého uživatele, který získá přístup do sítě organizace, ovšem bez jakýchkoli přístupových účtů. Takové testy simulují postup útočníka, který se dostane kupříkladu do zasedací místnosti (byť třeba v rámci legitimního jednání) či obecně k dosahu fyzické topologie sítě.

Poslední možností jsou testy znalého uživatele, jejichž úkolem je zmapovat možnosti napadení sítě neloajálními zaměstnanci. V takovém případě jsou testeři vybaveni obvyklými zaměstnaneckými účty a hledají bezpečnostní mezery v používaných službách, stejně jako možnosti zneužití účtu/stanice k nelegálním aktivitám, přístupu k citlivým datům a podobně.

Teoreticky se v rámci vnitřních testů ještě nabízí ohodnocení možností útoků s využitím postranních kanálů zařízení, kdy jsou pro napadení sítě využity informace získané fyzikálními vlastnostmi implementace použitých zařízení (například různé časové či akustické analýzy). Penetrační testy využívající postranních kanálů však nejsou příliš rozšířené; důvodem je jejich značná časová i finanční náročnost.

TESTY ZA POMOCI METOD SOCIÁLNÍHO INŽENÝRSTVÍ

Naproti tomu testy za pomocí metod sociálního inženýrství, které se někdy řadí mimo kategorie běžných penetračních testů, jsou nabízeny i poptávány v širokém měřítku. Není divu - pro útočníka takový typ útoku často znamená překvapivé výsledky s vynaložením minimálního úsilí.

V rámci těchto testů pracovníci dodavatele pod různými záminkami kontaktují zaměstnance společnosti a snaží se od nich získat citlivá data (nejčastěji přístupové jméno a heslo k informačnímu systému pod záminkou pádu databáze) nebo je přimět ke spuštění podstrčeného trojského koně, kdy po úspěšném zpracování zaměstnance využijí jeho stanici dále k útokům do sítě. Obecně se pro testy metodami sociálního inženýrství nejčastěji využívají telefony, e-maily či osobní kontakt.

PENETRAČNÍ TESTY WEBOVÝCH APLIKACÍ

Penetrační testy webových aplikací se vydělily ze skupin vnějších a vnitřních testů do samostatné kategorie a hojně se využívají od doby, kdy se z webů tvořených pouze statickým obsahem staly plnohodnotné aplikace (resp. informační systémy) s kódem spouštěným na straně serveru i na straně klienta. U takových aplikací i zdánlivě relativně nevinné chyby mohou vést ke kompromitaci celé infrastruktury sítě společnosti.

Ačkoli se to tak nemusí na první pohled jevit, už jenom například útok s úspěšným cílem snížení dostupnosti webové aplikace může mít značný dopad na bezpečnost organizace, minimálně může znamenat nespokojenost klientů, poškození dobrého jména instituce a finanční výdaje spojené s obnovením její spolehlivosti.

ODSTRAŇOVÁNÍ ZJIŠTĚNÝCH NÁLEZŮ

Po zhodnocení všech uvedených aspektů, výběru jedné či více metod penetračních testů, zvolení správného dodavatele a provedení testů pak přichází na řadu odstraňování zjištěných nálezů.

Prvkem, který se při realizaci penetračních testů poměrně dobře osvědčil, je uspořádání jednoho či sady závěrečných workshopů, kdy konzultanti dodavatele s klíčovými zaměstnanci organizace společně diskutují možné cesty k nápravě zjištěných problémů. Bez vzájemné interakce totiž často není možné stanovit konkrétní dopady nalezené zranitelnosti či optimální postup pro její odstranění.

Samozřejmostí je velmi opatrné nakládání s výstupy projektu - našlo by se asi jen velmi málo útočníků, které by nepotěšil obsah zprávy popisující například nalezené zranitelnosti v systému elektronického bankovnictví. Proto by veškeré výstupy měly mezi dodavatelem a zadavatelem kolovat pouze v šifrované podobě. Musí s nimi být pracováno pouze na dostatečně důvěryhodných počítačích a veškeré papírové výtisky je třeba pečlivě střežit nebo ihned po přečtení skartovat.

OPAKOVÁNÍ PENETRAČNÍCH TESTŮ

Nakonec je třeba se zamyslet, v jakém časovém horizontu má smysl penetrační testy opakovat. Obecně se doporučuje provádět testy vždy po dvou letech či uskutečněných závažných změnách v testovaném systému. Záleží však také na jeho povaze a u kritických systémů zvláště ve finančním sektoru se určitě vzhledem k neustále nově objevovaným zranitelnostem vyplatí provádět testy častěji.

Bohužel stále ještě často se vyskytující se chyba je také ta, že penetrační testy nejsou součástí obecných testů nově implementovaného systému/aplikace, kdy pochopitelně takové opomenutí může organizaci přijít velmi draho. Samozřejmě je při tom nutné zohlednit další prvky rozsáhlé skládačky bezpečnosti velké organizace a jednotlivé prvky co možná nejlépe vyvážit.

Jen v takovém případě bude organizace schopna budovat se svými zaměstnanci i klienty vztahy na bázi vzájemné důvěry a vytvářet dlouhodobé hodnoty ve svém prostředí.


Daniel Kefer působí jako Security IT Technical Specialist ve společnosti Cleverlance Enterprise Solutions.


Finanční instituce více než jiné mají potřebu přistupovat k zabezpečení svých systémů na opravdu komplexní bázi. Jedním z řady periodicky realizovaných opatření jsou také právě penetrační testy.


Penetrační testy webových aplikací se vydělily ze skupin vnějších a vnitřních testů do samostatné kategorie a hojně se využívají od doby, kdy se z webů tvořených pouze statickým obsahem staly plnohodnotné aplikace (resp. informační systémy) s kódem spouštěným na straně serveru i na straně klienta. U takových aplikací i zdánlivě relativně nevinné chyby mohou vést ke kompromitaci celé infrastruktury sítě společnosti.

Autoři: Daniel Kefer
reklama
Zobrazit náhled
Zbývá 1000 znaků
Článek neobsahuje komentáře.
reklama
reklama
reklama
Bankovnictví je odborný měsíčník pro profesionální finance. Obsahuje analýzy kapitálových a finančních trhů, informace o trendech v bankovním sektoru a jeho managementu, nových produktech a technologiích.
Newsletter
   
Z aktuálního čísla  
Nabídka čtenářům  
reklama
reklama