A szoftver garantáltan tartalmaz hibákat. Sok ezer sornyi kód lehet a szoftverben, és az emberi tévedés azt jelenti, hogy legalább egy részük nem lesz teljes a szándék szerint. A szoftverfejlesztési életciklus egy olyan folyamat, amelynek célja, hogy ezeket a problémákat rendszeres teszteléssel minimalizálja.
A probléma az, hogy a tesztelést gyakran fejlesztők végzik, akik lehet, hogy megtanulták, hogyan kell valamit kódolni, de nem tanulták meg a biztonságos kódolási gyakorlatokat. Még az alaposan tesztelt rendszerekben is segíthet az új problémák azonosításában, ha egy külső szemlélő néz és új perspektívát hoz.
Ennek általános módja a penetrációs teszt, amelyet általában pentestre rövidítenek. Ez magában foglalja egy professzionális, etikus hackert, egy pentestert, hogy megvizsgálja a rendszert, és megtalálja a biztonsági problémákat.
Tipp: „pentest” és „pentester”, nem „tollteszt”. A pentester nem tesztel tollat. A „tollteszt” valamivel elfogadhatóbb, mint a „tollteszt”, de általában szintén kerülendő.
A Pünkösd célja
Bármely pentest célja, hogy azonosítsa a tesztelt rendszer összes biztonsági rését, és jelentse azokat az ügyfélnek. Általában azonban a megbízások időkorlátosak a költségek alapján. Ha egy cégnek belső pentester vagy pentest csapata van, akkor állandóan a cégnél dolgozhatnak. Ennek ellenére sok ilyen skálával rendelkező vállalat rendelkezik olyan rendszerekkel, amelyeket tesztelni kell. Ez magában foglalja mind az értékesített termékeket, mind a vállalat üzleti rendszereit.
Ezért nem tölthetik minden idejüket egy dolog tesztelésével. Sok vállalat szívesebben alkalmaz külső tesztelő céget a megbízás elvégzésére. Ez még mindig korlátozott a költségek alapján. A költségeket az a tény határozza meg, hogy a penteszt egy nagyon manuális folyamat, és hogy a készségek hiányosak.
A penteszt általában egy adott időkeretre vonatkozik. Ez a szóban forgó célpont és az alapján történik, hogy mennyi időnek kell eltelnie ahhoz, hogy ésszerűen meggyőződjünk arról, hogy mindent megtaláltunk. A sebezhetőségek feltárásának idővonala általában egy haranggörbe. Nem sok minden található azonnal, ahogy a pentester körülnéz az alkalmazásban. Ekkor a megállapítások túlnyomó többsége egy adott időskálán belül elérhető, mielőtt csökkenne. Egy bizonyos ponton a kereséssel töltött több idő költsége nem éri meg azt az esélyt, hogy ne találjon mást.
Néha még az ajánlott időre vonatkozó jegyzett ár is túl sok. Ebben az esetben a teszt „időkeretezett” lehet. Itt az ügyfél elfogadja, hogy nem tesztel annyit, mint az ajánlott, de azt akarja, hogy a behatolók a lehető legjobbat nyújtsák rövidebb időn belül. Ez általában figyelmeztetésként szerepel a jelentésben.
Kézi folyamat
Egyes eszközök állnak rendelkezésre a biztonsági tesztelés automatikus végrehajtásához. Ezek hasznosak lehetnek. Azonban gyakran magas a fals pozitív és hamis negatív arányuk. Ez azt jelenti, hogy időt kell töltenie a problémák ellenőrzésével, tudva, hogy ez nem feltétlenül átfogó. A legtöbb ilyen eszköz konkrét mutatókat keres, például a szoftverek ismert sebezhető verzióit vagy az ismert sebezhető funkciókat. Számos mód van azonban arra, hogy ezek ne legyenek tényleges problémák vagy a gyakorlatban mérsékelhetők.
A biztonsági rések ártalmatlannak tűnő darabokból összeállhatnak. Ezt a legjobb módja a kézi emberi erőfeszítés észlelni. A pentesterek eszközöket használnak, de tudják, hogyan kell értelmezni az eredményeket, manuálisan ellenőrizni azokat, és független kézi műveleteket végezni. Ez a kézi lépés elválasztja a pentesztet a sebezhetőség vizsgálatától vagy a sebezhetőség felmérésétől.
A pentest típusai
A penteszt általában egy teljes termék tesztelését foglalja magában, ahogyan az telepítve lenne. Ideális esetben ez valódi termelési környezetben történik. Ez azonban nem mindig praktikus. Először is, attól tartanak, hogy a pentest offline állapotban megütheti a célpontot. Általában véve ez a félelem lényegében alaptalan. A pentesztek általában nem generálnak túl sok hálózati forgalmat, talán néhány extra aktív felhasználónak felelnek meg. A Pentesters szándékosan nem teszteli a szolgáltatásmegtagadás típusú problémákat, különösen éles környezetben. Ehelyett általában jelenteni fogják a feltételezett szolgáltatásmegtagadási problémákat, hogy az ügyfél maga vizsgálhassa meg.
Emellett érdemes megjegyezni, hogy ha a rendszer csatlakozik az internethez, akkor folyamatosan „ingyenes penteszteknek” vetik alá a valódi feketekalapos hackerek és robotjaik. A termelési környezetek elkerülésének másik oka az élő felhasználói adatokkal kapcsolatos adatvédelmi problémák. A pentesterek etikus hackerek az NDA-k és szerződések értelmében, de ha létezik és hasonló tesztkörnyezet, akkor használható.
Tipp: Az „ingyenes penteszt” tréfás módon utal arra, hogy valakit fekete kalapok támadnak meg az interneten.
A pentesztek gyakorlatilag bármilyen technológiai rendszer ellen elvégezhetők. A webhelyek és a hálózati infrastruktúra a leggyakoribb teszttípusok. Ezenkívül API-teszteket, „vastag kliens” teszteket, mobilteszteket, hardverteszteket és még sok mást is kaphat.
Variációk a témára
Valójában az adathalászat, az OSINT és a red team gyakorlatok összefüggenek, de kissé eltérnek egymástól. Valószínűleg tisztában van az adathalászat veszélyével. Egyes tesztek során tesztelik, hogyan reagálnak az alkalmazottak az adathalász e-mailekre. Ha nyomon követi, hogy a felhasználók hogyan lépnek kapcsolatba – vagy nem – az adathalászattal, meg lehet tanulni, hogyan lehet személyre szabni a jövőbeli adathalász-képzést.
Az OSINT a nyílt forráskódú intelligencia rövidítése. Az OSINT-teszt a nyilvánosan elérhető információk összegyűjtése körül forog, hogy megtudja, hogyan gyűjthetők össze értékes adatok, és hogyan használhatók fel. Ez gyakran magában foglalja az alkalmazottak listájának létrehozását olyan helyekről, mint a LinkedIn és a vállalat webhelye. Ez lehetővé teszi a támadó számára, hogy azonosítsa azokat a magas rangú személyeket, akik jó célpontjai lehetnek egy lándzsás adathalász támadásnak, amely kifejezetten az adott címzettre szabott adathalászat.
A vörös csapat elköteleződése általában sokkal alaposabb, és magában foglalhat néhány vagy minden egyéb összetevőt. Tartalmazhatja a fizikai biztonság és a biztonsági szabályzat betartásának tesztelését is. A dolgok politikai oldaláról ez magában foglalja a társadalmi tervezést. Ez megpróbálja meggyőzni az utat az épületbe. Ez olyan egyszerű lehet, mint a dohányzóhelyiségben lógni, és a füstszünet után visszatérni a dohányosokhoz.
Ez lehet hivatalnokként kiadni, vagy megkérni valakit, hogy szerezzen ajtót, miközben egy kávéscsészét cipel. A fizikai biztonsági oldalon ez akár fizikai betörési kísérletet is jelenthet, a kamera lefedettségének, a zárak minőségének és hasonlóknak a tesztelését. A vörös csapat elfoglaltságaiban általában egy csapat vesz részt, és sokkal hosszabb ideig tarthat, mint a normál pentesztek.
Vörös csapatok
A piros csapat gyakorlata kevésbé tűnhet etikusnak, mint egy szokásos pentest. A tesztelő aktívan zsákmányolja a gyanútlan alkalmazottakat. A lényeg az, hogy engedélyt kapjanak a cégvezetéstől, jellemzően igazgatósági szintről. Ez az egyetlen oka annak, hogy jó, ha egy vörös csapat megpróbál ténylegesen betörni. Semmi sem engedi meg, hogy erőszakos legyen. A vörös csapat gyakorlata soha nem kísérli meg megsebesíteni vagy leigázni a biztonsági őrt, megkerülni vagy átverni őket.
A vörös csapat letartóztatásának megakadályozása érdekében általában egy aláírt szerződést visznek magukkal a jóváhagyó testületi tagok aláírásával. Ha elkapják, ez felhasználható annak bizonyítására, hogy volt engedélyük. Természetesen ezt néha dupla blöffként használják. A vörös csapatos két engedélylapot hordhat magával, egy valódit és egy hamisítványt.
Amikor elkapják, először átadják a hamis engedélyt, hogy megnézzék, meg tudják-e győzni a biztonságot, hogy jogos, még akkor is, ha nem. Ebből a célból gyakran használja a vállalat igazgatótanácsának tényleges nevét, de tartalmaz egy ellenőrző telefonszámot, amely egy másik vörös csapathoz megy, aki a fedősztori ellenőrzésére szolgál. Természetesen, ha a biztonság átlát ezen, akkor átadják a valódi engedélylapot. Ezt azonban nagy gyanakvással lehet kezelni.
Attól függően, hogy a vörös csapatost hogyan sikerült elkapni, lehetséges lehet a teszt folytatása, feltételezve, hogy megkerülték az őket elkapó biztonsági őrt. Lehetséges azonban, hogy a tesztelő személyazonosságát „lefújják”, ami lényegében eltávolítja őket minden további személyes tesztelésből. Ezen a ponton egy másik csapattag cserélhet, akár a biztonsági értesítéssel, akár anélkül.
Következtetés
A penteszt egy olyan elfoglaltság, amelyben egy kiberbiztonsági szakembert felkérnek, hogy tesztelje a számítógépes rendszer biztonságát. A teszt magában foglalja a sebezhetőségek kézi keresését és ellenőrzését. Ennek részeként automatizált eszközök használhatók. A teszt végén jelentés készül, amely részletezi a talált problémákat, és tanácsokat ad a helyreállításhoz.
Fontos, hogy ez a jelentés ne csak egy eszköz automatizált kimenete, hanem mindet manuálisan tesztelték és ellenőrizték. Bármilyen számítógépes rendszer, hardver, hálózat, alkalmazás vagy eszköz tesztelhető. A szükséges készségek mindegyikhez eltérőek, de gyakran kiegészítik egymást.