Szemléletmódváltás vagy halál?

A legkülönbözőbb területeken lassan már nem is az lesz a kérdés, hogy egy-egy eszköz okoseszköz-e, valamint csatlakozik-e valamilyen módon a nethez, hanem az, hogy mennyire képes egyáltalán működni smart-funkciók és net nélkül, már ha ezek egyáltalán elválaszthatók.

Az egészségügyben az egészen egyszerű vagy annak tűnő eszközöktől az egészen bonyolult diagnosztikai eszközökig minden gyártó követte vagy egyenesen diktálta a trendet, legyen szó vezeték nélküli kapcsolattal ellátott pacemakerekről és inzulinpumpákról, amikkel kapcsolatban a biztonsági aggályok már évekkel ezelőtt bejárták a világsajtót. Nem kérdés, hogy egy-egy ilyen eszközön még a firmware frissítés is rejt magában rizikót. Az orvosi képalkotó diagnosztikában természetesen adta magát az igény arra, hogy a kapott adattenger minél egyszerűbben elérhető legyen PC-n is, ahogy pedig az lenni szokott ilyenkor a gyártók egyrészt nem szeretnének lemaradni a versenytársaikhoz képest, szeretnének minél több kényelmi fícsört beépíteni, igen, még olyan áron is, ha a fejlesztés közben a biztonságból kell engedni.
Nemrég jelent meg a TheHackerNews cikke, ami szerint a támadók kimondottan röntgen-gépeket és MRI gépeket támadtak, ezen kívül sejthetően a gyártók IT-infrastruktúráját.
Több fejlesztő és fehér kalapos hekker előszeretettel hülyézi le azokat a fejlesztőket, akik egyszerűen nem szokták meg, hogy a secure coding valóban fontos, pontosabban lassan más típusú fejlesztésről nincs is értelme beszélni kicsit is komoly helyen.
A programozás, ha úgy tetszik nyelvhasználat. A natív nyelvhasználatnak, azaz ember-ember kommunikációnak pedig általános sajátossága, hogy nem kérdőjelezzük meg más szavahihetőségét, amíg erre nincs alapos okunk. A programozáskor a fejlesztő meghatározza, hogy a gépnek mit kell vagy kellene csinálnia, részletkérdés, hogy bizonyos programozási nyelvek esetén ugyanazt a feladatot minél kevesebb féle módon lehet lekódolni, mint a Pythonban vagy éppenséggel nagyon sokféle módon, mint a Perl-ben. De az eredeti paradigma szerint a fejlesztő fejleszt, tesztel, majd elhiszi, hogy a kód csak úgy működhet, ahogyan azt megírták. Miért? Mert a bizalomközpontú ember-ember kommunikációból indult ki a fejlesztő, amikor lefejlesztette azt, amit kellett.
A metaforát folytatva, a fejlesztésre alkalmazva sokáig azért nem foglalkoztak egyáltalán azzal a fejlesztők, hogy az alkalmazás vagy szolgáltatás megfelelő bemenetet kap-e, mert nem feltételezték, hogy esetleg lesz valaki, aki majd olyan bemenetet küld, amin keresztül akár az operációs rendszer szintjén valami nagyon kellemetlen dolog történik, például.
Csakhogy az éles szoftverfejlesztés és az internet természete más, bizonyos értelemben éppen fordítottja az ember-ember kommunikációnak.  Az elektronikus levelezés nagyon jó példa a netes szolgáltatások természetének megértésére. A spamek és phishing ellen vívott küzdelemben eredeti formájához képest technikai téren az emailezés teljesen megfordult: egészen addig feltételezik a levelezőrendszerek, hogy az email hamis, amíg sok-sok kifinomult lépésen keresztül nem bizonyosodik meg róla címzett, hogy hiteles.
Hasonló trend, ami szerint ha gépekről van szó, semmi sem hiteles, amíg nincs hitelesítve avagy a megfelelősége tesztelve, a fejlesztés és üzemeltetés területén markánsabban vagy kevésbé, de mindenhol ott van ugyanez.
Azaz az információáramlás natív természetével, az ember-ember kommunikációval ellentétben amikor az ember mondja meg a gépnek, hogy mit csináljon a fejlesztésen keresztül,  mindegy, hogy egy apró webappról, egy levelezőrendszerről az internet valamelyik elemi szolgáltatásáról van szó, a gépeknek, a fejlesztőnek és az üzemeltetőnek azt kell feltételezniük, hogy az információ vagy egy működés nem fogadható el hitelesnek, amíg több mechanizmus nem igazolta, hogy valóban az.
Alighanem mindenki találkozott már azzal a védhetetlen véleménnyel, hogy “hozzánk minek akarnának betörni” vagy éppen egy szoftverrendszer jó úgy, ahogy van, elkészült időre, holott annak kellene általános gyakorlatnak lennie, hogy a fejlesztést követően több tesztelési metodikát is bevetve igazolható legyen az elvárható szintű stabilitás és biztonság.
Persze, hogy lesznek többen a piacon, akik függetlenül attól, hogy inzulinpumpát, röntgengépet vagy lélegeztetőgépet gyártanak, amik a maguk módján okoseszközök, például lehetővé teszik a vezeték nélküli firmware-frissítést, a gyártók engedve a kisebb ellenállásnak, fejlesztés közben a biztonságra és a tesztelésre fognak a legkevesebb figyelmet fordítani.
Természetesen függően attól, hogy milyen eszközről van szó, más előírásoknak kell megfelelnie egy inzulinpumpának és egy intenzív betegellátásban vagy aneszteziológiában használatos lélegeztetőgépnek, a lényeg viszont ugyanaz: ha a fejlesztők nem szakítanak a korábbi megszokással és a kódolás nem lesz eleve biztonságos kódolás, annak beláthatatlan következményei lesznek.
Kevesen tudják, hogy ami sokak számára sci-fi, az a gyógyszergyártásban már a jelen, a gépek szemet kápráztató sebességgel és pontossággal teszik a dolgukat, egyre kevesebb emberi felügyelet mellett. Ahogy az az iparágnak megfelelően megkövetelhető, rendkívül szigorú szabályok vannak ugyan, de az elvi lehetőségét nem zárhatjuk ki annak, hogy sosem hakkolnak meg egy robotot például egy patkolt filmware-rel. Márpedig ha egy high-tech robot egy-egy hatóanyag ezerszeresét adagolja a készülő gyógyszerkészítménybe, ráadásul úgy, hogy azt ne is lehessen észrevenni rutinszerűen, tragikus következményekkel járhat.
Végül megjegyzem, még ha eléggé biztonságosan is működnek az atomreaktorok PLC-i, a légi forgalomirányításban használt valós idejű rendszerek, sokkal gyorsabban árasztanak el az okoseszközök, minthogy ahhoz a végfelhasználók hozzá tudnának szocializálódni vagy a jogalkotók eléggé gyorsan tudnának megfelelő kontrollokat beépíteni.

J. A. után szabadon azt írnám, hogy programozni és tesztelni csakis szépen, ahogyan a csillag megy az égen, úgy érdemes, úgy szabad.

kép: Alibaba

Magatartástudomány, social engineering és a HUMINT

Ésszerű terjedelmi korlátok mellett szinte lehetetlennek tűnik hatékonyan érvelni amellett, hogy a fehér kalapos hekkerek bizonyos módszereiket, kutatásaikat miért nem fejleszthetik egy bizonyosnál magasabb szintűre olyan módon, hogy ne kutatnának utána olyan témáknak, amik a hekkelés emberi oldalával foglalkoznak. A héten született meg a gondolata, hogy csokorba rendezve közreadjuk a legfontosabb könyveket, amiket nagyon ajánlott elolvasnia mindenkinek, aki behatóbban szeretne foglalkozni a social engineeringgel és human intelligence-szel.

Social Engineering Penetration Testing: Executing Social Engineering Pen Tests, Assessments and Defense (Gavin Watson, Andrew Mason, Richard Ackroyd)

A könyv ugyan tárgyalhatná bővebben is az emberi természet azon sajátosságait, amin keresztül egy-egy megtévesztés működik, az aktuálisan legkorszerűbb, egyéb SE technikák és persze technikai eszközök ötvözésével mutatja be mindezt. Ezen kívül nagy hangsúlyt fektet a reportingre, amit nagyon sok könyvből hiányolunk. A bőséges elmélet mellett szinte minden oldalra jut valamilyen technika éles bemutatása. A könyvre nem mondanám, hogy jobb vagy rosszabb, mint Chris Hadnagy Social Engineering The Art of Human Hacking  írt alapműve, de az biztosan megállapítható, hogy a Syngress műve nagyobb hangsúlyt fektet a gyakorlatra. A kevésbé szorgalmas olvasók számára több cheat sheet is segíti a minél gyorsabb megértést.

Unmasking the Social Engineer – The Human Element of Security

A Social Engineering alapmű kistestvérének is nevezhetnénk, tartalmi szempontból pedig tényleg nem túloz: a mű a magatartástudomány legújabb állásának megfelelően szemlélve mutatja be, hogy mikor valószínűsíthetünk csalást. A könyv szerkesztésében egyébként maga Paul Ekman, a világ egyik legnagyobb, mára fogalommá vált liespottere is részt vett. Ha már liespotting, van valami, amit alighanem nem lehet elégszer hangsúlyozni. Ahogy tartja a mondás “vigyázz az egykönyves emberekkel”. A Lie To Me tévésorozatban rendszerint azt láthatjuk, hogy Dr. Lightman seperc alatt azonnal teljes bizonyossággal, ha valaki hazudik vagy manipulációval próbálkozik, ilyen a valóságban tényleg nem létezik. A manipuláció bármilyen típusának kiszúrása egyrészt rendkívül sok gyakorlatot igényel, a másik, amit figyelembe kell venni, hogy még a legjobb könyvek is, mint amilyen Paul Ekman magyar nyelven is megjelent Beszédes hazugságok, című könyve, a közérthetőség kedvéért szükségszerűen egyszerűsítésekkel él, ami miatt nagyon rizikós, ha valaki az ott olvasott technikákat laikusként azonnal próbálja átülteti a gyakorlatba.
Tételezzük fel, hogy valakinek olyan konferenciára kell ellenőrzés nélkül bemennie, amiről nem tudható előre – például nyílt forrásokban keresve – hogy milyen a konferencia résztvevőin lévő badge vagy az azt tartó szalag, azaz nem tud előzetesen preparálni önmagának, ugyanakkor lebukni sem szeretne. Mit lehet tenni ilyenkor? Vigyázat, mélyvíz! Laikus megközelítéssel a social engineer visz magával többféle szalagot és formátumú badge-t, ami aztán vagy bejön vagy sem. Ha viszont felkészültebb, miért van a táskájában éppen fehér, fekete, vöröses, zöld és kék szalag, a különböző méretű badge-eken pedig miért van különböző betűmérettel előre printelve a neve éppen serif és sans-serif betűtípussal is? [Például mosdóba menet vagy a parkolóban már ki lehet választani a megfelelőt megfigyelve, hogy a többi vendégen milyen van.] A magyarázatot a kognitív pszichológia és az attól elválaszthatatlan érzékelésbiológia adja meg. Hogy hogyan érzékeljük a környezetünket – és például a biztonsági őr hogyan, pontosabban milyen esetekben szúrhatja ki a fake-elt konferenciakitűzőt – a magyarázatot a kognitív pszichológia adja meg. Michael W. Eysenck és Mark T. Keane Kognitív pszichológia könyve az érzékelés minden részletére kitér, ahogyan a cím mutatja, arra is, hogy a kapott információkat milyen sémák szerint dolgozzuk fel, hogyan állapítunk meg összefüggéseket, tároljuk az emlékezetünkben és mindennek mik a tudományosan igazolt korlátai is. Alighanem lesznek olyanok, akik ugyan soha nem hitték volna magukról, hogy különösebben érdekelni fogja őket a tudat működése, ezt a könyvet nem fogják tudni letenni.
Ha valakit behatóbban érdekel, hogy pontosabban miért is úgy működik az emberi megismerés, ahogyan Alan Baddeley Az emberi emlékezet és Merlin Donald Az emberi gondolkodás eredete könyveiben talál elméletibb, de attól még közel sem száraz áttekintést.

Ahogy az OSINT-tel kapcsolatban meg szoktam jegyezni,  egyrészt nem kevés kört lehet megspórolni azzal, ha olyan tudományterületre is ellátogatunk, ami az egymással sokszor átfedésben lévő OSINT, a HUMINT és a social engineering legősibb alkalmazója, ez pedig a kriminalisztika. A Bócz Endre szerkesztésében megjelent Kriminalisztika I-II. ugyan sosem került könyvkereskedelmi forgalomba, minden nagyobb könyvtárban található belőle legalább egy helyben használható példány, a legújabb kiadás pedig közvetlenül a kiadótól megvásárolható. A megfelelő részek egyrészt olyan nyomozati módszereket ismertetnek, például a kriminalisztikai csapdával kapcsolatban, amik némi ötletességgel átültethető netes környezetbe anélkül, hogy kvázi újra fel kellene találnunk a kereket. Emellett a nyomtan és bizonyítástan része olyan szemléletmódot ad, ami nagyban megkönnyíti saját kutatások tervezését vagy konkrétan lehetetlen kutatást tervezni szakszerűen ezek ismerete nélkül.

A kriminalisztika nagy-nagy könyve is kitér rá, hogy a manipulációnak, hazugságnak nincs markere, még egy profi liespotter is a legjobb esetben csak annyit állapíthat meg biztosan valakinek a reakciója vagy reakciói időbeli egymásutánja alapján, hogy valami nem stimmel az adott kultúrában megszokott kommunikációhoz,  képest. Ezt azért fontos kiemelni, mert vannak olyan könyvek,  amik nagyon durva egyszerűsítésekkel élnek, például olyan kijelentéseket tesznek, hogy ha valaki egy kérdésre a megszokottnál nagyobb reakcióidő mellett válaszol  vagy félrenéz, esetleg annak jeleit mutatja, hogy zavarba jött, az biztosan hazudik vagy elhallgat valamit, ami nyilván nem igaz. Arra tekintettel, hogy manapság a hitelesség a legnagyobb érték hosszú távon, egy laikus által megállapított téves következtetés a másik szavahihetőségével kapcsolatban nagyon súlyos károkat okozhat. Számos oka lehet annak, ha valaki zavarba jön vagy más olyan jeleket mutat, amik általában
a hazugság jelei, de ennek további fejtegetése nem tárgya ennek a posztnak.

Methods of Persuasion – How to Use Psychology to Influence Human Behavior – Nick Kolenda könyve tudományos igényességgel, mégis érthetően mutat egy átfogó képet azzal kapcsolatban, hogy hogyan is befolyásolják az emberek egymást tudva vagy tudattalanul, ugyanakkor nem veszik el interperszonális pszichológiai részletekben, viszont a könyv végén, ahogy az egy jó könyvtől elvárható, bőséges irodalomjegyzéket találhatunk.

Elliot Aronson A társas lény című könyvére bátran mondhatjuk némi fahumorral, hogy be kellene tiltani, mert akkor biztosan többen olvasnák. És tényleg. Máig a legjobb tudományos ismeretterjesztő könyv a szociálpszichológia területén, ami több kísérlet bőséges leírásával és értelmezésével új megvilágításba helyezi a társadalmi jelenségek magyarázatát, másrészt az személyközti kapcsolatok természetét egyaránt. Ugyancsak Aronsontól ismerős lehet a szintén magyarul is megjelent Rábeszélőgép c. könyv, ami kimondottan a tömegkommunikáció és a propaganda tudományos bemutatására helyezi a hangsúlyt. Aki kedvet kap a témához, beszerezheti mellé Mackie és Smith “kavicsos” könyvét, ami még részletesebben tárgyal olyan, mindenki által érdekes témákat, mint amilyen az attitűdök és a viselkedés kapcsolata, a normák és a konformitás természete, hogyan látjuk önmagukat és hogyan látnak mások minket, de kitér a kísérlettervezés legfontosabb sajátosságaira is. Ez utóbbi viszont már kézikönyv, azaz a végigolvasás helyett hasznosabb, ha a minket érdeklő témáknak megfelelő sorrendben olvassuk a fejezeteket.
Bereczkei Tamás 60-adik születésnapja alkalmából megjelentetett Evolúciós pszichológia mesterfokon könyv, ismétcsak nem jobb vagy rosszabb, mint a professzor Evolúciós pszichológia című könyve, hanem másmilyen. A könyv olvasása közben többször is lehet amolyan aha-élményünk, emellett az emberi természetnek számos olyan sajátossága van, ami a szükséges mértékben csak akkor érthető meg, ha az olvasó azt is megérti, hogy ezek a sajátosságok miben is gyökereznek, legyen szó akár akadémiai terepen dolgozó kutatóról, akár social engineeringre, human intelligencere szakosodott játékosról.
Könnyen lehetséges, hogy még mindig nem sikerült teljesen meggyőzni néhány olvasót azzal kapcsolatban, hogy miért lehet szükség a no-tech-hacking módszerek tudományos hátterének ismeretére ilyen mélységben olyannak, akit végülis mégiscsak az információbiztonság érdekel. Természetesen ezek a könyvek az esetek többségében nem használhatók egyfajta szakácskönyvként, viszont a meglévő ismerteink közé integrálva például azt, hogy melyik mechanizmust mi triggereli a másikban, új, saját módszerek fejleszthetőek ki, emellett a meglévő módszereink tovább finomíthatóak, ami pedig esetenként legalább ilyen fontos lehet, ha nem is a magatartástudománnyal hivatásszerűen foglalkozó szakértelmével tudjuk szemlélni, hogy mi, miért, hogyan történik, de jóval magasabb szinten, mint a laikus.
A magatartástudományokkal kapcsolatban máig van egy olyan tévhit, ami szerint a klinikus és alapkutatásban dolgozó agyturkászok kísérletezgetnek, megfigyelgetnek, aztán cikkeznek arról, amire jutottak, de lehet, hogy az eredmények kiértékelése gyakorlatilag nem állja ki a tudományosság próbáját, például a megfigyelt jelenség nem csak azzal a modellel magyarázható, amit leginkább valószínűsítenek. Sigmund Freud tudománytörténeti jelentősége azért nagy, mert ő volt az első, aki szisztematikusan próbált magyarázatot adni az emberi viselkedés megfigyelhető sajátosságaira. Ma már tudvalevő, hogy Freud, Jung és sokan mások pipázgattak, elfilozofálgattak, majd leírtak olyan dolgokat, amik ma már nem mennének át egy komolyabb peer-review-n. A korszerű magatartástudománynak igen szigorú érvrendszere van, ennek megfelelően ha nem is veti ki magából maradéktalanul a bizonytalan modelleket és feltételezéseket, annyi bizonyos, hogy háttérbe szorítja azokat. Másként fogalmazva: bízhatunk benne, hogy egy-egy sokat idézett jelenség magyarázata nem tartalmazhat komoly mellényúlásokat és soha nem épít labilis előfeltevésekre, mint ahogy például Freud  számos elmélete.