Иллюзия мобильной безопасности

В конце прошлого года произошло знаменательное событие. Если верить статистике основных браузеров, то доля шифрованного трафика в прошлом году впервые за историю наблюдений превысила 50%. Понятно, что эта доля будет только расти, и производители браузеров принимают для этого меры — в частности, выдавая предупреждения о небезопасности отправки логина и пароля по незащищённому протоколу.

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

Дело в том, что в современном мире смартфонов доступ к интернету больше не сводится к одним лишь браузерам. Каждый банк, сервис в сети, отель, аэропорт, да и просто сетевой магазин стремится обзавестись своим приложением: без этого все они выглядят, как им кажется, как-то несолидно. Примерно с такой же скоростью они в свое время обрастали сайтами (а потом, с куда меньшей, но заметной скоростью — TLS-сертификатами). И эти приложения для каждой «лавки» из категории «надо выпендриться» плавно перешли в категорию «must have».

К сожалению, количество аккуратных программистов не растёт с такой же скоростью, как количество приложений. В этой статье мы расскажем об ошибках и их последствиях на примере двух миров, Apple и Android.

Начнём с Apple. Февральская новость, тиражируемая рядом сайтов, звучит так: в процессе разработки нового инструмента, сканирующего на уязвимости приложения из Apple Store, исследователю Уиллу Стрэфетчу (Will Strafach) удалось найти 76 приложений, скачанных в совокупности 18 миллионов раз, которые не следуют рекомендациям от Apple по безопасности. Но давайте изучим это событие поподробнее. 18 миллионов, хотя и внушительное на первый взгляд число, всё-таки покрывает сравнительно малую долю пользователей. Почти половина из этих приложений - 33 - не передаёт по слабо защищённым каналам ничего существенного — из ценной информации там наличествует разве что модель телефона, максимум — email-адрес пользователя. Ещё треть приложений - 24 - даст злоумышленникам в случае успешной атаки Man-In-the-Middle возможность перехватить авторизационные реквизиты ко второстепенным сервисам. Это на самом деле неприятно. Ну а 19 приложений в самом деле опасны: они подвергают риску доступ к банковским или медицинским данным. Список слабоуязвимых приложений доступен в статье автора исследования. Авторам приложений с серьёзными уязвимостями информация тоже предоставлена, но у них есть 2-3 месяца на исправление проблем до того, как данные станут публичными. Вероятно, список проблемных приложений ещё будет расширен. Ошибки не могут быть исправлены механизмом iOS's App Transport Security(ATS) — стандартным для Apple способом защиты. ATS обеспечивает современные версии протокола, но тщательная проверка сертификатов всё равно отдается на откуп пользователям.

В мире приложений под Android тоже не всё гладко. Исследование реализаций VPN для Android, сделанное в конце 2016 года и получившее огласку в начале 2017, показывает довольно безрадостную картину.

  • 18% приложений вообще(!) не шифровали передаваемые данные;
  • 16% внедряли в пользовательский трафик тот или иной код на JavaScript. Мотивировалось это благими намерениями, например, ускорением передачи графики;
  • 84% не обрабатывали корректно трафик по протоколу IPv6, 66% содержали ошибки при работе с DNS-трафиком. В результате пользовательский трафик становился (по крайней мере, потенциально) доступен внешним наблюдателям;
  • 38% содержали код, который расценивается антивирусами (использовался VirusTotal) как вредоносный;
  • 4 приложения устанавливали свой сертификат как доверенный, то есть получали возможность осуществлять атаку Man-in-the-Middle.
  • Около 200 приложений из 283 обследованных подчёркивали свою приверженность защите Privacy. Из них около 150 использовали библиотеки, предназначенные для мониторинга онлайн-активности пользователей, а ещё больше требовали доступ к пользовательским аккаунтам и sms. Такой контраст между декларируемой защитой и реализацией не может не повергнуть в шок. Большую часть подобных дефектов пользователь не в состоянии заметить без специальных исследований. Среди немногих удостоенных похвалы VPN-решений — F-Secure Freedome VPN, разработанное финской компанией F-Secure.

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


    Автор:  Дмитрий Белявский (ТЦИ)

    Возврат к списку