Android — хорошая операционная система, разработчики которой действительно заботятся о безопасности. Однако версий самой ОС и особенно приложений для нее существует настолько много, что за всем не уследишь. Поэтому достаточно часто обнаруживаются новые способы обхода встроенной защиты. Самый свежий способ взлома Android называется Man-in-the-Disk, о нем и поговорим.
«Песочницы» — основа безопасности Android
Один из главных принципов Android состоит в том, что все приложения должны быть изолированы друг от друга. Для этого используются так называемые «песочницы«: каждое приложение и его файлы существуют в отдельной «песочнице», в которую другие приложения не имеют доступа.
Идея в том, что, даже если на устройство под управлением Android проникнет вредоносное приложение, оно не сможет украсть данные, которые хранят другие, хорошие программы (например, логин и пароль вашего банковского приложения или переписку в мессенджере). Несложно догадаться, что хакеры постоянно пытаются найти новые способы обхода данного механизма — это называется «побег из песочницы». И время от времени им это удается.
К примеру, на конференции DEF CON 26 исследователь Слава Маккавеев представил доклад о том, как приложение, не имеющее никаких особенно опасных или подозрительных прав, может совершить побег из песочницы. По аналогии с известным типом атак «человек посередине» (Man-in-the-Middle) он назвал эту методику Man-in-the-Disk.
Как работает атака Man-in-the-Disk
Вот в чем состоит идея. Помимо тех областей внутри «песочниц», в которых отдельно хранятся файлы приложений, в Android также существует общее, внешнее хранилище (оно так и называется, External Storage). Для доступа к этому хранилищу приложение должно попросить у пользователя разрешения — «Чтение из памяти или карты памяти» (READ_EXTERNAL_STORAGE) и «Запись в память или на карту памяти» (WRITE_EXTERNAL_STORAGE). Но эти права обычно не считаются чем-то опасным, да и запрашивают их едва ли не все приложения — так что ничего подозрительного в таком запросе нет.
Приложения используют внешнее хранилище для многих полезных вещей — например, для обмена файлами друг с другом или для передачи файлов между смартфоном и компьютером. Но помимо этого, внешнее хранилище часто используется для временного хранения данных, загруженных приложением из Интернета: сначала эти данные записываются в общедоступную часть диска и только потом переносятся в изолированную область, в которую имеет доступ только это приложение.
Например, приложение может временно хранить там какие-то дополнительные модули, которые оно устанавливает для расширения функциональности, дополнительный контент — скажем, словари — или обновления этого приложения. Проблема в том, что любое приложение с правом чтения из внешнего хранилища и записи в него может получить доступ к этим файлам — и изменить их, добавив к ним что-то вредоносное.
То есть может получиться так, что вы поставите на свой смартфон какое-то на первый взгляд безобидное приложение — например, игру. При этом оно способно заразить ваш смартфон чем-то по-настоящему неприятным.
На самом деле создатели Android понимают, что использование внешнего хранилища может представлять опасность, и по этому поводу на сайте операционной системы есть даже несколько полезных советов для разработчиков.
Проблема в том, что не все разработчики приложений им следуют — включая сотрудников самой Google и некоторых производителей смартфонов. Среди представленных Славой Маккавеевым примеров есть эксплуатация данной уязвимости в «Google Переводчике» и «Яндекс Переводчике», голосовом вводе Google и «Синтезаторе речи Google», а также в системных приложениях LG и браузере Xiaomi.
Кстати, буквально только что исследователи из Google обнаружили, что с помощью Man-in-the-Disk можно атаковать Android-версию популярной игры Fortnite. Чтобы загрузить игру, пользователю нужно сначала установить специальное приложение-помощник, которое и загружает файлы игры. Оказалось, что, используя Man-in-the-Disk, взломщик может обмануть этого помощника и заставить его установить зловред вместо игры. Разработчик Fortnite — компания Epic Games — знает о данной уязвимости и уже выпустила обновленную версию установщика. Так что если вы собираетесь установить Fortnite, используйте версию 2.1.0. Если вы уже установили игру, то мы рекомендуем удалить ее и установить заново, используя исправленную версию установщика.
Как защитить Android от атаки Man-in-the-Disk
Перечисленный список — это, конечно же, не все программы, в которых встречается данная проблема: скорее всего, уязвимых программ гораздо, гораздо больше. Исследователь просто выбрал несколько по-настоящему популярных, чтобы продемонстрировать, насколько все плохо.
Как же защититься? У нас есть несколько несложных советов:
- Устанавливайте приложения только из официальных магазинов, таких как Google Play. В них тоже иногда пробираются зловреды, но по крайней мере там они встречаются гораздо реже, к тому же их регулярно удаляют.
- Отключите в настройках смартфона или планшета возможность установки приложений из сторонних источников (эти источники — самые опасные). Чтобы это сделать, снимите галочку напротив пункта Настройки -> Безопасность -> Неизвестные источники.
- Выбирайте приложения от проверенных разработчиков. Смотрите на рейтинг приложения, читайте отзывы о нем. Если что-то выглядит подозрительно — лучше такое приложение не устанавливать.
- Не устанавливайте лишние приложения. Чем меньше приложений у вас в смартфоне — тем меньше риск.
- Не забывайте удалять приложения, если они вам больше не нужны.
- Используйте надежный мобильный антивирус, который вовремя предупредит о том, что в ваше устройство пытается пробраться вредоносное приложение.