Kiből válhat hekker? Mi kell hozzá, hogy valaki igazán jó hekkerré váljon? Valóban olyan misztikus terület az informatikai biztonság, hogy az ide kapcsolódó területekben való járasság csak egy szűk, magasan képzett, esetleg zseni elit kiváltsága? És nem utolsó sorban – milyen tanuláspszichológiai faktorok játszanak szerepet abban, hogy valaki ezen a területen minél rövidebb idő alatt legyen minél jobb? Nosza, vegyük sorra!
Törzsolvasóim már tudják, hogy utálom a magyarba átjött hekker kifejezést a pejoratív töltése miatt, nagyon nem szeretném összemosni a másoknak segítő etikus hekkereket a feketekalaposokkal és a konzervszkriptekkel dobálózó hülyegyerekekkel, de a poszt tárgya egész egyszerűen nem ez. Amiről írni fogok, hogy azok az ismeretek és az a jártasság, amit máig valamiféle misztikus köd leng körül, hogyan szerezhető meg, különböző szinteken.
Tehát ki is lehet hekker valójában, mit szoktam mondani azoknak, akik azzal kapcsolatban érdeklődnek, hogy hogyan érdemes nekifutni az informatikai biztonsággal kapcsolatos ismerkedésnek? A kérdés első részére a válasz röviden: bárki, igazából nem igényel olyan képességet vagy tudást, amit ne lehetne megszerezni, mi több, az a gondolkodásmód, amit jobb magyar kifejezés híján csak simán hacker mentality-nek nevezünk, van, akiben megvan, van, akiben kevésbé, de még ez is fejleszthető.
A bővebb válasz, hogy természetesen az előbbi nem azt jelenti, hogy seperc alatt meg lehetne szerezni azt a tudást, amivel valaki alaposan képes átlátni egy-egy informatikai rendszer esetleges sebezhetőségeit, legyen szó egy operációs rendszer vagy az által futtatott szolgáltatásokról, alkalmazásokról, ahogyan nem tanulható meg pillanatok alatt a biztonságos alkalmazások fejlesztése, a secure coding sem, azaz az, hogy hogyan írjunk az adott környezetben elvárható mértékben törésbiztos szoftvert.
A bővebb válasz, hogy ahogyan természetesen minden más területen, ezen a területen is vannak olyanok, akik intellektusuk, motivációik és más pszichológiai paraméterek alapján tehetségesebbnek mondhatók, mint a többiek. Többen hivatkozták már azt a kutatást, amiben a kutatók a legkülönfélébb területeken igen jó vagy kimondottan kivételes teljesítmény elérő sportolókat, zenészeket, kutatókat vizsgáltak arra keresve a választ, hogy mi lehet bennük közös. Találtak is jópár közös jellemzőt, ezeknek viszont egyike sem volt olyan, ami szorosan korrelált volna az elért eredményekkel, teljesítménnyel, amiben sok meglepő nincs, hiszen nem csak egy sakkjátékos és egy festőművész járhat be teljesen eltérő utat, hanem még ugyanazon a területen kiemelkedő személyek is teljesen eltérő úton érhetnek el hasonló szintre. Volt egyetlen közös jellemző, ami sokkal jobban korrelált minden más tényezőtől, mégpedig az, hogy minden kiugró tehetség mögött tízezer óra vagy annál több időnyi gyakorlás állt.
Azaz igen, ha valaki vérprofi szeretne lenni, nincs mese, összességében ennyi idővel kell számolnia a kiemelkedő szint eléréséig, az más kérdés, hogy ha valaki nem szeretne vérprofi lenni, csak valamilyen szinten el szeretne mélyülni egy-egy területen, annak is megvan a haszna. Azt írtam, hogy tízezer óra. Mielőtt esetleg valaki elkezdene azzal kapcsolatban matekozni, hogy akkor ez napi bontásban mennyit is jelent, ha valaki éveken keresztül gyakorol, írom, hogy ennyire azért nem egyszerű a dolog. Amikor valaki, aki később profivá válik, nyilván nem a naptárat nézi, hogy letermelte-e már az aznapi gyakorlás adagot és persze nem kimondottan azért foglalkozik azzal a területtel, amivel, hogy majd komoly elismerésekre tegyen szert.
A kutatást, gyakorlást, valami iránti érdeklődést önmaga hajtja! Remek kérdés, hogy egy regényíróban milyen mentális folyamatok játszódnak le, amikor arra törekszik, hogy a regénye minél profibb legyen, ami biztos, hogy azok, akik később komoly szakértelemmel rendelkező hekkerek lesznek, olyannyira hajtja őket az érdeklődés egy téma iránt, hogy nem ritkán megfeledkeznek arról is, hogy mennyi ideje nem aludtak, elfelejtettek enni, több napos a borostájuk, tényleg addig csinálják, amíg bele nem alszanak.
Se szeri, se száma annak a sok wannabe-sikerembereket célzó Mashable és az ál-értelmiségi Business Insider cikknek, ami a hatékony időbeosztásról szól, mintha az lenne a siker kulcsa. Igen, vannak esetek, amikor tényleg az idővel kell tervezni, de sokkal inkább olyan esetekben, amik nem kimondottan érdeklik az embert, amilyen lehet például egyetemen egy kötelezően pocsék tárgy, amiből le kell majd vizsgázni. Ami viszont nagyon, de tényleg nagyon fontos, hogy aki igazán produktív szeretne lenni, nem az idejével, sokkal inkább az energiájával gazdálkodik és ez a lényeg! Azaz amikor egy gazdaságmatematikus egy komoly, masszívan matematikai természetű, nagy téttel járó feladat megoldásán dolgozik, a munka nem is fog munkának tűnni akkor, ha motivált a feladat megoldásában, esetleg az sem érdekli, hogy egy ideje elfelejtett fogat mosni vagy éppen zuhanyozni. A flow-állapotban végzett munka pedig végülis nem tűnik munkának és utólag baromira fáradt lehet ugyan az illető, viszont rövidebb idő alatt, sokkal hatékonyabban, ötletesebben oldotta meg, amit kellett, miközben sokkal több új dolgot tanult meg ahhoz képest, mintha szigorú időbeosztás szerint végezte volna el a feladatot. Ez persze nem jelenti, hogy az időtényezőt figyelmen kívül lehetne hagyni, csak arra utalok, hogy az egész világ teljesen rá van pörögve arra, hogy a hatékony időgazdálkodás mennyire fontos, holott az igazi nagy teljesítmények mögött minden esetben a hatékony energiabeosztás fedezhető fel, ennek megfelelően kialakított időgazdálkodással, akár tisztában van vele az illető, akár sem. Persze nincs vegytiszta eset, alighanem az élettan vizsgájára készülő orvosis egyetemista időben is beosztotta, hogy milyen ütemben haladjon végig a végeláthatatlannak tűnő tankönyv anyagán, az élettan például pont az a tárgy, amit konkrétan esélytelennek tűnik megtanulni akkor, ha az illetőt nem érdekli valamilyen szinten a téma, a tanulási rutin megszerzése közben, még ha nem is tud róla, megtanul hatékonyan gazdálkodni az energiájával is.
Ha valaki el szeretne mélyedni az informatikai biztonság valamelyik területében, lényegében semmi különleges vagy beszerezhetetlen eszköz nem kell hozzá, ugyan számtalan fölöslegesen lefutott kör spórolható meg azzal, hogy az érdeklődő tőle a területen sokkal tájékozottabbakkal beszél, intenzíven használja a komolyan vehető szakmai fórumokat. Viszont nyilván nem lehet megszerezni egy olyan típusú tudást, aminél a lényeg, hogy bizonyos értelemben a sarkából fordítunk ki valamit, ha nem tudjuk pontosan, hogy miről is van szó.
Ez azért írom le, mert bármilyen elképesztő is, találkoztam már olyan etikus hekkerek képzésével foglalkozó szervezettel, ahol halál komolyan elmondták, hogy semmilyen előismeret nem szükséges ahhoz, hogy ők valakit etikus hekkerré képezzenek. Mindenesetre ez azért pragmatikus bizonyíték rá, hogy nem ritkán amikor valaki nagyon szeretne elhinni valamit, akkor a leglehetetlenebb hülyeséget is elhiszi.
Normális helyeken nem áltatják az érdeklődőket, hanem világossá teszik, hogy milyen előismereteket feltételez egy-egy kurzus különböző szinten illetve ha az érdeklődő nem rendelkezik a szükséges előismeretekkel, arra is tudnak bevezető jellegű kurzust javasolni.
Ami elengedhetetlenül szükséges, az elterjedtebb operációs rendszerek és azok szolgáltatásainak valamint a hálózatok működésének ismerete és persze minél stabilabb programozási tudásra tesz szert valaki, annál jobb. Elengedhetetlenül szükséges, de szó sincs arról, hogy expert szintre kellene fejleszteni. Ha valaki nem mozog tökéletesen otthonosan valamilyen programozási nyelvben, amiben egy adott program egy trükkel rábírható, hogy teljesen mást csináljon, mint amit kellene, magát a trükköt még meg fogja érteni, feltéve, hogy a trükk nem túl bonyolult. Mi több, az általam csak tankönyvi példáknak nevezett sebezhetőségek logikájukban azok számára is érthetőek, akik esetleg egyáltalán nem tudnak programozni.
Jópár évvel ezelőtt magyar nyelven is megjelent egy könyv, végülis durván megtévesztő címmel, ami a webhelyek sérülékenységek legegyszerűbb eseteit vette sorra, azaz arra épphogy alkalmas volt, hogy az olvasó megértse a leggyakoribb támadási típusok logikáját, arra már nyilván nem, hogy egy könyvből megtanuljon webhelyeket megbolondítani vagy biztonsági szempontból tesztelni.
Tehát első körben az operációs rendszerekkel, a hálózatokkal és persze a programozással kell megismerkedni, ugyan mindenki másra esküszik, valójában a különböző módszereknek mind megvannak az előnyei. A jól felépített könyvek kiválóan alkalmasak arra, hogy folyamatosan vezessék be a tanulni vágyót a témába, valamint utána vissza lehet lapozni a megfelelő részhez, ha később valami nem világos. Persze, van ismerős, aki több programozási nyelvben programozni teljesen könyv nélkül tanult meg, viszont szinte minden ilyen esetben arról van szó, hogy korábbról már volt tapasztalata más programozási nyelven. Szokás mondani: programozni könyvből megtanulni nem lehet. De könyv nélkül még annyira sem – szoktam hozzátenni, ami annál inkább igaz, minél kevesebb előismerettel rendelkezik valaki.
Ami az operációs rendszerek és hálózatok működésének ismeretét illeti, szintén érdemes lehet beszerezni valamilyen jobb könyvet, amiből magyar nyelven nincs túl sok a könyvpiacon, ami viszont még fontosabb, hogy az érdeklődő merjen kísérletezgetni, a rendszerrel, amihez már rég nem szükséges például valamilyen linux disztró esetén külön partíciót létrehozni, hiszen bármikor varázsolhat magának bárki egyet virtualizált környezetben annak kockázata nélkül, hogy néhány rossz mozdulattal kinyírná a gépét.
Igazából mindegy is, hogy miről van szó, abban az esetben, ha valaki érzi, hogy valamilyen területen sikert tud elérni, akár rövid idő alatt is, azt a kognitív pszichológia modellje szerint biztosan gyakrabban fogja csinálni, erre utaltam, amikor korábban arról írtam, hogy mindegy, milyen területről van szó, fejlesztők, művészek vagy gördeszkások, önmagáért az élményért teszik azt, amit tesznek és lesznek benne egyre jobbak /*ennek neurofiziológiai alapjairól műértők erre olvashatnak*/.
A jutalmazás természetéből adódik, hogy ha azonnal akarunk profik lenni, akkor falnak megyünk, el kell találni a megfelelő tempót, amiben érdemes haladni, a programozás területén például érdemes tudni, hogy első programozási nyelvnek biztos, hogy nem a C a legjobb, mivel relatív nehezen azonosítható problémákba ütközhetünk, aztán mehet a hajtépés éjszakákon át a Stackexchange fölött. Egy sokkal inkább baráti, emberi, mégis nagy teljesítményű és általános célú programozási nyelvnél, mint amilyen a Python vagy a PHP, gyorsabban érhető el látványos eredmény és nem mellékesen olyanoknak is könnyen elmagyarázható majd a programkód, akiknek eredetileg közük nem volt a programozáshoz.
Ugyanakkor jó lehet kezdésnek az olyan, cizelláltabb nyelvezetűnek tűnő nyelveken való tanulás is, mint a Java vagy a C#.
A neten több webes szeminárium érhető el, ami alapján bárki otthon, követve az előadó magyarázatát step-by-step tanulhat valamit, ami hatalmas különbség ahhoz képest, amikor diasorokkal nyúzzák a hallgatóságot. Egyrészt lényegében a hallgató a vizuális és persze magyarázatokon keresztül jövő hangingereken túl azzal, hogy a tanár után csinálja a feladatokat, a kinesztetikus memóriáját is használja, lévén, hogy nem csak akkor fontosak a tudatos mozdulatainkhoz kötődő mozgások készség szintűvé fejlesztése, amikor valaki balettáncosnak tanul! Saját tapasztalatból írom, hogy az orosz és az arab írásrendszerét a legkönnyebb úgy megtanulni, ahogy általános iskolában tanították a latin ábécét: egy-egy betűt egymás után vagy egymásra írni, de nagyon sokszor.
Ha magyar játékosokról van szó, az egyik legkomolyabb versenyző a pályán a Netacademia, amelyik 8-40 órás videókurzusokat is kínál különböző témakörökben, ami persze nem azt jelenti, hogy egy 8 órás kurzus interaktív végiggyakorlása után az előfizető tökéletesen pöpeccé válna a témában, több-kevesebb önálló gyakorlásra is szükség van. Viszont azok a videók, amik live streamben mennek a kurzus alatt, később bármikor újranézhetőek, ilyen módon ha valaki el is vesztette volna a fonalat, bármikor visszatekerhet és újranézheti.
A Netacademia az olyan világméretű játékosokhoz hasonlóan, mint a Khan Academy, kínál ingyenes kurzusokat is, a nagyon-nagyon sok különbség közt kiemelném, hogy akár érzékeli valaki, akár sem, az anyanyelvén gyorsabban értelmezi azt, ami teljesen új ismeret számára.
Még mindig abba szocializálódunk, főleg a matematika kapcsán halljuk, hogy „nincs királyi út”. A dogma dolga dőlni, itt is hasonló a helyzet. Semmilyen terület elismert szakértője sem nagyon nyilatkozik úgy, hogy milyen kínkeserves lett volna megszereznie a tudást, amin az előbb emlegetett reward-mechanizmusokon kívül nyilván annak lehetett szerepe, ahogyan az adott tananyagra kezdőként tekintettek, másrészt amilyen módszereket a tanulási technikákat választottak. Nagyon nagy emberekhez hasonlítgatni az átlagot sosem szerencsés dolog, viszont nem tudhatjuk, hogy a történelem legnagyobb hatású tudósai közül ma mennyien választanák a videószemináriumokat, ahol rövid idő alatt, interaktív módon juthatnak sok információhoz.
Mert ami a tanulási technikákat illeti – van, aki leleményesebben tanul, van, aki látszólag kevésbé, szinte független az intellektustól és a motivációtól, hogy valaki ráakad-e arra, hogy milyen tanulási módszer a leghatékonyabb számára, hacsak nem próbál ki többet is. Egy pillanatig se felejtsük el, hogy a tanulás és tudás több, mint az emlékezet! Ha valakit behatóbban érdekel az emlékezet működése, húzza elő Alan Baddeley Az emberi emlékezet című könyvét, ami az új készségek elsajátítása szempontjából sokkal érdekesebb Peter Bednorz és Martin Schuster Bevezetés a tanulás lélektanába könyve vagy éppen ennek a kimondottan gyakorlatra szabott változata, a Martin Schuster Tanuljunk meg tanulni! könyve, amivel kapcsolatban érdekesség, hogy a megjelenése óta követhetetlen, hogy mennyien akarták a benne leírt, bizonyítottan hatékony tanulási technikákat vagy saját fejlesztésként beállítani vagy szimplán újra eladni, de már a saját könyvükben. Azon az orvosi egyetemen, ahol a szerző tanít, felkeltette az érdeklődését, hogy miért lehetséges, hogy egyes hallgatók kisebb energiabefektetéssel jobban teljesítenek, mint mások, akik már-már vért verejtékeznek a tudásért, ezért folytatott kísérleteket évtizedeken keresztül, amit követően az elvben pofás és ígéretes, de a gyakorlatban megbukott technikákat elvetette, míg a valóban hatékonyakat tovább vizsgálta, mire megszületett a tanulás alapműve.
Azaz a ma bizonyítottan hatékony tanulási technikákra senkinek sem kell magától rájönnie, ha azt már megtalálták és alaposan dokumentálták mások. Ha pedig kimondottan informatikai ismeretekről van szó, ne dőljünk be az azonnali és gyors sikert ígérő, a semmiből előtűnő programozástanulást kínáló szervezeteknek, amikor tudvalevő, hogy melyek azok a hazai piacon, amik már bizonyítottak, valóban erősek a hallgatói visszajelzések alapján.