За 2022 год наша команда обнаружила 216 уязвимостей в 25 парах исследованных приложений для платформ Android и iOS. Наибольшая доля уязвимостей (14%) пришлась на хранение пользовательских данных в открытом виде. Несмотря на усилия со стороны разработчиков операционных систем и сообществ по безопасной разработке приложений, этот класс уязвимостей продолжает уверенно сохранять лидерство несколько лет подряд. Описанный тренд сохранит актуальность в 2023 году, хотя использовать криптографию в мобильных приложениях сегодня очень просто: и вендорские, и опенсорсные решения облегчают разработчикам работу с криптографическими примитивами. Второе место поделили между собой уязвимости, касающиеся проверки целостности приложений и хранения конфиденциальной информации в коде (по 9%). Замыкает тройку лидеров класс уязвимостей, связанных с проверками на недоверенное окружение (8%).
Наличие в приложениях вышеперечисленных уязвимостей свидетельствует о том, что разработчики недостаточно строго контролируют целостность приложений и среды их выполнения. Если добавить к этому отсутствие хорошей обфускации кода ( такую комбинацию мы обнаружили в 36% приложений, исследованных в 2022 году), складывается благоприятная ситуация для злоумышленников: становится очень просто проводить качественный анализ, что, в свою очередь, упрощает создание ботов, клонов и троянов, нацеленных на конкретные продукты.
Количество уязвимостей пошло на спад
Самым любопытным трендом 2022 года стало отсутствие в приложениях некоторых классов уязвимостей. Например, разработчики теперь не хранят криптографические ключи в файловой системе и не допускают ошибок, открывающих возможность обхода каталогов (Path Traversal). Уязвимость, связанная с небезопасной отправкой неявных межпроцессных сообщений, встретилась нам в исследованных приложениях в 2022 году всего лишь один раз (в предыдущем году — шесть случаев). Это связано с тем, что разработчики стали чаще применять хорошие архитектурные практики, что позволило существенно уменьшить поверхность атаки на приложения и даже полностью нивелировать некоторые типы уязвимостей. Например, в Android-приложениях, использующих подход SA, есть всего одна активность, что значительно снижает количество возможных точек входа. За счет такого подхода разработчикам становится проще контролировать точки входа в приложение и защищать их. Мы ожидаем, что эта позитивная тенденция будет набирать обороты в 2023 году.
Новые версии операционных систем тоже помогают разработчикам приложений: вводятся более гранулярные разрешения на выполнение системных операций, ряд разрешений можно запрашивать каждый раз. К примеру, теперь не нужно навсегда выдавать приложению разрешение на доступ к геолокации.
Поддельные приложения — бич 2022–2023 годов
Прошедший год вывел проблему клонированных и поддельных приложений на новый уровень. Мобильные приложения многих компаний были удалены из официальных магазинов , из-за чего пользователям пришлось искать их на других площадках. Злоумышленники не преминули этим воспользоваться и стали активно размещать фальшивые приложения. Еще один интересный момент: чтобы установить на смартфон приложение из стороннего источника, необходимо включить соответствующую функцию (по умолчанию загрузка не из официальных магазинов запрещена разработчиками Android и iOS). Ранее злоумышленники обманом заставляли пользователей ее активировать, сейчас пользователи вынуждены самостоятельно давать разрешение на установку, причем, загружая приложение из неизвестного источника, чаще всего нельзя быть уверенным, что оно оригинальное. К примеру, мошенники могут модифицировать приложение известного банка и похитить пароль от личного кабинета. Ситуацию усугубили и сами разработчики ПО для мобильных устройств, когда начали размещать в официальных магазинах свои приложения под новыми названиями и от лица других компаний . С этого момента понять, какой продукт легитимен, а какой нет, стало еще труднее. На наш взгляд, создание поддельных приложений будет оставаться одной из главных киберугроз в 2023 году.
Отечественные магазины приложений выходят на арену
Запуск российских магазинов приложений, призванных заместить Google Play и App Store, — еще один вынужденный тренд 2022 года. Им предстоит пройти непростой путь, чтобы привлечь пользователей и завоевать их доверие. Помочь в этом могут участие в программах багбаунти и сотрудничество с сообществами специалистов по ИБ. Основная проблема отечественных магазинов в том, что они, по сути, являются обычными пользовательскими приложениями и не имеют особых прав в системе. Вследствие этого требуется давать все то же разрешение на установку приложения из недоверенных источников. Основную опасность это разрешение представляет для Android версии ниже 9-й (Pie), потому что оно выдается на всю систему сразу. В 9-й версии поведение было изменено, и теперь право на установку можно выдавать каждому конкретному приложению. Это значит, что можно выдать разрешение установленному магазину приложений и только у него будут права на установку из недоверенных источников. Такой подход несколько уменьшает поверхность атаки. На наш взгляд, решить проблему могло бы сотрудничество разработчиков отечественных магазинов и поставщиков операционных систем. Возможно, уже в 2023 году появятся первые интеграции с китайскими вендорами. Другой вариант — создание отечественной операционной системы, где такие магазины приложений устанавливались бы по умолчанию как системные.
Уязвимости в мобильных приложениях пора систематизировать
Мировые тренды уязвимостей в мобильных приложениях продолжают удивлять год от года: целочисленное переполнение в WhatsApp (CVE-2022-36934, CVE-2022-27492), захват учетной записи в TikTok через deeplink (CVE-2022-28799) и похожая проблема с обработкой ссылок в Zoom (CVE-2022-28763). Кроме того, исследователям удалось взломать Tesla , проведя MITM-атаку на соединение Bluetooth Low Energy между автомобилем и мобильным приложением (CVE-2022-37709). Перечисленные инциденты — лишь малая часть того, о чем стало публично известно в 2022 году. Стоит отметить, что это не новые виды атак или неизвестные эксплойты, а типовые уязвимости, которые мы видим каждый год. Отсюда напрашивается вывод: разработчики не учатся на своих ошибках. Почему? Возможно, не хватает инструментов. Так, мировое сообщество по ИБ уделяет теме классификации уязвимостей в мобильных приложениях очень мало внимания. OWASP Mobile Top 10 — рейтинг наиболее часто встречающихся угроз — не обновлялся с 2016 года, тогда как OWASP Top 10 для веб-угроз был актуализирован в 2021 году. Первые три позиции в рейтинге уязвимостей приложений занимают «Неправильное использование платформы» (Improper Platform Usage), «Небезопасное хранение данных» (Insecure Data Storage), «Небезопасные коммуникации» (Insecure Communication), что отличается от результатов наших исследований безопасности приложений в 2021 и 2022 годах. Более актуальный стандарт — OWASP Mobile Application Security Verification Standard (MASVS) — составлен с позиции проверки приложения разработчиком, а не атакующим. В связи с этим возникла необходимость составить классификацию уязвимостей приложений, аналогичную той, что уже существует для веб-приложений.
В 2023 году не потеряет актуальности проблема нехватки специалистов по анализу защищенности мобильных приложений. В то же время развитие тематических сообществ, программ багбаунти, в том числе российских, и появление более продвинутого инструментария дадут толчок к увеличению числа специалистов этого профиля на рынке, а значит, и к повышению уровня безопасности мобильных приложений.