June 22, 2018

Взлет и падение Mt. Gox: Что нужно помнить 7 лет спустя

19 июня 2011 года хакер сумел взломать крупнейший в то время биткоин-обменник в мире под названием Mt. Gox. Вскоре после взлома была отмечена подозрительная торговая активность, в ходе которой биткоин упал с $17 до $0,01 за единицу. Хакеру досталась относительно небольшая сумма (около 2 тыс. BTC), а также база данных пользователей биржи, состоящая из их имен и хешированных паролей.

В итоге 7 февраля 2014 года биржа Mt. Gox объявила о закрытии, и к этому было много предпосылок: медленная работа, ошибки в обработке транзакций, неоднократные взломы и подозрения в том, что сотрудники компании участвовали в мошенничестве.

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

Цены на криптовалюты растут, их использование становится все шире, и такие сервисы становятся все более привлекательной мишенью для киберпреступников — и главным источником риска для пользователей, частных или корпоративных. В этой статье мы расскажем о взлете и падении Mt. Gox, поговорим о проблемах, всплывших на фоне взломов 2011 и 2014 годов, и обсудим некоторые риски, связанные с криптовалютными обменниками в целом.

История Mt. Gox

Американский программист Джед Маккалеб запустил сайт mtgox.com в 2007 году, и он был предназначен для торговли игральными картами для популярной настольной игры Magic: The Gathering (Mt. Gox расшифровывается как «Magic The Gathering Online eXchange»). В 2010 году Маккалеба заинтересовали биткоины, и к июлю площадка для торговли игровыми картами превратилась в биткоин-биржу, где можно было торговать цифровой валютой, а также пополнять счета, выводить деньги и управлять своими средствами.

К началу 2011-го сайт стал успешным — ежедневный объем транзакций составлял десятки тысяч долларов, — но Маккалеб перестал справляться, да и хакеры начинали интересоваться площадкой, что добавляло работы. Так что в марте создатель за бесценок продал Mt. Gox Марку Карпелесу, оставив за собой половину прибыли в первые полгода и 12% компании. Карпелесу стоило насторожиться при виде таких выгодных условий. У компании уже был долг в 80 тыс. пропавших BTC, а в контракте была следующая формулировка:

«Продавец не уверен, соответствует ли mtgox.com американским или иным законам… Покупатель обязуется компенсировать Продавцу потери, связанные с судебными исками, связанными с Покупателем, сайтом mtgox.com или любыми обстоятельствами, относящимися к этому соглашению».

Через несколько месяцев после того как Карпелес встал во главе компании, начались серьезные проблемы. 13 июня 2011 года Mt. Gox сообщила, что из 478 учетных записей украдены 25 тыс. BTC стоимостью (на тот момент) около 400 тыс. долларов. 17 июня на сайте pastebin, используемом в среде хакеров и пользователей IRC-часов для хостинга программного кода, появилось сообщение о продаже базы данных пользователей биржи. Сообщение было подписано ~ cRazIeStinGeR ~ и привязано к почте [email protected], и, хотя это был тревожный знак, компания предпочла его проигнорировать.

В субботу 18 июня Карпелес сообщил о нескольких случаях кражи средств, а в воскресенье 19 июня в 17:15:36 по всемирному координированному времени (UTC) на бирже внезапно началась подозрительная активность: кто-то выставил один или несколько заказов на продажу сотен тысяч BTC, после чего курс криптовалюты упал с $17 до $0,01. Крупнейшая сделка по этой цене была совершена на сумму в 261383,7630 BTC в 17:51:16; это была большая часть запасов биржи и 4% всех биткоинов, находившихся в обращении в то время.

Позже, около 18:00 UTC, когда начали распространяться новости, стартовал период сильной волатильности биткоина, затронувший не только Mt. Gox, но и другие обменные площадки — курс криптовалюты колебался от $1 до $20. К этому времени Карпелес проснулся, изучил произошедшее, решил, что атакующий завладел старым административным аккаунтом Маккалеба, используемым для аудита, и отключил Mt. Gox.

Позже в тот же день, около 19:15 UTC, кто-то опубликовал на интернет-форуме полный список пользователей биржи с адресами почты и хешами паролей. Список насчитывал 61016 счетов на общую сумму, эквивалентную более чем 8,75 млн долларов.

Большинство паролей учетных записей были хешированы с помощью UNIX-утилиты crypt (), но сотни паролей представляли собой простые, так называемые «несоленые» MD5-хеши, по которым можно было легко восстановить пароли. Подробнее мы поговорим об этом позже.

Некоторые биткоин-биржи также провели добровольные отключения в качестве меры предосторожности, поскольку многие пользователи одновременно торговали на нескольких площадках. В 21:00 Mt. Gox сообщила об атаке хакеров и порекомендовала поменять пароли пользователям, которые используют их для доступа на различные сайты, предупредив о возможности фишинговых атак на электронную почту и пообещав обратить вспять мошеннические сделки и вернуть похищенные средства. В 21:10 биржа подтвердила, что было украдено лишь 2000 биткоинов (тогда их стоимость оценивалась в 30 тыс. долларов).

21 июня Mt. Gox начала принимать запросы на восстановление учетных записей с помощью логина, адреса электронной почты, старого и нового паролей, проверки email-адреса. Кроме того, пользователи могли предоставить дополнительные доказательства: баланс торгового счета, копию паспорта и др. Все эти запросы вручную проверялись сотрудниками Mt. Gox.

23 июня Карпелес перевел 424242,42424242 биткоина из аппаратного хранилища (информация об этом переводе отражена в блоке 132749), чтобы показать пользователям, что криптовалюта до сих пор находится в распоряжении биржи.

26 июня Mt. Gox возобновила торги. Мошеннические сделки действительно были отменены и компенсированы за счет компании. Кроме того, были введено многоядерное хеширование паролей на основе алгоритма SHA-512, а проверка пользователей при первом входе в систему проводилась с учетом IP-адреса, с которого осуществлялся предыдущий вход, адреса электронной почты, логина и старого пароля. После этого им предлагалось ввести новый, усиленный пароль.

В течение нескольких часов обменный курс стабилизировался около отметки $16,50. Удалось избежать как масштабного падения, так и массового изъятия средств. Ситуация стабилизировалась.

По мере роста стоимости биткоина в 2013 году рыночная доля Mt. Gox возросла до 70%, а Карпелес превратился в крупную фигуру в криптовалютном мире. Он давал интервью, делал пожертвования в Bitcoin Foundation, где был членом правления (потом он ушел с этой позиции), и занимался расширением штаб-квартиры компании в токийском районе Сибуя. Но за внешним благополучием скрывались серьезные проблемы с ведением дел и технологиями:

  1. По словам бывших сотрудников, Mt. Gox не использовала систему контроля за версиями ПО. В результате один программист мог случайно изменить код коллеги, однако ни истории правок, ни надежного механизма отката на последнюю рабочую версию не существовало.
  2. Карпелес единолично одобрял внесение изменений в исходный код сайта, в итоге исправление ошибок (даже критических) затягивалось на дни, а иногда и на недели.
  3. Тестовая среда для оценки качества и устойчивости появилась только весной 2013-го, спустя несколько лет после того, как Карпелес возглавил компанию и биржа превратилась в крупнейшего игрока на рынке биткоина.
  4. У Mt. Gox отсутствовала система учета онлайн-баланса биткоинов, остатков наличных средств для валютного обмена и процесс инвентаризации биткоинов в холодном хранилище. Потребность в прозрачности и учете осложнялась параноидальным стремлением Карпелеса хранить основной объем биткоинов в холодном хранилище, защищенном от хакеров.
  5. 2 мая Coinlab подала на Mt. Gox иск на 75 млн долларов, обвинив в нарушении подписанного в феврале контракта о передаче клиентов из Северной Америки, которая так и не произошла.
  6. Компания по непонятным причинам «забыла» получить лицензию на проведение платежей у американского правительства, и 15 мая Министерство внутренней безопасности США выдало ордер на арест счетов дочернего подразделения Mt. Gox в платежном процессоре Dwolla. В период с мая по июль правительственные агенты изъяли с них 5 млн долларов. 29 июня Mt. Gox наконец получила лицензию на предоставление финансовых услуг у Сети по борьбе с финансовыми преступлениями США (Financial Crimes Enforcement Network, FinCEN).

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

5 августа 2013 года Mt. Gox сообщила о значительных убытках из-за неполного клиринга депозитов и объявила, что новые депозиты не будут доступны для использования до полного перечисления средств. К ноябрю вывод средств со счетов клиентов мог занимать от нескольких недель до нескольких месяцев, а Mt. Gox потеряла первенство среди бирж, опустившись на третье место.

7 февраля 2014 года Mt. Gox прекратила выводить BTC, объяснив, что это делается «для получения детального представления об обработке валютных платежей». 10 февраля было объявлено, что, вероятно, транзакции обрабатываются неправильно, и возможны двойные списания, и что для решения проблемы компания работает с группой разработчиков ядра биткоина.

В те дни компания CoinDesk провела опрос 3000 клиентов Mt. Gox, и 68% из них ожидали получения средств от биржи, причем медианное время ожидания составляло 1−3 месяца.

20 февраля протесты у офиса Mt. Gox продолжились, и, сославшись на соображения безопасности, компания перевела своих сотрудников в другой район Токио. 24 февраля Mt. Gox остановила все торги и отключила сайт, а шесть других крупных биткоин-обменников выпустили совместное заявление о том, что они не имеют никакого отношения к проблемам злополучной биржи.

28 февраля Mt. Gox подала в Токио заявление о защите от кредиторов, заявив об обязательствах на 6,5 млрд иен (65 млн долларов) при активах в размере 3,8 млрд иен. Компания также сообщила об утрате 744 408 BTC, принадлежащих клиентам, и около 100 тыс. BTC собственных средств (это было около 7% всех биткоинов, находящихся в обращении и примерно 470 млн долларов на тот момент).

Mt. Gox выпустила еще одно заявление, в котором говорилось, что биткоины, вероятно, были украдены — биржа обвиняла хакеров и обещала начать поиск пропавших биткоинов. Две недели спустя Mt. Gox подала заявление о банкротстве уже в США. 20 марта компания сообщила, что обнаружила 20 тыс. BTC в старом цифровом кошельке, который использовался до июня 2011 года. А августе 2015 года Карпелес был арестован японской полицией и обвинен в мошенничестве, растрате и краже денег в личных интересах; он оставался в тюрьме до 2016 года, пока не вышел под залог.

Что дальше

И что, на этом история заканчивается? Не совсем. В июле 2017 года в Греции по запросу американских властей был арестован российский гражданин по имени Александр Винник, которого обвинили в отмывании биткоинов, похищенных с Mt. Gox. Кроме того, греческие власти обвинили Винника в отмывании примерно 4 млрд долларов в биткоинах. Также в рамках расследования ФБР США пришло с обыском к другому обменнику, BTC-e, с которым, как утверждалось, связан Винник.

Из этой истории и IT-специалисты, и частные и корпоративные пользователи могут извлечь несколько важных уроков.

Команда, лидеры и ценности — важнейшие факторы успеха организации

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

Нельзя забывать о безопасности

Проблемы Mt. Gox были связаны не с недостатками безопасности в архитектуре биткоина, а с несовершенной системой бухгалтерского учета и некомпетентном подходе к безопасности баз данных, сети и пользователей.

Mt. Gox удалось нарушить почти все важнейшие принципы компьютерной безопасности:

1. Компания не укрепляла слабые места и предоставляла избыточные привилегии некоторым пользователям.

Взлом, произошедший в июне 2011 года.ю стал возможен из-за старого административного аккаунта Маккалеба, который был оставлен активным для аудита со стороны прежнего владельца.

Есть разные сообщения о природе атаки — то ли это была SQL-инъекция, то ли CSRF (межсайтовая подделка запроса). В любом случае, обе уязвимости хорошо известны, и ПО сайта должно было быть проверено независимой от разработчиков инженерной командой.

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

Как это должно быть устроено? Удаленная учетная запись должна давать только право на чтение, и у нее не должно быть полномочий на скачивание базы данных пользователей — если бы это было так, за первым взломом не последовало бы продолжение.

2. Защита самой системы была очень слабой.

Получив базу данных пользователей, злоумышленнику пришлось всего лишь расшифровать часть «несоленых» паролей, хешированных алгоритмом MD5, и он смог создать достаточный объем торгов, чтобы обрушить курс биткоина к доллару.

MD5 — это односторонняя хеш-функция, результатом которой является 128-битная строка. Она была разработана Рональдом Ривестом в 1991 году; с тех пор в ней были найдены уязвимости к коллизиям, атаке с помощью перебора и атаке с удлинением сообщения.

К 2010 году как среди программистов, так и среди регуляторов был достигнут консенсус, что MD5 небезопасен и полезен только для получения контрольных сумм или дайджестов сообщений. Mt. Gox должна был использовать SHA-2, созданный NSA в 2001 году NSA и уже очень распространенный к 2011 году — к этому моменту алгоритм использовался в протоколах SSL, PGP, SSH и IPSec.

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

3. Они забыли, что все тайное становится явным.

Взлом 2014 года был расследован Нильссоном из WizSec, Декером и Ваттенхофером из университета ETH в Цюрихе, а также другими биткоин-специалистами, и считается, что большая часть потерь была связана с кражей закрытых ключей от «горячего» кошелька Mt. Gox в сентябре 2011 года, а не проблемой с обработкой транзакций, как утверждали в Mt. Gox.

Незашифрованный файл wallet.dat дал злоумышленнику доступ к биткоинам компании, и, что более важно, к ее секретным ключам. Асимметричная криптография — основа биткоина: с помощью закрытого ключа пользователь может тратить средства, генерируя уникальную подпись, которую способен создать только владелец аккаунта.

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

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

Сложность и архитектура системы имеют огромное значение — и при работе с биткоинами, и в вопросах финансовой отчетности

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

Важно общаться со своими клиентами, особенно во время кризиса

В 2011 году Mt. Gox уведомила пользователей о произошедшем в течение нескольких часов после взлома, а в 2014-м на это потребовалось несколько недель. Если уж у вас проблемы, нужно быстро, понятно и прозрачно об этом объявить, и не тратить время на оправдания или обвинения других, в этом нет смысла.

Контроль качества и забота о рабочем окружении — это фундаментальные основы создания и эксплуатации высокопроизводительного ПО

Mt. Gox нужно было использовать контроль версий, тестовую среду, отделенную от рабочей, отдельное подразделение для тестирования, институционализированный групповой, а не индивидуальный контроль изменений и тестирование систем безопасности на уязвимость.

Корпоративные и индивидуальные пользователи криптообменников сталкиваются со множеством рисков

Биржа в данном случае выступает как центральный орган — довольно иронично, учитывая децентрализованную природу самой криптовалюты.

Исследование безопасности биткоин-обменников, выполненное Муром и Кристином, показывает, что из 80 бирж, действовавших в период с 2010 по 2015 год, почти половина (38) уже закрылась, а 26 были взломаны.

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

Источник