Компания Symantec сообщила
об обнаружении трояна под Android, который использует технику
«серверного полиморфизма» — она раньше наблюдалась во вредоносных
программах под Windows. Данная техника означает, что при каждом
скачивании генерируется уникальная версия файла — это помогает укрыться
от антивирусного срабатывания при поиске по сигнатурам. Компания
Symantec присвоила всем вариантам новой вредоносной программы название
Android.Opfake. Программа распространяется с российских сайтов под видом
различных популярных Android-программ (в частности, Opera Mini 6.5), а
после заражения предлагает пользователю отправить SMS на различные
платные номера.
Пока что вредоносная программа обнаружена только на российских
сайтах, но она умеет отправлять платные SMS не только на российские
номера, а также на номера операторов стран СНГ, стран Европы, а также
Австралии, Израиля и Тайваня.
Программа видоизменяется автоматически по заданному алгоритму, кроме
того, каждые несколько дней модификации в код вносятся вручную. По
мнению исследователей, это свидетельствует о том, что авторы программы
следят за работой своего детища.
Полиморфизм Android.Opfake осуществляется тремя способами: с помощью
изменения данных, перепаковки файлов в пакете и внедрения мусорных
файлов. Например, в одном из случаев при сравнении CRC файлов в двух
пакетах исследователи обнаружили, что единственное значимое изменение
произошло в файле res/raw/data.db ,
все остальные изменившиеся файлы в META-INF содержат только сигнатуры
всего пакета, так что они просто отражают факт изменения res/raw/data.db .
CRC файла |
Название файла |
Installer.APK |
SKACHAT.APK |
9dc48f61 |
074c54b5 |
META-INF/MANIFEST.MF |
b1377893 |
42ecb534 |
META-INF/ALARM.SF |
248c37f7 |
65105b65 |
META-INF/ALARM.RSA |
40659b25 |
40659b25 |
AndroidManifest.xml |
bbd88c2d |
bbd88c2d |
resources.arsc |
7a3498c4 |
7a3498c4 |
classes.dex |
6129f361 |
9e488e9e |
res/raw/data.db |
27bc873d |
27bc873d |
res/drawable-hdpi/logo.png |
27bc873d |
27bc873d |
res/drawable-ldpi/logo.png |
27bc873d |
27bc873d |
res/drawable-mdpi/logo.png |
fa11bed8 |
fa11bed8 |
res/drawable-hdpi/icon.png |
fa11bed8 |
fa11bed8 |
res/drawable-ldpi/icon.png |
fa11bed8 |
fa11bed8 |
res/drawable-mdpi/icon.png |
Анализ кода показал, что res/raw/data.db
содержит базу данных операторов сотовой связи со списком премиальных
номеров и сообщений для отправки в том случае, если пользователь
установит эту программу на свой телефон. Содержимое SMS-сообщений
меняется при каждой загрузке, что приводит к генерации уникальных
пакетов.
В другом случае полиморфизм OpFake достигался с помощью иной техники.
В некоторых APK весь код и файлы с данными были одинаковыми, но
MANIFEST.MF и сигнатуры отличались.
CRC |
Название файла |
311fa59a |
META-INF/MANIFEST.MF |
86f1655e |
META-INF/CERT.SF |
ed814261 |
META-INF/CERT.RSA |
02568138 |
AndroidManifest.xml |
5539013f |
classes.dex |
c9805df6 |
res/drawable-hdpi/icon.png |
c9805df6 |
res/drawable-mdpi/icon.png |
c9805df6 |
res/drawable-ldpi/icon.png |
1d66a094 |
res/layout/offert.xml |
b93210cd |
res/layout/grant_access_to_content.xml |
169b2a86 |
res/layout/main.xml |
30fe74be |
res/raw/activation_schemes.cfg |
aca144d2 |
res/drawable/progress_finished.xml |
3367b765 |
res/xml/countries.xml |
f3087726 |
resources.arsc |
88a24ad9 |
0.temp |
88a24ad9 |
1.temp |
88a24ad9 |
2.temp |
88a24ad9 |
… |
Здесь полиморфизм достигается просто изменением порядка строк и
файлов в пакете, в результате чего при генерации получаются новые
манифест и сигнатуры.
В конце концов, третий способ полиморфизма — добавление мусорных
файлов .temp. Удивительно, но все эти файлы .temp не выполняют никакой
полезной функции, а только содержат некое таинственное изображение:
Расследование коллег из антивирусной компании F-Secure позволило
идентифицировать индивидуума из файла .temp как некоего «свидетеля из
Фрязино», который внедрён на многие фотографии методом фотомонтажа.
Свидетель из Фрязино (фотожаба), справочная информация
|