Настройка защиты для Андроид устройств. «Безопасный» смартфон: как спастись от вирусов и хакеров? Защита информации на смартфоне андроид

04.04.2024 Операционные системы

Безопасность Android не должна восприниматься как должное. Будучи наиболее широко используемой платформой для смартфонов во всем мире, это заманчивая цель для злоумышленников и все пользователи должны следовать, по крайней мере, основным методам безопасности Android .

Люди, использующие устройства Android, сталкиваются с широким спектром угроз безопасности:

  1. Потери данных
  2. Кражи личных данных
  3. Взломанных учетных записей
  4. Скомпрометированной финансовой информации и даже кражи ваших Android-устройств

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

Мы перейдем от базовых настроек безопасности к более продвинутым настройкам по мере продвижения по этой статье.

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

  • Нет — блокировка устройства отсутствует.
  • Проведите пальцем — Опять же, нет блокировки. Вам просто нужно прокрутить, чтобы перейти на главный экран.
  • Шаблон — Настройте блокировку рисунка на устройстве. При настройке вам придется дважды нарисовать рисунок. Вы должны знать, что очень простые шаблоны можно просто понять, посмотрев на пятна на экране. Несколько перекрывающихся узлов могут затруднить распознавание начального и конечного узлов и сделать ваш шаблон более сложным. Вы можете обойти блокировку паттерна если вы заблокированы, но это решительный шаг и не рекомендуется брать на какое-либо устройство, которое не является вашим собственным.
  • Pin — вы можете установить цифровой замок на устройстве. Длина замка не менее 4 цифр, но мы рекомендуем увеличить количество цифр. Как и обычные рекомендации по номерам контактов, не используйте дни рождения, юбилеи и другие даты личного значения в качестве штыря. В эпоху социальных сетей становится слишком легко узнать даты, которые важны для кого-то.
  • Пароль — Настройте пароль для устройства длиной не менее 4 цифр. Пароли часто рекомендуются иметь длину 8 или более и эта мера предосторожности также применяется здесь. Вы можете использовать цифры и символы, чтобы сделать их более безопасными.

Мои личные предпочтения касаются блокировки шаблонов, поскольку они просты в использовании и обеспечивают достойный уровень безопасности Android. Посмотрите, что работает лучше всего для вас и настройте его!

# 2 Настройка доступа к отпечатку пальца (необязательно)

Если на вашем устройстве имеется считыватель отпечатков пальцев, вы можете настроить его как пароль для своего устройства. Являясь постоянным пользователем этой функции на своем S6, я бы сказал, что это самый удобный способ доступа к вашему устройству.

Для этого вы можете перейти к «Nexus Imprint» в разделе «Безопасность» и следовать экранным шагам, чтобы ваш отпечаток был зарегистрирован на устройстве. В следующий раз, когда вы захотите войти в систему, просто держите палец на читателе и вы в нем!

Когда это работает, это невероятно удобный способ доступа к устройству и обеспечивает безопасность вашего устройства Android.

# 3 Настройка Smart Lock

Функция Smart Lock позволяет настроить устройство для поиска определенных ситуаций и оставаться разблокированным. Вы можете включить или отключить функцию Smart Lock в меню «Настройки»> «Безопасность»> «Доверенные агенты» (в разделе «Дополнительно») . У вас есть следующие настройки для настройки смарт-блокировки.

  • Обнаружение тела — Вы можете включить эту настройку, чтобы позволить устройству идентифицировать, когда вы его переносите и оставаться разблокированным. Он блокируется, когда вы не держите его в руках.
  • Надежные места — Вы можете найти места на Картах Google, которые вы хотите считать «доверенными» и устройство останется там разблокированным.
  • Доверенные устройства — Позвольте вашему устройству Android оставаться разблокированным в непосредственной близости от смартфонов, автомобилей или даже наклеек NFC. Обратите внимание, что для этой функции требуется Bluetooth.
  • Надежное лицо — Используйте камеру на устройстве, чтобы распознать лицо авторизованных пользователей и разблокировать. Иногда такой способ может ошибаться и обычный PIN-код, шаблон или пароль станут более безопасным вариантом.
  • Надежный голос — Для нормальной работы этой функции необходимо всегда использовать «OK Google». Вам нужно будет пройти процесс обучения, который устанавливает голосовую модель, соответствующую вашему голосу, прежде чем использовать эту функцию. Если распознавание голоса неточно, вы можете вернуться назад и обучить голосовую модель еще раз для большей точности.

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

Вам необходимо включить «Android Device Manger», поскольку он позволяет удаленно стереть и заблокировать ваше устройство если оно украдено или потеряно.

Включение «Android Pay» в качестве администратора устройства будет налагать определенные ограничения на PIN-коды и пароли, которые вы можете использовать на устройстве.

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

Некоторые устройства, такие как мой Nexus 9, по умолчанию зашифрованы. Другие устройства могут иметь возможность включить его. Включите эту функцию для дальнейшего повышения безопасности Android.

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

Как подключить экран к Android-устройству?

  1. Включить привязку экрана в разделе «Настройки»> «Безопасность»> «Экранное соединение».
  2. Откройте экран, который вы хотите вывести.
  3. Сенсорный Обзор (меню быстрого переключения приложений)
  4. Проведите пальцем вверх и коснитесь значка pin-кода внизу

Как открепить закрепленный экран?

Одновременно нажмите кнопки «Назад» и «Обзор». Возможно, вам потребуется ввести шаблон, PIN-код или пароль для разблокировки в зависимости от ваших настроек.

Примечание. Фиксирование экрана может не ограничивать пользователя одним экраном, а скорее одним приложением. Например, привязка экрана безопасности в настройках Android позволяет мне перемещаться по всем настройкам, но не позволять мне это делать за пределами настроек.

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

Обычно вам не нужно входить в доверенные учетные данные и делать что-либо, особенно в разделе «Система». В разделе «Пользователь» перечислены учетные данные, которые вы могли бы добавить, если они есть. Вы должны убедиться, что учетные данные, добавленные вами вами, действительно заслуживают доверия.

# 8 Ограничение приложений с использованием доступа

Это приложения у которых есть разрешение контролировать использование вашего приложения на устройстве. Они могут отслеживать и регистрировать, какие приложения используются, когда и как долго и т. д. Обычно в этом списке будут сервисы Google Play и Play Store. Если вы не устанавливаете приложение для отслеживания вашего использования, никакие другие приложения не должны отслеживать его.

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

# 9 Переключить некоторые настройки

  1. Отключите «Сделать узор видимым», чтобы скрыть шаблон от посторонних глаз при разблокировке устройства.
  2. Отключить «Сделать доступными пароли», чтобы они были скрыты при разблокировке устройства.
  3. Отключить «Неизвестные источники», чтобы предотвратить загрузку приложений и APK (что такое APK?) Из других источников, кроме Play Store.
  4. Включите «Кнопка питания мгновенно блокирует», чтобы немедленно заблокировать устройство при нажатии кнопки питания.

# 10 Другие меры безопасности для Android

Держите свою учетную запись Google в безопасности — Android-устройство защищено так же, как ваша учетная запись Gmail, связанная с устройством. Обеспечение безопасности вашей учетной записи Google поможет сохранить безопасность вашего смартфона. Кроме того, если вы заблокированы из своего устройства по какой-либо причине то можете использовать информацию учетной записи, чтобы проверить свою личность и разблокировать устройство.

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

Недавно представленный iPhone 7 подтвердил опасения, что Apple переживает серьезный кризис идей. Главной новинкой модели стал отказ от традиционного разъема для наушников, на замену которым пришли беспроводные «затычки» за 12 990 рублей (двенадцать тысяч девятьсот девяносто рублей).

Дадим несколько советов по безопасности для тех, кто наконец-то решил перейти с iOS на Android (а также для давних поклонников платформы от Google):

1. Блокировка приложений

Порой знакомые просят ваш смартфон, чтобы посмотреть фотографии или быстро что-то найти в интернете. Отказывать неудобно, но вы не хотите, чтобы посторонние люди копались в личных файлах. Специально для таких случаев в Android 5.0 Lolipop появилась возможность заблокировать устройство в нужном приложении.


Для активации функции идем в раздел Безопасность - Блокировка в приложении - Вкл.


После этого в любом нужном приложении можно нажать кнопку «Недавние», а затем на иконку булавки. Приложение откроется, но из него нельзя будет выйти.


Для разблокировки одновременно нажмите «Назад» и «Недавние», после чего введите PIN-код или пароль.

2. ESET Mobile Security

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


Комплексную защиту устройства в режиме реального времени обеспечивает облачная технология ESET Live Grid, модули «Антифишинг» и «Антиспам». Функция сделает Android-гаджет безопасным даже для самых маленьких.


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

3. Менеджер паролей

Любой интернет-пользователь имеет десятки, а то и сотни учетных записей на различных сайтах и сервисах. Однако мало кто может запомнить уникальный пароль для каждого из них, поэтому почти везде используется один и тот же пароль (вы не исключение, верно?)


Хорошо, что разработчики приложений уже позаботились о решении данной проблемы. Менеджеры паролей, такие как LastPass или 1Password , помогают пользователям генерировать и хранить любое количество паролей.


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

4. Двухфакторная аутентификция

Постарайтесь максимально сократить риск утечки данных и воспользуйтесь функцией двухфакторной аутентификации везде, где это возможно.


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


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

5. Умная разблокировка Smart Lock

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


К счастью, разработчики Android 5.0 Lolipop придумали, как обойти надоедливые пароли без ущерба для безопасности. Функция Smart Lock позволяет разблокировать мобильное устройство 3 способами:


  • Надежные устройства - устройство разблокируется, когда поблизости находится знакомый Bluetooth или
  • Безопасные места - разблокировка устройства по геолокации (например, дома или в офисе)
  • Распознавание лиц - устройство разблокируется, если гаджет «узнал» владельца
Как включить Smart Lock:
  1. Настройки - Безопасность - Блокировка экрана
  2. Выберите один из способов блокировки экранов (кроме «Провести по экрану»)
  3. Перейдите в конец списка, найдите пункт Trust Agents и активируйте Smart Lock
  4. Вернитесь в начало раздела «Безопасность» и откройте меню Smart Lock
  5. Выберите один из вариантов умной разблокировки, перечисленных выше

6. Android Device Manager



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

7. An Android VPN client



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


Дополнительной мерой защиты может стать использование VPN -клиентов, которые шифруют трафик вашего устройства, а также скрывают IP-адрес и местоположение. Если вы вынуждены часто использовать публичные беспроводные сети (например, в ), то воспользуйтесь одним из приложений:

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


Следующие приложения помогут защитить ваши устройства Android от угрозы безопасности и личным данным .

Список приложений для защиты устройств Android

1. Avast Mobile Security

Avast – это прекрасное приложение для защиты телефона на базе Android от вирусов и других угроз.


Avast – это один из наиболее популярных бесплатных антивирусов для Android. Он уведомляет об установке шпионских и рекламных программ, которые угрожают защищенности ваших личных данных.

Вероятность обнаружения новейших вредоносных программ примерно 99,9%, а в случае вредоносных программ, появившихся в течение месяца, вероятность практичеки 100%.

Вывод : Если вам необходима защита от вредоносных программ и для безопасного просмотра сайтов, то вам это приложение подойдет.

2. Sophos Antivirus and security

Sophos – один из лучших бесплатных антивирусов для Android.


Пользовательский интерфейс может не вызвать восхищения. Однако, функционал позволит вам перестать беспокоиться о безопасности.

Возможности:

  • сканирование на наличие вирусов установленных и существующих приложений, а также хранилищ данных;
  • защита от потери и воровства с поддержкой удаленного доступа, позволяющего форматировать, заблокировать, включить звуковой сигнал на вашем устройстве или установить его местоположение;
  • фильтрация веб-контента;
  • блокировка спама.
У Sophos самая высокая вероятность выявления новейших вредоносных программ – 100%. Этим она разительно отличается от других.

Вывод : Если полезные функции для вас важнее симпатичного дизайна, то лучше Sophos вы мало что найдете.

3. AppLock

Этим приложением довольно просто пользоваться. AppLock защищает отдельные приложения от взломщиков, запрашивая ПИН-код или графический ключ. Таким способом можно защитить SMS, контакты, Gmail, да и вообще любое приложение.

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


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

4. Signal Private Messenger

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

Однако, Signal Private Messenger позволяет добавить дополнительный уровень защиты к обыкновенным SMS, даже если один из пользователей не пользуется Signal Private Messenger. Приложение разработано Open Whisper System.


Приложение имеет следующие особенности:
  • открытый исходный код;
  • сквозное шифрование. На сервере приложения не хранится ничего;
  • шифрование возможно даже если у одного из пользователей нет Signal Private Messenger.
Вывод : Для сквозного шифрования обычных SMS лучше Signal Private Messenger ничего нет.

5. Secure Call

Гарантирует, что никто не сможет прослушивать звонки. Secure Call обеспечивает сквозное шифрование звонков, предотвращающее прослушивание посторонними лицами.


Приложение используется по умолчанию для входящих и исходящих звонков. Благодаря децентрализованной архитектуре (peer-to-peer) с надежным сквозным шифрованием никакие посторонние лица не смогут прослушать ваши звонки, в том числе сами разработчики приложения.

Вывод : если вам требуется сквозное шифрование звонков, пользуйтесь Secure Call.

6. App Ops

Основная функция App Ops – аннулировать определенный набор разрешений у выбранных приложений. Многие приложения запрашивают дополнительные разрешения, которые ни в какой мере не связаны с их функциями.

App Ops позволяет блокировать излишние полномочия . При установке приложения требуется разрешить доступ ко всему, что потребует приложение.


Если вы отклоните какое-либо разрешение, приложение установлено не будет. App Ops вас выручит, если понадобится устновить приложения, при этом не давая определенных разрешений.

Вывод : App Ops решит вопрос отзыва конкретных ненужных разрешений.

7. Lastpass

У всех сегодня по несколько учетных записей и паролей. Помнить их все не легко.

LastPass – один из лучших доступных на рынке менеджеров паролей . При хранении паролей применяются дополнительные уровни защиты.


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

Вывод : Простое решение для хранения всех паролей.

8. Android Device Manager

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

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

Особо пристальное внимание хакеры обращают на пользователей устройств на базе системы Android. Причина: по данным статистической компании Kantar, доля рынка системы Android составляет почти 80%, в то время как iOS набирает лишь 20%. Кроме того, устаревшие модели аппаратов Android не защищены от современных методов атак.

Android: выгоняем шпионов с устройств Android

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

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

Контроль за шпионским ПО
Сканер от Malwarebytes специализируется на шпионском ПО. Он проверяет систему на наличие известных «вынюхивающих» приложений

Еще один признак -это иконки приложений, которые не поддаются упорядочению. При возникновении подозрений немедленно удалите такие программы. Вспомните, не получали ли вы в последнее время требование скачать какой-либо APK? Вредоносное и шпионское ПО зачастую инициализирует собственную загрузку через ссылку в SMS или мессенджере на смартфоне. Счет за связь также может стать отправной точкой в вычислении шпионов. Сравните указанные в нем мегабайты трафика с соответствующими данными на смартфоне. Такую статистику вы найдете в меню «Настройки | Передача данных».

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

Это связано с тем, что взломанный телефон пересылает хакеру разговоры и записи с микрофона в виде аудиофайлов через мобильный Интернет.

Такое вредоносное ПО благодаря проникновению в систему способно скрывать потребление трафика от системного инструмента сбора статистики. Таким образом набираются от 50 до 500 Мбайт. При обнаружении некоторых из вышеописанных симптомов заражения рекомендуем действовать по следующему плану: первым делом установить антивирус.

Несмотря на то, что большинство программ стоят денег, в будущем они надежно защитят ваше устройство почти от всех инфекций. Для быстрой и бесплатной помощи можно воспользоваться приложением Anti-Malware от Malwarebytes.

Проверка подключений
Приложение Network Connections позволяет проверить всю пересылку данных

Программа-сканер ничего странного не обнаружила, но вас не покидает ощущение, что телефон заражен? Возьмите дело в свои руки.

Надежнее всего вам поможет приложение Network Connections из Play Market . Оно зарегистрирует весь сетевой трафик, и вы сможете увидеть, к чему подключаются различные приложения и службы.

С помощью данного метода вы, конечно, увидите, что шпионское ПО орудует на вашем устройстве, но удалить его практически нереально. Особенно если оно скрывается глубоко в системе.

В таком случае вас спасет только возврат к заводским настройкам.

Android: от сомнений спасет только сброс настроек

Идеальный бэкап
С помощью MyPhoneExplorer вы легко создадите очищенные от вирусов копии данных

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

В этом случае после восстановления система снова будет инфицирована. Если резервное копирование будет проводиться через учетную запись Google, сначала убедитесь, что ваш аккаунт не взломан.

Теперь выполните архивирование с помощью утилиты MyPhoneExplorer (есть в Google Play). После этого можно откатить устройство к заводским настройкам. После перезагрузки используйте резервную копию, выполненную утилитой MyPhoneExplorer, для восстановления информации.

Android: тысячи уязвимостей

Большинство мобильных атак нацелены на систему от Google в связи с ее огромной популярностью. Зачастую узнать, не заражена ли система, можно лишь при помощи специальных утилит. Большинство антивирусов не нагружают систему, лучший же не стоит ни копейки, но оказывает гарантированную помощь. С результатами теста некоторых основных мобильных антивирусов можно ознакомиться в таблице ниже:

Цена, руб., ок Общая оценка Цена/эффективн. Распознав. Ложные
тревоги
Быстрод.
1 Sophos Mobile Security для Android бесп. 98,9 100 100 96,2 100
2 Bitdefender Mobile Security & Antivirus 500 96,7 72 100 89,2 100
3 Tencent WeSecure Antivirus Free бесп. 95,5 93 92,9 99,1 100
4 Kaspersky Internet Security for Android 400 90,0 61 83,5 99,5 100

iOS: и снова никакой абсолютной защиты

Несмотря на то, что система от Apple гораздо лучше защищена от вредоносного ПО, пользователи iOS также могут попасть в ловушку хакеров-шпионов. В систему вирусы попадают через уязвимости, которые также используются для установки джейлбрейков.


G Data Security Suite проверяет, не подвергался ли смартфон джейлбрейку

Первым делом необходимо проверить, не проводилась ли подобная операция с вашим устройством. Для этого установите приложение G Data Internet Security из App Store . После запуска оно проверит, не меняло ли вредоносное ПО определенные разделы системы.

При положительном результате следует, так же как и с Android, провести возврат к заводским настройкам - в данном случае напрямую через стационарную программу iTunes.

Для резервного копирования воспользуйтесь, однако, сервисом iCloud . Его достоинство заключается в том, что в этом облаке Apple сохраняет лишь персональную информацию. При восстановлении оригинальные приложения устройство загрузит сразу же из App Store. Таким образом, на вашем телефоне больше не окажутся «хакнутые» программы.

iOS: небезопасная и без джейлбрейка

Для шпионажа джейлбрейк вовсе не является обязательной предпосылкой. Достаточно манипуляций с приложением и незаметного доступа к микрофону. Но даже кажущиеся легитимными программы, доступные в App Store, могут вести разведывательную деятельность.


Зараженные iOS-устройства следует вернуть в исходное состояние через программу iTunes и с помощью установки свежей прошивки

Впрочем, существует возможность это распознать: в настройках телефона проверьте, у каких программ есть доступ к микрофону и камере. Для этого в «Настройках» нажмите на «Конфиденциальность». В разделах «Микрофон» и «Камера» вы увидите приложения с соответствующими правами.

Кроме того, в «Службах геолокации» вы узнаете, у каких программ есть доступ к GPS. Если вы не уверены в серьезности какого-либо продукта, для надежности отключите ему соответствующий доступ.

Фото: компании-производители

Android - молодая операционная система, и ее, как любую другую новорожденную ОС, принято упрекать в отсутствии должного уровня безопасности. Антивирусные компании и профильные аналитики рапортуют о настоящем буме вредоносного ПО для Android и предрекают скорое наступление армии зомби-вирусов, которые опустошат кошельки пользователей. Но так ли уязвим зеленый робот на самом деле?

Введение

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

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

Но как же обстоят дела на самом деле? Проблема существует или нет? Стоит ли бояться юзерам Android за сохранность своих данных, или перейти на iOS, и как, если это возможно, защитить свои данные от злоумышленников? Обо всем этом повествует наш сегодняшний обзор.

Дыра в дыре?

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

Реализуется это простым и превосходным методом: через соблюдение прав доступа. В Android каждое приложение - это отдельный пользователь со своими правами доступа и полномочиями. Каждое приложение в такой системе получает свой собственный идентификатор пользователя (UID) и собственный каталог внутри каталога /data, так что все его данные защищаются с помощью простых прав доступа, которые разрешают самому приложению читать собственные файлы, но запрещают делать это любому другому процессу.


В Android это называется песочницей (sandboxing), которая позволяет сберечь данные соседних приложений друг от друга, не позволив зловреду утащить частную информацию, сохраненную любым приложением системы. В песочницу попадают абсолютно все приложения, включая заранее предустановленные на аппарат. Фактически лишь небольшая часть Android работает с правами root, а именно начальный процесс zygote, выполняющий функции контроля за исполнением приложений, и небольшая часть системных сервисов. Все остальные приложения всегда работают в песочницах, поэтому зловред, даже прошедший процедуру «впаривания» пользователю, не может утащить ничего ценного, кроме содержимого SD-карты, доступ к которой по умолчанию открыт всем (позже мы еще вернемся к этому).

Кроме данных отдельно взятых приложений, для доступа закрыта также базовая инсталляция Android, размещаемая на отдельном разделе внутренней NAND-памяти и подключенная к каталогу /system. По умолчанию она смонтирована в режиме только для чтения и, в принципе, не хранит в себе никакой конфиденциальной информации (для ее размещения также используются песочницы в /data), поэтому каким-то хитрым образом прописаться в автозагрузку или модифицировать системные компоненты не получится (если, конечно, не использовать эксплойты для получения прав root, о чем я подробнее расскажу ниже).

Для общения приложениям доступно несколько вариантов IPC, причем родные для Linux средства коммуникации, такие как разделяемая память и сокеты, доступны только процессам, принадлежащим одному приложению, да и то лишь в том случае, если хотя бы часть приложения написана на компилируемом в машинный код языке, то есть с использованием Android NDK. Во всех остальных случаях приложения смогут использовать Binder для безопасного обмена сообщениями и интенты для вызова сторонних приложений (о них мы также поговорим ниже).

Интересно, что в Android, начиная с версии 2.2, есть понятие администратора устройства, но значит оно совсем не то, что под ним понимают пользователи UNIX и Windows. Это просто API, с помощью которого приложение может изменять политику безопасности паролей, а также запрашивать необходимость в шифровании хранилища данных и производить удаленный вайп смартфона. Это своего рода костыль, который был придуман в ответ на запросы корпоративных пользователей Android, которые хотели получить больший контроль над безопасностью данных на смартфонах сотрудников. Фактически этим API может воспользоваться любое приложение, но для этого пользователь должен явно подтвердить свое намерение предоставить приложению такие полномочия. Также в последних версиях Android появилась возможность загрузки устройства в безопасном режиме, когда пользователь получает доступ только к предустановленным приложениям. Она может понадобиться в случае компрометации устройства сторонним приложением.

Начиная с версии 3.0, Android имеет встроенную поддержку шифрования всех пользовательских данных с помощью стандартной подсистемы dmcrypt ядра Linux. Шифрование производится в отношении того самого каталога /data алгоритмом AES128 в режиме CBC и ESSIV:SHA256 с помощью ключа, генерируемого на основе пароля, который необходимо ввести во время загрузки ОС. При этом стоит учитывать, что карта памяти не шифруется, поэтому сохраненные на ней данные остаются полностью открытыми.

Приложения и права доступа

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

У Android есть замечательная особенность: абсолютно любое приложение обязано содержать в себе информацию о том, какие именно из функций Android оно может использовать. Эта информация заключена в файле AndroidManifest.xml внутри APK-файла и извлекается инсталлятором перед установкой приложения для того, чтобы пользователь смог ознакомиться с тем, к какой функциональности смартфона приложение сможет получить доступ. При этом пользователь должен в обязательном порядке согласиться с этим списком перед установкой приложения.

На заре становления Android такой подход был раскритикован как слишком наивный, однако, как показало время, его эффективность получилась чрезвычайно высокой. Несмотря на то что большинство пользователей игнорирует список привилегий перед установкой приложения, многие ознакомляются с ним и, если обнаруживают какие-то несоответствия (например, когда игра запрашивает возможность отправки SMS или доступ к адресной книге), рассказывают об этом в отзывах и ставят одну звезду. В результате приложение очень быстро получает низкий суммарный рейтинг и большое количество негативных комментариев.

Также хочется заметить, что все возможные привилегии достаточно четко и логично разделены, благодаря чему злоупотребления привилегиями практически не бывает. Например, приложение может потребовать возможность читать SMS, но не отправлять их или получать уведомления о пришедшем сообщении. Фактически единственный серьезный недостаток системы привилегий был найден только в том, что инженеры Google вообще не предусмотрели никаких ограничений на чтение карты памяти (запись тем не менее ограничена), посчитав это бессмысленным для съемных накопителей. В свое время эта «брешь» привела к возможности получения координат смартфона, выуженных из кеша стандартного приложения «Галерея», который хранился на карте памяти. Что, в свою очередь, вынудило Google добавить в настройки последних версий Android опцию, после активации которой система будет явно спрашивать пользователя о возможности доступа какого-либо приложения к SD-карте.

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

Проверка привилегий идет на самом низком уровне ОС, в том числе на уровне ядра Linux, так что для обхода этой системы безопасности зловреду придется не только получить права root на устройстве, но и каким-то образом скомпрометировать ядро, что гораздо более сложная задача.

IPC

Как уже было сказано выше, приложения могут обмениваться информацией, используя стандартные для Android средства коммуникации Binder, интенты (Intents) и провайдеры данных (Content Provider). Первый представляет собой механизм удаленного вызова процедур (RPC), реализованный на уровне ядра Linux, но контролируемый системным сервисом Service Manager. С точки зрения программного интерфейса Binder является всего лишь средством импорта объектов из другого приложения, но с точки зрения безопасности полностью контролируется обсуждаемым выше механизмом разграничения прав доступа. Это значит, что приложения смогут получить доступ друг к другу только в том случае, если оба этого захотят. Это особенно важно в свете того, что в Android Binder является основным средством коммуникации, на основе которого построен графический интерфейс, а также другие компоненты ОС, доступные программисту. Доступ к ним ограничивается с помощью обсуждаемого выше механизма привилегий. Как системные компоненты, так и сторонние приложения могут ограничивать доступ к своей функциональности с помощью декларации прав на доступ к своим функциям. В случае системных компонентов все они описаны в документации для программистов Android-приложений. Независимые разработчики, которые хотят открыть API к своим приложениям, должны описать требуемые для этого привилегии в AndroidManifest.xml и опубликовать соответствующую документацию. Все это относится также к провайдерам данных (Content Provider), специальному интерфейсу (также реализованному поверх Binder), с помощью которого приложения могут открывать доступ к своим данным другим приложениям. В Android провайдеры данных везде, это и адресная книга, и плей-листы, и хранилище настроек. Доступ к ним опять же ограничивается с помощью механизма привилегий и прав доступа.

Поверх Binder также реализована так называемая технология интентов, простых широковещательных сообщений. Приложения могут посылать их «в систему» с целью вызова внешних приложений для совершения какого-либо действия. Например, приложение может использовать интенты для вызова почтового клиента с указанием адреса, открытия веб-страницы, каталога в файловой системе и всего, что может быть записано в виде URI. Система автоматически находит все приложения, способные принимать данный тип интентов (а точнее URI-адресов), и передает URI им (а точнее, одному из них, выбранному пользователем). То, какие типы интентов может принимать и обрабатывать приложение, определяет программист во время сборки приложения. Кроме того, он может использовать фильтрацию по содержимому URI, чтобы избежать «спама».


Сами по себе перечисленные механизмы обмена данными и вызова функций приложений, контролируемые с помощью системы привилегий, в Android реализованы достаточно четко и ясно, однако они могут привести к проблемам в том случае, если программист недостаточно серьезно относится к декларации привилегий, необходимых для доступа к своему приложению. Это может привести к утечкам информации или возможности задействования функциональности приложения кем угодно. Например, в первых версиях Dropbox для Android имелась проблема с правильным определением привилегий, которая приводила к тому, что любое установленное приложение могло использовать Dropbox-клиент для заливки какой угодно информации на «облачный диск» www.securelist.com .

Защита от срыва стека

Для защиты приложений, созданных с использованием Android NDK, а также системных компонентов, написанных на языке Си, Android включает в себя обширный набор механизмов защиты от срыва стека, в свое время реализованных самыми разными разработчиками для различных проектов. В Android 1.5 системные компоненты были переведены на использование библиотеки safe-iop , реализующей функции безопасного выполнения арифметических операций над целыми числами (защита от integer overflow). Из OpenBSD была позаимствована реализация функции dmalloc, позволяющая предотвратить атаки с использованием двойного освобождения памяти и атаки согласованности чанков, а также функция calloc с проверкой на возможность целочисленного переполнения во время операции выделения памяти. Весь низкоуровневый код Android, начиная с версии 1.5, собирается с задействованием механизма компилятора GCC ProPolice для защиты от срыва стека на этапе компиляции.

В версии 2.3 в коде были устранены все возможные уязвимости манипуляции со строками, выявленные с помощью сборки исходных текстов с флагами ‘-Wformat-security’, ‘-Werror=format-security’, а также применены «железные» механизмы защиты от срыва стека (бит No eXecute (NX), доступный начиная с ARMv6). Также Android 2.3 задействует метод защиты от уязвимости, найденной в ноябре 2009 года во всех ядрах Linux 2.6 (возможность разыменования NULL-указателя), с помощью записи отличного от нуля значения в файл /proc/sys/vm/mmap_min_addr. Такой метод защиты позволил устранить уязвимость без необходимости в обновлении самого ядра Linux, что невозможно на многих устройствах.

Начиная с версии 4.0, Google внедрила в Android технологию Address space layout randomization (ASLR), которая позволяет расположить в адресном пространстве процесса образ исполняемого файла, подгружаемых библиотек, кучи и стека случайным образом. Благодаря этому эксплуатация многих типов атак существенно усложняется, поскольку атакующему приходится угадывать адреса перехода для успешного выполнения атаки. В дополнение, начиная с версии 4.1, Android собирается с использованием механизма RELRO (Read-only relocations), который позволяет защитить системные компоненты от атак, основанных на перезаписи секций загруженного в память ELF-файла. В той же версии 4.1 была впервые активирована функция ядра dmesg_restrict (/proc/sys/kernel/dmesg_restrict), появившаяся в ядре 2.6.37 и позволяющая отключить возможность чтения системного журнала ядра (dmesg) непривилегированными пользователями.

INFO

В альтернативной Android-прошивке MIUI ни одно стороннее приложение не сможет отправить SMS без явного подтверждения со стороны пользователя.

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

  • В рамках экспериментального проекта SE Android идет работа над форком Android с активированной системой безопасности SELinux.

Репозиторий приложений

Репозиторий приложений Google Play (в девичестве Android Market) всегда был самым слабым местом Android. Несмотря на то что механизм, требующий от приложений обязательного указания списка своих привилегий перед установкой, изначально работал правильно и позволял создать экосистему, в которой пользователи сами бы могли предупреждать друг друга о возможном зловредном поведении программы, опубликованной в репозитории, пользователи то и дело заражали свои смартфоны вирусами.

Основная проблема здесь заключалась в том, что приложение и его автор не подвергались каким-либо серьезным проверкам перед публикацией пакета в репозиторий. Фактически все, что нужно было сделать, - это написать программу, создать аккаунт в Google Play, внести членский взнос и опубликовать приложение. Все это мог сделать абсолютно любой человек, выложив в Маркет любой код, что и было многократно продемонстрировано в различных исследованиях безопасности Android.

Чтобы хотя бы частично решить эту проблему, не прибегая к ручной проверке приложений на безопасность, как сделано в Apple App Store, Google в начале этого года ввела в строй сервис Bouncer, представляющий собой виртуальную машину, в которой автоматически запускается любое публикуемое в репозитории приложение. Bouncer выполняет многократный запуск софтины, производит множество действий, симулирующих работу пользователя с приложением, и анализирует состояние системы до и после запуска с целью выяснить, не было ли попыток доступа к конфиденциальной информации, отправки SMS на короткие платные номера и так далее.

По словам Google, Bouncer позволил сократить количество вредоносов сразу после запуска сервиса на 40%. Однако, как показали дальнейшие исследования, его можно было легко обойти: проанализировать некоторые характеристики системы (e-mail-адрес владельца «смартфона», версию ОС и так далее) и затем создать приложение, которое при их обнаружении не будет вызывать подозрений, а после попадания на настоящий смартфон делать всю грязную работу.

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

Ревью кода и обновления

Последнее, но не менее важное, о чем хотелось бы сказать, говоря о системе безопасности Android, - это ревью кода и процесс реагирования команды разработчиков на появление новых уязвимостей. Когда-то программисты OpenBSD показали, что это один из наиболее важных аспектов разработки безопасной ОС, и Google следует их примеру достаточно четко.

В Google на постоянной основе работает команда безопасности Android (Android Security Team), задача которой заключается в том, чтобы следить за качеством кода операционной системы, выявлять и исправлять найденные в ходе разработки новой версии ОС ошибки, реагировать на отчеты об ошибках, присланные пользователями и секьюрити-компаниями. В целом эта команда работает в трех направлениях:

  • Анализ новых серьезных нововведений ОС на безопасность. Любое архитектурное изменение Android должно быть в обязательном порядке одобрено этими ребятами.
  • Тестирование разрабатываемого кода, в котором принимают участие также Google Information Security Engineering team и независимые консультанты. Идет постоянно на протяжении всего цикла подготовки нового релиза ОС.
  • Реагирование на обнаружение уязвимости в уже выпущенной ОС. Включает в себя постоянный мониторинг возможных источников информации о найденной уязвимости, а также поддержку стандартного баг-трекера.

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

  1. Уведомляет компании, входящие в альянс OHA (Open Handset Alliance), и начинает обсуждение возможных вариантов решения проблемы.
  2. Как только решение будет найдено, в код вносятся исправления.
  3. Патч, содержащий решение проблемы, направляется членам OHA.
  4. Патч вносится в репозиторий Android Open Source Project.
  5. Производители/операторы начинают обновление своих устройств в режиме OTA или публикуют исправленную версию прошивки на своих сайтах.

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


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

Выводы

Как и любая другая операционная система, Android не лишена уязвимостей и различных архитектурных допущений, упрощающих жизнь вирусописателей. Но говорить о том, что Android уязвима по определению, также не стоит. В ней явно прослеживается влияние последних тенденций в разработке безопасных операционных систем. Это и песочницы для приложений, и четко контролируемый системой механизм обмена данными между приложениями, и наработки проекта OpenBSD - единственной ОС общего назначения, разработка которой всегда велась с упором на безопасность.