Amikor valaki azt állítja, az ő rendszere feltörhetetlen, a legtöbb informatikus csak elmosolyodik: a Titanic-ot is elsüllyeszthetetlennek hitték… Az informatikai rendszerek esetében is hasonló a jelenség. Néha elég néhány apró tervezési hiba és egy mezei felhasználó is leállíthatja a fél szoftvert, máskor valamilyen fatális véletlen történik, és ez nyit biztonsági rést a (hajó) szoftver oldalán. A penetration testing feladata éppen ezért képletesen szólva az, hogy megkeresse a jéghegyeket és segítsen felkészülni a viharos időjárásra.
Mi történik a penetration testing során?
A “penetration testing”, rövidebben pen test egy szimulált cyber-támadást jelent a megrendelő saját rendszere ellen. A behatolást etikus hackerek végzik, akik ellenőrzik, mennyire nehéz hozzáférni a például a szerveren található érzékeny adatokhoz vagy hogy egy rossz szándékú behatoló milyen károkat tehet a rendszerben.
Behatolásos tesztre általában fejlesztőcégek vagy az ő megrendelőik adnak megbízást. A teszt elején megállapodnak abban, hogy mi a vizsgálat célja. Ez lehet valamilyen konkrét folyamat tesztelése (például, hogy meg lehet-e szerezni valakinek a fizetős felhasználói fiókját mondjuk a jelszó-emlékeztető mail eltérítésével), de lehet a különböző lehetséges sérülékenységek összegyűjtése is.
Ezek után a tesztelést végző csapat munkához lát.
1. A célok meghatározása és információgyűjtés
A tesztelő csapat ebben a fázisban pontosan meghatározza, hogyan zajlik a teszt. Ilyenkor kell eldönteni, milyen mélységig érdemes vizsgálni a szolgáltatást (a kalandvágyból hackelő diákok valószínűleg megelégszenek azzal, ha ingyen pizzát tudnak rendelni, és nem akarják átvenni az uralmat a teljes ételkiszállítós oldal felett).
Ezzel párhuzamosan információgyűjtés zajlik. A tesztelők összegyűjtik a szükséges adatokat, például a domain neveket, a rendszerek típusait, a mail szerverek elérhetőségét. Megtörténik a teszteléshez szükséges eszközök kijelölése is.
2. Scannelés
A scannelés során a programozók automatákat használnak. Ezek a szoftverek általában közismert technológiákkal próbálják feltörni a programot, vagy próbára teszik azokat a pontokat, amelyeket már korábban sebezhetőnek minősítettek.
3. Sérülékenységek keresése
Ebben a lépésben az etikus hacker a scannelés és a korábbi felderítési munkából kapott információkat felhasználva egy prioritási listát állit elő a potenciálisan sérülékeny szolgáltatások/oldalak manuális elemzésére vonatkozóan. Rengeteg faktor lehet ami miatt egy szolgáltatás vagy oldal az etikus hacker érdeklődésének a célpontjává válhat: az elavult, jól láthatóan nem karbantartott konfiguráció vagy a zárt forráskódú üzleti alkalmazások használata gyakran olyan csontvázakat jelent amivel az üzemeltető nincs tisztában.
4. Dokumentáció
A teszter kilép a rendszerből, levonja a következtetéseket, és dokumentálja a tapasztalatait.
Egy sikeres vizsgálat sem zárulhat egy alapos és minden releváns részletre kitérő jelentés nélkül. A tesztelő rögzíti a tapasztalatait és a sérülékenységekhez kapcsolódó reprodukciós lépéseket aminek a segítségével egy fejlesztő praktikus módon újra elő tudja állítani a tapasztalt hibát, a probléma körben járását elősegítve. Ezen felül a sérülékenységek súlyosságát kiértékeli több szempont szerint is, amire támaszkodva a fejlesztők el tudják dönteni melyik problémákat érdemes előrevenni a javitási folyamatban.
Milyen típusai vannak a behatolási teszteknek?
Amikor “a rendszert” teszteljük, nem elég csak szigorúan az informatikára hagyatkozni, az alkalmazás egészét kell vizsgálni, gyakran az emberi tényezőt is – ez az úgynevezett social engineering. A támadások egy része például nem azért következik be, mert “a konkurencia szeretne meghackelni”. Előfordulhat, hogy a zavart egy elégedetlen dolgozó okozza, aki bosszúból lediktálja valakinek a jelszavakat.
Előfordulhat, hogy bizonyos érzékeny adatok nem azért kerülnek ki a rendszerből, mert könnyű kinyerni őket az adatbázisból, hanem mert valamelyik munkatárs a megrendelő oldalán direkt, vagy véletlenül szivárogtat(ott). A különböző tesztelési módszerekkel közelítőleg azt is meg lehet állapítani, fennáll-e ilyen veszély.
A tesztek valóban egy-egy támadás szimulációi. Előfordulhat, hogy:
- A csapat nagyon részletes információt kap a cégtől, akár jelszavakat, speciális beállításokat is. Ekkor általában azt vizsgálják, mi történik, ha a rendszert belülről ismerő munkatárs szivárogtat vagy próbál kárt okozni.
- A csapat mindössze egy cégnevet vagy csak nagyon töredékes információt kap. Ez megmutathatja például, meddig jut egy viccből hackelő diák, script kiddie.
- Lehet, hogy az alkalmazást üzemeltető informatikusokat értesítik a tesztről, így már felkészülten várják a támadást, de van, hogy a behatolás számukra is tikos módon történik.
A pen test kockázatai
Nagyon fontos, hogy a behatolásos vizsgálatot mindig megbízható csapatra kell bízni, ennek a szolgáltatásnak ugyanis vannak árnyoldalai. Előfordulhat például, hogy a teszt során szolgáltatás kiesést tapasztalunk, mert átmenetileg megnő a terhelés a szerveren. Ennek elkerülése érdekében a tesztek erre kifejlesztett tesztkörnyezetben zajlanak, bár erre nem minden cégnél van lehetőség. Ha nincs ilyen rendszer kiépítve igyekszünk éjszaka, alacsonyabb forgalom mellett dolgozni.
Ritkán adatvesztés vagy adatsérülés is előfordulhat. Érdemes a teszt megkezdése előtt biztonsági mentéseket készíteni.
A hibák gyakran nagyon bosszantó és banális okból keletkeznek. Jó példa erre az eBay elhíresült esete, amikor tulajdonképpen be sem kellett hatolni ahhoz, hogy zavar lépjen fel. Korábban az eBay a legmagasabb tétet kínáló felhasználó azonosítóját is közzétette az egyik árverés alatt. A felhasználók hamar rájöttek, hogy ha belépési kísérleteket indítanak a legnagyobb licitáló nevében, a sok próbálkozás miatt a rendszer jó időre tiltja és törli az általa kínált összeget. Így az egyszerű felhasználók is befolyásolni tudták az aukció menetét.
Minél gyakorlottabb a tesztelő csapat, annál nagyobb eséllyel tudnak segíteni az ilyen apró, de bosszantó jelenségek kizárásában. A pen test az egyik leghatékonyabb módszer a biztonság javítására és az esetleges, nagyobb támadások kivédésére.
Ha számodra is fontos a biztonságos digitális környezet és az időben felfedett hiányosságok, egyeztessünk és kérj ajánlatot tőlünk ide kattintva! Segítünk, hogy a legmegbízhatóbb rendszerrel dolgozhass!