Что такое повторная атака?

Во время запуска пограничной сети пользователям было отказано в повторном использовании ключей из олимпийской тестовой сети, чтобы предотвратить «повторные атаки». Что такое повторная атака и почему повторное использование ключа из тестовой сети делает кого-то уязвимым для одного?

24 голоса | спросил Jeff Coleman 20 Jpm1000000pmWed, 20 Jan 2016 20:09:21 +030016 2016, 20:09:21

3 ответа


17

A повторная атака - это действительная передача данных, которая злонамеренно или мошеннически повторяется или задерживается.

Расширяя это до целых цепочек, атака повторного воспроизведения совершает транзакцию на одной цепочке блоков и злонамеренно или мошеннически повторяет ее на другой блок-цепочке.

Например, злоумышленник, берущий чью-то тестовую транзакцию и повторяя ее на «реальной» блокчейне, украл «реальные» средства.

Подробнее

В биткойне адреса в тестовой сети используют другой префикс из адресов в сети: таким образом, клавиши различаются.

В Ethereum в настоящее время нет «префиксов». (Возможно, сделано, чтобы упростить создание новых адресов.) Таким образом, транзакция, подписанная ключом, действительным в одной сети /цепочке Ethereum, действительна для всех цепочек Ethereum.

Это означает, что если в «тестировании» средства отправляются с учетной записи B на accountTest, эта же транзакция может быть воспроизведена (передана) публичной блок-цепочке Ethereum: атака повтора. Атака повтора будет «успешной», если у учетной записи B есть средства на публичной блок-цепочке. Чтобы полностью преуспеть, злоумышленнику нужно будет узнать секретный ключ для AccountTest, чтобы украсть средства, но, учитывая, что accountTest был создан для тестирования, его закрытый ключ может быть небезопасным (может быть, это просто «мозговой кошелек» с паролем «test») ).

Атаки повторного использования устраняются с использованием разных адресов /ключей между пограничной сетью и всеми другими цепями Ethereum. (Немного нравится использовать другой пароль для ценных вещей, с менее ценных или менее надежных сайтов.) Также см .: Как предотвратить повторную атаку между двумя конкурирующими цепочками?

Вам предлагается защита от повторных атак в общедоступной тестовой сети Morden . (Для учетной записи mainnet необходимо отправить более 1 048 576 транзакций, а затем повторно использовать на Morden, чтобы появилась возможность повторной атаки.)

ответил eth 21 Jam1000000amThu, 21 Jan 2016 00:22:43 +030016 2016, 00:22:43
12

Это означает, что транзакция, которая была действительной в олимпийской тестовой сети, по-прежнему действительна для следующего выпуска (Frontier).

Если вы сделали транзакцию T в Olympic, которая отправляет эфир от адреса A до B, а затем повторно используйте ключ за адресом A в выпуске Frontier, эта транзакция T может быть транслирована снова (воспроизведена) и передача из A в B произойдет в Frontier, даже если вы (владелец A) не собираетесь это делать.

Вот почему людей попросили не использовать ключи.

ответил arhuaco 20 Jpm1000000pmWed, 20 Jan 2016 20:44:31 +030016 2016, 20:44:31
1

Чтобы избежать повторной атаки, используйте транзакцию EIP155 которые доступны с блока 2675000. Они включают chainID в подпись транзакции. Убедитесь, что ваше программное обеспечение кошелька включено в EIP155, и вы будете в безопасности.

ответил Nulik 11 MonEurope/Moscow2017-12-11T01:41:39+03:00Europe/Moscow12bEurope/MoscowMon, 11 Dec 2017 01:41:39 +0300 2017, 01:41:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132