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

. Из-за ошибки в реализации вызываемого при регистрации аккаунта метода addAccount в Android 4.0–4.4 система не проверяет значения этого поля, поэтому злоумышленник может передать в PendingIntent фактически любую команду, которая будет выполнена с теми же привилегиями, что и направившее его приложение «Настройки», — системными. Например, можно сформировать команду на удаление хранящихся на устройстве файлов или последовательность байтов, которая будет воспринята системой как входящее SMS-сообщение. Так, если в параметре PendingIntent будет передана команда android.intent.action.MASTER_CLEAR, Android послушно выполнит полный системный сброс с уничтожением всей хранящейся на устройстве информации.

А вот пример очень хитрой уязвимости. Эта уязвимость, получившая название ToastOverlay, была обнаружена в 2017 году и затрагивает все версии Android с 4.0 по 7.1.2 включительно. Ошибку разработчики допустили в подсистеме оверлеев — окон, способных отображаться поверх других экранных форм.

Использующему уязвимость приложению достаточно объявить в манифесте только одно разрешение — BIND_ACCESSIBILITY_SERVICE. В обычных условиях для отображения окон типа TYPE_TOAST, предназначенных для показа системных уведомлений, приложению требуется отправить запрос SYSTEM_ALERT_WINDOW, однако благодаря ошибке в обработчике проверки разрешений Android AOSP вредоносная программа может обойтись без подобных формальностей. Компонент просто не выполняет проверку доступа (permission check) и операции (operation check) при обработке запроса SYSTEM_ALERT_WINDOW для TYPE_TOAST. В результате использующее уязвимость приложение может безнаказанно рисовать свои окна поверх окон других программ и фиксировать нажатия на экран. Фактически оно получает полный контроль над окном TYPE_TOAST. Какое содержимое будет отображаться в этом окне, зависит только от фантазии вирусописателей.

В Android есть встроенный фреймворк SIM Application Toolkit (STK), который позволяет SIM-карте выполнять в системе определенный набор команд. Таким образом, в частности, формируется SIM-меню оператора связи. Уязвимость SinToolkit позволяет перехватывать команды, отправляемые SIM-картой операционной системе, а также подменять их. Вредоносное приложение может передать классу com.android.stk.StkCmdReceiver специально созданный объект parcelable. Получатель не проверяет подлинность отправителя, при этом действие android.intent.action.stk.command не объявлено в манифесте как защищенное, благодаря чему можно эмулировать отсылку команд SIM-картой.