Gyöngyi
9 °C
9 °C

Magyarországon kábé negyven jó hekker van

MG 9726
2015.07.09. 17:25
A hekkereket a filmek alapján az ember úgy képzeli el, mint autizmusgyanús kamasz srácok, CyBeRwArRiOrxXx0o7, WTFpwnZ0r4t0R és hasonló hülye neveken, akik tulajdonképpen csak az interneten léteznek, és sosem jönnek ki a napra a számítógépük elől. Szakály Tamás nem ilyen: nem kell erőltetnem, ő maga ragaszkodik hozzá, hogy személyesen találkozzunk és beszélgessünk cset helyett. Tamás napközben biztonsági rendszereket tesztel etikus hekkerként, a szabadidejében pedig mostanában online játékokban keres sérülékenységeket szórakozásból. És olyan dolgokat talál, amik miatt a világ legnagyobb hekkerkonferenciájára, a Las Vegas-i Defconra hívják előadónak.

Játékok hekkelése, ez nekem nem tűnik valami nagyon forró és új témának; mi is pontosan, amivel foglalkozol, és amiről a Defconon előadsz majd?

Nagyon sok játékban csinálhatsz saját pályákat, játékmódokat, kiegészítőket, és ezekhez általában scriptnyelveket használhatsz. Ezek a scriptnyelvek olykor nagyon sok mindent megengednek. Én végignéztem pár ilyen nyelv specifikációit, és egy csomó olyan függvényt és funkciót találtam bennük, amiket lehet olyan dolgokra is használni, amikre nem gondoltak a fejlesztők. Például be tudsz tölteni egy html-oldalt. Ami nem tűnik veszélyesnek, de azért már lehet vele érdekes dolgokat kezdeni. De akadnak ennél meredekebb dolgok is. Ott van például a Lua, a játékoknál egyik legszélesebb körben alkalmazott scriptnyelv. Nagyon szeretik használni, mert kicsi, könnyen kezelhető és úgy általában tök jó. Ebben a nyelvben van egy olyan függvény, amivel bármilyen operációsrendszer-parancsot le tudsz futtatni. Ezt általában a játékfejlesztők le szokták korlátozni – csakhogy ezek a korlátozások sokszor megkerülhetőek.

És máris ott tartunk, hogy egy rajongói pályába bele tudok írni egy olyan kódot, amivel gyakorlatilag bármit meg tudok csinálni az adott játékos gépén.

Van olyan játék, ahol a Luában engedélyezik a fájlműveleteket. Tudok fájlokat írni és olvasni a gépről. Legyalulhatom a gépét nullára. Vagy kiolvashatok adatokat a böngészőből.

Na de hogyan maradhatnak ilyen sebezhetőségek egy elvileg agyontesztelt játékban?

Figyelmetlenek az adott scriptnyelv implementációjánál, vagy egyszerűen nem gondolnak arra, hogy egy adott függvény veszélyes lehet. Úgy általában, ha nem csak a játékokat nézzük, a mai rendszerek már olyan nagyok és olyan bonyolultak, hogy szinte lehetetlen hibátlanra megírni őket. A mai fejlesztők nagy része hozzászokott ahhoz, hogy valamilyen magas szintű nyelvet használ, nem látja át azt, hogy pontosan mi lesz a programjából gépi kódban. A bonyolultságnak ezen a fokán nem is várható el az, hogy mondjuk egy böngészőt assemblyben, a regiszterekben a bájtok tologatásával írjanak meg. Plusz a kompatibilitás kedvéért egy csomó rendszerben vannak ezeréves kódrészletek vagy ezeréves technikákra épülő dolgok, ezek nyilván támadhatók, hiszen amikor megírták őket, senki nem látott a jövőbe, hogy pár év múlva milyen más szoftverekkel és megoldásokkal kell majd együttműködniük.

De a játékokra visszatérve: az a durva az egészben, hogy ez a scriptnyelv-hekkelés nem egy új dolog. Ha rákeresel a neten, lehet találni ilyesmivel foglalkozó oldalakat. És ezeket a biztonsági réseket szinte kivétel nélkül arra használják, hogy csaljanak az adott játékban. Az ARMA egyik részében volt egy ilyen sérülékenység, hogy lehetett fájlokat olvasni scripttel a fájlrendszerből – és ezt arra használták, hogy ellopják a szerver konfig fájlját. Pedig ezt lehet olyasmire is használni, hogy ellopj a böngészőből kódokat vagy valami sokkal szenzitívebb adatot. Elég ironikus, hogy a játékokkal foglalkozó hekkerek ilyesmikre egyszerűen nem gondoltak eddig. Lehet mondani, hogy hú, játékok, komolytalan, kispályás dolog. Csakhogy Luát használ például a World of Warcraft, a Garry's Mod, a DOTA, a Crysis, az összes cryengine-es játék. Ezeket a játékokat milliók, tízmilliók játsszák, akik gondolkodás nélkül töltenek le és telepítenek fel gyakorlatilag ismeretlen forrásból származó addonokat, modokat, pályákat. Amivel most én foglalkozom, és amiről a konferencián fogok beszélni, az ennek a helyzetnek a bemutatása.

Hogyan találtál rá erre a témára?

Van egy játék, a DCS World, ez egy repülőszimulátor, én ezzel játszom egy ideje. Úgy egyébként nem vagyok egy nagy játékos, talán ezért is tudtam más szemmel nézni ezekre a biztonsági résekre. A DCS-t is Lua nyelven lehet scriptelni. Lua, sosem foglalkoztam vele, nézzük meg, mit tud – gondoltam. Belenéztem a specifikációba, és azt láttam, hogy egészen hajmeresztő Lua-funkciókat engedélyeznek néha a játékok. Hát ez indított el a játékos-scriptnyelves hekkelés témája felé.

És mit csinál az ember, ha talál egy ilyen hibát? Gondolom, lehet jelenteni az adott fejlesztőnek, vagy eladni a net sötét bugyraiban a rosszfiúknak.

Van egy harmadik megoldás is, és az a legjobb. Vannak biztonságtechnikai cégek, amelyek védelmi szoftvereket írnak. Ők belerakják az ilyeneket a szoftverükbe, és aztán lejelentik az adott fejlesztőnek. Ez nekik ott éri meg, hogy az ő szoftverükben jelent meg először a védelem, és rögtön javítva is lesz, ahogy nyilvánosságra kerül a hiba.

Mit fizetnek ezek a cégek?

Attól függ, hogy milyen szoftverről van szó.

Egy Internet Explorernél nem ritka a 30-40 ezer dollár sem egy szál hibáért; iOS-nél hallottam már negyedmillió dollárról is egy biztonsági résért.

Viszonylag széles körben használt szoftvereknél egy-egy hiba pár ezer dolláros nagyságrendet ér. Vannak, akik ebből egész jól megélnek. Ha csak egy-két ilyet fogsz, és besöpörsz vele öt-hatezer dollárt, az már elég jó zsebpénz.

Nekem a munkám is ez, etikus hekkeléssel és biztonsági rendszerek tesztelésével foglalkozom. Otthon, kikapcsolódásképpen csak akkor csinálom ezt, ha találkozom valami különösen érdekes területtel, mint most ez a játékhekkelés. Ha valaki komolyan gondolja ezt az egész hekkerkedést, ez csak így megy. Oké, ezt csinálod napközben 8 órában a munkahelyeden, de ott nem biztos, hogy találkozol a legújabb trendekkel és technikákkal.

Hogyan lesz az emberből főállású hekker? Tanítják ezt bárhol iskolában?

Mostanában már állítólag elég jó egyetemi kurzusok vannak itthon is ebben a témában, bár ezzel személyes tapasztalatom nem igazán van. De ott van például a BME-n a Crysys Lab, ők nagyon jók, ott lesznek majd a Defcon konferencián is egy hekkerversenyen.

Na és autodidakta módon?

Alapvetően az kell hozzá, hogy kíváncsi legyél. Kíváncsi legyél annyira, hogy beleásd magad, hogy hogyan működik a számítógép, hogy mit csinál pontosan. Nekem játékokkal kezdődött ez az egész, érdekelt, hogy hogyan működnek a másolásvédelmek. És ha megérted, hogy valami hogyan működik, akkor onnantól az, hogy ezt megkerüld, már csak egy kis lépés.

Arra akarok kilyukadni, hogy hogyan működik ez az egész a gyakorlatban. Le lehet tölteni a netről titkos hekkertankönyveket?

Régen, amikor én kezdtem, az volt, hogy ott voltak a hivatalos dokumentációk, például a Microsoft WIN32 API-jának a leírása. Ez több ezer oldalnyi dokumentáció. Ezt elkezdted olvasgatni, és egy idő után összeállt a dolog, láttad, hogy egy-egy rendszer hogy működik.

Egy ilyen dokumentációban le van írva hogy ha például Windowson egy programba be akarsz tölteni egy DLL-t, akkor arra van egy LoadLibrary nevű dolog. Ez a dokumentációban részletesen el van magyarázva: így működik, így lehet felparaméterezni, van hozzá példaprogram, forráskód, minden. És ha végigolvasod a doksit, találsz egy olyan részt, hogy nemcsak a helyi gépről tudsz DLL-eket betölteni, hanem akár egy távoli szerverről is. Ez egy kevésbé használt, de tök hasznos dolog. Hekkerként igazából az ilyen furcsaságokat keresed a dokumentációban, és elkezdesz gondolkodni azon, hogy ezzel mit lehet kezdeni, összekapcsolni esetleg egy másik, hasonló furcsa megoldással. Itt aztán jön nagyon sok kísérletezés, próbálgatás, és a végén találsz egy megoldást, amire lehet, hogy addig még senki nem gondolt. Szóval valójában

a hekkerkedés a külső szemlélő számára nem különösen izgalmas dolog.

Tényleg nem hangzik annak. Milyen hosszúnak képzeljek el egy ilyen hekkelési folyamatot?

Ez megint a szoftvertől függ. Tavalyelőtt volt egy eset, egy Oracle-termékben találtam egy hibát. Ott csak arra, hogy feltelepítsem a szoftvert a tesztkörnyezetben, elment egy hónapom. Ez persze szélsőséges eset, egy iszonyúan nagy és bonyolult szoftver, nem a legjobb dokumentációval, ilyenkor nagyon sok mindent csak próbálgatással tudsz kitalálni. Ha kapsz egy 8 gigabájtos telepítőcsomagot meg hozzá egy több ezer oldalas dokumentációt, hát, eltart egy darabig, mire kiismered magad benne.

Oké, térjünk át a Defconra. Mitől különleges ez a konferencia?

Hekkerkörökben ez az egyik legnagyobb és legfontosabb konferencia. Sok hasonló van, a Defcon azért a leghíresebb, mert megpróbál minél inkább ragaszkodni a gyökerekhez és az underground háttérhez. Például nem fogadnak el szponzorokat, nincsenek reklámok. Nagyon sok ilyen konferencián ott van egy csomó szoftvercég, hirdetik magukat, meg persze programozókat toboroznak. A Defconon ilyesmi nincs. Ide az előadók is saját költségen mennek. Jó, nekem mondjuk fizeti a cég, ahol dolgozom, mert ez nekik is jó reklám.

Hogyan jut be ide az ember előadóként?

Kell küldened a szervezőknek egy leírást arról, hogy milyen kutatást végeztél, milyen eredményekkel, miről szólna az előadásod. Ezt bárki beküldheti. Aztán van egy 15-20 emberes szűrő, akik ezeket elolvassák, kiválogatják a legizgalmasabbakat, és egyszer csak kapsz egy meghívót.

Voltál már valaha a Defconon hallgatóságként?

Nem, soha. Régóta nagy álmom volt, hogy eljussak a Defconra mint közönség, és erre rögtön az első alkalommal előadó leszek. Kábé 15 ezer résztvevő szokott lenni egy ilyen konferencián, ez persze nem azt jelenti, hogy ennyien fognak hallgatni engem, párhuzamosan több előadás, kerekasztal-beszélgetés zajlik. De azért valószínűleg így is simán ezres nagyságrendű közönségem lesz, a világ legjobb hekkerei. Egy kicsit be is vagyok khm, szóval van bennem drukk. Mondjuk egy ismerősöm adott már elő a Defconon, ő azt mondta, nem kell parázni.

A legenda szerint az NSA, a CIA és hasonlók ilyen konferenciákra járnak hekkereket toborozni.

Igen, hall az ember ilyen sztorikat, de őszintén szólva fogalmam sincs, hogy ezek mennyire igazak. Mindig ott vannak a Defconon is a hárombetűs ügynökségek emberei – bár a Snowden-ügy miatt egy időben hivatalosan nem engedték be őket, de hát ki tudja, nekik pont az a dolguk, hogy bejussanak olyan helyekre, ahová nem engedik be őket. Nem tudom, lehet, hogy az előadás után odajön hozzám a Men in Black, hogy lenne egy ajánlatuk, de sok jóval nem kecsegtetem őket, elég távol áll tőlem, hogy bármelyik hárombetűsnek dolgozzak.

Egyébként ez a Snowden-szerű paranoia a hekkereknél mennyire általános? Ezt a találkozót egy sima gmailes címről beszéltük meg.

Igen, van Gmail-fiókom is.

Ami ennél a beszélgetésnél szenzitívebb, azt PGP-vel titkosítom, bizonyos dolgokat csak virtuális gépen csinálok.

Az etikus hekkereknél egyébként sem jellemző már a görcsös ragaszkodás az anonimitáshoz. A Defconon van lehetőség arra, hogy anonim módon tarts előadást, videós streamen, eltorzított hanggal, néha szoktak is élni a lehetőséggel, de azért nem ez a jellemző. Inkább az, hogy az előadás elején elmondod hogy XY vagy, és ennél meg ennél a biztonsági cégnél dolgozol.

Magánemberként milyen gépet használsz?

Operációs rendszerként a HardenedBSD-t, ez a FreeBSD-nek egy biztonsági szempontokból megerősített változata. Böngészőként egy aránylag kevésbé ismert szoftvert, a DWB-t. Nem feltétlenül a biztonság miatt, hanem egyszerűen ezek kényelmesek nekem. De nyilván benne van az is, hogy kevesen használják, kevés embernek jelentenek célpontot támadásokhoz. Windowst használok persze, a munkámhoz, illetve most a játékok hekkeléséhez is. OSX-et próbáltam, de nagyon nem feküdt nekem. A Windows... hát, az kell. Egyébként az az általános közhiedelem, hogy a Windows mennyire nem biztonságos, egy ideje már nem teljesen igaz, iszonyúan sokat javult a Windows ilyen téren. Nagyjából a Vistától kezdve elég komoly a fejlődés, és ma már ott tartunk, hogy alaptelepítésben a Windows kábé a legjobb védelmet adja a operációs rendszerek közül.

Milyennek látod a Windows 10-et?

A Windows 10-ben vannak nagyon jó megoldások. Arra mennek rá nagy erőkkel, hogy az operációs rendszer adjon egy olyan védelmet, ami bármilyen programhiba esetén megnehezíti annak kihasználását, amennyire csak lehet. Ezt hívják exploit mitigationnek, ebben hoz pár elég jó újítást a Windows 10.

Ha találtál egy hibát, te magad tudod, hogyan lehetne azt kijavítani?

Persze, általában él a fejedben egy kép arról, hogy amit találtál, azt hogyan lehetne semlegesíteni. De ez nem jelenti azt, hogy konkrét javaslatként oda is tudod adni a fejlesztőknek, hogy csináld ezt meg ezt, és minden jó lesz. Ezek nagyon összetett rendszerek, nem biztos, hogy az én javítási ötletem nem nyitva három másik sérülékenységet. Pár éve, amikor a Chrome-hoz kijött a lehetőség, hogy lehet hozzá témákat csinálni, ebben a rendszerben találtam egy hibát, azt jelentettem a Google-nek. Fél napon belül válaszoltak, és aztán elindult egy levelezés, hogy szerintem mi lenne a jó megoldás, szerintük mi lenne, ezt megbeszéltük, és a végén egy héten belül megfixálták a hibát. Ilyenek is vannak, de nem ez a jellemző.

Hány igazán jó hekker van Magyarországon?

Akinek van olyan technikai tudása, hogy kiállhatna helyettem a Defconra előadást tartani, hát, mondjuk harminc-negyven ember. Én eddig egy magyarról tudok, aki előttem Defcon-előadást tartott. Persze ahhoz, hogy tényleg odajuss, kell még pár dolog a tudáson kívül: egy jó ötlet, eredeti téma, meg maga a motiváció, hogy egy ilyen helyzetben mutasd meg magad. Egyébként én a magam 30 évével az itthoni mezőnyben öregnek számítok, talán két-három embert ismerek, aki idősebb nálam. Mondjuk én elég későn is indultam, már bőven egyetemista voltam, amikor elkezdett érdekelni az egész hekkelés, ma már sokkal jellemzőbb, hogy tizenévesen elkezdik a srácok. A Defconon tartott már előadást egy tízéves lány is, szóval vannak Mozart-szerű csodagyerekek nálunk is. De ismerek külföldön bőven 50-60 éves hekkereket is.

Mik most a forró témák a hekkervilágban?

Egyrészt természetesen a Windows 10; egy új verzió megjelenése a Windowsból a hekkereknek olyan, mint egy focirajongónak a vébédöntő. Aztán egy ideje nagyon futnak a különféle telefonos és okoskütyüs témák. Aránylag új trend az okosotthonoké, ez is kicsit olyan, mint az én játékos témám – egyszerűen anélkül terveztek és írtak meg rendszereket, hogy gondoltak volna támadási lehetőségekre. Az okosotthonok ma sok esetben olyan állapotban vannak, mint a wifi routerek voltak pár éve, mindenféle sérülékenységekkel, gyenge titkosítással, hátsó kapukkal. Csak ugye

egy okosotthon esetében a kockázat az, hogy a hekker belenéz a kameráid képébe, kikapcsolja a riasztódat, és kinyitja a házad ajtaját.

Ugyanez pepitában az okosautók, és nemsokára jönnek a szoftver által vezetett verziók belőlük, na ott biztosan lesznek majd cifra dolgok. Nem is tudom, mit lehetne tenni, hogy ezek biztonságosak legyenek, a legjobb lenne talán, ha egyáltalán nem kommunikálnának kifelé, a többi autóval vagy a sofőrrel.

Mit gondolsz az Anonymousról, akiket a világ leghíresebb hekkercsapatának szokás tartani a médiában? Ő igazi hekkerek vagy csak unatkozó trollok?

Mindenki szereti őket AZ Anonymousként emlegetni, egy kalap alá venni mindenkit, aki felveszi a maszkot, pedig nagyon nem erről van szó. Nem is lehet egyértelműen azt mondani, hogy ők igazi hekkerek vagy ráérő script kiddie-k. Valószínűleg ez is, az is. A mögöttes értékrenddel egyébként nagyrészt egyet tudok érteni, nem látok például abban semmi problémát, amikor a Westboro Baptist Church, a szcientológia egyház, vagy éppen valamelyik neonáci szervezet kerül a célpontjukba. Ezzel együtt az, amit a legtöbb esetben látunk tőlük, szakmai szemmel finoman szólva is megmosolyogtató. Nyilván azok a leghangosabbak, akik semmihez nem értenek, és nem érzik, hogy ciki, hogy telekiabálják a netet azzal, hogy feltörtem ezt és azt, holott legfeljebb a saját böngészőjükben deface-eltek valamit.

Ha már előjött a deface-elés (weboldalak átírása), az igazi hekkelés? Mostanában az Iszlám Állam nevében csinálnak ilyesmiket valakik.

Az Iszlám Állam nevében deface-elgetők balfaszok, már elnézést. És ez akkor is áll, ha félreteszem azt, hogy milyen eszméket próbálnak terjeszteni. Nem igazán látom, hogy ez milyen üzenetet hordoz, mi a céljuk vele – be kéne tojnom, mert meg tudják törni egy óvoda tíz éve készült weblapját? Vagy meg kéne térnem miatta dzsihádistának? Úgy általában a célzott deface szerintem ugyanúgy lehet eszköze a demonstrációnak, mint egy megfelelő helyre kitett transzparens vagy matrica. Sokan érvelnek ellene azzal, hogy ha deface-elsz valamit, akkor a szólásszabadságot korlátozod, ami alapvetően rossz dolog. Ez lehet, hogy így van, de tulajdonképpen akkor is a szólásszabadság ellen megyek, amikor pl. kifütyülöm a Hatvannégy Vármegye rendezvényét. Az ilyen dolgokat teljes mértékben támogatom, képmutatás lenne azt mondanom, gondolnom, hogy a deface meg gáz.