Команда УЦСБ провела независимое исследование для того, чтобы протестировать работу популярных антивирусных приложений для Android.
Вступление
Нацеленность вредоносных приложений на мобильную платформу Android очевидна и объясняется популярностью этой операционной системы на рынке мобильных устройств. В 2015 году, по данным Symantec, было выявлено более 13 млн экземпляров вредоносных программ.
Разработчики антивирусных решений, в свою очередь, предлагают десятки мобильных приложений, гарантирующих защиту от всех типов вредоносных программ. Но справляются ли эти приложения со своей задачей?
Команда УЦСБ провела независимое исследование для того, чтобы протестировать работу популярных антивирусных приложений для Android. Для этого были выбраны 19 топовых приложений из Google Play, а именно:
Все приложения были установлены на тестовый смартфон Samsung Galaxy S4 с версией операционной системы Android 4.4 KitKat (которая является самой популярной на сегодняшний день).
Первое, что бросилось в глаза – это наличие у большинства антивирусов множества дополнительных функций: антиспамов, антиворов, брэндмауэров, менеджеров приложений и оптимизаторов памяти.
Но антивирус в первую очередь должен справляться со своим прямым предназначением –поиском вредоносного ПО. Поэтому дальнейшее исследование было посвящено анализу именно этой функции, а также изучению возможностей ее обхода.
Анализ позволил определить наиболее часто встречающийся функционал вредоносных приложений:
Перечисленные функции были объединены в приложение под условным названием malware.apk, состоящее из трех частей:
Помимо мобильного приложения был реализован командный центр – сайт с серверной логикой, на котором располагалась веб-форма, позволяющая отправлять команды на устройство с установленным malware.apk.
Тестирование антивирусов на malware.apk
Тестирование антивирусов выполнялось двумя способами:
В обоих случаях всего 2 антивируса посчитали приложение опасным.
На смартфоне со своей задачей справились только Kaspersky и AVG mobile. Причем большинство оставшихся антивирусов ничего подозрительного на устройстве не заметили, а вот пятеро среагировали на вполне безопасные вещи, например на игру cut the rope и сканер штрихкодов. Примечательно, что антивирус от TrustGo team заблокировал работу антивируса Kaspersky как потенциально опасного приложения.
Через несколько дней после первой проверки ситуация значительно изменилась. Число детектов на VirusTotal возросло до 26 из 56, а на мобильных антивирусах – до 6 из 19.
Причем на смартфоне к числу справившихся с заданием добавились антивирусы от Avast, ESET, LookOut и Dr.Web.
Полученные результаты наглядно демонстрируют взаимообмен между антивирусными компаниями. Однако видно, что новое вредоносное приложение, несмотря на стандартно реализованный функционал, имеет все шансы скрыться от антивирусов, по крайней мере на пару дней.
Не смотря на то, что результаты сканирования оказались недостаточно хорошими, исследование было продолжено. Следующим этапом были изучены методы обхода антивирусных механизмов, а именно протестированы мобильные антивирусы на предмет успешности обнаружения обфусцированного вредоносного приложения.
Обход антивирусных механизмов
В свободном доступе существует довольно много различных обфускаторов, а для применения в рамках исследования были выбраны три бесплатных – это Proguard, Alatori и ADAM, и разработан еще один - EVA, выполняющий функции, которых на наш взгляд не хватало в предыдущих.
Поскольку приложение malware.apk, на котором проводили тестирование ранее, не набрало достаточно большого числа детектов среди антивирусов, то для тестирования обфусцированных приложений было решено взять известный троян – Dendroid. Известный, потому что его сигнатуры определяют многие антивирусы. Кроме того, тестирование проводили еще и на модифицированном Dendroid – почищенном от мусора в исходном коде, например, от неиспользуемых функций. К слову, даже просто убрав мусор, и пересобрав вредоносное приложение, некоторые антивирусы уже переставали на него реагировать.
Результаты сканирования на virustotal отображены в таблице 1.
Таблица 1 – результаты сканирования на virustotal
|
До обфускации |
Proguard |
Alatori |
ADAM |
EVA |
malware.apk |
26 |
17 |
10 |
18 |
3 |
Dendroid |
35 |
31 |
24 |
25 |
12 |
Dendroid |
28 |
28 |
21 |
17 |
8 |
Результаты сканирования на топовых мобильных антивирусных приложениях, установленных на смартфоне показаны в таблице 2.
Таблица 2 – результаты сканирования мобильными антивирусами
|
До обфускации |
Proguard |
Alatori |
ADAM |
EVA |
malware.apk |
6 |
4 |
4 |
3 |
1 |
Dendroid |
12 |
11 |
9 |
11 |
11 |
Dendroid |
10 |
9 |
5 |
9 |
8 |
Таким образом, EVA показала наилучшие результаты среди обфускаторов. Для malware.apk удалось добиться единичного детекта со стороны мобильных антивирусов, причем единственным антивирусом, обнаружившим вирус, оказался AVAST.
Но и это еще не всё!
Во-первых, простая перепаковка приложения с помощью apktool уменьшает число детектов в несколько раз.
Во-вторых, комбинация различных методов и обфускаторов значительно улучшает результаты. Так применение EVA, ADAM и Proguard в любой последовательности и любое количество раз позволило снизить число детектов на virustotal тоже до 1. Здесь нулевого детекта, к сожалению, также добиться не удалось. А вот единственным антивирусом, обнаружившим вирус, на этот раз оказался некий Ahnlab-V3.
В-третьих, было отмечено, что Kaspersky перестает реагировать на вирус после применения любого шифрующего метода, правда через некоторое время его базы обновляются и детект возобновляется.
Таблица 3 – дополнительные результаты сканирования на virustotal
|
До обфускации |
repack |
Alatori |
Proguard |
Eva |
Eva |
Eva |
malware.apk |
26 |
5 |
5 |
4 |
3 |
2 |
1 |
Dendroid |
35 |
22 |
23 |
24 |
25 |
12 |
11 |
Dendroid-modify |
28 |
15 |
16 |
24 |
17 |
10 |
4 |
Выводы
В: Сложно ли обойти антивирус?
О: Нет, не сложно.
В: Нужен ли он тогда вообще?
О: От некоторых угроз мобильный антивирус способен защитить, но это не панацея. Ведь вполне вероятно, что антивирусная проверка на google play может быть пройдена аналогично тому, как антивирусы не обнаружили свежее вредоносное приложение, не успевшее попасть в базы сигнатур. Однако этот момент является лишь предположением, ведь распространение вредоносного программного обеспечения не входило в данное исследование.
Обфускация (запутывание) – приведение программного кода к виду, сохраняющему функциональность программы, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.