Az Amazon felhőszolgáltatásának mostani leállása is jól példázza, hogy a felhő kétélű fegyver. Mivel a jövőben egyre kevésbé tudunk meglenni nélküle, ezért jobb tisztában lenni vele, milyen biztonsági kockázatokat hoz a rendszerbe.
A felhő manapság egy gyakran ismételgetett kifejezés, sokan azonban még min nem is tudják pontosan, mit is kell érteni alatta. Tegyünk egy gyors kísérletet arra, hogy csokorba szedjük a felhő fajtáit, tulajdonságait és megértsük, miért is alakíthatja át alapjaiban a biztonságról alkotott elképzeléseinket.
Virtualizáció ■ Valaminek a nem feltétlenül valós hardver alapon nyugvó szoftveres leképezése, mely funkcionalitásban egyezik a valóságos hardver funkcionalitásával. Mit értünk ez alatt? Egy virtuális szerver is végső soron (egy vagy több) valódi szerveren fut, csak szoftver által emulált környezetben, a benne futó (guest, vagy vendég operációs rendszer) szemszögéből viszont csak az emulált hardver látszik. Ugyanez igaz minden más virtualizációra, például a virtuális magánhálózatokra (VPN) is.
IaaS, azaz infrastuktúraszolgáltatás ■ Egyszerűen fogalmazva ez olyan, mint amikor valaki a virtualizált környezetében a virtuális gépeket mások számára (jellemzően pénzért) átadja. Ezt házon belül is szokták alkalmazni, tipikusan a jobb erőforrás kihasználtság és a költséghatékonyság érdekében. Egy sokprocesszoros és rengeteg memóriával, diszkkel felruházott rendszeren, sok egymástól szeparált virtuális gép futhat, akár különböző operációs rendszerekkel, úgy hogy a rendszer összerőforrásait (például CPU idő) az aktuális igények szerint szétosztjuk. Ilyen szervereket ma már bárki bérelhet, az Amazon is ilyen szolgáltató.
PaaS, azaz platformszolgáltatás ■ Olyan szolgáltatás, amikor tipikusan webes felületen egy szoftveres keretrendszert adunk. Például egy webes sales lead kezelő rendszer, ahol a beérkezett megkereséseket tudjuk kezelni, de a kezelés módját nekünk kell beállítani, testre szabni. Ehhez vagy a rendszer webes felületű "összekattogtatós" módszerét használjuk, vagy valamilyen API-n keresztül érjük ezt el, akár a belső CRM rendszerünkkel összekötve.
SaaS, azaz szoftverszolgáltatás ■ Olyan szolgáltatás, amikor egy valós vagy virtualizált környezetben futó alkalmazást osztunk meg jellemzően http(s) felületen keresztül. Ezt leggyakrabban természetesen elosztott rendszereken tesszük a magas rendelkezésre állás és a megfelelő skálázhatóság miatt; ilyen például egy sok millió felhasználós webes levelező alkalmazás.
Cloud, azaz felhő ■ Azon technológiák összessége, ami a fent említett technológiákra alapozva nyújt szolgáltatásokat.
Hogy jön ide a biztonság? ■ A felhő kétélű fegyver: mivel a jövőben egyre kevésbé tudunk meglenni nélküle, ezért jobb tisztában lenni vele, milyen biztonsági kockázatokat hoz a rendszerbe.
Szeparáció ■ Hagyományos rendszereinkben jól elkülöníthető, hogy mi található a határainkon kívül és belül. Amennyiben a teljes hálózatunkat magunk üzemeltetjük, megfelelő hálózati elemekkel akár fizikailag is szeparálhatjuk hálózatainkat. Ennek kezdett véget vetni a VPN technológia, de ügyes tervezéssel itt is jól definiálható, mi van kint és bent. Ebbe a rendszerbe jöttek be a cloud szolgáltatók.
Akár PaaS, akár SaaS felhasználók vagyunk, egy, a hálózatunk határain kívül álló szolgáltatáshoz kapcsolódunk, más megrendelőkkel egyetemben ugyanazt a szoftvert/szolgáltatást használjuk. A szolgáltató persze megoldja, hogy csak a saját adatainkat (például leveleinket) érjük el, de a szolgáltató maga hozzáférhet az adatainkhoz. Korántsem biztos azonban, hogy más felhasználó nem talál megoldást, hogy ezeket az adatokat mégis megkaparintsa.
A probléma akkor is fennáll, ha IaaS-t veszünk igénybe. Ilyenkor a virtuális szervereinkre magunk telepítünk OS-t (természetesen a szolgáltatók előtelepítve is kínálnak rendszereket). Az egyes virtuális gépeket a kernel úgynevezett hypervisora segítségével nyújtja, amely az egyes virtuális gépek közötti erőforrás-elosztást végzi. Ennek a hypervisornak a feladata a virtuális gépek különválaszt, tehát, hogy az egyik gép még csak véletlenül se piszkálhassa egy másik memória vagy cpu területét. Mivel a technológia közel sem tökéletes, ezért az ilyen jellegű támadásoknak fennáll a veszélye (keressünk a hypervisor és rootkit szavakra egyszerre).
Adatszivárgás, adatvesztés ■ Ez nem sok különbséget mutat a hagyományos rendszerek adatszivárgáshoz képest! Felhő esetében biztos, hogy a kliensek bárhonnan, akár mobiltelefonról is jöhetnek, tehát elméletben az egész világ a kliensünk lehet.
Cloud elé nem szoktak tűzfalat tenni (hacsak nem egy másik felhőben futó tűzfalat), tehát az esélyünk az adatszivárgásra akár nagyságrendekkel nagyobb lehet. Sajnos ilyen még a legismertebb, felhőben futó nagy közösségi oldalak esetében is előfordul. A megoldás itt csak a megfelelően auditált forrás lehetséges PaaS/SaaS használatakor, tehát olyan alkalmazások futtatása a felhőben, amelyek megfelelően védettek az illetéktelen adathalászok ellen.
Az adatok a rendszer elosztottsága és viszonylag könnyű menthetősége miatt könnyebben menthetők, amit a szolgáltató biztosan meg is tesz, de ettől még nem árt a magunk számára is menteni ezeket az adatokat. IaaS esetén ez megoldható a hagyományos eszközökkel, az PaaS és SaaS esetében viszont ez nehézkesen valósítható meg, mivel a rendszer nem biztos, hogy nyújt erre felületet.
Nem biztonságos interfész ■ Minden cloud szolgáltató ad valamilyen API-t a virtuális szerverek üzemeltetésére. Sajnos ezek az interfészek sem tökéletesek, illetve a tapasztalatok szerint a felhasználók kisebb része használja a legbiztonságosabb beállításokat. A költséghatékonyság oltárán a szolgáltatók pedig hamar beáldozzák az API-k védelmét. A megoldás itt csak a józan ész, illetve a folyamatos tanulás lehet: futtassuk ezeket a távoli hozzáférést adó felületeket biztonságos beállításokkal.
Bitport Höltzl Péter
Höltzl Péter a BalaBit biztonsági szakértője. 2010-ben az ITBN rendezvényhez kapcsolódó szavazáson a hazai IT-biztonsági piac útmutató szakemberévé választották.