Уязвимости платформы Android. Настоящее и будущее / Блог компании Доктор Веб / Хабр

Уязвимости платформы Android. Настоящее и будущее / Блог компании Доктор Веб / Хабр Гаджет

(без)умные устройства: топ-10 уязвимостей iot от owasp

К сожалению, этот список можно продолжать бесконечно. На рынке появляется все больше IoT-устройств, а значит у злоумышленников появляются все новые возможности для достижения своих целей. Наша подборка уязвимых IoT-устройств не единственная, и мы предлагаем вам узнать о них больше: SafegadgetExploitee и Awesome IoT Hacks

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

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

Перед покупкой IoT-устройства почитайте как можно больше отзывов, чтобы выбрать наиболее безопасное. И помните: нет здоровых, есть недообследованные. Поэтому другая наша рекомендация – по возможности повысить уровень безопасности ваших IoT-устройств самостоятельно, к примеру, установив сложный пароль в настройках. Или обратить внимание на популярный проект OpenWrt, который значительно повысил безопасность IoT-устройств, особенно тех, которые «позабыты» вендорами.

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

Обсудите статью на habr или vc.ru

Wifuzz: обнаружение и эксплуатация логических уязвимостей в криптографическом рукопожатии wi-fi

Mathy Vanhoef. WiFuzz: detecting and exploiting logical flaws in the Wi-Fi cryptographic handshake // Black Hat. 2021

Шифрованный Wi-Fi приобретает все большую популярность. Такие новые стандарты, как Hotspot 2.0 и Opportunistic Wireless Encryption, тому подтверждение. Hotspot 2.0 упрощает поиск и выбор сети, создавая инфраструктуру, действующую по тому же принципу, что и роуминг в сотовых сетях.

С другой стороны, Opportunistic Wireless Encryption вводит неавторизованное шифрование для сетей Wi-Fi. Задумка этих решений хорошая. Но они не будут иметь ровным счетом никакого смысла, если при реализации четырехэтапного криптографического рукопожатия Wi-Fi (во время которого девайсы договариваются о новых сессионных ключах) допущены ошибки.

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

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

Чтобы обнаружить такие логические уязвимости, докладчик сначала строит модель рукопожатия Wi-Fi, которая описывает ожидаемое поведение. Далее автоматически генерирует полный набор некорректных вариантов рукопожатия и затем проверяет, правильно ли на них реагирует реализованная модель (соответствует ли ее ответ идеализированной модели).

Докладчик протестировал двенадцать точек доступа Wi-Fi и в каждой обнаружил уязвимости. Среди них: возможность обхода процедуры аутентификации, снятие «отпечатков пальцев», атака на понижение защиты, DoS-атаки и другие. Наиболее чувствительные уязвимости найдены в OpenBSD.

Первая из них может быть эксплуатирована для DoS-атаки на точку доступа. Вторая — для MiTM-атаки против клиентов WPA1 и WPA2. Докладчик также обнаружил уязвимости, позволяющие провести «атаку на понижение» против MediaTek и Broadcom, которая заставляет использовать TKIP и RC4.

Как работают мобильные приложения

Разработка мобильных приложений в тренде, ее технологии непрерывно развиваются. Большинство современных решений имеют клиент-серверную архитектуру. Клиент работает под управлением мобильной операционной системы; чаще всего это Android или iOS. Клиентская часть загружается на устройство из так называемого магазина приложений — специализированной площадки, где разработчики размещают свои системы.

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

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

Рисунок 1. Kлиент-серверное взаимодействие в мобильном приложении
Рисунок 1. Kлиент-серверное взаимодействие в мобильном приложении

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

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

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

Какие риски подстерегают пользователей

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

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

По данным исследователей, 8% пользователей iOS установили jailbreak, 27% устройств на платформе Android обладают правами root. Устройства с максимальными правами подвержены повышенному риску, поскольку привилегиями может воспользоваться вредоносное программное обеспечение.

Рекомендация для пользователей

Не повышайте привилегии до административных. Это открывает доступ к файловой системе и отключает механизмы защиты ваших данных

Понимая масштаб проблемы заражения мобильных устройств вредоносным ПО, компании Google и Apple активно противодействуют киберпреступникам. Для защиты от хакеров Google предлагает использовать набор сервисов Google Play Protect, который сканирует приложения не только на Android-устройствах пользователей, но и в официальном каталоге Google Play.

Тщательная проверка снижает количество вредоносных приложений, хотя и не исключает их появления, и заразиться вредоносным ПО можно даже через официальные магазины приложений. Так, хакерам удалось загрузить в App Store 39 вредоносных программ с использованием XcodeGhost — поддельной версии легитимного инструмента Xcode, используемого разработчиками программ для устройств Apple.

Рекомендация для пользователей

Регулярно устанавливайте обновления ОС и приложений. Если вы обладатель устройства с root или jailbreak, помните, что ваше устройство может не обновляться автоматически

Заражение вредоносным ПО через официальные магазины приложений — далеко не единственный путь компрометации устройства. Даже новый смартфон может содержать вредоносный код. Так, в результате атаки на разработчика на смартфоны Alcatel было предустановлено шпионское ПО, и пользователи приобретали устройства, которые были заведомо скомпрометированы. Еще один пример — бэкдор TimpDoor; его хакеры распространяли отправляя жертвам ссылку по SMS.

Для противодействия атакам iOS запрещает загрузку приложений из любых источников, кроме App Store, но существуют способы обойти ограничение, например с помощью собственных сертификатов и протокола MDM (Mobile Device Management). Для этого пользователю необходимо вручную подтвердить доверие к сертификату разработчика приложения и его установку из недоверенного источника, на что пользователя может сподвигнуть злоумышленник в процессе фишинговой атаки.

качестве меры борьбы с киберпреступниками компания Apple запрещает размещение в App Store приложений, в которых использованы так называемые private API — методы, которые позволяют приложениям выполнять ряд действий на устройстве, в том числе загружать другие приложения.

Троянская программа с private API сможет устанавливать на устройство жертвы любые другие программы в обход App Store, а значит — в обход любых проверок. Однако, как выяснилось, защита ведется неидеально, благодаря чему, например, распространялся вредонос YiSpecter.

Схема заражения YiSpecter очень простая: пользователь открывает зараженную ссылку, подтверждает установку ПО не из App Store, и его мобильное устройство оказывается заражено. В свою очередь YiSpecter, попадая на устройство жертвы, использовал методы private API и автоматически загружал другие программы, которые похищали персональные данные жертвы.

Об исследовании

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

65% Доля систем, протестированных методом белого ящика

8 клиентов Android

9 клиентов iOS

7 серверных частей

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

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

Рисунок 27. Типы приложений
Рисунок 27. Типы приложений

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

  • уязвимости в коде мобильного приложения (ошибки, которые допустил программист при разработке);
  • ошибки реализации механизмов защиты (появляются в системе еще на этапе проектирования).
Гаджет:  Apple внедрит популярную функцию во все свои гаджеты - Газета.Ru | Новости

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

* В начале 2021 года наши эксперты обнаружили в этом компоненте уязвимость (CVE2021-5765), которая позволяет получать доступ к данным пользователей Android через установленное вредоносное приложение или приложение с мгновенным запуском (Android instant apps).

Про безопасность умных устройств

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

Тестирование интернета вещей можно разделить на четыре этапа:

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

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

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

Почему так важна возможность изучить плату устройства? Существуют три типа анализа защищенности. Тестирование «черным ящиком» — когда у нас нет вообще никакой информации о тестируемой системе. Тестирование «серым ящиком» — тот случай, если известны только некоторые особенности реализации тестируемой системы. Тестирование «белым ящиком» — когда нам известны все подробности о тестируемой системе.

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

Разберем на примере «обеление» тестирования. Когда мы впервые берем в руки устройство, мы ничего о нем не знаем. Это означает, что тестирование будет проводиться по методу «черного ящика».

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

Рекомендации для пользователей

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

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

Например, если в Android включено резервное копирование, то, используя инструмент Android Debug Bridge (ADB), можно попытаться получить данные приложения из резервной копии. Если есть привилегии root, то извлечь данные можно даже с отключенным резервированием.

На устройствах Apple с jailbreak пользователи часто оставляют для SSH стандартную учетную запись (root:alpine), что позволяет злоумышленнику скопировать данные приложения на свой компьютер, подключившись по SSH. Угроза имеет особую актуальность в случае с корпоративными смартфонами или планшетами, которыми пользуются несколько сотрудников, знающие пароль от устройства.

Рисунок 21. Возможные сценарии кражи пользовательских данных из мобильных приложений
Рисунок 21. Возможные сценарии кражи пользовательских данных из мобильных приложений

18% приложений не ограничивают число попыток ввода аутентификационных данных

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

Рисунок 22. Угрозы для клиентских частей (доля систем)
Рисунок 22. Угрозы для клиентских частей (доля систем)

Рекомендации для пользователей

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

Рекомендация для разработчиков

Счетчик числа попыток аутентификации должен быть реализован как на стороне сервера, так и на стороне клиента

Атаки на пользователей возможны из-за уязвимостей в серверных частях. Уязвимость «Межсайтовое выполнение сценариев» обнаружена в 86% серверов. Это самая распространенная веб-уязвимость. С ее помощью злоумышленники могут украсть учетные данные жертвы, например файлы Cookie, используя вредоносный скрипты.

Но уязвимость может представлять опасность и для мобильных приложений, если в них используются компоненты с поддержкой HTML и JavaScript. Например, WebView — это системный компонент, который позволяет приложениям на Android отображать веб-контент непосредственно внутри приложения* ; аналогичные компоненты есть и в iOS: UIWebView и WKWebView.

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

Рекомендации для пользователей

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

Рекомендация для разработчиков

На стороне сервера обязательно должна осуществляться фильтрация вводимых пользователем данных. Для спецсимволов рекомендуется использовать HTML-кодировку

Рисунок 23. Топ-5 угроз для серверных частей (доля систем)
Рисунок 23. Топ-5 угроз для серверных частей (доля систем)

18% приложений содержат уязвимости, позволяющие проводить атаки на сессию

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

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

Рекомендации для разработчиков

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

50% Android22% iOSДоли приложений с небезопасной передачей данных

Уязвимости клиентских частей

  • 60% уязвимостей сосредоточены в клиентской части
  • 89% уязвимостей могут быть проэксплуатированы без физического доступа к устройству
  • 56% уязвимостей могут эксплуатироваться без административных прав (jailbreak или root)

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

Рисунок 2. Максимальная степень риска уязвимостей (указана доля клиентских частей)
Рисунок 2. Максимальная степень риска уязвимостей (указана доля клиентских частей)

38% Android
22% iOS

Доли приложений с небезопасным межпроцессным взаимодействием

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

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

Рисунок 5. Схема небезопасного межпроцессного взаимодействия в ОС Android
Рисунок 5. Схема небезопасного межпроцессного взаимодействия в ОС Android

Рекомендация для разработчиков

Android: Используйте компонент LocalBroadcastManager для отправки и получения широковещательных сообщений, не предназначенных для сторонних приложений

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

Уязвимости платформы android. настоящее и будущее

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

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

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

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

Гаджет:  50 Best Gadgets For Men of 2021 | HiConsumption

Вирусы для Android? Нет, не слышал!

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

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

image

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

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

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

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

imageimage

Ряд модулей ведет себя слишком агрессивно, собирая конфиденциальную информацию пользователей (IMEI, номер телефона, название используемого оператора и т. п.), а также добавляя ярлыки на рабочий стол и закладки в браузер. Приложения, использующие подобные модули, детектируются как рекламные программы или Adware (например, Adware.Airpush, Adware.Leadbolt, Adware.Startapp и пр.).

image
image

Уязвимости операционной системы Android и ПО, которое в ней используется

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

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

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

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

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

Открытость

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

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

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

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

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

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

Человеческий фактор

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

Гаджет:  Каждому — новьё: самые интересные гаджеты-2020 | Статьи | Известия

Еще одним элементом социальной инженерии служит игра на стремлении многих людей к чему-то бесплатному («Новая версия Need for Speed», «Обновление Asphalt бесплатно!»), а также использование тематики «для взрослых» («Супердевушки, качай здесь!», «Коллекция фото обнаженной красавицы» и т. п.).
imageimage

Кроме этого, важна и внимательность со стороны самих пользователей. Очень часто злоумышленники подделывают известные сайты, имитируя их оформление, структуру или же пытаются создать точную копию. На первый взгляд, подобный сайт может выглядеть точь-в-точь как настоящий, однако при более внимательном изучении можно будет заметить подвох. Например, в адресной строке будет указан сайт, полностью отличный от оригинала, либо имеющий небольшие искажения (например, vkontlakte.com, vkontakne.b1.ru, androldmarket.com), либо на нем не будет работать какой-либо привычный элемент, либо вовсе будет отсутствовать что-то знакомое.

image

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

Выводы

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

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

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

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

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

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

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

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

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

Что в будущем?

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

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

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

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

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

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

Уязвимости серверных частей

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

Рисунок 14. Доля уязвимостей различной степени риска
Рисунок 14. Доля уязвимостей различной степени риска

В августе 2021 года злоумышленники похитили персональные данные 20 000 пользователей мобильного приложения авиакомпании Air Canada

По данным компании McAfee, количество вредоносного ПО для мобильных устройств растет: ежеквартально выявляется от 1,5 до 2 млн новых экземпляров, а к концу 2021 года общий объем составил более 30 млн экземпляров. Постоянный рост числа и разнообразия вредоносного ПО для мобильных устройств существенно повышает популярность атак на клиентские части, и серверные уязвимости перестали быть главной угрозой безопасности мобильных приложений.

Еще в 2021 году категория Weak Server Side Controls занимала второе место в рейтинге OWASP Mobile Top 10; в рейтинге 2021 года серверные уязвимости были исключены из десятки самых распространенных угроз. Тем не менее риски, связанные с недостатками серверов, сохраняются, и в мире продолжают случаться громкие утечки данных из-за серверных уязвимостей.

Рисунок 15. Уровень защищенности серверных частей (доля систем)
Рисунок 15. Уровень защищенности серверных частей (доля систем)

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

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

Рекомендация для разработчиков

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

Рисунок 17. Доли уязвимостей разных типов
Рисунок 17. Доли уязвимостей разных типов
Оцените статью
GadgetManiac
Добавить комментарий