1
Stand with Ukraine and Donate here
logo

Атака повторного відтворення (Replay attack)

Атака

Це особливий різновид кібератак, при якій зловмисник перехоплює дані або транзакцію, щоб повторно відправити її через мережу. Оскільки інформація спочатку достовірна - все в порядку з хешем, публічними ключами і цифровими підписами, протоколи безпеки мереж розглядають цю передачу як нову, так що не блокують її. Особлива ефективність методу полягає в тому, що хакерам не потрібно витрачати час і сили на дешифрування даних.

Можливості атаки повторного відтворення

Найпростіше і очевидне застосування - повторні транзакції криптовалюти. Жертві достатньо один раз здійснити переказ на гаманець зловмисника, щоб той повторював його до тих пір, поки там не закінчаться гроші. Більш складний варіант - передача отриманого блоку інформації безпосередньо в мережу з метою з'ясувати, як саме вона реагує на достовірні, але недоречні дані. Досвідченим хакерам це дає вкрай корисну інформацію про особливості роботи різних протоколів і алгоритмів мережі.

Однак на цьому переваги закінчуються. Справа в тому, що зловмисники не можуть змінити отриманий блок даних - інакше мережа відхилить його через невідповідність хеша. А дешифрування може зайняти багато часу і зусиль, якщо взагалі буде можливе. Тому захиститися від атак відтворення не дуже складно - достатньо вставити в повідомлення мітку часу - і кожне повторне вже не пропускатиметься, оскільки такі мітки зчитується автоматично. Крім того, багато мереж підтримують кешування повторюваних повідомлень з наступним обрізанням всього що перевищує заданий ліміт. Тобто, якісь гроші ви втратите, але не всі.

Коли Replay attack особливо ефективні

Атаки повторного відтворення - досить поширене явище. Однак в деяких ситуаціях вони виявляються особливо результативними, оскільки потрапляють на моменти підвищеної вразливості всієї системи. Мова йде про так звані хард-Форк - оновлення протоколів мережі, в результаті яких виникають 2 ланцюжки - основний, який добудовують всі вузли, які оновили протокол, і застарілий. Це відбувається як у випадку банального оновлення, так і при створенні нової криптовалюти. Наприклад, щось схоже сталося 1 серпня 2017 року, коли від блокчейна Біткоін відокремилася нова криптовалюта Bitcoin Cash.

Зловмисники діють так. Знаходять гаманець, який був дійсним до моменту поділу регістрів (ланцюжків), добиваються від нього перекладу на певну суму, а потім - перемикаються на інший регістр і там вже організовують повторну транзакцію. Оскільки гаманець є дійсним і використовує достовірні дані, переаз проходить. Зловмисник отримує кошти як мінімум в подвійному обсязі, причому - нічим не ризикуючи. Головне потім - встигнути вивести «бонусні кошти» до того, як альтернативний регістр буде відкинутий і визнаний недійсним. Адже якщо ця транзакція буде вписана в нормальний блокчейн, то скасувати її вже не вийде - принцип незмінності в справі.

Способи захисту

Дана ситуація досить типова, тому більшість блокчейнів обладнуються спеціальними методами захисту від такого «нетрадиційного» використання хард-Форку. Ці методи поділяються на дві великі категорії - сильний захист і додатковий захист від атак повторного відтворення (Opt-in).

Сильний захист передбачає автоматичне додавання в усі повідомлення нового регістра спеціального токена. Тому отриманий хеш взагалі не буде прийматися неоновленим регістром. Найчастіше, це використовують при створенні нових криптовалют - користувачі були б раді подвоєнню свого капіталу, але система це не схвалює. Даний захист працює автоматично при будь-яких оновленнях протоколів.

Додатковий захист має на увазі ручне внесення виправлень, що захищають від повторного використання. Приклад - «мітка часу» яку йшла мова раніше. Вкрай корисно, коли хардфорки виникають в процесі простого оновлення протоколів систем, в яких не використовується сильний захист.

Є й інші способи захисту. Так, наприклад, в деяких мережах можна заздалегідь заблокувати передачу коштів, поки регістр не подовжений на кілька додаткових блоків. Це забороняє будь-які повторні повідомлення як такі. Правда, доведеться трохи почекати перед повторним використанням гаманця. Шкода тільки, що далеко не всі криптовалюти дозволяють це реалізувати.

Висновок

Незважаючи на вдавану простоту, атака повторного відтворення - реальна загроза безпеці інформації. Оскільки у зловмисників немає необхідності дешифровувати перехоплені повідомлення, вони можуть діяти швидше і ефективніше. Втім, існуючі базові методи захисту, а також - індивідуальні заходи, гарантують досить ефективну протидію таким кібератакам.