Digitális védelem¶
Legfontosabb védekezési stratégia
Tudatos számítógép-használat!
Minden fontos
Mivel ebben a fejezetben a károk és veszélyek elkerülése lesz a fő téma ezért nem emelem ki a "veszélyes" részeket, mert szinte mindegyik az lenne.
Sajnos a magyar nyelven nem olyan egyszerű megkülönböztetni a biztonság (safety) és biztonságosság (security) közötti különbségeket. A fő eltérés a szándékos és nem szándékos károkozásban keresendő. Egy autó lehet biztonságos (safe) ha baleset esetén nem sérülnek a benne utazók. De lehet biztonságosságos is (secure) ha illetéktelenek nem tudják ellopni vagy használni.
Hasonló megkülönböztetés tehető az informatikai rendszerek esetében is. Előbbi esetben véletlen meghibásodásból adódik kára a felhasználónak, míg utóbbinál egy másik ember szándékosan okoz kárt (nyilván a legtöbb esetben azért hogy a támadó profitáljon belőlle).
Fontos megérteni, hogy a károkozás nem feltétlenül csak az adtok ellopását jelenti. Egyre többet hallani a zsarolásos támadásokról, melyek során "csak" ellehetetlenítik a munkát az adott rendszeren, pl. teljes meghajtó titkosításával, a helyreállításért cserébe váltságdíjat követelnek. Az ilyen jellegű díjakat nem szabad megfizetni, mert csak nagyon ritkán oldják meg a problémát, legtöbb esetben csak teret engednek további követelésnek. Ezenkívül előfordulhat, hogy számunkra nem okozkárt, de a mi gépünk erőforrásait használja fel, hogy támadást indítson más rendszerek ellen.
Rosszindulatú programok (malware-ek)
Ide tartozik minden olyan szoftver, amelyet arra fejlesztettek ki, hogy károkat okozzon egy számítógépen, szerveren vagy hálózatban. Férgek, vírusok és trójaiak sorolhatók ebbe a kategóriába, amelyek reprodukciójuk és terjedésük módjában különböznek egymástól. Az ezekkel elkövetett támadások üzemképtelenné tehetik a megfertőzött számítógépet, illetve hálózatot, vagy hozzáférési jogokat biztosítanak a hacker számára, vagyis távolról tudja vezérelni a rendszert.
Adathalászat
A kiberbűnözők trükkös e-mail-üzenetekkel veszik rá a célszemélyt, hogy tudtán kívül kárt okozzon magának. Például letölt egy fontos dokumentumnak álcázott malware-t, vagy meglátogat egy hamisított weboldalt, ahol bizalmas adatokat kérnek tőle. Sok adathalász levél gyenge fércmunka, amit sok ezer potenciális áldozatnak küldenek el, de vannak közöttük kiváló hamisítványok is, amelyekkel értékes információk birtokában lévő célszemélyeket kísérelnek meg átverni. Cél lehet a közösségi oldalaknak álcázott webhelyekkel a jelszók beszerzése, vagy banki adatainkhoz való hozzájutás.
Soha semmilyen körülmények között ne küldjük el szöveges üzenetben (e-mail, sms, messanger, ...) a jelszavunkat. A banki adatainkat csak és kizárólag akkor adjuk meg ha meggyőződtünk hogy az oldal megfelelő titkosítást használ. A helyesen működő rendszerek soha nem kérik hogy olvasható formátumban vagy bármilyen közvetítőn keresztül megadjuk a jelszavunkat.
Szolgáltatásbénító támadások
Egy úgynevezett brute force (nyers erő) módszer online szolgáltatások működésének megbénítására. A támadók olyan nagy forgalmat küldenek egy weboldalra, vagy olyan sok kérést egy adatbázishoz, hogy az elérhetetlenné válik a normál felhasználók számára. Az elosztott szolgáltatásbénító (DDoS) támadásokhoz malware-rel megfertőzött, a hackerek ellenőrzése alá vont számítógépek seregét használják a túlterhelést kiváltó forgalom generálására. Ezek mögött általában üzleti érdekek húzódnak, mivel amíg az adott szolgáltatás nem üzemel a konkurencia előre törhet, de előfordulnak zsarolásos megkeresések is a támadás megszüntetését felajánlva.
Man-in-the-middle (közbeékelődéses) támadások
A támadók titokban a felhasználó és az általa elérni kívánt webes szolgáltatás közé ékelődnek be. Például egy hacker létrehoz egy Wi-Fi hálózatot bejelentkező képernyővel, utánozva egy hotel vezeték nélküli hálózatát, és amikor valaki használatba veszi a hálózatot, hozzáfér az általa küldött információkhoz, például, többek között a banki bejelentkezési adataihoz.
Cryptojacking
Speciális támadás, melynek során valaki másnak a számítógépét használják kriptovaluta generálására (bányászására a kripto szlengben). A hackerek vagy malware-rel fertőzik meg az áldozat számítógépét, vagy JavaScript-kódot futtatnak az áldozat böngészőjében.
Injekció
Egy sérülékenység kihasználásával a támadó ellenőrzést szerez az áldozat rendszere felett. Az injekciót alkalmazó támadás során a hacker például utasításokat ír be egy egyébként nevet és címet kérő webes űrlapra. Ha a weboldalt és az adatbázist nem programozták megfelelően, az adatbázis megpróbálhatja végrehajtani ezeket az utasításokat.
Nulladik napi sebezhetőségek
Ezek olyan sebezhetőségek, amelyeket még nem javítottak. A nevüket onnan kapták, hogy a javítófolt megjelenése után minden egyes nappal egyre kevesebb és kevesebb számítógép támadható, mivel egyre több felhasználó tölti le a biztonsági frissítéseket. Az ilyen sebezhetőségekhez készült kihasználó kódok megvásárolhatók a sötét weben.
Social engineering
A pszichológiai manipuláció (social engineering) amikor egy jogosultsággal rendelkező felhasználó jogosulatlan személy számára bizalmas adatokat ad át, vagy lehetőséget biztosít a rendszerbe történő belépésre a másik személy megtévesztő viselkedése miatt.
A social engineering (pszichológiai manipuláció) olyan kifejezés, ami a nem technológiai jellegű behatolásokra vonatkozik, hanem elsősorban az emberi interakciókra támaszkodik. Lényege, hogy más emberek becsapásával feltörhetjük az alapvédelemmel ellátott rendszereket.
Akik pszichológiai manipuláció útján akarnak hozzájutni információkhoz, általában az emberi természet két aspektusát igyekeznek kihasználni. Az első: a legtöbb ember segítőkész és igyekszik segíteni azoknak, akik segítséget kérnek. A másik pedig az, hogy az emberek általában konfliktuskerülők.
Zombi hálózatok
A zombi számítógép olyan számítógép, amelyet különböző vírusokkal és trójai szoftverekkel irányítása alá vesz egy hacker. A számítógép erőforrásait ezután a saját céljára, sokszor DoS-támadások erősítésére használja. Az ilyen botokkal irányított gépeket használják spamek küldésére is.
A botnet célja, hogy nagy teljesítményű, gyors, mégis anonim infrastruktúrát nyújtson a spammernek, mellyel az könnyen és gyorsan tud nagy mennyiségű spamet küldeni, illetve más törvénytelen cselekedeteket folytatni.
Még azok a számítógépek is használhatóak levélküldésre, amiken éppen dolgozik valaki. A szabadon maradt erőforrást egy program szabadon használhatja. Az esetek nagyobb részében a számítógép tulajdonosa, használója nem is tudja, hogy működés közben az ő számítógépe egy spammernek dolgozik.
Nemcsak spammerek vagy a spammaffia használ botneteket, hanem más bűnözői csoportok is, többféle ártó szándékkal (károkozás, megfélemlítés stb.). Azokat a zombi számítógépeket, melyeket spamküldésre használnak, spambotnak nevezzük.
A PreDeCo védelem
Egy rendszer védelmének tervezésénél a biztonsági követelmények rögzítése után a védelmi mechanizmus kialakítása a következő lépés. Az egyik igen széles körben elfogadott és gyakorlatban is használt védelem-tervezési elv a PreDeCo módszer. Ez a módszertan a védelmet három egymásra épülő és egymást kiegészítő részre:
Megelőző kontroll A védekező kontrollok közé tartoznak azok a hétköznapi életből is jól ismert technikák, amelyek megakadályozzák egy adott esemény bekövetkeztét (pl. kerítés megakadályozza illetéktelen személy átlépését a telekhatáron, lakat megakadályozza az ajtó kinyitását stb.). A megfelelő védelmet néha szokás – hibásan – összetéveszteni a védekező kontrollok végtelenségig fokozásával, ami egyrész általában drága, másrészt végső soron hatástalan is, hiszen előbb-utóbb a legtökéletesebb védelemnek is lesz ellenszere.
Észlelő kontroll Az észlelő kontrollok lényege, hogy minél hamarabb észleljék egy adott esemény bekövetkeztét így korlátozva a nem kívánt hatás továbbterjedését (pl. vírusfertőzés), illetve lehetővé téve, hogy az elhárító, helyreállító tevékenység minél előbb fejtse ki hatását. Informatikai visszaéléseknél (pl. hálózati betörésvédelemnél) a különösen nagy gondot a támadás felismerése jelenti. Annak hiányában pedig a nem kívánt visszaélés folytatólagosan elkövethető jelentősen nagyobb kárt okozva.
Elhárító kontroll Az elhárító kontrollok szerepe, hogy beavatkozzanak az esetleges rendellenes események folyásába és kiköszöböljék az abból a későbbiek során felmerülő esetleges károkat. Itt a cél a hibamentes, normál állapot minél előbbi visszaállítása. A visszaállítási idő pedig megfelelő felkészüléssel biztosítható csak. Ezért – bár a visszaállítás a nem kívánt esemény bekövetkezése után történik – az elhárító kontrollok felkészülési tevékenységeket (pl. biztonsági mentések végzése, katasztrófa elhárítási terv készítése) takarnak.
Vírusok¶
Vírus
A számítógépes vírus olyan programkód, amely saját másolatait helyezi el más, végrehajtható programokban vagy dokumentumokban. Többnyire rosszindulatú, más állományokat használhatatlanná, sőt teljesen tönkre is tehet. Hatása ellen védekezni megfelelő vírusirtó szoftverrel többnyire lehetséges.
A vírus csupán egyike a rosszindulatú szoftverek (malware) számos típusának. Ez megtévesztő lehet a számítógép-felhasználók számára, mivel mára lecsökkent a szűkebb értelemben vett számítógépes vírusok gyakorisága, az egyéb kártevő szoftverekhez, mint például a férgekhez képest, amivel sokszor összetévesztik őket.
Vírusírtó
A vírusirtó vagy antivírus program a számítástechnikában egy szoftveres vagy hardveres architektúra, amelynek célja annak biztosítása, hogy a hálózatba vagy egy adott számítógépbe ne juthasson be olyan állomány, mely károkozást, illetéktelen adatgyűjtést vagy bármely, a felhasználó által nem engedélyezett műveletet hajt végre. Ilyenek például a vírusok, trójai programok és egyéb kártékony programok.
A vírusirtó szoftverek két alapelven működnek. Az első az úgynevezett reaktív védelem, ami az úgynevezett vírusdefiníciós adatbázison alapszik. Ebben az esetben a vírusirtó szoftver egy adatbázisból azonosítja a kártevőket. Az adatbázist a vírusirtó szoftver gyártója rendszeresen frissíti, a frissítéseket a legtöbb vírusirtó szoftver automatikusan letölti az internetről.
A második – és napjainkban egyre fontosabb – védelmi módszer az úgynevezett heurisztikus vírusvédelem. Ebben az esetben a vírusirtó a beépített analizáló algoritmusok (mesterséges intelligencia) segítségével azonosítja a vírusokat. A módszer azért nagyon fontos, mert sokszor több nap telik el egy új vírus megjelenésétől addig, amíg a vírusirtó program gyártója az ellenszert elkészíti és beépíti a vírusdefiníciós adatbázisba. A reaktív vírusirtó szoftvernek ilyenkor frissítenie kell magát az internetről, és csak ezután nyújt védelmet az új vírusok ellen.
Comodo Antivirus
Ad-blocker
Az Ad-blocker általában egy böngészőkiegészítő, pl. a Firefox, Google Chrome, Internet Explorer és Opera webböngészőkhöz. Lehetővé teszi, hogy egyéni vagy mások által összeállított szűrők alapján eltávolítsuk a reklámokat az egyes weboldalakról. A reklámelemek egyetlen kattintással a tiltólistára tehetők: ezeket a következőkben nem jeleníti már meg a böngésző. A szűrő beállításai teljes oldalak blokkolását is lehetővé teszik.
Adblock plus Chrome bővítmény
Spam
A spam a fogadók által nem kért, elektronikusan, például e-mailen keresztül tömegesen küldött hirdetés, felhívás vagy lánclevél. Az így kapott információk a fogadók túlnyomó része szempontjából érdektelenek, így fölösleges sávszélességet, tárhelyet, szellemi ráfordítást igényelnek a fogadótól. Mivel a spameket a feladóik milliós nagyságrendben képesek rövid idő alatt kiküldeni, ez jelentős terhelést jelent az internet használói számára. A spamek egy része tudatosan megtévesztő, a fogadó kihasználására törekszik (olcsó, nagy nyereséget ígérő befektetésre csalogató, piramisjátékra csalogató, banki azonosítókat, személyes adatokat különféle indokokkal megkérő levelekkel).
Spam elleni védekezés
- olvasás nélküli törölgetés (fennáll a fontos levél véletlen törlésének esélye)
- a weboldalakon feltüntetett e-mail-címek álcázása az automatizált begyűjtés ellen (pl. a valaki@semmi.hu helyett így van leírva a cím: valaki kukac semmi pont hu, vagy valaki (a) semmi .hu) (ezeket az okosabb algoritmusok egyre jobban ki tudják játszani)
- a helyi hálózatok e-mail-továbbító szervereinek korlátozása
- spamszűrő programokkal felszerelt szolgáltatói szervereken keresztüli levélfogadás
- spamazonosító program telepítése a felhasználó gépére
- szűrő alkalmazása a levélkezelő felületen
- a spamet küldő e-mail-cím felvétele egy "feketelistára", blokkolva az illető jövőbeni leveleit
- kulcsszavak alapján való szűrés (egy bizonyos spamküldő üzenetében a feladó nevében, a tárgyban vagy a levél szövegében jellegzetesen előforduló, de más, értékes levelekben nem szereplő szavak felbukkanása esetén a levél automatikusan spamnek lesz minősítve)
- tanuló szűrő használata (az általunk spamnek jelzett levél feladóját vagy más paramétereit felismerve az ilyen leveleket a továbbiakban önállóan blokkolja)
- a küldő cégek jogi perlése
- hamis hibaüzenet visszaküldése spam érkezésekor
- a spamben feltüntetett hirdetési felület, csatorna leterhelése (ezt az internetszolgáltatónk tekintheti szerződésszegésnek, ami miatt kikapcsolhatja a szolgáltatást) (ez gyakorlatilag DoS támadás a spammer ellen, ami ugyan úgy illegális mint bárki más ellen)
- eljárások, amik költségessé teszik a nagyon nagy tömegű e-mailek kiküldését (pl: HashCash)
Ha válaszolunk a spam-ekre... (nyilván ne tegyük, de ha mégis)
Spam etimológia
Tűzfalak¶
Tűzfal
A számítástechnika során a tűzfal olyan hálózati biztonsági rendszer, amely felügyeli és szabályozza a bejövő és kimenő hálózati forgalmat előre meghatározott biztonsági szabályok alapján.
A tűzfal (angolul firewall) célja a számítástechnikában annak biztosítása, hogy a hálózaton keresztül egy adott számítógépbe ne történhessen illetéktelen behatolás. Szoftver- és hardverkomponensekből áll. Hardverkomponensei olyan hálózatelosztó eszközök, mint a router vagy a proxy. A szoftverkomponensek ezeknek az alkalmazási, rendszerei. A tűzfalak általában folyamatosan jegyzik a forgalom bizonyos adatait, a bejelentkező gépek és felhasználók azonosítóit, a rendkívüli és kétes eseményeket, továbbá riasztásokat is adhatnak.
A tűzfal jellemzően akadályt képez egy megbízható belső hálózat és egy bizonytalan külső hálózat között.
Windows tűzfal
Homokozó
A homokozó az informatikai biztonság területén programok elkülönített futtatására szolgáló biztonsági mechanizmus. Gyakran használják még nem tesztelt kódok, ellenőrizetlen gyártóktól, szállítóktól vagy végfelhasználóktól származó, nem megbízható programok futtatására.
A homokozóban futó programok hozzáférése a rendszer erőforrásaihoz általában erősen korlátozott, gyakran átmeneti lemez- és memóriaterületen (scratch space) futhatnak, a hálózati hozzáférés, a bemeneti eszközökről való olvasás, a gazdagép vizsgálata általában tilos vagy csak erősen korlátozottan lehetséges. Ebben az értelemben a homokozó a virtuális gépek speciális válfajának tekinthető.
A homokozó egyik lehetséges implementációja lehet a különböző virtualizált környezetek.
Virtuális környezetek¶
A virtualizálás fizikai helyett egy szimulált, azaz virtuális számítási környezetet hoz létre. A virtualizálás folyamatában a hardver, az operációs rendszer, a tároló és más eszközök számítógéppel létrehozott változatai jönnek létre. Ez lehetővé teszi, hogy a szervezetek egyetlen fizikai számítógépet vagy kiszolgálót több virtuális gépre osszanak fel. Minden virtuális gép egymástól függetlenül működhet, különféle operációs rendszereket és alkalmazásokat futtathat, miközben mindannyian egyetlen gazdagép erőforrásain osztoznak.
TBA virtualizáció vs szimuláció vs emulation
Program-szintű virtualizáció¶
JVM
Java virtuális gépnek (angol rövidítéssel JVM) nevezik a Sun Microsystems által specifikált Java programozási nyelvhez készített virtuális gépeket. A JVM alapvető feladata a Java bájtkód futtatása, amely platformfüggetlen. A Java bájtkód általában Java nyelvű forrás fordításával jön létre, de léteznek olyan fordítók, amelyek más programnyelvek (pl. Kotlin) forrásait fordítják Java bájtkódra.
.Net framework
A Microsoft által készített .NET keretrendszer (a .NET Framework) gyors alkalmazásfejlesztést, platformfüggetlenséget és hálózati átlátszóságot támogató szoftverfejlesztői platform. Eredetileg a .NET kifejezés nemcsak fejlesztői környezetet jelentett, hanem fejlesztőeszközök, szoftverek, sőt hardvereszközök összességét is. Az évek során a kép kitisztult, így mostanra a .NET alatt a keretrendszert értjük. A .NET Framework eszköztára a szoftverfejlesztés szinte minden aspektusát (kliens-, illetve szerveroldali megoldások, adatbázisok kezelése, játékfejlesztés stb.) lefedi.
Konténeres virtualizáció¶
A konténerek egymástól elkülönülnek, és saját alkalmazást, eszközöket, könyvtárakat és konfigurációs fájlokat kötnek össze, jól meghatározott csatornákon keresztül kommunikálva egymással. Minden konténert egyetlen operációs rendszer kernel működtet, így kevesebb a rendszerigényük, mint a virtuális gépeknek. A konténerek olyan imagefile-okból jönnek létre, amelyek pontos specifikációkat tartalmaznak. Az imagefile-ok gyakran standard image-ek kombinálásával és módosításával jönnek létre, amelyek szabadon elérhető repositorikból letölthetőek.
Hypervisor¶
- Egy fizikai, számos virtuális hardver
- Vegyes operációs rendszerek
- Kisebb sűrűség
- Kisebb teljesítmény
OS szintű (konténeres) virtualizáció¶
- Egy fizikai hardver, nincs virtuális
- Egy kernel, userspace példányok
- Nagy sűrűség
- Közel natív teljesítmény
Docker
A Docker egy számítógépes program, amely operációs rendszer szintű virtualizációt végez. A Docker a containers nevű szoftvercsomagok futtatására szolgál.
Rendszer virtualizáció¶
Virtuális gép
A virtuális számítógép egy szimulált számítógépet jelent.
A számítógépek általában fizikailag létező dolgok: elektronikai elemekből (integrált áramkörökből) felépített központi egység értelmezi és hajtja végre a programokat.
A virtuális számítógép fizikailag nem létezik: a felépítése csupán egy szimuláció, egy olyan számítógépes program, ami egy létező fizikai számítógépet, vagy egy fizikailag nem felépített számítógép működését szimulálja. Ez valójában egy "teljes számítógép egy másik számítógépen belül".
Hypervisor
A hypervisor olyan szoftver vagy hardver, ami virtuális számítógépek futtatását végzi. A számítógépet, ami a hypervisort működteti hosztnak (kiszolgáló, virtualizációs szerver) nevezzük. A virtuális számítógépeket vendégnek (angolul guest) is nevezzük, ezek számára a hypervizor egy virtuális környezetet biztosít, amelyen a vendég operációs rendszer fut. Több ilyen virtuális számítógép osztozkodhat a hoszt gép erőforrásain.
Késztsünk virtualis gépet
Windows Subsystem for Linux¶
WSL
A Windows Subsystem for Linux 2 egy olyan virtuális Linux környezetet takar, amiben a nyílt forrású kernel egy eredeti és teljes értékű változata munkálkodik a linuxos parancsok és programok futtatásán.
Ugyan a Microsoft már évek óta biztosít egy ilyen virtualizált Linux környezetet a Windows 10-felhasználók számára, az eddig egyfajta emuláció révén működött, amiben egy, maga a Microsoft által kreált kódbázis utánozta a nyílt forrású rendszermag hívásait a Windows kernel felett. Ez a megoldás ezért nem volt teljesen kompatibilis az eredeti Linux kernellel, ráadásul gyakrabban lassabb működést tudott csak biztosítani utóbbinál.
A WSL2 ezzel szemben már a lehető legnagyobb mértékben az eredeti Linux kernel kódjára épül, és arra bízza a hívások teljesítését, amiket csak a legalsóbb, legelemibb szinten hangol össze a Windows saját rendszermagjának működésével. Az így létrejött virtuális Linux környezet így teljesen úgy működik, mint eredeti társa, ráadásul sok helyzetben állítólag gyorsabban is a korábbi megoldásnál.
Angol nyelvű bemutató