Скенерите за зловреден код за Android все по-често се разминават с реалния риск, като маркират прекомерно легитимни приложения с високи нива на достъп, докато същевременно тихомълком пропускат сложни заплахи, които се крият зад обикновено изглеждащи кодови структури.
Тази нарастваща празнина в откриването произтича от силното разчитане на индустрията на статични сигнали на повърхностно ниво, вместо на поведението и контекста на изпълнение. Това генерира шумни детекции, които подкопават доверието както на потребителите, така че и на аналитиците по сигурността.
Традиционните детектори за зловреден код за Android оценяват приложенията по статични сигнали, като например изисквани разрешения, чувствителни повиквания към API и характеристики на графа на повикванията. Тези сигнали обаче предоставят само приблизителна представа за това какво всъщност прави дадено приложение.
Богатият на функции легитимен софтуер, като мениджъри за архивиране, системи за родителски контрол или инструменти за сигурност, редовно изисква широки разрешения и бива маркиран просто защото неговият профил от функции изглежда статистически „необичаен“ в сравнение с данните за обучение.
Обратно, развиващите се фамилии зловреден код пренаписват логиката си около немониторирани API или се отказват от очевидни разрешения, за да се слеят с легитимното мнозинство.
Детекторите, базирани на машинно обучение, засилват този проблем при появата на отклонение в концепцията (concept drift): моделите, обучени върху исторически разпределения на зловреден код, не успяват да се адаптират при развитието на нови фамилии.
Дори по-новите инструменти с големи езикови модели (LLM), които анализират чувствителни API, все още инспектират изолирани вериги от повиквания, а не пълния жизнен цикъл на атаката, изпускайки начина, по който привидно легитимни действия се комбинират в действителна злоупотреба.
Скенерите за зловреден код за Android маркират легитимни приложения
Фундаменталният проблем е, че вредоносният характер не е присъщо свойство на суровите сигнали, а на действията, оценени в контекст: какво прави едно приложение, кога действа и дали тези действия съответстват на очакванията на потребителя.
Например, операцията по изпращане на SMS е легитимна, когато е предизвикана от потребител в приложение за съобщения, но е злонамерена, когато приложение, имитиращо банкова институция, тихомълком прехваща еднократни пароли (OTP) и ги препраща към външен сървър.
По същия начин, качването на файлове във фонов режим е стандартно за инструментите за съхранение в облак, но се превръща в шпионски софтуер, когато се извършва от приложение, чиято рекламирана роля не включва синхронизиране на файлове.
Съществуващите системи за сканиране рядко отчитат тези експлоатационни нюанси. Те рядко правят разлика между потребителски задействани UI потоци и фонови приемници на съобщения, нито свързват изпълнението на кода с рекламираната функционалност на приложението.
В резултат на това легитимният софтуер с разширени привилегии бива санкциониран заради възможностите си, докато многокомпонентните заплахи от зловреден код за Android, които разпределят злонамерения си код между услуги и native библиотеки, преминават под праговете на евристиката.
За решаване на тази дилема при откриването изследователите представиха PRAXIS – ориентирана към поведението и съобразена с контекста рамка за анализ, създадена да елиминира фалшивите позитиви, като същевременно улавя скрити заплахи.
Както е описано подробно в публикуваното проучване на PRAXIS от изследователи от Singapore Management University, рамката структурира откриването в тристепенен процес, вместо да разчита на класификация на сурови сигнали:
Тристепенният процес за анализ:
- Хипотеза (Hypothesize): Извлича хетерогенни статични сигнали (разрешения в манифеста, компоненти, действия по намерение, места на повикване на API и имена на native функции) и използва LLM за генериране на хипотези за атака от гледна точка на атакуващия.
- Потвърждение (Confirm): Търси в приложението конкретни вериги на изпълнение „задействане -> източник на данни -> ефект“, като доказва поведението чрез програмен анализ и отхвърля непотвърдените хипотези.
- Оценка (Judge): Оценява всяко потвърдено поведение по две контекстуални оси: информираност на потребителя за задействането и съответствие с рекламираната функционална роля на приложението, анализирайки как отделните действия се сглобяват в кохерентна атака.
Чрез оценяване на поведението спрямо видимия за потребителя интерфейс на приложението, PRAXIS надеждно открива измамни действия, като например скрито извличане на данни, маскирано с фалшиви формуляри за вход, или банкови наслагвания на зловреден код, работещи във фонов режим.
При тестване с Android проби, събрани между 2024 и 2026 г., PRAXIS демонстрира значителни подобрения в сравнение със съществуващите модели за откриване:
При легитимни приложения с опасни разрешения PRAXIS намали фалшивите позитиви до 13.0%, което е спад с 41.1 до 67.0 процентни пункта в сравнение с традиционните скенери.
Същевременно рамката успя да идентифицира детайлни злонамерени поведения с F1 резултат от 87.3%, надминавайки предишни системи на поведенческо ниво с 56.5 до 73.4 процентни пункта.
Тази промяна на парадигмата носи ключови последици за архитектурата на мобилната сигурност:
- За мобилните защитници: Ефективното откриване трябва да премине от класификация, фокусирана върху сигналите, към съобразен с контекста анализ на поведението, за да се запази устойчивостта срещу еволюцията на функциите и методите за заобикаляне на защитата.
- За доставчиците на решения за сигурност: Автоматизираните скенери трябва да спрат да разглеждат списъците с разрешения и изолираните API повиквания като окончателно доказателство за злонамерено намерение, а вместо това да се фокусират върху реконструкцията на пълни вериги на атака, обвързани с кода.
- За корпоративните инструменти: Моделите от тип LLM постигат по-висока ефективност, когато анализират контекстуалното поведение на кода.