Brainflayer: взломщик мозговых паролей

Human head MRI dot matrix, artwork

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

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

Райан Кастеллуччи планирует обнародовать своё творение в следующем месяце на хакерской конференции DefCon. Он называет свою программу Brainflayer (дословно — свежевальщик мозгов). Её функционал позволяет взламывать мозговые кошельки. На самом деле, мудрым биткойнерам уже давно известно, что мозговые кошельки, несмотря на хранение криптобогатств в глубинах пользовательского мозга, часто бывают небезопасны. Кастеллуччи говорит, что его программа-взломщик предназначена для проведения публичной демонстрации этой уязвимости для тех, кто еще не в курсе сложившейся ситуации, а также для того, чтобы положить конец этой порочной практике.

«Люди по-прежнему хотят пользоваться мозговыми кошельками, так как им нравится идея ключа, хранимого в голове… Они отрицают всю плачевность ситуации, и некоторые из них бывают наказаны за свою халатность», — говорит Кастеллуччи, работающий исследователем в компании White Ops, специализирующейся на кибер безопасности. Он также заявляет, что его программное обеспечение, которое он планирует опубликовать на сайте в момент своего выступления в следующем месяце, призвано послужить предупреждением: «Пожалуйста, переместите свои биткойны в место, где им ничего не будет угрожать. Вот доказательство, что такой способ хранения небезопасен».

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

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

Кастеллуччи впервые написал взломщик мозговых паролей от кошельков (которому и суждено позднее было стать Brainflayer-ом) еще в 2013, вскоре после того, как он прочитал о самой технологии таких кошельков. Он оставил свою программу работать, сканируя уязвимые биткойн-адреса, а сам на несколько часов отправился на пикник. К тому времени, когда он вернулся, программа уже нашла кошелек, содержащий 250 биткойнов на сумму $ 66,000 по сегодняшнему курсу, уязвимый для кражи. Кастеллуччи в конце концов удалось связаться с владельцем того биткойн-адреса и убедить его переместить свои биткойны в более безопасное место. Вообще, есть много инцидентов, связанных с кражами из мозговых кошельков. Одна из жертв, пользователь форума Reddit под ником «thonbrocket», описывает, как он использовал фразу из малоизвестного стихотворения на языке африканс в качестве ключевой фразы, и был потрясен, обнаружив, что кто-то разгадал эту фразу, украв у него 4 биткойна.

Кастеллучи не сообщает какова скорость подбора фраз его программой с помощью обычного компьютера. Все детали он раскроет на конференции DefCon. Однако, он намекает, что, если его программу запустить на подконтрольной сети зараженных вирусами компьютеров (бот-нет), вполне можно достичь скорости перебора в сто миллиардов ключевых фраз в секунду. По его словам, это больше, чем скорости перебора доступные с помощью других взломщиков паролей: программа специально оптимизирована для выполнения задач быстрой генерации биткойн-ключей и сканирования блокчейна на их валидность. Он применил метод, известный как фильтр Блума, для наиболее эффективного нахождения уязвимых ключей в блокчейне. Его результаты не столь высоки, как триллионы паролей в секунду, о которых предостерегал Сноуден, указывая на АНБ. Тем не менее, это может удивить многих людей, которые считают, что их парольные фразы являются безопасными.

Нет причин думать, что Brainflayer является каким-то особо мощным взломщиком парольных фраз в сравнении с другими подобными программами, находящимися в руках злоумышленников. Но в том то и дело, говорит Дэн Камински, основатель компании White Ops, в которой работает Кастеллучи и известный исследователь в компьютерной безопасности, в чей круг интересов также входит и Биткойн. Brainflayer создан для выравнивания шансов в игре: он должен доказать, что небезопасная фраза может быть взломана. «Райан далеко не первый человек, написавший взломщик мозговых паролей», — говорит Камински. “Но если бы он хотел оставить всё как есть, то он был бы последним человеком, который бы должен был написать такую программу, ведь каждый хочет её заполучить».

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

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

Источник: wired



Categories: Безопасность, Важное, Криптография, Новичкам, Образование, Приложения, Технологии

Tags: , ,

Leave a Reply

41 Комментарий на "Brainflayer: взломщик мозговых паролей"

Notify of
avatar
Istvi
Гость

Здраствуйте!! Скажите пожайлуста я тепер в запутаности!! Я использую апаратный кошелек LEDGER, я помню он сгенерировал 24 слова ( вроде) для востановление, так вот он тоже мозговой?! И безопасной ли ВАБЩЕ?!?!

arvicco
Администратор

24 случайных слова — вполне надежный уровень безопасности. Речь идет о фразах и тем более цитатах, где уровень энтропии существенно меньше.

Istvi
Гость

Значит безпокоитса не стоит ?!

arvicco
Администратор

Если оригинальный набор слов лежит в надежном месте, а не записан на бумажке у всех на виду, то не стоит.

istvi
Гость

нет конечно, а вы не знаете примерно из скольких слов (случайных) генерируется MNEMONIC

istvi
Гость

bip-0039 же

trackback
Кошелек-вопросник: pазвитие идеи ‘кошелька в голове’ – Bit•Новости

[…] кошельки в памяти ненадежными. Некоторые биткойнеры потеряли свои средства неаккуратно используя технику кошелька в памяти. […]

Анонимно
Гость

Воу, thx за пост, пошёл брутить кошельки! Удачи)

Анонимно
Гость

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

impgun
Участник

Вот, кстати, книжка, более-менее относящаяся к теме:

http://www.amazon.com/Future-Crimes-Everything-Connected-Vulnerable/dp/0385539002

Влад
Гость

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

Анонимно
Гость

На бумажку или на флэшку можно записать числовой ключ, по которому вы можете восстановить сложную фразу, составленную из случайно выбранных слов ( см. ниже ответ Анону ). В случае забывания фразы ее можно будет восстановить в течение нескольких минут.

Анон
Гость

И все-таки, случайно сгенерированные парольные фразы, как в Electrum, будут хорошо сгенерированным случайным числом, или нет?

Анонимно
Гость
Если использовать даже небольшой словарь на 10 тысяч слов, фраза из 10 случайно (!) выбранных из него слов будет невзламываемой. На перебор всех вариантов — а их в данном случае будет 10^40 — не хватит времени существования Вселенной, даже если производить взлом на самом мощном суперкомпьютере планеты. Проблема с запоминанием может быть решена с помощью книги или журнала. Из домашней библиотеки выбирается любая книга, открывается на произвольной странице, и человек, не глядя, тыкает пальцем в произвольное место. Записывается три числа: номер страницы, номер строки, номер слова. Процедура повторяется 10 раз. Получившийся ряд из 30 чисел можно хранить где угодно. Взломать… Read more »
impgun
Участник

«Базу всех книг и журналов…» Скажем прямо, достаточно обрабатывать только популярные книги и журналы, потому что компромисс между безопасностью и юзабилити никто не отменял. А арендовать в Hadoop выч. мощность уже не проблема.

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

Анонимно
Гость
Вообще-то, недостаточно просто иметь базу книг и журналов. Многие книги пережили массу переизданий, и каждое из них может отличаться количеством страниц и версткой. Получается, надо иметь не просто базу всех популярных книг, а базу со всеми изданиями таких книг. Причем не в PDF, DjVu или fb2, а в Ворде или в другом текстовом формате. Это представляется малореальным. Кто и зачем будет хранить у себя мегатонны книжно-журнального мусора со всего мира, да еще и в Ворде? Но главное даже не это, а то, что потенциальный взломщик должен хотя бы ПРЕДПОЛАГАТЬ, что найденный на компе числовой ряд является фразой, закодированной именно с… Read more »
impgun
Участник

Кто будет хранить? Google! Amazon! А в мире тотального наблюдения (с дронами-стрекозами, тараканами и прочими прелестями) спрятать бумажку с числовым рядом будет не так уж и просто. Но это уже футурология, так что спорить не собираюсь. 🙂

Анонимно
Гость

Хранить будет блокчейн

impgun
Участник

А вообще похоже на новую итерацию старой проблемы:

impgun
Участник

Поясню комментарий от 21:18. Ваш способ плох тем, что это уже будет не brain wallet. А вот заучить несколько стишков, афоризмов или произвольных фрагментов текста на разных языках вполне несложно, и не надо ничего хранить «вне головы», так сказать.

Анонимно
Гость
Вероятность просто забыть сложный brain wallet ( даже не весь, а любую его часть ) во много-много раз больше, чем вероятность взлома составленного по книге числового ряда. Никто не будет создавать ни базы с вордовскими текстами, ни соответствующую программу для брутфорса, пока число «кодировщиков по книге» не станет исчисляться миллионами. А такое вряд ли вообще когда-либо случится. Люди ленивы, и в подавляющей своей массе на такой гемор никогда не пойдут. Подобные заковыристые ручные методы всегда будут уделом горстки параноиков. Именно из-за этого такие методы, при правильной реализации, чрезвычайно безопасны. Правда, если дело дойдет до терморектального криптоанализа, то тут уж ничего… Read more »
impgun
Участник

Вполне возможно, что такие базы будут созданы в рамках каких-нибудь проектов по Natural Language Processing. Программу для брутфорса в кластере Hadoop уже сейчас написать можно за день максимум. А над защитой от терморектального криптоанализа (это называется «rubber hose attack») тоже уже работают:

Влад
Гость

Может я чего то не понял… Нужно помнить 10 мест в некоторой книге? Это же сложно. Через пол года начнешь путаться. Если 30 чисел хранить, то помнить места в книге не нужно. Но тогда проще сгенерировать эти числа генератором случайных чисел. Если же не хранить 30 чисел, то нужно хранить книгу. Всегда возить её с собой. Брать на пляж. Это будет забавно и необычно.

Анонимно
Гость

Эти числа нельзя генерировать генератором, чтобы далее использовать их хэш как пароль, иначе утечка этих чисел в злые руки будет для юзера фатальной. Числа нужно получать самому, вручную. А книгу нужно хранить, да. На пляж и в другие места ее брать не обязательно. Такой невзламываемый способ имеет смысл использовать для кошелька, на котором лежат серьезные суммы. А для повседневной текучки надо использовать другой кошелек, который можно закрывать паролем, как бог на душу положит. Даже если его и ломанут, то будет потерян бюджет 1-3 дней. Это не критично.

Asd_skala
Гость

Электум не позволяет ввести свою фразу, работают только те которые сгенерировал кошелек, что как бы намекает

Анонимно
Гость

Это очень плохо. Значит, этой штукой лучше не пользоваться. «Случайные» фразы могут быть не совсем случайными. Вообще, генерацию пароля доступа к своим деньгам ни в коем случае нельзя отдавать на откуп третьей стороне.

impgun
Участник

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

Ссылка по теме:
Electrum seed phrases
https://electrum.orain.org/wiki/Electrum_seed_phrases

Анонимно
Гость
Неслучайность «случайных» паролей — это всегда удар по безопасности. Энтропия пароля при этом падает просто катастрофически. Например, энтропия пароля из 13 случайных букв — 62 бита ( 4 миллиарда миллиардов вариантов ), а энтропия 13-буквенного осмысленного слова — всего-навсего 9 бит ( 590 вариантов ). Открытый исходный код — это, конечно, гуд. Но это всё же не гарантия. Хватает случаев, когда в полностью открытом коде находили опасные дыры лишь спустя много лет после его появления. Если есть выбор, генерить пароль самому, или довериться в этом критически важном вопросе стороннему дяде, я бы рекомендовал выбирать решения, где юзер сам контролирует собственную… Read more »
impgun
Участник

How secure is the seed?
The seed created by Electrum has 128 bits of entropy. This means that it provides the same level of security as a Bitcoin private key (of length 256 bits). Indeed, an elliptic curve key of length n provides n/2 bits of security.

Отсюда:
http://electrum.orain.org/wiki/Frequently_Asked_Questions#How_secure_is_the_seed.3F

impgun
Участник

Вопрос Анонимусу от 16:19
А почему 9-битная энтропия эквивалентна 590 вариантам, а не 2^9 = 512?

Анонимно
Гость

))) Хороший вопрос. 590 — это количество осмысленных 13-буквенных слов в английском языке. Определяя энтропию 13-буквенного слова, мы берем ближайшее число, целиком помещающееся в 590. Это 512, то есть 9 бит.

impgun
Участник

Ну так надо на немецкий переходить! У них 13-буквенных слов выше крыши!

impgun
Участник

«590 – это количество осмысленных 13-буквенных слов в английском языке. »

Кхм, а откуда такая эксклюзивная информация???

Анонимно
Гость

)))))) Еще один хороший вопрос. По запросу в Гугле «количество слов из 13 букв в английском языке» — первая же ссылка ведет на страницу Викисловаря с полной раскладкой количества слов по количеству букв ( от 1 до аж 85 ). Вот оттуда и взято сакральное число «590» )))

impgun
Участник

Коммент не туда запостился. Дублирую.

Ну так надо на немецкий переходить! У них 13-буквенных слов выше крыши!

impgun
Участник

Виноват. Всего лишь 785.

impgun
Участник

Блять!
Слова из 13 букв/ru‎ (12041 с.)
Слова из 15 букв/ru‎ (6082 с.)
Слова из 16 букв/ru‎ (4275 с.)
Слова из 17 букв/ru‎ (2775 с.)
Слова из 18 букв/ru‎ (1854 с.)
Слова из 19 букв/ru‎ (1148 с.)

Анонимно
Гость

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

impgun
Участник

ОК, буду пьяный ебашить по клаве, как всегда и делаю. 🙂

Sandy
Гость

ОК, буду пьяный ебашить по клаве, как всегда и делаю.

Какие интересные авторы пишут статьи на этом сайте…

wpDiscuz