​Исследователи нашли уязвимости в цифровых подписях биткоина, Ethereum и Ripple

​Исследователи  нашли уязвимости в цифровых подписях биткоина, Ethereum и Ripple

Недавно исследователи идентифицировали уязвимости в криптографических подписях для биткоина, Ethereum и Ripple, которые позволят хакерам вычислить закрытые ключи и, следовательно, украсть любую криптоваюту в кошельке. В целом, исследователи вычислили сотни закрытых ключей биткоина и десятки - Ethereum, Ripple, SSH, а также закрытые ключи НТТРS, используя только эту форму криптоаналитической атаки.

В документе «Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies» исследователи используют метод вычисления закрытых ключей, анализируя подписи биткоина. Эти методы удалось также применить к Ethereum и Ripple.

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

Предыстория исследования

Каждый раз, когда владельцы криптовалют совершают сделку, они должны создавать криптографическую подпись, используя алгоритм цифровых подписей на основе эллиптических кривых (ECDSA). В этом алгоритме ПО создает произвольное число, которое используется один раз для коммуникации – это число называется случайным кодом.

Важно, что ПО подписывает каждую транзакцию с разным случайным кодом, иначе хакеры могут найти и вычислить закрытые ключи подписывающих. Есть даже доказательства, что хакеры постоянно мониторят блокчейн для этого типа повторяющихся случайных кодов, извлекая деньги из кошельков со скомпрометированными ключами. Меньше людей знают, что нападавшие могут вычислить ключи для подписей, которые используют разные, но похожие случайные коды. Например, если случайные коды будут иметь символы, которые похожи в начале подписей, или если у случайного кода будут похожие символы в конце подписей, может произойти нечто ужасное.

Что говорят исследователи

Авторы статьи – доктор Надя Хенингер (Nadia Heninger), ассоциированный профессор информатики в университете Калифорнии, и Йоахим Брейтнер (Joachim Breitner), старший научный сотрудник в DFINITY. По словам доктора Хенингер, уязвимость описана следующим образом:

Алгоритм цифровой подписи ECDSA запрашивает генерацию случайного числа для каждой подписи, которую часто называют «случайным кодом» (он отличается от случайного кода, используемого в криптовалютном майнинге). Если это случайное значение, используемое в подписи, неправильно сгенерировано, в некоторых случаях хакеры могут вычислить закрытые ключи подписи. Типы уязвимостей случайных кодов, которые мы использовали, были реализациями, которые генерируют значения, которые намного короче, чем они должны быть, или значения, которые разделяются более-менее значащими битами.

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

Для «ботаников», решетчатые алгоритмы позволяют нам найти небольшие решения для систем линейных уравнений без достаточных ограничений. Есть много криптоаналитических методов, которые используют решетчатые алгоритмы в качестве структурного элемента.

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

Нужно ли волноваться держателям криптовалют?

По словам авторов работы, большинство владельцев криптовалют могут не волноваться:

Единственная причина, по которой может произойти такая ситуация, это наличие определенного типа ошибки в коде цифровой подписи.

Кроме того, пока разработчики используют надежные технологии и задокументированные методы, чтобы обеспечить защиту пользователей, схема подписи считается безопасной:

Насколько мы знаем, ECDSA – безопасный алгоритм цифровой подписи, если он правильно реализован. Мы пришли к заключению, что нет общих реализаций на основе того факта, что мы нашли только несколько тысяч уязвимых подписей из около миллиарда подписей биткоинов, которые мы проверили.

Кроме того, эти уязвимости «характерны для отдельных реализаций». Авторы также предполагают, что некорректная реализация, возможно, может быть результатом некоторых мультифакторных устройств защиты:

Упоминание о мультифакторной защите характерно для случаев подписей, которые мы обнаружили с битным случайным кодом на биткоин-блокчейне. Почти все они были частью мультиподписей, которые не являются обычным использованием блокчейна, отсюда наше предположение об источнике. С того времени появилось несколько новых предположений об определенных реализациях.

Есть методы для разработчиков по реализации ECDSA без уязвимостей, которые также описаны в документе, даже для аппаратных устройств:

Официальные блокчейн-клиенты получают свою криптовалюту правильно… с 2016 года биткоин-клиент использует детерминированные подписи (RFC6979), которые полностью избавляют от необходимости вносить фактор случайности в процесс (устраняя возможность типа атаки, используемой исследователями). Если вы используете нестандартные библиотеки, или если вы написали свой собственный криптокод… вы должны убедиться, что они используют RFC6979. Это даже важнее для встроенных устройств или аппаратных токенов, где хороший источник найти сложно.

Выгода для хакеров?

В конечном счете, эти типы атак невыгодны, учитывая количество времени, электричества и вычислительных ресурсов, необходимых для их реализации:

Учитывая, что хакеры уже эксплуатируют другие криптографические уязвимости в скомпрометированных кошельках, кажется возможным, что это будет добавлено к их арсеналу. Но, если нужно платить за вычислительное время, чтобы сделать вычисления, это, возможно, невыгодная атака, учитывая балансы, которые мы нашли на ассоциированных с уязвимыми ключах.

В заключение исследователи заверили пользователей криптовалют, что криптографическая база биткоина и других криптовалют – это нормально. Десятки тысяч людей, тщательно исследующих базовый код в этих системах, являются свидетельством того, что базовые схемы защиты, если используются правильно, все еще адекватно защищают пользователя.

Комментарии 0
tt_banner

Подпишитесь на наш Телеграм канал

Инсайдерские новости. Обучающие материалы. Прогнозы курсов криптовалют