Биткоин-кошелек – это программа, которая хранит закрытый (секретный) ключ, необходимый для доступа к криптовалюте, принадлежащей пользователю, и проведению транзакций с ней.
В основу исследования легли отчеты, автоматически сформированные с помощью Solar inCode, который использует методы статического, динамического и интерактивного анализа кода и способен проверять уровень защищенности приложений без доступа к их исходному коду. В отчетах о сканировании каждого биткоин-кошелька содержится общая оценка защищенности приложения по пятибалльной шкале, список обнаруженных закладок, известных уязвимостей и ошибок, ранжированных по уровню критичности.
Для участия в исследовании были выбраны международные популярные бесплатные мобильные приложения для проведения операций с биткоинами – Airbitz, BitPay, Blockchain, Bread, Coinbase, Coins.ph, Copay, Luno, Mycelium и Xapo. Каждое приложение рассматривалось в двух реализациях – для мобильных операционных систем iOS и Android.
Исследование показало, что средний уровень защищенности биткоин-кошельков для платформ Android и iOS примерно равен и находится на отметке выше среднего показателя по отрасли. Однако это классический пример «средней температуры по больнице», поскольку уровень защищенности очень разнится даже среди реализаций одного и того же приложения под разные платформы. Так, Mycelium в реализации для Android содержит гораздо больше известных потенциальных уязвимостей, чем для iOS, а BitPay и Copay, напротив, лучше использовать на Android-устройствах.
В тройку наиболее защищенных биткоин-кошельков для Android вошли Bread, BitPay/Copay и Luno. Лидерами среди iOS-приложений для операций с криптовалютами стали Bread, Mycelium и Blockchain. Самый низкий совокупный результат у приложения Xapo. Единственный биткоин-кошелек, показавший отличные результаты в обоих сравнениях, это приложение Bread.
Среди наиболее часто встречавшихся в биткоин-кошельках уязвимостей можно выделить небезопасную реализацию SSL, а также слабые алгоритмы шифрования и хеширования. Их успешная эксплуатация может привести к компрометации логинов, паролей и всего трафика, идущего через приложение. На практике это грозит пользователям взломом кошелька и кражей криптовалюты. Не все выявленные уязвимости одинаково легко эксплуатируются, однако приложения, оперирующие валютами, не должны небрежно относиться к любым потенциальным уязвимостям.
При подготовке исследования декомпиляция и деобфускация приложений не производилась. Статический анализ осуществлялся в отношении бинарного кода.
«Сама технология биткоин на сегодняшний день считается очень надежной. Однако сторонние приложения, связанные с ней, могут быть защищены гораздо хуже вследствие ошибок разработчиков или уязвимостей, которым подвержены операционные системы в целом. О таких случаях уже становилось известно, и мы решили проверить, насколько безопасны самые скачиваемые на данный момент биткоин-кошельки. Результаты исследования демонстрируют, что в некоторых случаях отношение разработчиков к вопросам безопасности прямо-таки халатное. Скажем, некоторые приложения проверяют не все поля цифровых сертификатов, что делает биткоин-кошельки уязвимыми к атаке man-in-the-middle и ставит под вопрос сохранность финансов пользователей».