Az utóbbi időben egyre többször harsogja a média a napvilágra kerülő sérülékenységeket és sebezhetőségeket, mint a Heatbleed vagy a Bash bug. A hozzá nem értők gyakran széttett kézzel olvassák a sorokat, ez a cikk ezt kívánja orvosolni.
Mik is azok a sérülékenységek?
Általánosságban elmondható, hogy szinte minden szoftver rendelkezhet sérülékenységgel, ami programozási hibából adódhat. Ezt a szakzsargon „Bug”-nak nevezi. Ha a felelős szoftvergyártó tudomására jut a hiba, akkor hibajavítást, azaz „patch”-t készít hozzá, amit a felhasználók a szoftver frissítésével építhetnek be a programba, felvértezve ezzel a rendszerüket a sérülékenység lehetséges kihasználása ellen. Ilyenek például a Windows által kiadott, minden hónap második keddjén megjelenő frissítések is. Ha ezeket az „update”-eket a felhasználó nem telepíti, akkor kockázatnak teszi ki a számítógépét, mivel a támadók étlap alapján dolgozhatnak a behatoláson. Sok szoftver- és hardverfejlesztő vállalat foglalkoztat különböző kutatókat és etikus hekkereket, hogy feltárják ezeket a hibákat. Ám, ha egy olyan hekker fedez fel ilyen sebezhetőségeket, aki a sötét oldalt képviseli, akkor azt eladhatja a feketepiacon. Ezt nevezzük nulladik napi, vagy „zero-day” sérülékenységnek. Sérülékenységeket okozhatnak még a nem megfelelő konfigurálások is.
Hogyan tudnak betörni a gépemre, hálózatomba?
Képzeljük el, hogy a számítógépünk egy ház, amibe 65535 ajtón lehet betörni. Ennyi kapu (port) áll rendelkezésre, hogy kapcsolatot teremtsünk. A portokhoz különböző szolgáltatások tartoznak, a szolgáltatásokból pedig sérülékenységek adódnak. Azokhoz a sérülékenységekhez pedig, amiket érdemben ki lehet használni, aknák (exploitok) tartoznak. Most már szinte minden kulcsszó a rendelkezésre áll, hogy el tudjuk képzelni, mi fán terem az oly divatos adatlopás a sérülékenységek kihasználásával.
A támadó először felderíti a célpont nyitott kapuit, az azokon futó szolgáltatásokat és azok verziószámát, valamint meghatározza az operációs rendszereket. Ezeket az adatokat a számítógépeink az esetek döntő többségében egyszerűen „kifecsegik”. Ha megvannak a szolgáltatások, akkor számos publikus adatbázis áll a támadó rendelkezésére, ahonnan kikeresheti a hozzájuk tartozó exploitokat, amit kiküld a célgépre. Amennyiben a művelet sikeres, akkor onnantól jogosultságtól függően szinte bármit meg tud tenni. Telepíthet billentyűleütés figyelőt, lekérhet képernyőképeket, feltölthet és letölthet fájlokat.
Vállalati környezet esetén szinte már mindenhol robosztus tűzfallal találja szemben magát a támadó, ezért a behatolások tendenciája manapság sokkal inkább a végpontok felé irányul, ugyanis ha sikerül megszerezni a megfelelő jogkörrel rendelkező számítógép felett az uralmat, attól kezdve szinte borítékolható, hogy bármihez hozzá tud férni a hálózaton belül. Ezt nevezzük Pivotingnek.
Hogyan tudunk védekezni?
A szoftverek, alkalmazások és az operációs rendszerek frissítéseinek napra készen tartása mellett számos megoldás közül választhatunk.
A legjobb defenzív védekezés a megfelelő tűzfal alkalmazása, ami mind hálózati, mind kliens oldalon jelentős szerepet játszik. Csak és kizárólag a legszükségesebb portoknak szabad nyitva lenni, amiket időről időre felül kell vizsgálni. Hálózati szinten komplikáltabb a dolog. Ott a csomagok egyértelműen szűrtek, de az új kihívásokkal is szembe kell nézni, mivel a 80-as portot letiltani „nem lehet”. Így érdemes egy olyan tűzfalat beszerezni, ami képes alkalmazás szinten adatokat szűrni. Ezek az úgynevezett új generációs tűzfalak.
A másik nagyon fontos eszköz az „antimalware”, antivírus program. Mivel a vírusirtó is egy szoftver, bizony lehetnek sérülékenységei is. Sőt! Nagyon fontos szempont a kiválasztás során, hogy mennyire támadható maga a védelmi program, hiszen ezek nem rendszergazda, hanem egyenesen SYSTEM jogkörrel futnak, tehát a támadók az antivírus sérülékenységit használják ki.
Ha valóban törődni akarunk a rendszerünk sérülékenységeinek feltárásával, úgy fel kell vennünk a támadói (offenzív) szemléletet. Ehhez szintén számos automatizált és manuális eszköz áll a rendelkezésre egyaránt. Ezek közül a Nexpose az egyik legkiválóbb, ami számos lehetőséget ad, és ami nagyon fontos, hogy nemcsak a sérülékenységek feltárása terén, hanem azok igazolására is. Ezeknél az automatizált hálózati és webes alkalmazás-szkennereknél sajnos nagyon gyakori az úgynevezett fals-pozitív hiba. Ebben az esetben a vizsgáló program tévesen jelöl meg egy hibát vagy sérülékenységet, ami az esetek többségében valóban fennáll ugyan, csak épp nem lehet érdemben kihasználni, azaz ott biztos nem történhet behatolás. Pontosan ezekre a problémákra kiváló a Nexpose, mivel páratlan lehetőséget ad a nagytestvérével, a Metasploittal történő összekötésre, amivel egyszerűen és zökkenőmentesen lehetséges validálni a kapott értékeket.
Vállalati és kormányzati szinten is egyre inkább elterjedt a saját sérülékenységi vizsgáló licenszelése és használata. Ez sokkal költséghatékonyabb módon ad lehetőséget a folyamatos felülvizsgálatra és ellenőrzésre, mint a külsős etikus hekkerek alkalmi vagy időszakos megbízása. A grafikus felületek segítségével és az alapvető hálózati ismeretek birtokában a Nexpose tökéletesen használható, kiváló ajánlásokat ad a hibák javításaira, priorizál és számos szabályzásnak megfelelően képes jelentéseket is generálni.
Gyebnár Gergő, a Black Cell biztonsági szakértője hozzátette: „Előszerettel használjuk a Nexpose sérülékenységi vizsgálót és csak ajánlani tudjuk. Mindamellet érdemes alaposan megvizsgálni a beállításokat, például kivenni a nyomtatók IP címeit a vizsgálatból, mert könnyen megvadulhatnak és elkezdhetnek „ész nélkül” nyomtatni értelmetlen oldalakat a végeláthatatlanságig.”