Мобильные антивирусы не работают

zayo9iylxmk4gfz_zju8n8drdq8.jpeg
TL; DR если на ваших корпоративных мобильных устройствах нужен антивирус, значит вы делаете все неправильно и антивирус вам не поможет.

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

Правильная корпоративная инфраструктура


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

На десктопных компьютерах эту задачу начали решать давно. В мире Windows, обычно, такое управление происходит с помощью Active Directory, централизованных систем аутентификации (Single Sign In) и т.д. Но теперь у всех сотрудников к компьютерам добавились смартфоны, на которых происходит значительная часть рабочих процессов и хранятся важные данные. Microsoft пытались объединить свои телефоны на Windows Phone в единую экосистему с Windows, но эта идея умерла вместе с официальной смертью Windows Phone. Поэтому в корпоративной среде в любом случае приходится выбирать между Android и iOS.

Сейчас в корпоративной среде, для управления устройствами сотрудников, в моде концепция UEM (Unified endpoint management). Это централизованная система управления мобильными устройствами и десктопными компьютерами.
8x2kskd13ykj1djkq4stwrhnchy.png
Централизованное управление пользовательскими устройствами (Unified endpoint management)

Администратор системы UEM может устанавливать разные политики для пользовательских устройств. Например, разрешить пользователю больший или меньший контроль над устройством, установки приложений из сторонних источников и т.д.

Что может делать UEM:

Управлять всеми настройками — администратор может полностью запретить пользователю изменять настройки на устройстве и изменять их удаленно.

Контролировать ПО на устройстве — разрешать возможность установки программ на устройстве и автоматически устанавливать программы без ведома пользователя. Также администратор может запретить или разрешить установку программ из магазина приложений или из недоверенных источников (из файлов APK в случае Android).

Удаленная блокировка — в случае, если телефон потерян, администратор может заблокировать устройство или очистить данные. Некоторые системы также позволяют задать автоматическое удаление данных, если телефон не выходил на связь с сервером больше N часов, чтобы исключить возможность попыток оффлайн взлома, когда атакующие успели вытащить SIM-карту до того, как с сервера была послана команда очистки данных.

Собирать статистику — отслеживать активность пользователя, время использования приложений, местоположение, уровень заряда батареи и т.д.

Какие бывают UEM


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

BYOD (Bring your own device, Принеси свое устройство) —концепция, в которой сотрудники используют для работы свои личные устройства и учетные записи. Некоторые системы централизованного управления позволяют добавить вторую рабочую учетную запись и полностью разделить данные на личные и рабочие.

ctktvngsk-pqt2l07i6utxestvs.png

Apple Business Manager — родная система централизованного управления от Apple. Умеет управлять только устройствами Apple, компьютерами с macOS и телефонами на iOS. Поддерживает BYOD, создается второе изолированное окружение с другой учетной записью iCloud.

_s3rk3bibfdrlpkiubrmwfbtlf4.png

Google Cloud Endpoint Management — позволяет управлять телефонами на Android и Apple iOS, а также десктопами на Windows 10. Заявляется поддержка BYOD.

exf79l-jwjad_vn2iedkskvc2lm.png
Samsung Knox UEM — поддерживает только мобильные устройства Samsung. При этом сходу можно воспользоваться только Samsung Mobile Management.

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

Модель угроз


Прежде чем выбирать инструменты защиты, нужно понять от чего мы защищаемся, что самое страшное может случиться в нашем конкретном случае. Условно говоря: наше туловище легко уязвимо для пули и даже для вилки с гвоздем, но мы же не надеваем бронежилет при выходе из дома. Потому в нашу модель угроз не входит опасность быть застреленным по пути на работу, хотя статистически это не так уж невероятно. При этом в определенных условиях ношение бронежилета вполне оправдано.

В разных компаниях модели угроз различаются. Возьмем, допустим, смартфон курьера, который едет доставлять посылку клиенту. В его смартфоне есть только адрес текущей доставки и маршрут на карте. Самое страшное, что может случится с его данными, это утечка адресов доставки посылок.
А вот смартфон бухгалтера. У него есть доступ в корпоративную сеть через VPN, установлено приложение корпоративного клиент-банка, хранятся документы с ценной информацией. Очевидно, что ценность данных на этих двух устройствах значительно различается и защищать их следует по-разному.

Антивирус нас спасет?


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

Аудит безопасности
Большинство современных мобильных антивирусов выполняет аудит настроек безопасности на устройстве. Иногда такой аудит называют «проверкой репутации устройства». Антивирусы считают устройство безопасным, если выполняются четыре условия:

  • Устройство не взломано (root, jailbreak).
  • На устройстве настроен пароль.
  • На устройстве не разрешена отладка по USB.
  • На устройстве не разрешена установка приложений из недоверенных источников (sideloading).

Если в результате проверки устройство признано небезопасным, антивирус уведомит об этом владельца и предложит отключить «опасный» функционал или вернуть заводскую прошивку в случае наличия признаков root или jailbreak.

По корпоративным обычаям недостаточно только уведомить пользователя. Необходимо исключить небезопасные конфигурации. Для этого с помощью UEM-системы нужно настроить на мобильных устройствах политики безопасности. А в случае обнаружения root / jailbreak надо стремительно удалять с устройства корпоративные данные и блокировать его доступ в корпоративную сеть. И это тоже возможно с помощью UEM. И только после этих процедур можно считать мобильное устройство безопасным.

Поиск и удаление вирусов
Вопреки расхожему мнению, что для iOS не существует вирусов, это неправда. В дикой природе до сих пор распространены эксплойты для старых версий iOS, которые заражают устройства через эксплуатацию уязвимостей в браузере. При этом, из-за архитектуры iOS, разработка антивирусов для этой платформы невозможна. Основная причина — приложения не могут получить доступ к списку установленных приложений и имеют много ограничений при доступе к файлам. Список установленных iOS-приложений может получить только UEM, но даже UEM не может получить доступ к файлам.

С Android ситуация иная. Приложения могут получить информацию об установленных на устройстве приложениях. Они могут даже получить доступ к их дистрибутивам (например, Apk Extractor и его аналоги). Android-приложения также имеют возможность доступа к файлам (например, Total Commander и др.). Android-приложения возможно декомпилировать.

С такими возможностями логичным выглядит такой антивирусный алгоритм:

  • Проверка приложений
  • Получить список установленных приложений и контрольные суммы (КС) их дистрибутивов.
  • Проверить приложения и их КС сначала в локальной, а затем в глобальной базе.
  • Если приложение неизвестно, передать его дистрибутив в глобальную базу для анализа и декомпиляции.


  • Проверка файлов, поиск вирусных сигнатур
  • Проверить КС файлов в локальной, затем в глобальной базе.
  • Проверить наличие в файлах небезопасного содержимого (скриптов, эксплоитов и т.д.) по локальной, а затем глобальной базе.
  • Если обнаружено malware, сообщить пользователю и/или заблокировать доступ пользователя к malware и/или передать информацию в UEM. Передавать информацию в UEM необходимо, потому что антивирус не может самостоятельно удалить malware с устройства.

Больше всего опасений вызывает возможность передачи дистрибутивов программ с устройства на внешний сервер. Без этого нельзя реализовать заявляемый производителями антивирусов «поведенческий анализ», т.к. на устройстве нельзя запустить приложение в отдельной «песочнице» или произвести его декомпиляцию (насколько она эффективна при использовании обфускации — это отдельный сложный вопрос). С другой стороны, на мобильных устройствах сотрудников могут быть установлены корпоративные приложения, которые неизвестны антивирусу, потому что их нет в Google Play. В этих мобильных приложениях могут содержаться чувствительные данные, из-за которых эти приложения не размещают в публичном магазине. Передача таких дистрибутивов производителю антивируса представляется некорректной с точки зрения безопасности. Имеет смысл добавлять их в исключения, но о наличии подобного механизма пока мне неизвестно.

Malware без привилегий root может:

1. Нарисовать поверх приложения своё невидимое окно или внедрить свою клавиатуру, чтобы копировать вводимые пользователем данные — параметры учётных записей, банковских карт и т.д. Недавний пример — уязвимость CVE-2020–0096, с помощью которой возможно подменить активный экран приложения и тем самым получить доступ к вводим пользователем данным. Для пользователя это означает возможность кражи учётной записи Google с доступом к резервной копии устройства и данным банковских карт. Для организации в свою очередь важно не потерять свои данные. Если данные находятся в приватной памяти приложения и не содержатся в резервной копии Google, то malware не сможет получить к ним доступ.

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

3. Надоедать пользователю рекламой, майнить биткойны, быть частью ботнета и т.д. Это может негативно сказаться на работоспособности пользователя и/или устройства, но не станет угрозой для корпоративных данных.

Malware с привилегиями root потенциально могут все, что угодно. Встречаются они редко, потому что взлом современных Android-устройств с помощью приложения практически невозможен. Последний раз подобная уязвимость была обнаружена в 2016 году. Это нашумевший Dirty COW, которому был присвоен номер CVE-2016–5195. Ключевое здесь то, что при обнаружении признаков взлома UEM клиент сотрёт всю корпоративную информацию с устройства, поэтому вероятность успешной кражи данных с помощью таких malware в корпоративном мире невысока.
Вредоносные файлы могут наносить вред как мобильному устройству, так и корпоративным системам, к которым оно имеет доступ. Разберём эти сценарии подробнее.
Вред мобильному устройству можно нанести, например, если скачать на него картинку, которая при открытии или при попытке установки обоев превратит устройство в «кирпич» или перезагрузит его. Скорее всего это навредит устройству или пользователю, но не скажется на конфиденциальности данных. Хотя бывают и исключения.

Недавно обсуждалась уязвимость CVE-2020–8899. Утверждалось, что с её помощью можно получить доступ к консоли мобильных устройств Samsung с помощью заражённой картинки, отправленной по электронной почте, мессенджеру или MMS. Хотя доступ к консоли означает возможность доступа только к данным в публичных каталогах, где конфиденциальной информации быть не должно, конфиденциальность личных данных пользователей оказывается под угрозой, и это напугало пользователей. Хотя по факту, атаковать устройства возможно только с помощью MMS. А для успешной атаки нужно отправить от 75 до 450 (!) сообщений. Антивирус здесь, увы, не поможет, потому что не имеет доступа к журналу сообщений. Чтобы защититься от этого, есть только два варианта. Обновить ОС или заблокировать MMS. Первого варианта можно долго ждать и не дождаться, т.к. производители устройств выпускают обновления не для всех устройств. Отключить прием MMS в данном случае намного проще.

Вред корпоративным системам могут нанести файлы, которые передаются с мобильных устройств. Например, на мобильном устройстве есть заражённый файл, который не может причинить вреда устройству, но может заразить Windows-компьютер. Пользователь отправляет такой файл по электронной почте своему коллеге. Тот открывает его на ПК и, тем самым, может его заразить. Но на пути этого вектора атаки стоят по крайней мере два антивируса — один на сервере электронной почты, другой на ПК получателя. Добавление в эту цепочку третьего антивируса на мобильном устройстве кажется совсем уж паранойей.

Как видно, наибольшую угрозу в корпоративном цифровом мире представляют malware без привилегий root. Откуда они могут взяться на мобильном устройстве?
Чаще всего их устанавливают с помощью sideloading, adb или сторонних магазинов, которые должны быть запрещены на мобильных устройствах с доступом в корпоративную сеть. Остаётся два варианта попадания malware — из Google Play или из UEM.
Перед публикацией в Google Play все приложения проходят обязательную проверку. Но для приложений с небольшим числом установок проверки чаще всего выполняются без участия людей, только в автоматическом режиме. Поэтому иногда в Google Play попадает malware, но всё-таки не часто. Антивирус, чьи базы своевременно обновляются, сможет выявить приложения с malware на устройстве раньше Google Play Protect, который пока отстаёт по скорости обновления антивирусных баз.
UEM может поставить на мобильное устройство любое приложение, в т.ч. malware, поэтому любое приложение нужно предварительно проверять. Приложения можно проверять как в процессе их разработки с помощью средств статического и динамического анализа, так и непосредственно перед их распространением с помощью специализированных «песочниц» и/или антивирусных решений. Важно, что при этом приложение проверяется однократно перед загрузкой в UEM. Следовательно, и в этом случае антивирус на мобильном устройстве не нужен.

Сетевая защита


В составе сетевой защиты в зависимости от производителя антивируса может предлагаться одна или несколько из следующих функций.

URL-фильтрация применяется с целью:

  • Блокировки трафика по категориям ресурсов. Например, чтобы запретить смотреть новости или другой некорпоративный контент до обеда, когда сотрудник наиболее эффективен. На практике блокировка чаще всего работает с множеством ограничений — производителям антивирусов не всегда удаётся своевременно актуализировать справочники категорий ресурсов с учётом наличия множества «зеркал». Плюс есть анонимайзеры и Opera VPN, на которые блокировка чаще всего не распространяется.
  • Защиты от фишинга или подмены целевых хостов. Для этого URL, к которым обращается устройство, предварительно проверяются по антивирусной базе. Ссылки, а также ресурсы, к которым они ведут (включая возможные множественные редиректы), проверяются по базе известных фишинговых сайтов. Также осуществляется сверка доменного имени, сертификата и IP-адреса между мобильным устройством и доверенным сервером. Если клиент и сервер получают разные данные, то это либо MITM («человек посередине», man in the middle), либо блокировка трафика с помощью того же антивируса или разного рода proxy и веб-фильтров в сети, к которой подключено мобильное устройство. Уверенно сказать, что посередине кто-то есть, сложно.

Чтобы получить доступ к мобильному трафику, антивирус либо строит VPN, либо использует возможности Accessibility API (API для приложений, предназначенных для людей с ограниченными возможностями). Одновременная работа нескольких VPN на мобильном устройстве невозможна, поэтому сетевая защита от антивирусов, которые строят собственный VPN, в корпоративном мире неприменима. VPN от антивируса просто не будет работать вместе с корпоративным VPN, который используют для доступа в корпоративную сеть.
Предоставление антивирусу доступа к Accessibility API таит другую опасность. Доступ к Accessibility API фактически означает разрешение делать за пользователя что угодно — видеть то, что видит пользователь, выполнять действия с приложениями вместо пользователя и т.д. С учётом того, что пользователь должен явно предоставить антивирусу такой доступ, он скорее всего откажется это делать. Или, если его заставят, купит себе ещё один телефон без антивируса.

Межсетевое экранирование


Под этим общим названием скрываются три функции:

  • Сбор статистики по использованию сети с разделением по приложениям и типу сети (Wi-Fi, сотовый оператор). Большинство производителей Android-устройств предоставляют эти данные в приложении «Настройки». Дублирование её в интерфейсе мобильного антивируса кажется избыточным. Интерес может представлять совокупная информация по всем устройствам. Её успешно собирают и анализируют UEM системы.
  • Ограничение мобильного трафика — настройка лимита, оповещение при его достижении. Пользователям большинства Android-устройств эти функции доступны в приложении «Настройки». Централизованная настройка ограничений — задача UEM, а не антивируса.
  • Собственно, межсетевое экранирование (firewall). Или, иначе, блокировка доступа к определённым IP-адресам и портам. С учётом DDNS на всех популярных ресурсах и необходимости включения для этих целей VPN, который, как написано выше, не может работать совместно с основным VPN, функция кажется неприменимой в корпоративной практике.

Проверка доверенности Wi-Fi

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

Защита от спама


Защита, как правило, сводится к фильтрации входящих звонков по списку, указанному пользователем, или по базе известных спамеров, бесконечно надоедающих страховками, кредитами и приглашениями в театр. Хоть в самоизоляции они и не звонят, но скоро опять начнут. Фильтрации подлежат только звонки. Сообщения на актуальных Android не фильтруются. С учётом регулярной смены спамерами своих номеров, невозможности защиты текстовых каналов (SMS, мессенджеры) функциональность носит скорее маркетинговый, а не практический характер.

Антикражная защита


Выполнение удалённых действий с мобильным устройством при потере или краже. Альтернатива сервисам Find My iPhone и Find My Device от Apple и Google соответственно. В отличие от своих аналогов сервисы производителей антивирусов не могут предоставить блокировку устройства, если злоумышленник успел сбросить его к заводским настройкам. Но если этого ещё не произошло, с устройством можно дистанционно сделать следующее:

  • Заблокировать. Защита от недалекого вора, потому что легко обходится сбросом устройства к заводским настройкам через recovery.
  • Узнать координаты устройства. Полезно, когда устройство было потеряно недавно.
  • Включить громкий звуковой сигнал, чтобы по нему найти устройство, если на нём включен беззвучный режим.
  • Сбросить устройство к заводским настройкам. Имеет смысл, когда пользователь признал устройство безвозвратно потерянным, но не хочет, чтобы хранимые на нём данные были разглашены.
  • Сделать фото. Сфотографировать злоумышленника, если он держит телефон в руках. Наиболее сомнительная функциональность — вероятность того, что злоумышленник любуется в телефон при хорошем освещении, невысока. А вот наличие на устройстве приложения, которое может незаметно управлять камерой смартфона, делать фотографии и отправлять их себе на сервер, вызывает обоснованную тревогу.


Удалённое выполнение команд является базовым в любой UEM системе. В них отсутствует разве что удалённое фотографирование. Это верный путь к тому, чтобы пользователи после конца рабочего дня вынимали из телефонов аккумуляторы и клали их в мешок Фарадея.
Функции антивора в мобильных антивирусах доступны только для Android. Для iOS такие действия может выполнять только UEM. UEM на iOS-устройстве может быть только один — это архитектурная особенность iOS.

Выводы


  1. Ситуация, в которой пользователь может установить вредоносную программу на телефон, НЕДОПУСТИМА.
  2. Правильно настроенный UEM на корпоративном устройстве исключает потребность в антивирусе.
  3. В случае использования 0-day уязвимостей в операционной системе антивирус бесполезен. Он может только указать администратору, что устройство уязвимо.
  4. Определить — используется ли уязвимость, антивирус не может. Также, как и выпустить обновление для устройства, для которого производитель уже не выпускает обновлений безопасности. От силы — это год-два.
  5. Если абстрагироваться от требований регуляторов и маркетинга, то корпоративные мобильные антивирусы нужны только на Android устройствах, где пользователям доступен Google Play и установка программ из сторонних источников. В остальных случаях эффективность использования антивирусов не более чем плацебо.
8vh31vx0n_e6qu8ykmpbkt_qddw.png

© Habrahabr.ru