Хакеры из компании 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 в 15:19

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

    • Аватар

      22.10.2014 в 16:02

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

      • Аватар

        22.10.2014 в 16:47

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

        • Аватар

          http://blog.mykola.org

          23.10.2014 в 00:46

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

        • Аватар

          23.10.2014 в 11:18

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

      • Аватар

        24.10.2014 в 08:17

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

  2. Аватар

    http://jkeks.ru/

    22.10.2014 в 16:15

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

  3. Аватар

    22.10.2014 в 18:40

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

    • Аватар

      22.10.2014 в 20:20

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

      • Аватар

        22.10.2014 в 22:00

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

        • Аватар

          23.10.2014 в 11:14

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

  4. Аватар

    ierihon

    22.08.2017 в 10:48

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

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