Автор |. КІМ ЦЕТТЕР
Компіляція |. Wu Shuo Blockchain
Два роки тому, коли «Майкл», власник криптовалюти, зв’язався з Джо Грандом по допомогу у відновленні близько 2 мільйонів доларів у біткойнах, які він зберігав у зашифрованому форматі на своєму комп’ютері, Гранд відмовив йому.
Майкл живе в Європі і побажав залишитися анонімним. Він зберігає криптовалюту в цифровому гаманці, захищеному паролем. Він створив пароль за допомогою менеджера паролів RoboForm і зберіг пароль у файлі, зашифрованому за допомогою TrueCrypt. У якийсь момент файл був пошкоджений, і Майкл втратив доступ до 20-значного пароля, який він створив для захисту 43,6 BTC (коштував 5300 доларів США в 2013 році). Майкл створив пароль за допомогою менеджера паролів RoboForm, але не зберіг його в менеджері. Він хвилювався, що хтось зламе його комп’ютер і отримає його пароль.
«У той час я був справді параноїком щодо своєї безпеки», — сміється він.
Гранд — відомий апаратний хакер, який у 2022 році допоміг іншому власнику криптогаманця відновити доступ до 2 мільйонів доларів у криптовалюті, які, на його думку, були втрачені назавжди, після того як власник забув PIN-код свого гаманця Trezor. Відтоді десятки людей звернулися до Гранда з проханням допомогти їм повернути свої статки. Але Гранд, який має хакерське прізвисько «Kingpin», відхилив більшість запитів з різних причин.
Гранд, інженер-електрик, який зламував комп’ютерне обладнання з 10 років, був співведучим програми «Prototype This» на Discovery Channel у 2008 році. Зараз він консультує компанії, що розробляють складні цифрові системи, допомагаючи їм зрозуміти, як апаратні хакери, як він, можуть скомпрометувати їхні системи. Він використав складні апаратні методи, щоб зламати гаманець Trezor у 2022 році, змусивши гаманець на основі USB відкрити свій пароль.
Але Майкл зберігає свої криптовалюти в програмному гаманці, що означає, що апаратні навички Гранда цього разу марні. Він розглядав можливість підбору пароля Майкла — написання сценарію, який би автоматично вгадував мільйони можливих паролів, щоб знайти правильний — але вирішив, що це неможливо. Він коротко подумав, що менеджер паролів RoboForm, який Майкл використовує для генерації паролів, може мати вразливість у способі генерації паролів, що полегшить його вгадування. Однак Гранд не впевнений, що така вразливість існує.
Майкл зв’язався з кількома людьми, які спеціалізувалися на зломі криптографії, і всі вони сказали йому, що «немає шансів» повернути свої кошти. Але минулого червня він знову зв’язався з Грандом, сподіваючись переконати його допомогти, і цього разу Гранд погодився спробувати, працюючи зі своїм другом Бруно, який також працює над зломом цифрових гаманців у Німеччині.
Гранд і Бруно витратили кілька місяців на розробку версії програми RoboForm, яку, як вони вважали, використовував Майкл у 2013 році, і виявили, що генератор псевдовипадкових чисел, який використовувався для генерації паролів, справді мав суттєвий недолік, через який згенеровані випадкові числа були менш випадковими. . Програма RoboForm нерозумно прив’язує випадковий пароль, який вона генерує, до дати й часу на комп’ютері користувача — вона визначає дату й час комп’ютера, а потім генерує передбачуваний пароль. Якщо ви знаєте дату, час та інші параметри, ви можете розрахувати будь-який пароль, згенерований у певну дату та час у минулому.
Якби Майкл знав дату або приблизний діапазон часу у 2013 році, коли він створив пароль, і параметри, які він використав для створення пароля (наприклад, кількість символів у паролі, включаючи великі та малі літери, цифри та спеціальні символи), це дасть діапазон можливих вгадувань пароля, звузити його до контрольованої кількості. Потім вони могли захопити здатність RoboForm перевіряти дату й час комп’ютера, змусивши вважати, що поточною датою є день у 2013 році, коли Майкл згенерував пароль. RoboForm викидає ті самі паролі, згенеровані в ті дні 2013 року.
Є проблема: Майкл не може точно пригадати, коли він створив свій пароль.
Згідно з журналами його програмного гаманця, Майкл вперше перевів біткойни на свій гаманець 14 квітня 2013 року. Але він не міг пригадати, чи згенерував він пароль того самого дня, чи трохи раніше чи пізніше. Отже, після перегляду параметрів для інших паролів, які він створив за допомогою RoboForm, Гранд і Бруно налаштували RoboForm для генерації 20-значних паролів, що містять великі та малі літери, цифри та вісім спеціальних символів, починаючи з 1 березня по 20 квітня 2013 року. Але все одно правильний пароль не був створений. Тому Гранд і Бруно розширили часові рамки з 20 квітня по 1 червня 2013 року, використовуючи ті самі параметри. Все ще без успіху.
Майкл сказав, що вони постійно поверталися до нього і запитували, чи він впевнений щодо параметрів, які він використовує. Він залишився при своїй відповіді.
«Вони мене дуже дратували, бо хтозна, що я робив 10 років тому», — згадував він. Він знайшов інші паролі, які згенерував за допомогою RoboForm у 2013 році, і два з них не використовували спеціальні символи, тому Гранд і Бруно внесли корективи. У листопаді минулого року вони зв’язалися з Майклом, щоб домовитися про особисту зустріч. «Я подумав: «Боже мій, вони знову просять мене встановити параметри».»
Натомість вони сказали йому, що нарешті знайшли правильний пароль — без спеціальних символів. Цей пароль було створено 15 травня 2013 року о 16:10:40 за Гринвічем.
«Зрештою, нам пощастило вибрати правильні параметри та часові рамки. Якби хтось із них був неправильним, ми б... продовжували сліпо вгадувати», — сказав Гранд в електронному листі WIRED. «Попереднє обчислення всіх можливих паролів займе значно більше часу».
Гранд і Бруно створили відео, в якому докладніше пояснюють технічні деталі.
RoboForm, розроблений американською компанією Siber Systems, є одним із перших менеджерів паролів на ринку, який наразі має понад 6 мільйонів користувачів у всьому світі. Згідно зі звітами компанії, Siber виправив менеджер паролів RoboForm у 2015 році. Короткий огляд, проведений Грандом і Бруно, не виявив, що генератор псевдовипадкових чисел у версії 2015 року не використовував комп’ютерний час, що змусило їх вважати, що Siber видалив цю функцію, щоб усунути вразливість, хоча Гранд сказав, що знадобиться більш глибоке дослідження. знати напевно.
Siber Systems підтвердили WIRED, що вони виправили проблему у версії RoboForm 7.9.14, випущеній 10 червня 2015 року, але представник не відповів на запитання про те, як її було вирішено. У журналі змін на веб-сайті компанії лише згадується, що програмісти Siber внесли зміни, щоб «підвищити випадковість генерованих паролів», але не вказується, яким чином. «РобоФорм 7 було припинено в 2017 році», — сказав представник Siber Саймон Девіс.
Не знаючи, як Siber вирішив цю проблему, зловмисники все ще можуть відтворювати паролі, згенеровані попередньою версією RoboForm від 2015 року, сказав Гранд. Він також не впевнений, чи поточна версія охоплює проблему.
«Поки не стане ясно, як вони насправді покращили генерацію паролів в останніх версіях, я все ще не впевнений, що варто довіряти», — сказав він. «Я не впевнений, що RoboForm знає, наскільки серйозною є ця конкретна вразливість».
Клієнти все ще можуть використовувати паролі, згенеровані з попередньої версії. Здається, Siber ніколи не сповіщав клієнтів, коли випустив виправлення 7.9.14 у 2015 році, що їм слід створити нові паролі для важливих облікових записів або даних. У компанії на це запитання не відповіли.
Якщо Siber не повідомить клієнтів, це означає, що такі люди, як Майкл, які використовували RoboForm для генерації паролів до 2015 року і досі ними користуються, можуть мати паролі, які хакери можуть легко відновити.
«Ми знаємо, що більшість людей не змінюють свої паролі без запиту», — сказав Гранд. «У моєму менеджері паролів (не RoboForm) є 935 паролів, 220 із них були створені у 2015 році та раніше, і більшість із них призначені для веб-сайтів, якими я досі користуюся».
Залежно від того, як компанія вирішила проблему в 2015 році, нові паролі також можуть бути вразливими.
У листопаді минулого року Гранд і Бруно зняли відсоток біткойнів з рахунку Майкла в якості оплати за їхню роботу, а потім передали йому пароль. Ціна біткойна на той час становила 38 000 доларів за монету. Майкл дочекався, поки ціна підніметься до 62 000 доларів за монету, і трохи продав. Зараз у нього є 30 BTC, вартістю 3 мільйони доларів, і він чекає, поки ціна підніметься до 100 000 доларів за монету.
Майкл сказав, що йому пощастило, що він втратив свій пароль багато років тому, тому що в іншому випадку він продав би свої біткойни по 40 000 доларів за штуку і втратив би більші статки.
«Забути свій пароль — це добре з фінансового боку».