Gondolatok az IT biztonságról – Social engineering

Mostanság nap, mint nap sikerül belebotlani az IT biztonsággal kapcsolatos témába a munkám során, már régóta érlelődik bennem a gondolat, hogy ezekből egy jó összefoglaló cikket lehetne írni, amiben rengeteg tanulságos eset és hasznos gondolat lenne. Eljött hát az ideje, hogy rászánjam magam a megírására, remélem sokak figyelmét fel tudom hívni vele a 21. század egyik legnagyobb problémájára, amit az online világgal és minket körülvevő rengeteg digitális adattal és rendszerrel együtt öröklünk meg. Nem is gondolnák sokan mennyi veszély leselkedik ránk nap, mint nap ezekből kifolyólag. Hagy kezdjem először is egy viccel:

  • Mi az: kicsi, sárga és veszélyes?
  • Naposcsibe a root jelszóval.
Social engineering

Bár nem ő jelenti majd számunkra a legnagyobb veszélyt, azért találunk majd a cikk végére szép számban ilyen „napos csibéket”. A cikk megírását egyébként az az élmény is inspirálta, hogy nemrégiben sikerült az egyik népszerű hazai internet szolgáltató egyik eszközében olyan méretű biztonsági hibát találni, ami ugyan nem példátlan (pár Index olvasó egy korábbi cikkében a UPC-nél olvashatott már hasonlóról), de mégis egy olyan mértékű hiba, amely otthoni és céges előfizetők tömegeit teszi ki támadásoknak. Természetesen a hiba jelzésre került a szolgáltató szakembereinek (több alkalommal, több elérhetőségen is, de válasz nem érkezett rá), a probléma viszont jelen pillanatban is valós, így részleteket ezzel kapcsolatban még nem árulhatok el, de amint befoltozásra kerül egy újabb cikkben több részletet elárulhatok majd róla és megírom majd azt is hogyan sikerül egy ilyet felfedezni.

Akit egyébként érdekel a hackerek világa és szeretne kicsit jobban képbe kerülni a gondolkodásmódjukkal, annak nagyon tudom ajánlani a legendás hacker, Kevin Mitnick könyveit. Egy 3 részes sorozatban elárulja a kezdeteket, a motivációkat, leírja a módszereket és azt is milyen hibákat vétettek a felhasználók, amelyek ahhoz vezettek, hogy értékes adatokat tudott megszerezni tőlük.
A legmegdöbbentőbb az, hogy ugyan a könyvei nem a jelen korban, hanem 15-20 évvel ezelőtti történeteket írnak le, a legnagyobb biztonsági probléma megoldására azóta sincsenek jól bevált módszerek. Ez pedig a leggyengébb láncszem, a felhasználó. A mai modern rendszerek a megfelelő biztonsági előírások betartásával és egy ügyes rendszergazda háttérmunkája révén annyira biztonságosnak mondhatóak már, hogy egy értelmes hacker nem is onnan próbál meg adatokat lopni. Majd rá fogunk térni a rendszer lehetséges gyengéire is, de először is nézzük a leggyengébb pontot.
Nagyon sok nagyvállalat és kormányzati szervek is rájöttek már az idők folyamán és nagy hangsúlyt fektetnek a képzésre, hogy biztonságtudatosságra neveljenek, de a gyakorlati tapasztalat azt mutatja, hogy nem sok sikerrel teszik ezt.
Szerintem ez idővel a fiatalabb generációk munkába állásával majd talán változik, sok mostani dolgozó már nem is akar újat tanulni a korából kifolyólag és egyáltalán nem fogékony az oktatásra, de talán a mostani fiatal generációk, akik már online élték életüket védettebbek lesznek a különböző támadási formák ellen. Ezeket az átverésre alapozó technikákat hívják a szaknyelvben social engineeringnek, ez a fogalom a biztonságtudatos rendszergazdák rémálma.
Nagyon jól védett egy rendszer, amiből adatokra lenne szükség? Nem gond, találjunk ki egy hihető sztorit, szerezzünk be hozzá pár olyan adatot, ami hitelessé teszi és kérjük meg azt a felhasználót, aki hozzáfér azokhoz az adatokhoz, hogy segítsen nekünk hozzáférni. Netán fizikailag be lehet jutni az adott felhasználó gépéhez vagy egy trükkel elvonni a figyelmét? Ha a gépe nem zárolt, van 1-2 percünk hozzáférni és célirányosan keresünk meg lehet az az információ. Kicsit sci-fi-nek vagy akciófilmszerűnek tűnhet, de nem az! Ahogyan a legkeresettebb amerikai hacker leírta vele ilyen és ehhez hasonlók számtalanszor megtörténtek, egy alkalommal pedig még egy hihető történettel biankó születési anyakönyvi kivonat nyomtatványokhoz is hozzájutott, amit némi trükközéssel évekig arra tudott használni, hogy új személyazonosságot és iratokat szerezzen. Ma már ezekre a trükkökre mindenhol figyelnek és oktatják a felhasználókat, de még mindig vannak olyanok, amik beválnak és kismillió biztonsági rést nyújtanak felhasználók a támadóknak nap, mint nap anélkül, hogy tudnának róla. A munkám során soha nem tévesztettem meg vagy vertem át valakit, mégis elmondhatom, hogy számos olyan információ szerzést sikerült végrehajtani, ami biztonságtudatos felhasználó mellett nem ment volna. Nem azért, mert rossz célokra akartam felhasználni a kért adatot, hanem vagy a munkámhoz kellett vagy szimplán megkönnyítettem vele egy adott probléma megoldását. De alapvetően amikor megkérdeztem tudtam, hogy erre lehet a válasz egy „hozzáférés megtagadva” is, nem az lett. Nagyon ritkán pattant vissza a kérés, az esetek többségében kérdés nélkül átment. Jártam így kis cégnél, magánembernél, multinál egyaránt. Persze alapvetően a szakmánk alapja a bizalom és igyekszik az ember soha egyetlen pillanatra sem megingatni ezt az ügyfelénél, így talán könnyebb az információszerzés is, mint egy külsős idegennek. Ettől függetlenül nem magától értetődő. Embernél is teljesülnie kellene annak a biztonsági alapelvnek, hogy jogosultsága mindenkinek csak annyi legyen, amit az adott feladat elvégzése igényel. Semmi több. Néha sokkal könnyebb a munkánk, ha nem ütközünk percenként a falba és olykor az ember extra hozzáférést kér. Általában kap is.

Egy másik tipikusan social engineering trükk és egyben életem első ilyen akciója, ami sikerrel is zárult középiskolában történt. Programozás nagydolgozat, néhány perc van már csak hátra és egy bosszantó hibával sikerült hosszasan elakadni. A nagyobb baj az volt, hogy a program egy jó része már készen volt és működött, viszont az utolsó percekben sikerült valahol egy olyan hibát vinni a kódba, amitől az nem fordult le. Ez pedig automatikusan 1-est jelent(ett volna), még akkor is ha valahol csak egy karakter elütés van és amúgy a többi minden jó. Az idő egyre ment, már csak 2 perc volt és szigorúan időre be kellett másolni a kódot. Fél perccel a zárás előtt nem volt mit tenni, fel kellett függesszem a hiba megkeresését, eszembe jutott egy trükk. Minden ilyen programozás feladathoz kiadtak a tanárok egy exe fájlt mintaként. Az exe-t magát soha nem kellett beadni csak a kódot, amit megnyitottak, lefordították és megnézték az eredményét. Gondoltam ha az exe-t is beadom „véletlenül”, persze fájlkezelőben gyorsan átírva a módosítás idejét és a fájl nevét úgy, mintha én csináltam volna, talán örülnek majd neki a sok javítás közepette, hogy valakinek nem kell bajlódni a kódja megnyitásával, exe indít, program letesztel, nyilván a sajátjukat már csak 5-ösre értékelik és minden jó lesz. Sikerült, úgy lett ötös a program, hogy a kódot meg se nézték, mert ha igen látták volna, hogy le sem fordul egy hiba miatt. De nem így lett, a social engineering sikerrel zárult. 🙂

Vannak még tipikus emberi hibákra visszavezethető biztonsági problémák. Nézzük például a jelszavainkat. Sok biztonsági szakember abba a hibába esik, hogy szuper bonyolultságú és összetettségű jelszót ír elő. Persze a számítógép nyelvén jó dolog ez, csak azt elfelejtik, hogy emberek vagyunk és nem gépek, hosszas bonyolult dolgokat nem képes az agyunk megjegyezni. Ez annyira nem vicc, hogy egy alkalommal volt lehetőségem keresés nélkül is rátalálni egy hivatali dolgozó jelszópapírjára, amit a kis parafatáblájára szépen kifüggesztett. A különböző webes hivatali és minisztériumi rendszerekhez, több esetben szigorúan védett adatokhoz biztosítottak hozzáférést. Bár nyilván nem jogosulatlanul kerültem a dolgozó irodájába, de nem kellett volna profi social engineernek lenni, hogy valaki oda jogosulatlanul jusson be. Az eset régebben történt és az új törvényeknek köszönhetően remélhetőleg már nem történnek ilyen felhasználói hibák, de ugyancsak felhívja az eset a figyelmet a leggyengébb láncszem szerepére.

Social engineer

Másik tipikus hiba, amit a hacker legenda leírt, hogy a legjobban védett banki rendszert is ki tudta játszani apró trükkök segítségével. Távolról nem lehetett a rendszerbe férkőzni, így néhány napnyi kutatómunka és egy banki látogatás alkalmával készített pár lopott fotót a banki dolgozókról. Megfigyelte a szokásokat és azt is hogy kártyás beléptetőrendszer van a védett ajtóknál. Elég nagy cégről volt szó, annak is a központjáról több emeleten, nem ismerhet mindenki mindenkit. Legyártotta a kis névkártyát, amit kitűzött Ő is mintha oda tartozna és az épület mögött, az autó parkoló felől odaoldalgott, amikor egy nagyobb csoport dolgozó éppen a cigiszünetet tartotta. Amikor elindultak befelé az egyiknek szorosan a nyomába eredt, az nyitotta neki mágneskártyával az ajtót és mivel nem szokás a mögötted jövőre rácsapni az ajtót még készségesen meg is tartották neki, Ő pedig köszönte szépen. Ezzel bejutott egy védett területre, kártya nélkül. Ennek kivédésére ma már sok helyen forgókaput alkalmaznak, ott nincs ilyen gond, de sok helyen ez egy jó lehetőség a mai napig.

Aztán nagyon gyakori a kapcsolati háló kihasználása is. Feltérképezik ki kivel áll kapcsolatban, ki kit ismerhet és kit nem, de már esetleg hallott róla. Multicégeknél jó trükk egyik-másik részlegre hivatkozni, ahol a részlegek közt nem ismerik egymást, de tudnak egymás létezéséről. Ez mind bizalmat sugároz, és ha egy támadónak sikerül a megtámadottban egy segítőkész személyre lelni rengeteg információt szolgáltathat ki neki. Az is egy tipikus emberi tulajdonság, amikor valaki azzal áll elő neked, hogy egy magasabb rangú valaki, akit Te ismersz, de esetleg nem állsz vele közvetlen napi kapcsolatban, kért egy számodra nem bonyolult dolgot, esetleg olyat ami bizalmas jellegű és nem akarsz rá visszakérdezni, akkor hajlandó vagy kérdések feltevése nélkül is segíteni.
Itt egy ismerőstől származó történet jut eszembe. A Tiszára indultak horgászni, amikor felfedeztek egy nagyon szép partszakaszt. A terület el volt kerítve, de az autó bejárónál a sorompó nem volt lezárva, félre lehetett húzni és bemenni. Valami vízmű területe lehetett talán. Nem olyan rég horgászgattak ott, amikor egyszer csak megjelentek motorcsónakkal a vízirendőrök és közölték, hogy ez bizony magánterület és mit keresnek itt. Egy nyugodt határozottsággal jött a válasz, hogy mi azt tudjuk, de a Pista bácsi engedett be minket és Ő engedte meg, hogy itt horgásszunk. Összenézett a két rendőr, egyik se tudta ki az a Pista bácsi, de ha beengedte őket ide és engedélyt adott biztos valami nagy ember lehet, nem kéne ezt tovább feszegetni, így elköszöntek.

Ezek sajnos mind nagyon emberi hibák és még a tudatos oktatás sem mindig képes őket megelőzni, sokszor ennek ellenére is képesek lehetünk ilyen csapdákba esni. Ráadásul itt még maga az informatika nem is annyira kerül képbe, bár említhetnénk az átverős e-mail-eket is, vagy az adathalász weboldalakat, azok is mind arra vannak, hogy minket megtévesszenek és fontos adatokat adjunk ki általuk. Azokra viszont már vannak IT megoldások, egy bizonyos fokig képesek biztonsági szoftverek megvédeni tőlük.

Mielőtt rátérnék a további biztonságot érintő problémára nézzünk néhány dolgot, amivel a felhasználó tudatosabb lehet az ilyen támadásokkal szemben:

  1. Amikor idegen valami olyet kérdez mindig legyünk gyanakvóak, és fontoljuk meg a választ, hogy mire használhatja fel azt. (Például egy mióta dolgozik itt típusú kérdés egy idegentől is irányulhat adatszerzésre. Lehet például arra kíváncsiak mennyire ismerhetem a kollágákat vagy cég más osztályain dolgozókat. Ha nemrég dolgozok itt nyilván még nem rutinszerűek a védelmi mechanizmusok sem, de lehet könnyebben adok ki infót úgy, hogy valakire hivatkoznak, akit csak név szerint ismerek.)
  2. Ha valakire vagy valakinek az utasítására hivatkozik valaki ne féljünk rákérdezni. Gyorsan kiderülhet, hogy az illető nem is tud róla.
  3. Telefonon történő kérdezgetésre lehetőleg ne adjunk ki semmilyen értékes információt.
  4. Ha kártyás beléptetés van valahol érvényben ügyeljünk rá, hogy a kártyánk ne jusson más kezébe, azt az ajtót pedig amit az nyit-zár húzzuk is be mindig magunk után. Mást lehetőleg ne engedjünk be kártya nélkül, csak ha ismerjük.
  5. A különböző helységekhez, rendszerekhez való hozzáférés jól dokumentált legyen, a kulcsok/kártyák kiadása és tárolása szigorú szabályok szerint történjen.

Az emberek megtévesztését követően térjünk rá a rendszerek megtévesztésére, a biztonsági hibák kihasználására. Természetesen ebből is van szép számmal rossz példa és sok olyan hibát is láttunk már, ami könnyen sikeres hackeléshez vezethet, a továbbiakban ezeket fogjuk áttekinteni.

  • Te Józsi! Képzeld, feltörték a Pentagon számítógépes rendszerét.
  • Ne mondd, és hogyan?
  • Repülővel.
Pentagon repülő
Pentagon repülő

Természetesen katonai objektumot nagyon nehéz feltörni repülő nélkül, éppen ezért ilyen bonyolult rendszerek esetében rendszerint a hackerek social engineering trükkökhöz folyamodnak inkább. Az az egyszerűbb. A másik lehetőség, hogy valami olyan helyet támadnak, ami kevésbé jól őrzött és biztosak benne, hogy ott található kulcs vagy valamilyen hozzáférés a megtámadni kívánt szigorúan védett rendszerhez. Egy Pentagon esetében ilyenkor jön képbe mondjuk a katonai gépeket gyártó Lockheed Martin vagy a Boeing és emiatt is volt óriási szarvashiba Hillary Clintontól például saját otthoni levelezőrendszert használni, mert nem védett rendszer és a segítségével nagyon sok máshoz hozzá tudnak férni hackerek. Jelen esetben a Lockheed vagy a Boeing is a nehezen támadható célpontok közt van, de mondjuk egyik-másik már social engineering módszerekkel megtámadható annyira, hogy sikeresen el lehessen jutni a Pentagonhoz is. Innentől a töréshez már nem kell repülő. Persze ezek csak elméletben hangzanak könnyűnek, a gyakorlatban nagyon nem azok, de a logika így is jól kirajzolódik. Ha az informatikai vonalon indítanak támadást, akkor vélhetően a védelemhez használt eszközöket kezdik el elsőként felderíteni és azok verzióját, aktuális hardver és szoftver revíziót. Ilyenkor kutatnak egy kicsit ismert sérülékenységek után és ha mondjuk valamelyik rendszergazda elfelejtette frissíteni az adott tűzfalat, egy ügyes hacker már el is kezdi kihasználni az ismert hibát. A gyártók ugyan nem szokták publikálni mikor mit foltoznak, de a kiadott programkódokat visszafejtve a profik rájönnek mire nyújt megoldást az adott patch. És meg is van a gyenge pont. Sokszor nem is közvetlenül van rés a pajzson, hanem közvetve, legjobb példa erre amikor mondjuk a legnépszerűbb, jól felépített Cisco tűzfal azon hasal el, hogy a szoftverét Unix alapokra írták. Magának a Unixnak kiderül egy ismert sebezhetősége, ami érinti azt az adott eszközt és azon keresztül máris támadható. Egyébként éppen ez az, ami miatt a Lockheed és a Boeing, illetve a nagyobb hadi gyártók rendszerei nem Unix alapú eszközökkel vannak védve, hanem például a teljesen egyedi operációs rendszert futtató Sonicwall-al vagy éppen Fortinettel. Lehet, hogy ezek rendszere még több hibát rejt, de mivel egyrészt nem hozzáférhető (nem nyílt) a forráskódja, így nem nyitott könyv a támadók számára és hibát is nehezebb benne találni, ráadásul ők még egy olyan trükköt is elkövettek, hogy nem Intel alapú architektúrára építenek, hanem egyedire, így nagyon nehéz lenne bárki számára közvetlen a gyárból hozzájutni olyan hardverhez, amin egyáltalán esélye lenne futtatni az operációs rendszert és keresgélni benne a hibákat. Persze ha sikeresen hozzá tudna jutni a védett forráskódokhoz és a gyárból a szükséges hardverhez.
A tűzfalak lélektanáról egy egész könyv sorozatot lehetne írni, ezt én most nem teszem meg, a lényeg nagyon sok fajtája van, vannak köztük jók és rosszak, biztonságosak és kevésbé biztonságosak. De tudni kell őket jól beállítani, márpedig ha az nincs meg, akkor a legjobb eszköz is lehet kész átjáróház.

A következő cikkben elmeséljük majd egyik ügyfelünk majdnem teljes adatvesztését, hogyan hackelték meg és kapott zsarolóvírust, ennek kapcsán lesz még szó tűzfalakról és ezt követően mutatunk majd egy olyan tűzfalmegoldást, ami nagyban megnöveli a rendszerünk biztonságát és mindeközben bárki számára elérhető potom összegből, sok mindenben mégis felveszi a versenyt a sok milliós brand megoldásokkal.

Facebook