Penetration Testing - a biztonságos behatolás

2020-08-04 10:26


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. 

A penetration testing nem 100%-ban pusztán programozás ellenőrzése, sokszor a cég, csapat működésének hiányosságait is megmutatja.

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. 

Léteznek kifejezetten pen testhez kifejlesztett eszközök és operációs rendszerek is

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. 

A behatolás teszt során sok minden múlik azon, mennyire rutinos csapattal dolgozunk.

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!