Értesítés, hogy le ne maradj semmiről! Iratkozz fel és értesülj azonnal a legfrisebb tartalmakról! Nálunk te döntöd el, miről kérsz értesítést! Feliratkozok Többet szeretnék megtudni
Biztonság

Reflektorfényben a zsarolóprogramok: Titkosítási módszerek

A WannaCry zsarolóprogramok megjelenése és elterjedése számos kérdést vetett fel azzal kapcsolatban, hogy miként működnek a zsarolóprogramok, és mit lehet tenni ellene. Továbbá hogyan jut be a rendszerbe, mit csinál, ha már jelen van? A Reflektorfényben a zsarolóprogramok sorozatban próbálom feltárni a különböző szakaszaiban egy zsarolóprogramok támadását. Ebben a cikkben a titkosítási módszerekről ejtek szót.

A zsarolóprogram fertőzés egyik leggyorsabb tevékenysége, hogy az összes személyes fájlok titkosítva legyen, amelyet tovább nem vagyunk képesek elérni. A titkosítás alkalmazásával a bűnöző fenyegetése hitelessé válik és a rosszindulatú programok szerzőinek küldheti az adatait, amihez persze csak a bűnöző férhet hozzá a saját feloldó szkriptjével. A titkosítási módszerek alkalmazása egyre kifinomultabb, ez pedig megnehezíti a vírusirtó laborok feladatát.

Ha még nem olvastál a cikksorozatból egyet részt sem, érdemes utánanézned a fertőzési módszereknek és a működésüknek.

Röviden a titkosításról és elemzéséről

A titkosítás olyan technika, amelyek megakadályozzák, hogy harmadik felek vagy a nyilvánosság a nem kívánt adatokat olvasni tudja. Titkosításkor egy általános szöveget átalakítunk egy titkosított szöveggé, amelyet csak mi vagy maga a program ismer. Ezzel elfedve az üzenet tartalmát.

A titkosítás 4 fő célkitűzése

  • Titkosság: csak a küldő és a címzett értheti meg az üzenetet,
  • Sértetlenség: az üzenet nem szerkeszthető a módosítás észlelése nélkül, ha módosult az üzenet, azt jelezni kell valamilyen formában
  • Feladó üzenet megtagadása: a feladó nem tagadhatja meg (vonhatja vissza) az üzenet létrehozása és elküldése után
  • Hitelesítés: a feladó és a címzett azonosítják egymást, majd kommunikálnak egymással

A modern világban a titkosítás számos ágat érint, legyen az a

  • matematika
  • számítástechnika
  • elektrotechnika
  • katonai kommunikáció
  • elektronikus kereskedelem
  • bankkártyák
  • ATM automaták
  • különböző jelszavak

Alapvetően bármit érinthet, ahol a biztonságos kommunikáció elengedhetetlen.

A titkosítási rendszerek tanulmányozásaként definiált „titkosítási analízis”, amelynek célja a hiányosságok felkutatása és a titkosított üzenetek tartalmának visszaszerzése. Ez a titkosítási analízis a 90-es évektől kezdődően alakult ki, annak ellenére, hogy a „Cryptanalysis” (titkosítási analízis) szó csak az 1920-as években született. Hazánkban a Magyar Tudományos Akadémia helyesírási tanácsadó és megfelelő szókereső szerint egyelőre a „Cryptanalysis” szóra nem mond semmit, így mi titkosítási analízisnek nevezzük.

A titkosítási analízis döntő szerepet játszott a második világháború alatt, hogy megfejtse az Enigma gépekkel biztosított német hírszerzés üzeneteit, amely titkosítatlan szimmetrikus kulcsot használt mind az üzenet feladójához, mind a címzetthez.

Azóta a számítási teljesítmény megjelenése és robbanásszerű növekedése egyre összetettebb titkosítási módszereket lehetőségét terítette elénk, amelyeket nem csak az e-mail üzenetek és a webes felületek biztosítására használnak, hanem sajnos a számítógépes bűnözők zsarolóprogramokkal váltságdíj követelésére és személyes fájlok titkosítására is.

Titkosítási módszerek: Szimmetrikus vagy aszimmetrikus

A titkosítási módszerek hihetetlenül bonyolulttá váltak mostanra. Talán Julius cézár idején használták legkorábban a helyettesítő rejtjeleket, ahol az egyszerű szöveges betűket egyszerűen felváltják más betűk. Ők eltolták az ABC sorrendet és ezáltal teljesen értelmetlen szavak voltak az üzenetben, amit kizárólag a feladó és a címzett értett meg.

Mivel az egyszerű szöveg szerkezete megegyezik a titkosított üzenettel, az értelmetlen szavak elemzése után könnyű kiszúrni, hogy azonos sorrendben követik egymást a karakterek. Már csak a sorrendeltolás mértékét kellett meghatározni. Julius cézár idején több évbe telt, mire az ellenség sikeresen tudta értelmezni az üzenetet.

Szimmetrikus titkosítás: Gyors, de sebezhető

A fenti titkosítás egy egyszerű példa arra, hogyan működik a szimmetrikus titkosítás: mind a feladó, mind a címzett ugyanazt a rögzített számú pozíciót eltolja. Ez a pozíciószám a "feloldókulcs". Ezért elengedhetetlen, hogy a kulcs titokban maradjon.

A szimmetrikus titkosításnak két fő típusa van:

  • Blokk rejtjelek
  • Folyamatos rejtjelek

Ahogy a neve is mutatja, a blokk rejtjelek úgy működnek, hogy ugyanazt a kulcsot használva titkosítják blokkokat. Maga az üzenet a hosszától függően több blokkra oszlik és a kiszámítható adatok hozzáfűzése egy teljes blokkra terjed ki a titkosítási folyamat. A leggyakoribb blokk rejtjelekkel az AES és blowfish esetében találkozhatunk. Az előbbit számos zsarolóvírusban alkalmazzák.

A folyamatos rejtjelek titkosítják minden egyes kommunikációban létrejövő szöveg számjegyeit (általában bit formájában), véletlenszerű kulcs segítségével. Ez azt jelenti, hogy eltérő kulcsot használnak az egyes bitekhez. A "kizáró diszjunkció, kizáró vagy" matematikai eszköz (röviden XOR), egyesíti a kettőt a rejtjel létrehozásához. Ezek közé tartozik az RC4 és a Salsa20.

A szimmetrikus titkosítási módszereket az alacsony számítási követelmény jellemzi, melyhez csak egy kulcsot használnak az üzenet titkosításához és visszafejtéséhez.

Ez azonban egy fontos kérdést vet fel: hogyan lehet titokban elküldeni a kulcsot anélkül, hogy bárki hozzáférhetne és elolvasná a szimmetrikus tiktosítási módszerrel kódolt üzenetet.

Aszimmetrikus titkosítás: Biztonságos, de lassú

Az aszimmetrikus titkosítás, más néven nyilvános kulcsú titkosítás, a következőket alkalmazza: egy nyilvános és egy privát álló kulcspárt használ.

A nyilvános kulcs széles körben terjeszthető, míg a személyes kulcs csak a kulcspár tulajdonosának birtokában van. A nyilvános kulccsal titkosított üzeneteket csak a személyes kulccsal lehet visszafejteni, míg a személyes kulccsal titkosított üzeneteket csak a nyilvános kulccsal lehet visszafejteni.

Ennek eredményeképpen az aszimmetrikus titkosítási algoritmusok nem csak az üzenetek titkosítását és visszafejtését teszik lehetővé, hanem az üzenet hitelesítését is, mivel csak a személyes kulcs tulajdonosa hozhat létre egy nyilvános kulccsal visszafejthethető üzenetet.

A legtöbb aszimmetrikus titkosítási rendszer alapja általában egy olyan algoritmus, amely számítási nagy számítási teljesítményt igényel. Ma leggyakrabban használt:

  • diffie-Hellman-Merkle
  • RSA
  • Elliptic Curve Cryptography

Az ArsTechnica részletesen kitér és mélyre nyúló cikket ad nekünk ezzel kapcsolatban. Teljes mértékben belemegy részletekbe a matematikai alapoktól kezdve.

A lényeg, hogy az aszimmetrikus megoldás lehetővé a megosztott kulcs nélküli viszonylag biztonságos titkosítást. Ugyanakkor nagy számítási igénye miatt a nagy adatmennyiség esetén megvalósíthatatlanná válhat.

Tekintettel arra, hogy mindkét titkosítási típusnak megvannak az előnyei és hátrányai, a legtöbb implementáció (beleértve a zsarolóprogramok alkotóit is) a következők kombinációját fogja használni:

szimmetrikus titkosítás egy véletlenszerűen generált kulccsal, amelyet általában „munkamenetkulcsnak” neveznek a tényleges üzenet vagy fájlok titkosításához, majd egy aszimmetrikus algoritmust a használt munkamenetkulcs titkosításához.

Titkosítási kifejezések segédlet

  • Üzenet: A titkosítással védeni kívánt adat. Ez lehet szöveg, mint egy tényleges üzenetben vagy egy fájl
  • Egyszerű szöveg: A titkosítatlan üzenet
  • Rejtjelezés: A titkosított üzenet
  • Kulcs: Az az összetevő, amelyet egy titkosítási algoritmus használ az egyszerű szöveg titkosítássá történő bekapcsolásához, és fordítva.
  • Blokk rejtjelek: eltolt blokkokban történő titkosítás.
  • Folyamatos rejtjelek: véletlenszerű betűjelek használata biteknél a titkosításhoz.
  • Szimmetrikus titkosítás: Ugyanaz a kulcs az üzenetek titkosítására és visszafejtésére szolgál.
  • Aszimmetrikus titkosítás: Különböző kulcsokat használnak az üzenetek titkosításához és visszafejtéséhez.

CryptoLocker, azaz a zsarolóprogramok titkosítási módszere

A zsarolóprogram „fejlesztői” számos különböző titkosítást használnak céljaik elérésére. Most bepillantást mutatok egyes módszerekre, melyet szélesebb körökben CryptoLocker-ként is neveznek.

A CryptoLocker nem az első titkosító zsarolóprogram, de ez feltétlenül az első széles körben elterjedt fájlokat is titkosítő zsarolóprogram. Ráadásul ez már óriási médiafelhajtást is kapott. A CryptoLocker 256 bites AES szimmetrikus titkosítást használ a tényleges fájltitkosításhoz, és aszimmetrikus RSA titkosítást a kommunikációhoz és szimmetrikus kulcsot a munkamenet védelméhez.

Nem meglepő, hogy a CryptoLocker működése sok más zsarolóvírus program alapjaivá vált, hiszen az elterjedés mértéke óriási volt és rendkívül hatékonynak bizonyultak a bűnözők számára. Megnézzük, hogyan használja a program a titkosítást a fájlokra, ezzel a felhasználó elől zárolva azokat.

Biztonságos kommunikáció létrehozása

Amikor a rendszer megfertőzödik a CryptoLocker programmal elindul az RSA (=aszimmetrikus) nyilvános kulcs generálás, amelyet a zsarolóprogram azért hoz létre, hogy egy biztonságos csatornát létesítsen a parancsot futtató program és küldő (illetve ellenőrző) szerver. A zsarolóprogramok az összes kommunikációt ezen a csatornán kezeli, legyen az a programot fejlesztő bűnöző és program közötti kapcsolat, a fizetési kommunikáció, a tevékenységutasítások és minden egyéb, amit a szoftvernek el kell küldenie vagy éppen meg kell tennie a fertőzött gépen. A nyilvános kulcsú titkosítás használata ebben az esetben két fő „előnnyel” jár:

  1. A hálózati kommunikációt figyelő rendszerek nem fogják látni, hogy a CryptoLocker és a kiszolgáló között milyen kommunikáció és adatfolyam történik. Egy elemző kizárólag csak „mindenféle” összemosott karaktert fog látni, amelyet nem lehet azonnal értelmezni.
  2. A rosszindulatú programok szerzői nem csak elrejteni akarják az üzeneteket a kíváncsiskodó szemek elől, hanem biztosítani, hogy valóban senki ne férjen hozzá és a biztonsági szakértők is minél nehezebben, illetve minél később tudják ezeket értelmezni.

Érdemes megjegyezni: Minden nyilvános kulcs csak a megfelelő személyes kulccsal titkosított üzeneteket fejthet vissza, amelyekhez jelen esetben a zsarolóprogram szerzője férhet hozzá.

A fájlok titkosítása

A kommunikáció során a CryptoLocker egy második RSA nyilvános kulcsot kér a kiszolgálótól, amely kizárólag az áldozat számára készül. Ezután továbbmegy és létrehoz egy 256 bites AES munkamenet kulcsot, amelyet az áldozat fájljainak titkosítására fog használni. Mint már említettem az RSA-hoz hasonló aszimmetrikus titkosítás nem alkalmas nagy mennyiségű adat közvetlen titkosítására, mivel viszonylag lassú a szimmetrikus testvéréhez képest. Ezért sokkal hatékonyabb egy szimmetrikus algoritmus, például az AES használata a felhasználói adatok nagy részének titkosításához.

A megosztott kulcs biztonságossá tétele

Utolsó lépésként a CryptoLocker titkosítja a 256 bites AES kulcsokat, aszimmetrikus RSA nyilvános kulccsal, és a titkosított fájladatokkal együtt tárolja a kommunikációs szerveren vagy magában a számítógép memóriájában.

Miután a titkosítási folyamat befejeződik, a zsarolóprogram törli az AES munkamenetkulcsot a memóriából, ügyelve arra, hogy sehol ne maradjon nyomkövetés. Csak az áldozat személyes kulcsa (amelyet kizárólag a kártevő szerzője szerverén tárolnak) képes visszafejteni az AES munkamenetkulcsot a titkosított fájlokból és visszaállítani a fájlokat, miután az áldozatok kifizették a program és bűnöző által követelt váltságdíjat.

A zsarolóprogramok az aszimmetrikus és szimmetrikus titkosítás előnyeit kihasználva másodpercek alatt, nem pedig órákon belül zárolják az áldozat fájljait. A bűnözők kifizetése nélkül a fájlok visszaszerzése szinte lehetetlen feladat.

A titkosítás megértése segít a zsarolóprogramok elleni küzdelemben

A zsarolóprogramok titkosításának elemzése hihetetlenül összetett feladat. Ebben a cikkben is csak éppen érintettünk néhány titkosítási folyamatot, de ezeket alkalmazzák az esetek többségében. A vírusvédelmi cégek laborjaiban naponta dolgoznak több zsarolóprogram által zárolt állományok visszafejtésén. Ha sikerül megoldást találniuk és a visszafejtési kulcsot, majd folyamatot megalkotniuk, akkor az adott zsarolóprogram által zárolt összes fájl visszanyerhető lehet.

Találkoztam több szerencsés esettel, például a CryptoDefense „személyében”, mikor a zsarolóvírus a programkönyvtárban tárolta a visszafejtési kulcsokat. Ezzel pedig a biztonsági szakértők pillanatok alatt képesek voltak egy visszafejtő szoftvert készíteni. Persze ezek ritka esetek, hiszen a bűnözők sem azt szeretnék, hogy a váltságdíj kifizetése nélkül visszanyert a fájljaidat.

Cryptolocker is rendkívül bonyolult titkosítási megoldást használ, amely a laborokban dolgozó biztonsági szakértők feladatát bonyolítja meg, mert azok rendkívül nehezen lesznek feltörhetők, visszanyerhetők.

Amit ajánlok

Mindenki vigyázzon, mert a zsarolóprogramok talán az egyetlen legrosszabb vírusok, amelyek léteznek, hiszen a személyes fájljainkat sem kímélik. Érdemes egy, akár ingyenes vírusirtó szoftvert alkalmazni a gépen. No meg ne feledkezzünk meg a cikksorozat további részéről sem, amely segítségével tudunk védekezni ezen bűnözők által kreált programok ellen.

Reflektorfényben a zsarolóprogramok: Fertőzési módszerek

Reflektorfényben a zsarolóprogramok: Hogyan működnek?

bykewix profilképe
Polgár Zoltán @bykewix Webdesigner, Windows specialista. Szeretem a különböző új technológiákat és a környezetvédelmet.
Hozzászólások -
Vendég profilképe Vendég
{{comment.dateWrite}} Válasz
Válasz {{answer.dateWrite}}