PRO вирусы. Версия 4.0 (Холмогоров) - страница 89

Например, если SIM-карта формирует на экране устройства сообщение с подтверждением действий пользователя, оно будет содержать кнопку OK. Такие сообщения используются для подтверждения отправки USSD-запросов, транзакций, действий с хранящимися на карте контактами и так далее. Вредоносное приложение может вызвать действие android.intent.action.stk.command и отобразит на экране поверх настоящего поддельное окно, содержащее произвольный текст. При нажатии кнопки OK вызывается метод sendResponse() с флагом true, и это событие — нажатие кнопки — передается SIM-карте, ожидающей реакции пользователя. При этом событие будет обработано так, как если бы оно поступило от настоящего диалогового окна. Это открывает широчайшие возможности для создателей вредоносных программ.

Описанная выше ошибка в SDK Android — далеко не единственная. Так, уязвимость Cloak and Dagger актуальна для Android вплоть до 7.1.2. Из-за ошибки в SDK вредоносное приложение, используя разрешения SYSTEM_ALERT_WINDOW и BIND_ACCESSIBILITY_SERVICE, может получить практически полный контроль над операционной системой и доступ к конфиденциальной информации пользователя, а также фиксировать нажатия клавиш. Вкратце суть сводится к тому, что разрешение SYSTEM_ALERT_WINDOW позволяет вывести на экран «системное окно» — View-элемент, который отобразится поверх любого другого элемента интерфейса, даже если это будет Activity из стороннего приложения. При этом перекрытые Activity об этом не узнают и продолжат работать так, как будто ничего и не произошло. Это может сделать любое приложение, если разрешение SYSTEM_ALERT_WINDOW заявлено в его манифесте. Разместив несколько «невидимых» системных окон друг над другом и обрабатывая нажатия на них, злоумышленник может создать кейлоггер. А с помощью разрешения BIND_ACCESSIBILITY_SERVICE вредоносная программа способна получить доступ к другим объектам ОС и хранящимся на устройстве данным.

Уязвимости встречаются и в программной прошивке аппаратных устройств. Благодаря одной такой ошибке существует возможность взломать практически любое мобильное устройство производство компании Apple начиная с iPhone 5 и заканчивая самыми современными версиями iPhone и iPad. Речь идет об известной уязвимости checkm8 (checkmate), самой «свежей» на сегодняшний день уязвимости в мобильной технике Apple, наделавшей много шума в конце 2019 — начале 2020 года. Рассмотрим ее подробнее, чтобы понять, как работают и используются на практике подобные уязвимости.

Название «checkm8» произносится по-английски примерно как checkm-eight, что созвучно со словом checkmate — «шах и мат», символизирующим окончание шахматной партии. Отсюда и характерный логотип одноименного эксплоита в виде опрокинутой фигуры шахматного короля. «Игра окончена, ребята из Купертино, — как бы намекают нам авторы сплоита, — you lose». Самое интересное во всей этой истории с checkm8 то, что уязвимость была обнаружена не на программном, а на аппаратном уровне яблочной техники, причем охватывает она очень большой диапазон моделей, начиная с самых древних устройств на чипе А5 вроде iPhone 4S и заканчивая вполне современным iPhone X. «Дыра» прячется в механизме BootROM, который играет ключевую роль в процессе загрузки айфонов и айпадов. Причем исправить ее программными заплатками невозможно: для того чтобы решить проблему, нужно пересмотреть аппаратную конфигурацию самого устройства, чего, как вы понимаете, за пару месяцев никак не сделать.