Проблемы с сертификатом безопасности на Android (решение проблемы). Почему планшет пишет угроза безопасности

Проблемы с сертификатом безопасности на Android (решение проблемы). Почему планшет пишет угроза безопасности

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 - единственной ОС общего назначения, разработка которой всегда велась с упором на безопасность.

Многие сталкиваются с проблемой с сертификатом безопасности на Android, когда пытаются зайти на какой-то сайт через браузер (зачастую, это стандартный браузер по типу Chrome).

В чём проблема?

Собственно, детали проблемы Вы можете почитать, нажав кнопку «Просмотреть», которая выводится в контекстном меню. Там выводится адрес, подгружаемого скрипта, дата выдачи сертификата и так далее. Зачстую, эта проблема связана с просроченным сертификатом. Например, на Украине заблокировали Яндекс, если Вы используете счетчик Яндекс Метрики (даже, если специальный код), т она всех Android-смартфонах (на стандартном браузере) будет выводится ошибка такого рода: «У этого сайта проблемы с сертификатом безопасности». Какие действия предлагаются?
«Назад / просмотреть / принять». Вот и все. Спасибо Яндексу, который наплевал на эту проблему, несмотря на неоднократные обращения в поддержку. Число пользователей Яндекса из Украины весьма солидное зачем так поступать с ними?
Аналогично и с другими пользователями, которые проживают в самых разных странах. Если доступа к какому-то ресурсу нет, благодаря блокировки, а сертификата просрочен, то такая ошибка будет выдаваться, хоть Вы из Британии зайдете.
Единственное, что остается бедного пользователю - это нажать «Принять». Ничего страшного не случится, просто продолжите нормально работать. А вот господам из Яндекса большой привет. Кончено, это внештатная ситуация, когда заблокировали доступ на уровне всей страны, но прошёл год, а адекватных действий так и не было предпринято. Поэтому услышьте нас, это важно! Исправьте проблему, просто продлите сертификат или отключите подгрузку скриптов метрики для Украины. Если не знаете, как все это сделать, напишите нам в обратную связь, специалисты РулСмарта Вам расскажут все в деталях и бесплатно. Мы на чужих проблемах не наживаемся, хотя это касается и нас.

Как исправить

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

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

Технология Protect состоит из нескольких защитных компонентов:

  • защита паролей;
  • защита в общественной сети Wi-Fi;
  • блокирование подозрительных мошеннических ресурсов;
  • проверка всех скачиваемых файлов.

Защита от Protect браузера

Protect предоставляет пользователям своевременную защиту, управлять которой практически не нужно, – Яндекс браузер сделает все сам. Главной целью разработки является предотвращение возникновения угроз, а не в устранении их последствий:


Как отключить технологию Яндекс Protect

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

После открытия настроек листаем страницу в самый низ и ищем кнопку «Показать дополнительные настройки». Теперь переходим к блоку настроек «Защита личных данных» и снимаем галочку с «Включить защиту от вредоносных программ», то есть отключить защиту Protect от вредоносных программ.

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

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

Предпосылки к появлению угроз Android

1. Открытость

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

2. Фрагментация платформы

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

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

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

Теория механизмов безопасности Android

Система 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

1. Вирусы и другое вредоносное ПО

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

Список уверенно возглавляют СМС-троянцы (семейство Android.SmsSend) . Целью таких программ является отправка сообщений с повышенной тарификацией на короткие номера. Часть стоимости этих сообщений поступает в карман злоумышленников, обогащая их. Чаще всего они распространяются под видом популярных приложений и игр, таких как Opera Mini, ICQ, Skype, Angry Birds и т. п., при этом используется соответствующая иконка.

Далее по списку следуют более «тяжеловесные» троянцы . К ним относятся, например, Android.Gongfu, Android.Wukong, Android.DreamExploid, Android.Geinimi, Android.Spy и пр. В зависимости от семейства, эти вредоносные программы обладают таким функционалом, как, например, сбор конфиденциальной информации пользователя, добавление закладок в браузер, выполнение команд, поступающих от злоумышленников (функции бэкдора и бота), отправка СМС-сообщений, установка других приложений и т. п.

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

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

2. Уязвимости Android и ПО

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

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

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

Во-первых , в такие прошивки изначально могут быть встроены вредоносные программы. Во-вторых , когда цифровой подписью образа системы подписывается какое-либо приложение, оно получает те же права, что и сама система, в которой оно работает. В рамках подписи для образов являются приватными, поэтому такой сценарий возможен, например, в случае кражи соответствующей подписи. Подобный способ заражения применялся, в частности, вредоносной программой 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 были использованы некоторые интернета, СМС, голосовых вызовов, камеры и т.д . Если же такие привилегии не прописаны в инсталляторе приложение, то и доступ к ним будет запрещен. И перед установкой программы пользователь в обязательном порядке должен ознакомится и согласиться со списком этих прав. В Android 6.0 Marshmallow добавлена нова функция безопасности, которая позволяет разрешить или запретить доступ к системе непосредственно перед выполнением приложения.

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

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

Всем спасибо!

Берегите себя, своих близких и свои гаджеты!

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

Итак , если при соединении с защищённым вэбсайтом браузер сообщает об ошибке сертификата безопасности веб-узла, как убрать предупреждение для многократно проверенного сервера ?

Причины предупреждения

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

2 . Сертификат безопасности был произведен для веб -узла с другим адресом .


3 . Неточное время на компьютере клиента - более позднее , чем предусмотрено сроком действия сертификата "ССЛ" сервера . Стандартная рекомендация - прекратить работу с веб -узлом , закрыв страницу . Или же , как вариант , возможно обнуление таймера : вручную или переустановкой батарейки платы .

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

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

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

Windows VISTA

Как убрать ошибку сертификата безопасности веб-узла для Windows VISTA:

1 . Внесите сертификат в доверенные (не рекомендуется ). Затем следует подтвердить дальнейшее открытие окна , и в появившемся "Ошибка сертификата ..." вызвать окно недостоверного сертификата , обозначенное "щитом ".

2 . Выбрать "Просмотр сертификата ", затем "Общие ", где возможно отследить время действия сертификата вэб -узла .

3 . В мастере установки выберите "Установить сертификат " и "Вперёд" .

4 . Отметьте галочкой "Автоматически выбранное хранилище сертификата ...", подтверждая нажатием "Вперёд" .

5 . Выполните подтверждение операции , нажав "ДА" и "Финиш" в окне запроса . Избранный сертификат установлен .

6 . Произведенные изменения подтвердите нажатием "ОК" .

7 . Выберите строку "Поместить все сертификаты в следующее хранилище ", выполните подтверждение нажатием "Обзор ".

8 . В окне под названием "Выбор хранилища сертификатов ", отметьте "Доверенные корневые центры сертификации ", подтверждая нажатием "ОК" .

9 . Завершите процедуру : "Далее ", "Готово ", подтвердите установку , нажимая "ОК" , и презапустите браузер .

Windows ХР

Как убрать ошибку сертификата безопасности веб-узла для Windows ХР :

1 . В "хранилище сертификатов " выберите хранилище согласно типу сертификата "автоматически ".

2 . При нажатии "Далее " импортируется и установится сертификат .

3 . Щёлкните "Готово ".

4 . Если предварительно появляется "Предупреждение безопасности , нажмите "ДА" в качестве подтверждения установки .

5 . Поступит уведомление об установке . Щёлкните "ОК" . Процедура завершена .

Антивирусные продукты

Как исправить безопасности веб-узла посредством настроек антивирусного обеспечения ?

В антивирусе присутствует опция сканирования шифрованных соединений , и с переустановкой антивируса сертификаты в хранилище доверенных браузера будут установлены повторно .

В настройках программы Аваст:

  • перейдите по цепочке "Настройки " - "Активная защита ", затем "Настроить " (возле щитка );
  • уберите галочку с настроек , выберите включение http-сканирования , подтвердите ("ОК" ).

Как убрать ошибку сертификата безопасности веб-узла посредством прграммы "Касперский":

  • щёлкните в настройках программы : "Настройки " - "Дополнительные " - "Сеть ";
  • в "сканировании защищённых соединений " выберите : "Не сканировать зашифрованные соединения ";
  • в качестве альтернативного действия можно отметить "Дополнительные настройки " и выбрать "Установить сертификат ";
  • затем подтвердите изменения и перезапустите компьютер .

Если повторяется "ошибка сертификата ", вероятно , он скомпрометирован , и не стоит добавлять в исключения сертификат популярного веб -сайта.

Вредоносные программы

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

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

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

Контролируйте работу антивируса в реальном времени .



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows