Атака (повторного) відтворення є кібератакою, в межах якої зловмисник перехоплює, а потім повторює дійсну передачу даних, що проходить через мережу. Через достовірність вихідних даних (які зазвичай надходять від авторизованого користувача), протоколи безпеки мережі сприймають атаку як звичайну передачу даних. Оскільки оригінальні повідомлення перехоплюються та повторно передаються дослівно, хакерам, які використовують атаки повторного відтворення, не обов'язково розшифровувати їх.
Що можуть зробити хакери за допомогою атаки повторного відтворення?
Атаки повторного відтворення можуть використовуватися для отримання доступу до інформації, що зберігається в захищеній мережі шляхом передачі їй, здавалося б, дійсних облікових даних. Їх також можна використовувати для обману фінансових установ, змушуючи їх дублювати транзакції, що дозволяє зловмисникам знімати гроші напряму з рахунків своїх жертв. У деяких випадках хакери поєднують частини різних зашифрованих повідомлень і передають отриманий зашифрований текст у мережу за допомогою так званої атаки шляхом вирізання і вставлення. Реакція мережі на такі атаки часто дає хакеру цінну інформацію, яку можна використати для подальшої експлуатації системи.
Незважаючи на очевидні небезпеки, пов'язані з ними, існують обмеження того, чого хакери можуть досягти лише за допомогою атак повторного відтворення. Зловмисники не можуть змінити дані, що надсилаються без їх відхилення мережею, що обмежує ефективність атаки повторенням минулих дій. Від цих атак також відносно легко захиститись. Такий базовий захист, як додавання мітки часу до передачі даних, може захистити від простих спроб відтворення. Сервери також можуть кешувати повторювані повідомлення і відсікати їх після певної кількості повторень, щоб обмежити кількість спроб, які може зробити зловмисник, відтворюючи повідомлення в швидкій послідовності.
Чому атаки повторного відтворення мають значення у світі криптовалют
Хоча вони далеко не виняткові, ці атаки особливо актуальні для середовища криптовалютних транзакцій і блокчейн-реєстрів. Причина цього в тому, що блокчейн-реєстри іноді зазнають змін або оновлень протоколу, відомих як "хард-форки". Коли відбувається хард-форк, дійсний реєстр поділяється на дві частини, в одній з яких працює застаріла версія програмного забезпечення, а в іншій нова, оновлена версія. Деякі хард-форки призначені просто для оновлення реєстра, в той час як інші розгалужуються та ефективно формують нові криптовалюти. Одним із найвідоміших прикладів хард-форку останнього типу є той, який дозволив Bitcoin Cash відокремитись від основного блокчейну Bitcoin 1 серпня 2017 року.
Коли відбуваються ці хард-форки, зловмисники теоретично можуть використовувати повторні атаки проти блокчейн-реєстрів. Транзакція, здійснена в одному реєстрі, який існував до хард-форку, буде дійсною в іншому реєстрі. В результаті людина, яка отримала певну кількість одиниць криптовалюти від когось іншого через один реєстр, може перейти на інший реєстр, повторити транзакцію і шахрайським чином перевести таку ж кількість одиниць на свій акаунт вдруге. Оскільки їхні гаманці не є частиною загальної історії реєстрів, користувачі, які приходять до блокчейну після хард-форку, не вразливі для цих атак.
Як можна захистити блокчейни від цих атак?
Хоча вразливість блокчейн-реєстрів після форків до повторних атак є серйозною проблемою, більшість хард-форків мають протоколи безпеки, спеціально розроблені для запобігання успіху цих атак. Ефективні заходи проти атак повторного відтворення на блокчейн можна розділити на дві категорії, відомі як надійний захист від повторного відтворення і добровільний захист від повторного відтворення. У випадку надійного захисту від повторного відтворення, до нового реєстру, отриманого в результаті хард-форку, додається спеціальний маркер, щоб гарантувати, що транзакції, проведені в ньому, не будуть дійсними у застарілому реєстрі, і навпаки. Це тип захисту був реалізований, коли Bitcoin Cash відокремився від Bitcoin.
При реалізації, надійний захист від повторного відтворення спрацьовує автоматично, коли відбувається хард-форк. Однак добровільний захист від повторного відтворення вимагає, щоб користувачі вручну вносили зміни до своїх транзакцій, щоб гарантувати, що вони не можуть бути відтворені. Добровільний захист може бути корисним у тих випадках, коли хард-форк призначений для оновлення основного криптовалютного реєстру, а не для повного відокремлення від нього.
На додаток до цих рішень для всього реєстру, окремі користувачі також можуть зробити кроки, щоб захистити себе від атак повторного відтворення. Один із способів зробити це – заблокувати переказ монет доти, доки в реєстрі не буде досягнуто певної кількості блоків, що запобігатиме перевірці мережею таких монет внаслідок будь-якою атаки з повторним відтворенням. Проте слід зазначити, що не всі гаманці й реєстри пропонують цю функцію.
Підсумки
Атаки повторного відтворення становлять реальну загрозу безпеці мережі, якщо вони успішні. На відміну від багатьох інших типів атак, атаки повторного відтворення не покладаються на розшифрування даних, що робить їх ефективним обхідним шляхом для зловмисників, які все частіше стикаються з безпечними протоколами шифрування. Через хард-форки, які використовуються для їхнього оновлення або поділу, блокчейн-реєстри особливо вразливі для такого роду кібератак. Однак існують надійні рішення, які досить ефективні для захисту блокчейн-систем від них. Зокрема використання сильного захисту від повторного відтворення може гарантувати, що зловмисники не зможуть відтворити транзакції після того, як відбудеться хард-форк.