A visszajátszásos támadás (replay támadás, más néven playback támadás) olyan kibertámadás, melynek során a rosszindulatú entitás befogja, majd visszajátssza a hálózaton keresztülhaladó érvényes adatátvitelt. Az eredeti adatok érvényességének köszönhetően (amelyek jellemzően egy jogosult felhasználótól származnak) a hálózat biztonsági protokolljai úgy kezelik a támadást, mintha az egy normál adatátvitel lenne. Mivel az eredeti üzeneteket befogják és szó szerint újra továbbítják, a visszajátszásos támadásokat alkalmazó hackereknek nem feltétlenül kell visszafejteniük azokat.
Mit kezdenek a hackerek a visszajátszásos támadással?
A visszajátszásos támadásokkal egy egyébként védett hálózaton tárolt információkhoz lehet hozzáférni látszólag érvényes hitelesítő adatok átadásával. Arra is felhasználhatóak, hogy megtévesszék a pénzintézeteket a tranzakciók megkettőzésével, így a támadók közvetlenül az áldozatok számlájáról vehetnek fel pénzt. Bizonyos esetekben a hackerek különböző titkosított üzenetek részeit kombinálják, és az így kapott rejtjelezett szöveget továbbítják a hálózatnak az úgynevezett kivágás-és-beillesztés támadás során. A hálózat ilyen jellegű támadásra adott reakciója gyakran értékes információkkal szolgál a hacker számára, amelyeket felhasználhat a rendszer további kihasználására.
Bár ezek a támadások nyilvánvalóan veszélyesek, limitált, hogy a hackerek mit tudnak elérni visszajátszásos támadásokkal egyedül. A támadók nem tudják megváltoztatni a küldött adatokat anélkül, hogy a hálózat ne utasítaná el azokat, így a támadás hatékonysága a múltbeli műveletek megismétlésére korlátozódik. Az ilyen támadások ellen viszonylag könnyű védekezni. Egy olyan alapvető védekezés, mint az időbélyegző hozzáadása az adatátvitelhez, védelmet nyújthat az egyszerű visszajátszásos kísérletek ellen. A szerverek emellett gyorsítótárba helyezhetik az ismétlődő üzeneteket, és bizonyos számú ismétlés után megszakíthatják azokat, hogy korlátozzák a támadó által az üzenetek gyors egymás utáni lejátszásával végrehajtható próbálkozások számát.
Miért számítanak a visszajátszásos támadások a kriptovaluták világában?
Bár ezek a támadások korántsem kizárólagosak, nagy szerepük van a kriptovaluta-tranzakciók és a blokklánc főkönyvek környezetében. Ennek oka, hogy a blokklánc főkönyvek néha protokollváltozásokon vagy hard fork nevezetű frissítéseken mennek keresztül. Hard fork esetén a meglévő főkönyv kettéválik, az egyiken a szoftver régi verziója fut, a másikon pedig az új, frissített verzió. Egyes hard forkok pusztán a főkönyv frissítésére szolgálnak, míg mások egy elágazást hoznak létre, és gyakorlatilag teljesen új kriptovalutákat teremtenek. Az utóbbi típusú hard fork egyik legismertebb példája az, amely 2017. augusztus 1-jén lehetővé tette a Bitcoin Cash forkját a fő Bitcoin blokkláncról.
Ilyen hard forkok esetén, a támadók számára elméletileg lehetővé válik, hogy visszajátszásos támadásokat hajtsanak végre a blokkláncok főkönyvei ellen. Egy olyan személy által az egyik főkönyvben feldolgozott tranzakció, akinek a tárcája a hard fork előtt érvényes volt, a másik főkönyvben is érvényes lesz. Következésképpen az a személy, aki egy bizonyos számú kriptovaluta egységet kapott valaki mástól az egyik főkönyvön keresztül, átválthat a másik főkönyvre, lemásolhatja a tranzakciót, és csalárd módon másodszor is átutalhat ugyanannyi egységet a saját számlájára. Mivel a tárcájuk nem képezi részét a főkönyvek közös előzményeinek, azok a felhasználók, akik egy hard fork után kerülnek egy blokkláncra, nincsenek kitéve ezeknek a támadásoknak.
Hogyan védekezhetnek a blokkláncok az ilyen támadásokkal szemben?
Bár a forkolt blokklánc főkönyvek visszajátszásos támadásokkal szembeni sebezhetősége jogos aggodalomra ad okot, a legtöbb hard fork olyan biztonsági protokollokat tartalmaz, amelyeket kifejezetten az ilyen támadások megakadályozására terveztek. A blokkláncok visszajátszásos támadásai elleni hatékony intézkedések két kategóriába sorolhatóak: az erős visszajátszás elleni védelem és az önkéntes visszajátszás elleni védelem. Az erős visszajátszás elleni védelem során a hard forkból keletkező új főkönyvhöz egy speciális jelölést adnak hozzá, amely biztosítja, hogy az azon végrehajtott tranzakciók ne legyenek érvényesek a régi főkönyvben, illetve fordítva. Ezt a fajta védelmet akkor vezették be, amikor a Bitcoin Cash elágazott a Bitcointól.
Amennyiben ezt alkalmazzák, az erős visszajátszás elleni védelem automatikusan végrehajtódik, amint a hard fork bekövetkezik. Az önkéntes visszajátszás elleni védelem azonban megköveteli a felhasználóktól, hogy manuálisan módosítsák tranzakcióikat, hogy azok ne legyenek visszajátszhatóak. Az önkéntes védelem olyan esetekben lehet hasznos, amikor a hard fork a kriptovaluta főkönyvének frissítését szolgálja, nem pedig annak teljes kettéválását.
A teljes főkönyvet érintő megoldások mellett a felhasználók maguk is tehetnek lépéseket annak érdekében, hogy megvédjék magukat a visszajátszásos támadásoktól. Ennek egyik módja az érmék átutalásának megakadályozása mindaddig, amíg a főkönyv el nem ér egy bizonyos számú blokkot, így megakadályozva, hogy a hálózat hitelesítse az érmeegységeket érintő visszajátszásos támadásokat. Fontos tudni azonban, hogy nem minden tárca és főkönyv biztosítja ezt a funkciót.
Záró gondolatok
A visszajátszásos támadások valós veszélyt jelenthetnek a hálózat biztonságára, amennyiben sikeresen végrehajtják őket. Sok más típusú támadástól eltérően a visszajátszásos támadások nem támaszkodnak az adatok visszafejtésére, így hatékony megoldást nyújtanak a rosszindulatú szereplők számára, akik egyre gyakrabban ütköznek biztonságos titkosítási protokollokkal. A frissítésükhöz vagy elágazásaikhoz használt hard forkok miatt a blokklánc főkönyvek különösen sebezhetőek az ilyen típusú kibertámadásokkal szemben. Léteznek azonban olyan robusztus megoldások, amelyek meglehetősen hatékonyan megvédik a blokklánc rendszereket tőlük. Különösen az erős visszajátszás elleni védelem alkalmazása garantálhatja, hogy a támadók nem lesznek képesek megismételni a tranzakciókat a hard fork bekövetkezése után.