Личная безопасность что это за программа на андроид

Обновлено: 07.07.2024

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

Введение

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

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

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

Архитектура Android

Архитектура Android

Дыра в дыре?

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

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

Увидеть, какому UID принадлежит приложение, можно с помощью любого менеджера задач

Увидеть, какому UID принадлежит приложение, можно с помощью любого менеджера задач

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

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

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

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

Интересно, что в 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 или доступ к адресной книге), рассказывают об этом в отзывах и ставят одну звезду. В результате приложение очень быстро получает низкий суммарный рейтинг и большое количество негативных комментариев.

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

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

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

Принцип работы Binder

Принцип работы Binder

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

Для защиты приложений, созданных с использованием 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) непривилегированными пользователями.

-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, так чтобы доступ к исправлению получили сразу все и как можно скорее.

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

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

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

В выводе ps хорошо видно, что все приложения с правами разных пользователей

В выводе ps хорошо видно, что все приложения с правами разных пользователей

    реализации системы шифрования Android; полномочий для разработчиков приложений; по созданию безопасных Android-приложений.

Выводы

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

Я шесть лет пользовался Айфонами, но в сентябре купил смартфон на Андроиде.

Знакомые предупреждали, что Андроид небезопасный: мол, там вирусы в каждом приложении, а опасность поджидает там, откуда не ждёшь. Я решил разобраться, так ли это, и собрал команду знатоков:

  • Денис Лесник, разработчик «Тинькофф-банка»,
  • Дмитрий Петерсон, руководитель компании «Мобайл Симбирсофт»,
  • Виктория Носова, директор по безопасности «Чек Поинт Софтвейр Технолоджис»,
  • Евгений Кателла, руководитель отдела Андроид-разработки «Рамблера»,
  • Артём Баранов, ведущий вирусный аналитик «Эсет Раша».

Вот что я от них узнал.

Действительно ли Андроид опасен?

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

Как не попасться на удочку хакеров

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

Если соблюдать правила безопасности и следить за тем, что ты пускаешь в свой телефон, телефон на Андроиде не менее защищен, чем Айфон.

Какой телефон на Андроиде сейчас самый незащищенный?

Опаснее всего смартфоны со старым версиями Андроида. Гугл не выпускает обновления безопасности для Андроида старше версии 4.4.4. В пятой и шестой версиях есть усиленные настройки безопасности.

Чтобы посмотреть, на какой версии Андроида работает ваш смартфон, перейдите в → «Настройки» → «О телефоне» → «Версия Андроид»:


Этот телефон более-менее защищен: на нем одна из недавних версий Андроида

Самое главное, чтобы для смартфона часто выходили обновления. Большинство смартфонов на Андроиде обновляются редко. Исключение — устройства, которые выпускает Гугл: «Нексусы» и «Пиксели». Еще есть специальные модели смартфонов с упором на защиту пользовательских данных. Например, линейка Андроид-смартфонов «Блэкберри»: Priv, DTEK50, DTEK60. Часто обновляются «Самсунги» и «Эйч-ти-си», однако старые модели в какой-то момент перестают получать обновления.

Также в группе риска дешевые китайские смартфоны — как правило, они привязаны к собственному магазину приложений — аналогу «Гугл-плея», который не так безопасен. Часто в такие смартфоны устанавливают рекламные и шпионские программы.

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

Чтобы сбросить настройки, перейдите в пункт «Восстановление и сброс» настроек вашего смартфона:


При покупке смартфона с рук стирайте его до основания

Из-за чего чаще всего взламывают телефоны?


Как защититься от сетевых хулиганов в общественных местах

Социальная инженерия — самый простой способ атаки на смартфон. Это способ атаки, в котором человек сам отдает мошенникам свои данные: например, сообщает номер карты якобы сотрудникам банка; или вводит логин и пароль от соцсети в сомнительном приложении. Если устанавливать приложения не из «Гугл-плея», вводить данные от соцсетей и банковских приложений на незнакомых сайтах, то Андроид не спасёт, каким бы безопасным он ни был.

Не открывайте ссылки из сомнительных писем:


Письмо сомнительное, потому что мы никаких платежей не ждали, а ссылка ведет на странный сайт

Отключите в настройках безопасности пункт «Разрешить установку приложений из неизвестных источников»:


Теперь приложения можно устанавливать только из официального магазина


Фонарику нужен доступ к камере, чтобы включить вспышку. А вот к вашим контактам — не нужен

И, конечно, не сообщайте никому свои личные данные и коды из смс. Остерегайтесь универсальных мессенджеров, приложений типа «Музыка ВК» или «Кто был на вашей странице». Любые неофициальные приложения, которые запрашивают ваши личные данные, могут использовать их против вас.

Нужен ли на телефон антивирус?

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

Андроид ограничивает возможности приложений, поэтому большинство современных антивирусов бесполезны. Если вы устанавливаете приложения только из «Гугл-плея», то антивирус, скорее всего, не принесет ощутимой пользы: он будет всё время говорить вам, что угроз не обнаружено.

Телефон постоянно предлагает обновиться. Что делать?

Обновления прошивок смартфона исправляют критические уязвимости в безопасности. Старайтесь пользоваться последней версией прошивки. Убедитесь, что обновиться предлагает именно телефон, а не сторонняя программа. Если всё нормально, то обновляйтесь.

Опасные обновления

Почему не все обновления программ одинаково полезны

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

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

Как сохранять данные?

В настройках смартфона есть пункт «Восстановление и сброс». Проверьте, включён ли тумблер «Резервирование данных». Это встроенный в Андроид бэкап — он сохраняет резервные копии данных приложений, паролей от вай-фая, закладок Хрома.

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

Чтобы сохранить фотографии, пользуйтесь автозагрузкой в приложении «Гугл-фото». Эта программа загружает ваши снимки и видео в облако.

В последних версиях Андроида для смартфонов линейки «Пиксель» есть полный бэкап данных в «Гугл-драйв». Но эти модели в России официально пока не продаются.

Что совершенно точно не стоит делать в интернете с мобильного телефона или планшета?

Не устанавливайте приложения не из «Гугл-плея» или дополнительные надстройки с сомнительных сайтов. Внимательно относитесь к данным учётных записей соцсетей и банковских приложений — убедитесь, что сайт или приложение действительно официальные, а соединение безопасно.

Часто злоумышленники подделывают сайты банков, а пользователи не замечают подвоха.

Чтобы убедиться, что соединение с сайтом безопасно, обратите внимание на иконку с замком слева от адресной строки Хрома:


Будьте осторожны на порносайтах, сайтах с бесплатными играми и сериалами, сайтах с торрентами, онлайновыми казино. На них вам могут предложить установить обновление, почистить телефон, продлить срок службы батареи или что-нибудь еще многообещающее. Чаще всего за всеми этими чудо-программами будут скрываться трояны, вирусы или агенты ботнета. Если что-то устанавливать — то только из официального магазина «Гугл-плей».

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

Что такое рутинг телефона? Для чего он нужен?

Андроид работает на основе операционной системы «Линукс». В ней есть пользователь root, у которого есть доступ ко всем объектам системы. От него и появилось слово «рутинг».

Рутинг открывает программам доступ к системным файлам и настройкам. Например, с помощью рутинга можно управлять мощностью процессора или снять полную цифровую копию смартфона со всеми приложениями, настройками и пользовательскими данными. Опытные ребята делают рутинг, чтобы содрать до железа все лишние программы, максимально разогнать телефон, открыть в нём скрытые функции или установить альтернативную прошивку. Звучит заманчиво, но рутинг — это опасно.

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

Adblock Browser — мобильный браузер со встроенным блокировщиком рекламы. Именно по вине последней так медленно грузятся страницы, увеличивается сетевой трафик, а батарея разряжается на 20% быстрее. Но это ещё не самое страшное, что может случиться. Часто под видом рекламы скрываются вредоносные программы и программы-шпионы. Adblock Browser защищает конфиденциальность пользователя.



2. Micro Guard FREE

Micro Guard FREE не позволяет никому прослушивать ваши разговоры. Сервис выявляет программы и приложения, которые пытаются получить доступ к микрофону, и предупреждает пользователя специальным сигналом.

Благодаря Эдварду Сноудену мы знаем, что спецслужбы могут подключаться к абсолютно любому телефону в мире, кем бы ни был его хозяин. Поэтому даже директор ФБР пользуется приложением против прослушки.








3. AppLock

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

4. Kid’s Shell

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

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

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

Открытость системы Android заключается в нескольких факторах. Во-первых, это доступность кода , который может быть использован, модифицирован и улучшен разработчиками в зависимости от их потребностей и идей. С одной стороны, для производителей устройств и разработчиков это несомненный плюс, с другой стороны, это дает возможность не только исследователям, но и злоумышленникам более продуктивно находить уязвимости и ошибки. Во-вторых , существует возможность установить приложения как из официального каталога приложений Google Play (ранее назывался Android Market), так и из любого другого доступного источника. В-третьих , создание приложений является практически общедоступным, так как необходимо заплатить всего $25 в случае, если разработчик желает размещать свои продукты в официальном каталоге, а для распространения программ вне его материальные затраты вообще не нужны. В-четвертых , размещаемые в Google Play программы до недавнего времени не подвергались предварительной проверке или тестированию со стороны Google. Совсем недавно была анонсирована система Bouncer , которая должна проверять приложения, размещенные в каталоге Play, на наличие вредоносных функций; проверке также будут подвергаться учетные записи разработчиков.

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

3. Человеческий фактор: халатность, социальная инженерия и глупость

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

Приложения также могут подделываться, и невнимательный пользователь с большой долей вероятности поделится со злоумышленниками своими персональными данными (логин и пароль от социальной сети, данные кредитной карты и т. п.). Вариантов может быть много.

Система Android базируется на ядре Linux , тем не менее ее разработчики сильно модифицировали некоторые базовые механизмы, что в конечном итоге привело и к усилению защиты . В частности, рабочая среда Android включает в себя драйверы оборудования, поддержку сетевого стека, файловую систему, а также механизмы управления памятью, процессорным временем и расходом электроэнергии. Все эти механизмы реализуются с помощью библиотек, написанных на языке Си/Си++, но все приложения для Android исполняются в виртуальной машине Dalvik VM , которая, по своей сути, является подмножеством Java 5 Standard Edition .

В отличии от Java, в Android используются свои библиотеки классов и более компактный метод сохранения исполняемых файлов (выполняемые программы для Android имеют расширение .dex). Приложения для Android формируются в специальные пакеты, которые имеют расширение .apk и очень похожи на jar-файлы Java.

Каждое приложение Android имеет собственный идентификатор и запускается в собственной виртуальной машине. Для каждой такой машины действует принцип изоляции по потокам и низкоуровневому распределению памяти. Все взаимодействие отдельных процессов происходит только через ядро Linux, а не напрямую. В Android вместо одного пользователя с высокими привилегиями предусмотрено целых три: root, system и rild . ОС Android во время загрузки в память запускает мастер-процесс zygote, который порождает новые экземпляры Dalvik VM — по одному для каждого приложения. Кроме того, во время старта ОС запускается несколько системных процессов system_server, которые реализуют все необходимые сервисы операционной системы: процесс init, инициализирующий операционную систему; mountd, отвечающий за работу со съемными дисками; rild, управляющий взаимодействием с телефонной сетью и другими коммуникационными интерфейсами.

В Android используется отличный от принятого в Linux механизм распределения прав, называемый привилегиями. Так, есть привилегии для работы с мобильной сетью (например, CALL_PHONE), работы с изображениями (CAMERA) или доступа к Интернет (INTERNET), и, чтобы получить определенные привилегии, приложение должно их декларировать в своем описании. При установке приложения набор этих привилегий проверяется, и пользователю предлагается их подтвердить. Например, первый отечественный троянец, который рассылал SMS на платные короткие номера, при установке просил привилегии на отсылку SMS. А поскольку он представлялся как медиаплеер, то подобное разрешение должно было насторожить пользователя — зачем плееру нужны права на отсылку SMS?

Все эти механизмы позволяют решить основную проблему Linux — всесилие пользователя root. Поскольку каждое приложение запускается под своим идентификатором, то и запущенные процессы можно легко классифицировать по приложениям и определить для каждого из них правила контроля доступа к объектам ОС. При этом для доступа к радиосети нужно получить доступ не столько к идентификатору root, сколько к пользователю rild, который обеспечивает работу сетевых сервисов. Фактически в Android используется классическая модель разделения властей в государстве: root выполняет законодательные функции, занимаясь конфигурацией, rild — исполнительные функции, связанные сетью, а system — судебную, контролируя работу внутрисистемных сервисов.

Итак, какие вредоносные программы для ОС Android существуют и чем они опасны?

Однако, нужно понимать, что бы реализовать возможность установки приложений, не вызывая подозрений со стороны пользователя, троянцам необходимы права root (права, с которыми работает ядро системы) .

Архитектура Android построена таким образом, что все приложения работают с ограниченными правами и не имеют доступа к защищенным данным других приложений. Начиная с Android 5.0 в системе по умолчанию включен режим SELinux (Security Enhanced Linux) . Он предусматривает принудительный контроль прав доступа на уровне ядра ОС.

Одна из главных проблем, с которыми могут столкнуться пользователи, — уязвимости системы, позволяющие получить права root . Существуют специальные приложения, скрипты и программные модули, выполняющие эту задачу. В повседневной жизни подобные вещи пользователям не страшны, так как чаще всего их используют осознанно для получения большего контроля над устройством. Другое дело, что эти же уязвимости (например, CVE-2009-1185 , CVE-2011-1823 ) взяли на вооружение создатели вредоносных приложений. Используя эксплойты (те самые программные модули и скрипты) для повышения своих прав до уровня root, они получают возможность, например, беспрепятственно устанавливать другие программы без разрешения пользователя (как это делают различные модификации Android.Gongfu и Android.DreamExploid ). Некоторые вредоносные программы не используют эксплойты сами, напрямую, а вводят пользователя в заблуждение и побуждают его самого выполнить необходимые действия, тем самым дав вредоносной программе требуемые ей возможности.

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

Во-первых , в такие прошивки изначально могут быть встроены вредоносные программы. Во-вторых , когда цифровой подписью образа системы подписывается какое-либо приложение, оно получает те же права, что и сама система, в которой оно работает. В рамках Android Open Source Project (AOSP) подписи для образов являются приватными, поэтому такой сценарий возможен, например, в случае кражи соответствующей подписи. Подобный способ заражения применялся, в частности, вредоносной программой Android.SmsHider, которая могла незаметно для пользователей, использующих определенные сторонние прошивки, установить содержащийся в ней троянский apk .

Системные приложения, как стандартные, так и приложения от поставщиков Android-устройств, тоже подвержены уязвимостям. Например, некоторые уязвимости браузера WebKit позволяют потенциальным вредоносным программам выполнить произвольный JavaScript-код и получить доступ к защищенным данным браузера.

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

А теперь более подробно о методах защиты платформы Android

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

  • Пароль – классический надежный способ, если конечно пароль сложный. Единственная неудобность состоит в том, что не совсем здорово десятки раз за день вводить такой пароль.
  • Графический ключ – позволяет более комфортно провести процесс разблокировки смартфона, но надежность такой защиты ниже, чем парольной.
  • Сканер отпечатков пальцев – использует биометрические особенности наших пальцев. Самый удобный, при условии, что удачно реализован в смартфоне, и достаточно надежный способ снятия блокировки экрана. Чтобы его взломать преступнику придётся провести довольно сложные манипуляции, требующие времени и специального оснащения. Сканер отпечатков пальцев мы детально рассматривали в одной из наших статей. Напомню лишь, что его нативная поддержка появилась только в Android 6.0.
  • Начиная с пятой версии Android появилась нормально работающая функция Доверенное лиц о, которая разблокирует смартфон только если узнает Вас в лицо. Также можно задать Доверенное место, например, в вашей квартире телефон будет постоянно разблокирован.
  • Также нововведением Android 5.0 стала возможность снятие б локировки экрана через Bluetooth или NFC . Осуществить это можно с помощью, например, смарт-часов. Удобно, но в вопросе безопасности имеет некоторые уязвимости.

1.2 Шифрование данных. Впервые появилось в Android 4.3, где пользователь мог ее по желанию активировать. В Android 5.0 Lollipop она же задействована по умолчанию . Шифрование данных привязывается к паролю или ПИН-коду на снятие блокировки экрана смартфона – как только вы его ввели происходит дешифровка данных. Также пароль будет запрошен при включении устройства. Полезность шифрования состоит в том, что у злоумышленника может иметь возможность считать ваши данные не снимая блокировку экрана. Также вы можете зашифровать и внешнюю SD карту.

1.3 Удаленное управление. Функция безопасности Android, позволяющая найти потерянный или украденный смартфон (должна быть включена геолокация), а если это сделать невозможно, то — удаленно стереть все свои данные.

По умолчанию эта возможность отключена, активировать ее нужно самостоятельно.

1.4 KNOX – система политики безопасности, которая предусматривает разделение информации на личную и рабочую, централизованный контроль и аудит, удаленный поиск и блокировку устройства и т.п. Разработка компании Samsung , ориентированная в основном на корпоративных пользователей. В пятой версии Android были использованы некоторые API KNOX

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

Особенностью системы безопасности Android является то, что любое приложение должно задекларировать все права доступа к функциям системы, на которые она претендует. Это может быть разрешение на использование интернета, СМС, голосовых вызовов, камеры и т.д . Если же такие привилегии не прописаны в инсталляторе приложение, то и доступ к ним будет запрещен. И перед установкой программы пользователь в обязательном порядке должен ознакомится и согласиться со списком этих прав. В Android 6.0 Marshmallow добавлена нова функция безопасности, которая позволяет разрешить или запретить доступ к системе непосредственно перед выполнением приложения.

Общие рекомендации по повышению уровня безопасности Android

Подытоживая все вышесказанное, хочу дать пару советов, как защитить свой смартфон и информацию в нем:

Читайте также: