Изследователите откриват уязвимост за Bitcoin, Ethereum и Ripple Digital Signatures в дефектни реализации
Изследователите наскоро идентифицираха уязвимости в криптографските подписи за Bitcoin, Ethereum и Ripple, които позволяват на нападателите да изчисляват частни ключове и следователно да крадат всяка криптография в този портфейл. Като цяло изследователите са изчислили стотици биткойн частни ключове и десетки частни ключове Ethereum, Ripple, SSH и HTTPS, използвайки тази уникална форма на криптоаналитична атака.
Във вестника Пристрастен Nonse Sense: Решетъчни атаки срещу слаби подписи на ECDSA в криптовалути, изследователите използват метод за изчисляване на частни ключове чрез анализ на подписите на Биткойн. Изследователите също са успели да приложат тези техники към Ethereum и Ripple.
Въпреки това, тези уязвимости се появяват само в крайни случаи, когато кодът не се прилага правилно от разработчиците или вероятно е възникнал поради дефектен хардуер с много подписи. Изследването подчертава устойчивостта на криптографските схеми, използвани от криптовалутите, както и подчертава значението на правилното прилагане.
Предистория на научните изследвания
Винаги, когато притежателите на крипто правят транзакция, те трябва да създадат криптографски подпис, използвайки алгоритъм за цифров подпис на елиптична крива (ECDSA). В този алгоритъм софтуерът предлага произволно число, което се използва само веднъж за комуникация – това число се нарича nonce.
От решаващо значение е софтуерът да подписва всяка транзакция с различен nonce, в противен случай хакерите могат (доста лесно) да намерят и изчислят личния ключ на подписващите. Има дори доказателства, че хакерите непрекъснато наблюдават блокчейна за подобни видове повтарящи се нонсове, извличайки пари от компрометирани ключове.
По-малко известното е, че нападателите могат да изчисляват ключове от подписи, които използват различни, но подобни понятия. Например, ако nonce имат символи, които са подобни в началото на подписа, или ако nonce имат символи, които са подобни в края на подписа, тогава ще се случи някакво голямо лошо ужасно нещо.
Какво казват изследователите
CryptoSlate се свърза с двамата автори на статията: д-р Надя Хенингер е доцент по компютърни науки в Калифорнийския университет. Йоахим Брайтнер е старши изследовател в ДИФИТНОСТ. Според д-р Хенингер уязвимостта е описана по следния начин:
„Алгоритъмът за цифров подпис на ECDSA изисква генериране на произволно число за всеки подпис, което често се нарича„ nonce “(Това е различно от nonces, използвано при добива на криптовалута). Ако тези случайни стойности, използвани в подписите, не се генерират правилно, в някои случаи нападателят може да изчисли частните ключове за подписване. Видовете nonce уязвимости, които използвахме, бяха изпълнения, които генерираха стойности, които бяха много по-кратки, отколкото би трябвало да бъдат, или стойности, които споделят повечето или най-малко значимите битове. “
И, използвайки някаква предварителна математика, наречена решетки, двамата успяха да пробият някои от тези адреси на портфейла и да намерят частните ключове:
„За маниаците в аудиторията решетъчните алгоритми ни позволяват да намерим малки решения на слабо ограничени системи от линейни уравнения. Съществуват редица крипотаналитични техники, които използват решетъчни алгоритми като градивен елемент. “
Както се посочва в статията, всяко неравномерност при генерирането на тези подписи може да разкрие информация за частния ключ. При достатъчен брой подписи хакерите могат да изчисляват частни ключове и да получат достъп до портфейла на потребителя и да източват средствата му.
Трябва ли потребителите на крипто да се притесняват?
Според д-р Хенингер и Брайтнер, по-голямата част от потребителите на криптовалута не трябва да се притесняват:
„Единствената причина това да се случи е, ако има някакъв вид грешка в кода за цифров подпис.“
Освен това, докато разработчиците използват правилните техники и документирани методи, за да гарантират сигурността на потребителите, схемата за подпис се счита за сигурна:
„Доколкото знаем, ECDSA е сигурен алгоритъм за цифров подпис, ако се прилага правилно. Ние стигнахме до заключението, че това не са често срещани изпълнения, основаващи се на факта, че открихме само няколко хиляди уязвими подписа от близо милиард биткойн подписи, които разгледахме.
Освен това тези уязвимости са само „специфични за отделни внедрения. Освен това авторите предполагат, че дефектната реализация може да е резултат от няколко многофакторни устройства за сигурност:
„Споменаването на многофакторната сигурност е специфично за случая на подписите, които открихме с 64-битови нонсове в блокчейна на Биткойн. Почти всички от тях са били част от адреси на мултисиг, което не е обичайният случай в блокчейна, следователно предположението ни за източника. Оттогава има такива допълнителни спекулации относно конкретното изпълнение. “
Сега има начини за разработчиците да внедрят ECDSA без уязвимостите, описани в статията, дори за хардуерни устройства. Според Брайтнер:
„Официалните блокчейн клиенти получават крипто правилно … от 2016 г. клиентът на Биткойн използва детерминирани подписи (RFC6979), което напълно премахва необходимостта от случайност в процеса [елиминирайки възможността от вида атака, използвана от изследователите]. Ако използвате нестандартни библиотеки или ако пишете свои собствени криптопрограми … трябва да се уверите, че те използват RFC6979. Това е още по-важно за вградени устройства или хардуерни маркери, където може да се окаже трудно да се намери добър източник на случайност. “
Изгодно за нападателите?
В крайна сметка, тези видове атаки не са рентабилни, като се има предвид времето, електричеството и изчислителната мощност, необходими за тяхното провеждане – дори с този нов инструмент, добавен към техния арсенал:
„Като се има предвид, че нападателите вече използват други криптографски уязвимости, за да компрометират портфейли, изглежда вероятно това да бъде добавено към техния арсенал. Ако обаче човек трябва да плати за изчислителното време, за да извърши изчислението, това вероятно не е рентабилна атака предвид балансите, които открихме, свързани с уязвими ключове. “
В края на деня, изследването уверява потребителите на криптовалута, че криптографията, подчертаваща биткойн и други цифрови валути, е добра. С десетки хиляди хора, които изследват основния код на тези системи, това е свидетелство, че основните схеми за сигурност, ако се използват правилно, все още защитават адекватно потребителя –за сега.