Хакеры из компании Fortinet продемонстрировали на конференции Black Hat Europe 2014, как можно прятать файлы Android APK внутрь изображений таким образом, чтобы запускать их на исполнение в операционной системе Android.

Подобный метод транспортировки APK позволяет избежать обнаружения со стороны антивирусных программ и, по словам авторов, даже обходит встроенную защиту Google Play. То есть можно распространять «заражённые» изображения через официальный каталог.

Авторы — специалист по безопасности Fortinet Аксель Апрвилль (Axelle Apvrille) и его коллега Анже Альбертини (Ange Albertini), который специализируется на реверс-инжиниринге. Они разработали Proof-of-Concept для доказательства, что метод действительно работает.

PoC использует питоновский скрипт под названием AngeCryption, который конвертирует файлы из одного формата в другой. Он превращает валидные файлы PNG в валидные программы, вычисляя необходимый ключ AES для такой конвертации. Разработчики выпустили скрипт несколько месяцев назад, а на конференции Black Hat Europe 2014 продемонстрировали одно из его практических применений.

003

Во время презентации хакеры показали разработанное ими приложение-обёртку, которое показывает картинку на экране Android-устройства, а потом может сконвертировать эту картинку в файл APK и установить его. В принципе, средства Android позволяют осуществить такую установку незаметно для пользователя, не спрашивая у него разрешения.

Для успешной работы эксплоита требуется добавить код в конец APK-файла, после маркера End of Central Directory (EOCD). Формально это не предусмотрено форматом, но в реальности можно добавить второй маркер и обмануть парсер Android. Компания Google уже уведомлена об уязвимости, но пока что вектор атаки актуален даже для последней версии Android 4.4.2 (на Android 5.0 ещё не проверяли).

Впрочем, даже после выхода патча высокая фрагментация рынка Android-устройств позволит эксплуатировать эту уязвимость на практике. Так что картинкам PNG доверять нельзя.



13 комментария

  1. 22.10.2014 at 15:19

    Не ясен механизм заражения. Мне надо установить еще какую-то программу, которая конвертирует картинки в apk?

    • 22.10.2014 at 16:02

      Ты находишь и ставишь себе что-то нужное, а оно за собой натаскивает ещё всякой дряни.

      • 22.10.2014 at 16:47

        клёвая система андроид. ставишь одну программу, а она, если хочет может установить ещё одну из картинки. если из картинки может, то и из других файлов мультимедиа. разве нет? причём тогда вообще разговор о картинках, когда любая программа установленная на девайс устанавливает всё что ей хочется ещё из любых файлов данных. почему конкретно картинки PNG то, чем они хуже любого другого поля данных. вопрос другой — как так проверяются программы устанавливаемые на девайс, как так они выполняются, что у них появляется возможность устанавливать данные левых файлов в качестве программ. а аес криптография тут для смеха. правильно я всё понял?

        • http://blog.mykola.org

          23.10.2014 at 00:46

          Если я правильно понял, то шифрование необходимо только для того, чтобы обмануть Play Market.

        • 23.10.2014 at 11:18

          А вот криптография тут не «для смеха». Суть в том, чтобы не просто считать какой-нибудь «хвост» из картинки и расшифровать, а в том, чтобы расшифровать ФАЙЛ ЦЕЛИКОМ, получив из .PNG валидный .APK. Эвристики нервно курят в сторонке, не находя в «обёртке» подозрительных операций.

      • 24.10.2014 at 08:17

        А может ли Google банить аккаунты разработчиков чьи приложения используют данный метод?

  2. http://jkeks.ru/

    22.10.2014 at 16:15

    а я как дурак через QR коды apk-ки заливал а тут можно через любые картинки оказывается =)

  3. 22.10.2014 at 18:40

    Да не всё так просто, картинку нужно открыть в каком-то вьювере, который откроeт её как картинку и запустит процесс установки .apk. Тут ещё больше возникает вопросов, например если даже apk запустится для установки, неужели не запросит разрешений? Спрятать код — это одно, установить по-тихому — совсем другая задача. Подобное было когда-то и с IE, и с adobe ридером, но это совершенно другая история.

    • 22.10.2014 at 20:20

      Написано же: «В принципе, средства Android позволяют осуществить такую установку незаметно для пользователя, не спрашивая у него разрешения.»

      • 22.10.2014 at 22:00

        В принципе!!! В принципе, можно взломать систему пуска межконтинентальных баллистических ракет любой страны и произвести запуск ядерных боеголовок, в том числе и с АПЛ. Написать легче чем сделать. Полный бред это ваша «в принципе»!

        • 23.10.2014 at 11:14

          Тут в статье просто ляп. Авторы говорят о возможности использования DexClassLoader для ЗАПУСКА вредоносного кода, а вовсе не для УСТАНОВКИ — это было бы слишком хорошо. 🙂

  4. ierihon

    22.08.2017 at 10:48

    Пошаговую инструкцию бы(

Оставить мнение