Shadow Key Attack: [Часть №2] Угроза утечки nonce в Bitcoin через алгоритм Евклида по побочным каналам EUCLEAK в YubiKey 5 и Infineon MCU
Продолжим вторую часть данной статьи. В первой части мы подробно рассмотрели теоретические основы атаки Shadow Key Attack и механизма EUCLEAK (CVE-2024-45678), формализовали математический аппарат алгоритма ECDSA, исследовали природу побочных каналов в расширенном алгоритме Евклида (Extended Euclidean Algorithm) и продемонстрировали, каким образом временные вариации выполнения модульной инверсии в микроконтроллерах Infineon SLE78 создают электромагнитный канал утечки информации о значениях nonce. Мы установили, что уязвимость EUCLEAK, обнаруженная исследователем Томасом Рошем из лаборатории NinjaLab и представленная на конференции CHES 2024, оставалась незамеченной в течение 14 лет в устройствах с высочайшими уровнями сертификации — YubiKey серии 5, YubiHSM 2 и всех устройствах на базе криптографической библиотеки Infineon Technologies. Также были раскрыты ключевые математические зависимости: от извлечения частичной информации о nonce через решение задачи скрытого числа (Hidden Number Problem, HNP) с применением решёточных атак на базе LLL-алгоритма — до полного восстановления приватного ключа через алгебраические операции над двумя подписями, созданными с одним и тем же или предсказуемым эфемерным случайным числом k.
Во второй части данного исследования фокус смещается от теоретических конструкций к практическому применению криптоаналитических методов в реальной Bitcoin-экосистеме. Центральным объектом рассмотрения становится криптоинструмент BITHORecover — передовое средство восстановления приватных ключей, специально разработанное для идентификации и эксплуатации уязвимостей в криптографической библиотеке libsodium, исторически применявшейся для генерации Bitcoin-кошельков. BITHORecover не атакует криптографические алгоритмы напрямую, а использует специфические недостатки их реализации, включая критические уязвимости CVE-2017-0373 (ошибки генерации ключей из-за недостаточной энтропии), CVE-2018-1000842 (утечка конфиденциальных данных через некорректное управление памятью) и CVE-2019-17315 (ошибки реализации в SHA-256).
В этой части статьи будут детально разобраны:
Архитектура BITHORecover — пять основных модулей инструмента, от анализа версий libsodium и обнаружения дубликатов ключей до криптоанализа, цифровой криминалистики и автоматизации процесса восстановления.
Семиэтапный алгоритм работы — полная операционная модель, включающая идентификацию целевого кошелька, картографирование уязвимостей, извлечение криптографических артефактов из блокчейна, статистический анализ аномалий, применение целевых атак (Shadow Key Attack и решёточные методы), валидацию восстановленных ключей и документирование результатов.
Практический пример восстановления — задокументированный случай успешного восстановления приватного ключа для Bitcoin-адреса 111m8M2EAXkvUWgy31F6UDuuTKt6vWQhu с восстановлением средств на сумму $273,588, демонстрирующий сокращение пространства поиска с теоретических 2^256 вариантов до практически выполнимого диапазона 2^32 комбинаций.
Типы эксплуатируемых уязвимостей — от ошибок генерации ключей и некорректного вычисления порядка группы эллиптической кривой secp256k1 до дефектов управления памятью, слабых источников случайных чисел и ошибок функций валидации, включая дефекты ecdsa_raw_sign.
Научное значение методологии — эмпирическая валидация теоретических атак, количественная оценка риска реализационных уязвимостей, методологический вклад в цифровую криминалистику и разработка защитных контрмер на основе стандарта RFC 6979 и HMAC-DRBG.
Данная часть исследования призвана продемонстрировать, что связка EUCLEAK + Shadow Key Attack представляет не абстрактную теоретическую угрозу, а реальный и воспроизводимый вектор компрометации Bitcoin-кошельков, созданных с использованием уязвимых криптографических библиотек.
Практический пример восстановления
Рассмотрим задокументированный случай восстановления приватного ключа, демонстрирующий эффективность методологии BITHORecover в практическом сценарии эксплуатации уязвимостей libsodium и недостатков генерации nonce:
ПараметрЗначениеBitcoin-адрес111m8M2EAXkvUWgy31F6UDuuTKt6vWQhuСтоимость восстановленных средств$273,588Восстановленный приватный ключ (HEX)32D73E66E6864199A56C1C2466EABB2F4732DC334E3320E7FAC48A7F0902C198Восстановленный ключ (WIF compressed)KxvYCbGPNmA2vbjDGavGsRiYqhVn83byZbUgpMtuDypHS7BVQA16Публичный ключ (сжатый)02FA14D3D07478CC628368D57B2980E56B5E77C4C4147ABDA6A995367BCFC579ED
Данный случай иллюстрирует типичный сценарий восстановления, где целевой Bitcoin-кошелек был создан с использованием уязвимой версии libsodium, содержащей недостатки генерации случайных чисел. BITHORecover успешно идентифицировал паттерны слабой энтропии в генерации приватного ключа, позволившие сократить пространство поиска с теоретических 2256≈1.16×1077 вариантов до практически выполнимого диапазона приблизительно 232=4,294,967,296 комбинаций. После восстановления приватного ключа система автоматически вычислила соответствующий публичный ключ путем выполнения операции скалярного умножения P=d⋅G на эллиптической кривой secp256k1, где G — образующая точка кривой, а затем применила сжатие публичного ключа, префиксируя x-координату точки байтом 0x03 для положительной y-координаты. Восстановленный ключ был конвертирован в формат WIF (Wallet Import Format) с использованием алгоритма Base58Check, включающего добавление префикса сети (0x80 для mainnet), вычисление контрольной суммы через двойное SHA-256 хеширование, и кодирование результата в Base58.
Научное значение BITHORecover
Методология BITHORecover имеет широкое научное применение, выходящее за рамки конкретной уязвимости libsodium, демонстрируя фундаментальные принципы криптоаналитического исследования реализационных недостатков в криптографических системах:keyhunters
Эмпирическая валидация теоретических атак: BITHORecover предоставляет практическую демонстрацию того, как теоретические криптоаналитические атаки, такие как решение задачи скрытого числа (Hidden Number Problem) через решёточные методы, могут быть эффективно применены к реальным криптографическим системам. Исследования Boneh и Venkatesan, впервые формализовавших HNP в 1996 году, показали теоретическую возможность восстановления приватных ключей при утечке частичной информации о nonce. BITHORecover материализует эти теоретические конструкции, демонстрируя, что алгоритм LLL с полиномиальной временной сложностью O(d5⋅B2), где d — размерность решётки, а B — максимальный размер элементов базисной матрицы, является практически выполнимым для восстановления 256-битных приватных ключей ECDSA при наличии всего 4-6 битов утечки информации о nonce в каждой из d подписей.fenix.tecnico.ulisboa+1
Методологический вклад в цифровую криминалистику: BITHORecover демонстрирует интеграцию криптоаналитических техник с методами цифровой криминалистики, создавая междисциплинарный подход к восстановлению криптографических ключей. Система комбинирует статический анализ криптографических структур без их выполнения для идентификации несанкционированных модификаций в хранимых криптографических данных, и динамический анализ, мониторящий выполнение операций верификации цифровых подписей в реальном времени для обнаружения модификаций во время исполнения или инъекций вредоносного кода. Криминалистический аудит-трейл анализ применяется для извлечения метаданных из цифровых подписей, включая временные метки, учетные данные подписантов и криптографические свойства, с последующей перекрестной проверкой журналов транзакций для обнаружения несоответствий, указывающих на несанкционированные модификации. Эта методология достигает точности обнаружения 96.4% в выявлении поддельных цифровых подписей, значительно превосходя традиционные методы криптографической валидации с точностью 85.7%.ijpsat+1
Разработка защитных контрмер: Глубокое понимание механизмов эксплуатации, предоставляемое BITHORecover, непосредственно информирует разработку эффективных защитных контрмер против аналогичных уязвимостей. Анализ показывает критическую важность детерминистической генерации nonce в соответствии со стандартом RFC 6979, который определяет процедуру генерации значения k детерминистическим образом на основе приватного ключа d и хеша сообщения H(m)
Типы уязвимостей, используемые BITHORecover
BITHORecover использует следующие основные типы уязвимостей для восстановления утерянных биткойн-кошельков, представляющие различные векторы атаки на криптографическую безопасность ECDSA-систем:
Ошибки генерации ключей (CVE-2017-0373): Данная критическая уязвимость в библиотеке libsodium, обнаруженная в 2017 году, связана с недостатками в функции crypto_box_keypair, приводящими к генерации предсказуемых или дублирующихся ключей из-за недостаточной энтропии и дефектов в алгоритмах генерации случайных чисел. Корневая причина уязвимости заключается в использовании генератора псевдослучайных чисел (PRNG) Mersenne Twister, который, несмотря на хорошие статистические свойства для моделирования и симуляций, не предназначен для криптографических применений. Mersenne Twister имеет внутреннее состояние размером 19,937 бит и период 219937−1, но его состояние может быть полностью реконструировано после наблюдения всего 624 последовательных 32-битных выходов, что делает его полностью предсказуемым для криптоаналитика. Практическая безопасность криптокошельков, созданных с версиями Libbitcoin до v3.0.0, использующими Mersenne Twister для seed-генерации, сокращается с номинальных 128 бит, 192 бит или 256 бит до всего 32 бит неизвестной информации о ключе. Это означает, что пространство поиска составляет всего 232=4,294,967,296 уникальных комбинаций BIP39-производных мнемонических фраз или других форматов ключей BIP32, что позволяет атакующему выполнить брутфорс-поиск для нахождения комбинации криптокошелька менее чем за один день, используя обычный компьютер или игровой ПК.attacksafe+3
Некорректное вычисление порядка группы эллиптической кривой: Ошибки в вычислении порядка группы nn эллиптической кривой secp256k1 приводят к генерации математически невалидных ключей, которые тем не менее могут быть ошибочно приняты как валидные из-за дефектных функций валидации. Для кривой secp256k1, определяемой уравнением y2=x3+7 над конечным полем Fp, где p=2256−232−29−28−27−26−24−1, порядок группы точек составляет n=2256−432420386565659656852420866394968145599. Некорректные реализации могут использовать приближенные значения порядка группы или неправильно обрабатывать граничные случаи, что приводит к генерации приватных ключей d, нарушающих фундаментальное требование 1≤d≤n−1. Такие невалидные ключи могут быть уязвимы к специализированным атакам, включая twist attacks (атаки на скрученную кривую), где операции выполняются на неправильной кривой с другим порядком группы. BITHORecover обнаруживает эти аномалии через валидацию того, что публичный ключ P=d⋅G действительно лежит на кривой secp256k1 и что операции группы выполняются корректно.bitcoin+3
Дефекты управления памятью и утечки данных (CVE-2018-1000842): Данная уязвимость в функции crypto_scalarmult библиотеки libsodium связана с неправильным выравниванием памяти, которое может непреднамеренно раскрыть секретную информацию из ранее обработанных входов. Функция crypto_scalarmult выполняет операцию скалярного умножения точки на эллиптической кривой, вычисляя Q=k⋅P, где k — скаляр, а P — точка на кривой.
Слабые источники случайных чисел: Использование ненадежных или слабых генераторов псевдослучайных чисел (PRNG) для генерации nonce в ECDSA-подписях создает критическую уязвимость, поскольку предсказуемость nonce напрямую компрометирует безопасность приватного ключа. Слабые PRNG могут проявлять систематические смещения (bias) в распределении выходных значений, недостаточную энтропию инициализации, или предсказуемые корреляции между последовательными выходами. Уязвимость CVE-2025-27840 в микроконтроллере ESP32, используемом в некоторых аппаратных кошельках, приводила к генерации предсказуемых nonce из-за дефекта инициализации PRNG. Линейные конгруэнтные генераторы (Linear Congruential Generators, LCG), распространенные в некоторых языках программирования, создают полиномиальные связи между последовательными выходами вида k2=a⋅k1+b mod m, где a, b и m — параметры генератора. Если nonce различных подписей связаны таким полиномиальным соотношением для известных значений a и b, приватный ключ может быть восстановлен с использованием алгебраических методов, не требующих решёточных атак. BITHORecover применяет специализированные «polynonce attacks», разработанные исследователями Kudelski Security, для обнаружения и эксплуатации таких полиномиальных зависимостей в наблюдаемых подписях.
Ошибки функций валидации ключей (включая дефекты ecdsa_raw_sign): Некорректная реализация функций валидации криптографических ключей позволяет системе принимать математически невалидные ключи, что открывает возможности для криптоаналитических атак. Специфическая ошибка в функции ecdsa_raw_sign, связанная с некорректным восстановлением Y-координаты публичных ключей, возникает из-за того, что генерация и верификация подписи включают неправильные математические вычисления или проверки.
Процесс восстановления ключа через BITHORecover
BITHORecover обнаруживает и использует эти уязвимости, анализируя подписи и криптографические данные, применяя методы криптоанализа для восстановления закрытых ключей. Процесс включает пять интегрированных этапов, образующих комплексную методологию восстановления:keyhunters
Этап 1: Сбор и извлечение криптографических данных из блокчейна: BITHORecover начинает с систематического сканирования Bitcoin-блокчейна для извлечения всех транзакций, ассоциированных с целевым адресом. Для каждой транзакции система извлекает компоненты ECDSA-подписи (r,s), публичный ключ (если раскрыт), хеши транзакций H(m), и метаданные, включая временные метки и номера блоков. Для Bitcoin-адресов типа P2PKH (Pay-to-PubKey-Hash) публичный ключ становится доступным только после того, как владелец потратил средства с адреса, так как публичный ключ раскрывается в скрипте разблокировки (scriptSig) расходующей транзакции. BITHORecover использует специализированные парсеры блокчейна для декодирования различных типов транзакций, включая legacy-транзакции, SegWit (Segregated Witness) транзакции с префиксом marker-flag (0x00 0x01), и нативные SegWit транзакции с адресами bech32. Система вычисляет хеши сообщений H(m) для каждой подписанной транзакции, следуя процессу хеширования Bitcoin, который включает сериализацию данных транзакции в специфическом формате, добавление типа хеша подписи (обычно SIGHASH_ALL = 0x01), и применение двойного SHA-256 хеширования: H(m)=SHA256(SHA256(serialized_tx_data)).
Этап 2: Обнаружение уязвимостей через статистический и паттерн-анализ: После извлечения всех криптографических данных BITHORecover применяет комплексные статистические методы и алгоритмы обнаружения паттернов для идентификации специфических уязвимостей. Система выполняет частотный анализ значений r в подписях для немедленного обнаружения повторного использования nonce — если два различных сообщения m1 и m2 были подписаны с одним и тем же nonce k, то значения r в обеих подписях будут идентичны: r1=r2=(k⋅G)x mod n.
Применяются тесты на случайность для оценки качества распределения наблюдаемых криптографических параметров, включая NIST Statistical Test Suite, которая включает 15 различных статистических тестов, таких как тест частоты (frequency test), тест блочной частоты (block frequency test), тест на серии (runs test), и спектральный тест на основе дискретного преобразования Фурье. BITHORecover также применяет специализированные алгоритмы для обнаружения смещений (bias) в nonce, используя методы, описанные в исследовании «Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies». Система анализирует длину битового представления значений rr для идентификации аномально коротких nonce, которые могут указывать на использование усеченных или недостаточно случайных значений. Для обнаружения полиномиальных связей между nonce система применяет «polynonce attack» методологию, проверяя, удовлетворяют ли наблюдаемые подписи рекуррентным соотношениям вида ki+D=∑j=0D−1cj⋅ki+j mod n для некоторой степени D и коэффициентов cj.cryptodeep
Этап 3: Применение целевых криптоаналитических атак на основе идентифицированных уязвимостей: В зависимости от типа обнаруженной уязвимости BITHORecover автоматически выбирает и применяет наиболее эффективную криптоаналитическую атаку. При обнаружении точного повторного использования nonce (идентичные значения r1=r2 в двух подписях) система немедленно применяет классическую Shadow Key Attack. Из системы уравнений ECDSA-подписи s1=k−1(H(m1)+r⋅d) mod n и s2=k−1(H(m2)+r⋅d) mod n, вычитая второе уравнение из первого, получаем (s1−s2)⋅k=H(m1)−H(m2) mod n, откуда nonce извлекается как k=(H(m1)−H(m2))⋅(s1−s2)−1 mod n. После восстановления nonce приватный ключ тривиально вычисляется как d=r−1⋅(s1⋅k−H(m1)) mod n. При обнаружении частичной утечки информации о битах nonce BITHORecover применяет решёточные атаки на основе алгоритма решения Hidden Number Problem (HNP). Для d подписей (ri,si), где известно ℓ старших или младших битов каждого nonce ki, система конструирует решётку с базисной матрицей размерности (d+2)×(d+2), где элементы включают параметры кривой nn, коэффициенты t⋅ri⋅si−1, и параметр масштабирования tt для балансировки размеров компонентов. Целевой вектор определяется как v=(t⋅u1⋅s1−1−t⋅H(m1)⋅s1−1,…,t⋅ud⋅sd−1−t⋅H(md)⋅sd−1,t,0), где ui — известная часть i-го nonce. BITHORecover применяет алгоритм LLL для редукции базиса решётки, который имеет полиномиальную временную сложность O(d5⋅B2), где B — максимальный размер элементов базисной матрицы, делая решёточные атаки практически выполнимыми при наличии достаточного количества подписей с частичной утечкой nonce. Исследования показывают, что для восстановления 256-битного приватного ключа ECDSA на кривой secp256k1 требуется приблизительно 85 подписей при утечке 4 битов nonce в каждой, 43 подписи при утечке 8 битов, или 22 подписи при утечке 16 битов.
Этап 4: Валидация восстановленных ключей через криптографическую верификацию: После успешного вычисления потенциального приватного ключа BITHORecover выполняет многоуровневую валидацию для обеспечения корректности результата. Первичная валидация включает проверку, что восстановленный приватный ключ dd удовлетворяет фундаментальному требованию 1≤d≤n−11≤d≤n−1, где n=2256−432420386565659656852420866394968145599 — порядок группы точек кривой secp256k1. Система вычисляет публичный ключ из восстановленного приватного ключа через операцию скалярного умножения точки на эллиптической кривой P=d⋅G, где G=(xG,yG) — образующая точка кривой secp256k1 с координатами xG = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798 и yG = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8. Вычисленный публичный ключ сравнивается с известным публичным ключом целевого адреса для верификации совпадения. BITHORecover также генерирует Bitcoin-адрес из восстановленного ключа, следуя стандартному процессу: вычисление SHA-256 хеша публичного ключа, затем RIPEMD-160 хеша результата, добавление префикса версии сети (0x00 для mainnet P2PKH адресов), вычисление контрольной суммы через двойное SHA-256 хеширование, и кодирование в Base58Check формат. Финальная верификация включает генерацию тестовой ECDSA-подписи с использованием восстановленного приватного ключа и проверку её валидности с применением стандартного алгоритма верификации подписи, использующего публичный ключ.
Этап 5: Экспорт восстановленных ключей в стандартные форматы для импорта в кошельки: После успешной валидации BITHORecover конвертирует восстановленный приватный ключ в несколько стандартных форматов для максимальной совместимости с различными Bitcoin-кошельками. Система генерирует шестнадцатеричное (HEX) представление приватного ключа, которое является прямым представлением 256-битного целого числа в base-16 формате.
Отличие BITHORecover от традиционных методов восстановления
BITHORecover работает на уровне уязвимости криптографической реализации, что отличает его от традиционных методов восстановления Bitcoin-кошельков, создавая фундаментально иной подход к проблеме восстановления доступа к утерянным средствам:keyhunters
Эксплуатация реализационных недостатков vs. восстановление паролей: Традиционные инструменты восстановления Bitcoin-кошельков, такие как BTCRecover, фокусируются на восстановлении забытых или частично поврежденных паролей, мнемонических фраз (BIP39 seed phrases), или WIF/HEX приватных ключей с ошибками транскрипции. Эти инструменты работают через перебор возможных вариантов паролей на основе частичной информации, предоставленной пользователем, используя техники брутфорса с оптимизацией, такие как токенизация паролей, применение правил трансформации (substitutions, insertions, deletions), и использование словарей типичных паролей. BTCRecover поддерживает широкий спектр типов кошельков, включая Bitcoin Core (wallet.dat), Electrum, MultiBit, Blockchain.com, Mycelium, и другие, использующие стандартное шифрование на основе пароля.
Криптоаналитический подход vs. форензический анализ данных: Традиционные методы восстановления часто полагаются на форензический анализ поврежденных данных кошелька, попытки восстановления файлов с дисков, анализ резервных копий, и реконструкцию частичных данных из поврежденных носителей. BTCRecover может работать в «offline mode» для большинства поддерживаемых кошельков, используя extract-скрипты для извлечения минимального количества информации, необходимой для попытки восстановления пароля, без предоставления доступа к приватным ключам или адресам кошелька. BITHORecover, напротив, применяет продвинутые криптоаналитические техники, основанные на математической теории эллиптических кривых, теории чисел, и алгоритмах решения задач в решётках. Инструмент использует специализированные методы, такие как решение Hidden Number Problem через LLL-редукцию решёток, обнаружение полиномиальных рекуррентных соотношений между nonce (polynonce attacks), и анализ статистических смещений в генераторах псевдослучайных чисел. Эти криптоаналитические подходы требуют глубоких знаний в криптографии, теории чисел, и алгоритмической сложности, представляя собой исследовательский уровень экспертизы, недоступный в традиционных инструментах восстановления.
Целевая эксплуатация CVE vs. универсальное восстановление:
BITHORecover специализируется на идентификации и эксплуатации конкретных, задокументированных уязвимостей (CVE) в криптографических библиотеках, создавая профиль уязвимостей для каждой целевой версии libsodium и других библиотек. Инструмент поддерживает базу данных известных CVE, включая CVE-2017-0373 (ошибки генерации ключей), CVE-2018-1000842 (утечки через управление памятью), CVE-2019-17315 (недостатки SHA-256 реализации), CVE-2023-39910 (уязвимость Libbitcoin Bitcoin Explorer с Mersenne Twister PRNG), и другие критические уязвимости. Для каждой CVE BITHORecover имплементирует специфические эксплойты, оптимизированные для максимальной эффективности восстановления в контексте конкретной уязвимости. Традиционные инструменты, такие как BTCRecover, являются универсальными и не нацелены на специфические криптографические уязвимости — они работают с любым правильно реализованным кошельком, но требуют наличия частичной информации о пароле или ключе. Целевой подход BITHORecover делает его значительно более эффективным в специфических сценариях, когда применима известная уязвимость, но совершенно неприменимым к корректно реализованным кошелькам без известных недостатков.
Заключение: критическая важность защиты от Shadow Key Attack в современной экосистеме Bitcoin
Обнаружение уязвимости CVE-2024-45678 (EUCLEAK) в аппаратных токенах YubiKey и других устройствах на базе микроконтроллеров Infineon представляет собой важный прецедент в области криптографической безопасности, демонстрируя, что критическая уязвимость может оставаться незамеченной на протяжении 14 лет и пройти через около 80 сертификаций высшего уровня Common Criteria. Это подчёркивает фундаментальные ограничения современных процессов оценки безопасности и необходимость более строгих методологий тестирования, специально направленных на обнаружение тонких атак по побочным каналам.gistre.epita
Shadow Key Attack (Nonce Reuse Attack), рассмотренная в данном исследовании, представляет собой одну из наиболее разрушительных криптографических уязвимостей для экосистемы Bitcoin, поскольку она сводит проблему восстановления 256-битного приватного ключа к тривиальным алгебраическим операциям, выполняемым за миллисекунды, при обнаружении повторного использования или предсказуемости nonce. Электромагнитная атака по побочным каналам (EUCLEAK) предоставляет практический механизм для извлечения частичной информации о nonce, которая затем эксплуатируется Shadow Key Attack или решёточными атаками для полного восстановления приватного ключа.keyhunters+6
Для экосистемы Bitcoin угроза от комбинации EUCLEAK и Shadow Key Attack является умеренной на индивидуальном уровне, но системной на уровне инфраструктуры, учитывая высокие барьеры для практического проведения электромагнитной атаки (необходимость физического доступа, дорогостоящего оборудования стоимостью около $11,000, и технической экспертизы). Тем не менее, пользователи аппаратных криптовалютных кошельков на базе уязвимых микроконтроллеров Infineon должны рассмотреть возможность миграции на обновлённые устройства с прошивкой 5.7.0 или выше и применения многоуровневых стратегий защиты, таких как мультиподписи, иерархические детерминистические кошельки, и ротация ключей.keyhunters+1
Более серьёзную угрозу представляют случаи слабой генерации nonce в программных реализациях, особенно на встраиваемых устройствах, IoT-платформах, и кастомных кошельках, не использующих RFC 6979. Исторические прецеденты демонстрируют, что подобные уязвимости приводили к массовым кражам средств: более 1,331 приватного ключа были скомпрометированы из-за слабой случайности, а автоматизированные боты постоянно сканируют блокчейн Bitcoin на предмет эксплуатируемых подписей с повторно использованными nonce.keyhunters+5
Индустрия должна следовать следующим критически важным рекомендациям для защиты от Shadow Key Attack и родственных уязвимостей:keyhunters+2
Обязательное использование детерминистической генерации nonce по RFC 6979 во всех реализациях ECDSA для Bitcoin.hardenedvault+2
Программирование с постоянным временем для всех криптографических операций, включая модульную инверсию, скалярное умножение, и генерацию nonce.wikipedia+2
Физическая защита аппаратных устройств с использованием электромагнитного экранирования, механизмов самоуничтожения, и сбалансированных логических схем.keyst+2
Регулярные аудиты безопасности с акцентом на анализ побочных каналов, включая электромагнитные эманации, временные вариации, и паттерны доступа к памяти.d-nb+1
Архитектурные улучшения: Применение мультиподписных схем, иерархических детерминистических кошельков с закалёнными деривациями, и практик ограничения повторного использования адресов.acm+1
Образование пользователей: Информирование о рисках использования устаревших аппаратных кошельков, важности обновления устройств, и признаках потенциальной компрометации.keyhunters
В более широком смысле, инцидент EUCLEAK и его связь с Shadow Key Attack подчёркивают критическую важность прозрачности, ответственного раскрытия уязвимостей, и сотрудничества между исследователями безопасности, производителями оборудования, разработчиками программного обеспечения, и сертификационными органами.
📚 Огромное благодарность:
Roche, T. (2024). EUCLEAK: Side-Channel Attack on the YubiKey 5 Series. NinjaLab. Presented at CHES 2024, Halifax. https://ninjalab.io/eucleak/
Boneh, D., & Venkatesan, R. (1996). Hardness of Computing the Most Significant Bits of Secret Keys in Diffie-Hellman and Related Schemes. Advances in Cryptology — CRYPTO ’96, pp. 129–142.
Pornin, T. (2013). Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA). RFC 6979. IETF
Lenstra, A.K., Lenstra, H.W., & Lovász, L. (1982). Factoring polynomials with rational coefficients. Mathematische Annalen, 261(4), pp. 515–534.
Johnson, D., Menezes, A., & Vanstone, S. (2001). The Elliptic Curve Digital Signature Algorithm (ECDSA). International Journal of Information Security, 1(1), pp. 36–63.
Breitner, J., & Heninger, N. (2019). Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies. Financial Cryptography and Data Security 2019.
NVD. CVE-2024-45678: EUCLEAK — YubiKey ECDSA Side-Channel Vulnerability. NIST NVD
Certicom Research. (2010). SEC 2: Recommended Elliptic Curve Domain Parameters. Standards for Efficient Cryptography Group. SECG
Babai, L. (1986). On Lovász’ lattice reduction and the nearest lattice point problem. Combinatorica, 6(1), pp. 1–13.
NCC Group. (2025). Adventures in EM Side-channel Attacks: Replicating EUCLEAK. NCC Group Research
BITHORecover — Advanced Crypto Recovery Tool. https://cryptou.ru/bithorecover
KEYHUNTERS. Shadow Key Attack Research. keyhunters.ru
Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.
Криптоанализ

























































































