Специалисты компании Solar Security проверили безопасность популярных приложений, предназначенных для операций с криптовалютами.
В основу проведенного исследования (PDF) легли отчеты, автоматически сформированные с помощью решения Solar inCode, которое использует методы статического, динамического и интерактивного анализа кода и способно проверять уровень защищенности приложений без доступа к их исходному коду.
Эксперты изучили десять наиболее популярных мобильных приложений. Каждое из них рассматривалось в двух реализациях – для мобильных операционных систем iOS и Android.
Blockchain, Coinbase, Coins.ph и Xapo для Android были скачаны свыше миллиона раз каждое. Это самые скачиваемые приложения в своем классе. Copay, Mycelium и Luno были загружены из Google Play свыше 500 000 раз. Помимо этих явных лидеров в исследование также были включены кошельки Airbitz, BitPay и Bread, которые не достигли отметки в полмиллиона скачиваний, однако, аналитики Solar Security приняли во внимание, что их активно рекомендуют пользователи тематических форумов и редакторы ИТ-изданий.
Исследование показало, что средний уровень защищенности приложений для Android и iOS примерно равен и находится на отметке выше среднего показателя по отрасли. Однако нужно понимать, что уровень защищенности разнится даже среди реализаций одного и того же приложения под разные платформы. К примеру, Mycelium в реализации для Android содержит гораздо больше известных потенциальных уязвимостей, чем Mycelium для iOS, а BitPay и Copay, напротив, лучше использовать на Android-устройствах.
В тройку наиболее защищенных кошельков для Android вошли Bread, BitPay/Copay и Luno. Лидерами среди iOS-приложений стали Bread, Mycelium и Blockchain.
Самый низкий совокупный результат показало приложение Xapo. А единственный кошелек, показавший отличные результаты в обоих сравнениях, это приложение Bread.
Среди наиболее часто встречавшихся в кошельках уязвимостей исследователи, в частности, выделяют небезопасную реализацию SSL. Это позволяет злоумышленнику предоставить самоподписанный сертификат и реализовать с его помощью атаку Man-in-the-Middle. Данную уязвимость легко эксплуатировать, например, при использовании жертвой публичного Wi-Fi.
Второй наиболее распространенной проблемой стали слабые алгоритмы шифрования и хеширования. Например, хеш-функции MD2, MD5, SHA1 обладают известными уязвимостями. Нахождение коллизий для функций MD2 и MD5 не требует существенных ресурсов; аналогичная задача решена даже для более надежного SHA1. Если эти функции применяются для хранения ценной информации (например, паролей), ее конфиденциальность может быть нарушена.
Успешная эксплуатация этих уязвимостей может привести к компрометации логинов, паролей и всего трафика, идущего через приложение. На практике это грозит пользователям взломом кошелька и кражей криптовалюты.
Аналитики Solar Security отмечают, что не все выявленные уязвимости одинаково легко эксплуатировать, однако, по мнению экспертов, приложения, оперирующие валютами, не могут относиться с пренебрежением к любым потенциальным проблемам.