DSM 2009/2 - Úvodník
SOA staví tradiční bezpečnostní postupy na hlavu
Toto číslo je zaměřené na problematiku SOA (Service-Oriented Architecture) – není to jen další módní zkratka? A co nám tato novinka přináší z hlediska bezpečnosti?
Architektura SOA nespadla z nebe – jen navazuje na integrační procesy známé z Message Oriented Middleware (MOM), Enterprise Application Integration (EAI) a Business-to-Business (B2B) řešení. Pomlouvači tvrdí, že SOA vzniklo kombinací nešvarů všech dosavadních middleware do jednoho balíku. Milovníci světlých zítřků zase předchozí řešení považují za zastaralá monstra a dinosaury s tím, že „za rodiče nikdo nemůže“.
Centrálním prvkem architektury SOA je Enterprise Service Bus (ESB), což je programové vybavení, které směruje zprávy mezi službami, provádí konverzi jejich formátů, konvertuje transportní protokoly mezi službami a jejich uživateli a manipuluje s business událostmi z různorodých zdrojů. Snahou je ještě více oddělit vývojáře i uživatele aplikací od stále komplikovanější technické infrastruktury. Jistý problém spočívá v tom, že ESB od jednoho výrobce se kardinálně liší od ESB výrobce druhého.
Bezpečnost je v rámci SOA služba jako každá jiná. V prostředí SOA distribuovaní uživatelé komunikují s distribuovanými službami nabízenými prostřednictvím přesně specifikovaných rozhraní. Typickými protokoly jsou HTTP a HTTPS, jimiž používané porty bývají u většiny firewallů otevřené. Vyměňovaná XML data jsou zasažitelná celou řadou staronových útoků včetně útoků majícími za následek zahlcení a přetečení vyrovnávacích pamětí.
Přístup SOA staví tradiční bezpečnostní postupy na hlavu. Odpoutání se od tradičního mixu protokolů a technologií totiž zjednodušuje život nejenom vývojářům a uživatelům aplikací, ale i útočníkům. Aby bylo možné služby používat jednodušeji, jsou tyto popisovány pomocí „kontraktu služby“ obvykle zapsaném v jazyce WSDL (Web Service Description Language). Útočník může tyto kontrakty sbírat a zmapovat si vnitřní strukturu organizace.
Je to ironií, že bezpečnostní slabinou SOA jsou zprávy bližší aplikacím. Autentizace a šifrování zde probíhá obdobně jako u klasických technologií, nezašifrované části záhlaví však nesou podstatně citlivější informace než například u protokolů sady TCP/IP. Směrovače a registry zpráv musí mít navíc k dispozici buď klíč anebo rovnou nešifrovanou zprávu. Je pravdou, že standard WS-Security definuje pro SOA bezpečnostní nástroje podobné SSL, ale pružnost tohoto standardu nahrává i útočníkům a vystavuje citlivou informaci riziku útoků.
Pokud uživatel služby hledá jejího poskytovatele, obrací se na registry služeb. Obdobně ale může postupovat útočník, nalezne například registr zajišťující bezpečnostní služby a stane se jeho řádným uživatelem.
Sběrnice ESB je navržena tak, aby překonávala komunikační bariéry. Tyto bariéry jsou však odstraněny i pro útočníka. Stačí kompromitovat jeden server a útočník má otevřenu cestu k ovládnutí celé architektury. Největší dnešní překážkou těchto útoků je slabá znalost technologie SOA útočníky, jde ale o faktor pouze dočasný.
Shrnuto – přechod na interoperabilní architekturu SOA musí perspektivně vést ke stejně interoperabilním bezpečnostním mechanismům. Gunnar Paterson tuto zásadní změnu v chápání bezpečnosti v článku http://www.soamag.com/I15/0208-2.pdf přirovnává k posunu pozornosti od ochrany garáže k ochraně samotného auta. Přijde mi to docela výstižné.
Publikováno: 18. 06. 2009









