Научная статья на тему '0-day-уязвимость в Android-приложении стеганографии PixelKnot'

0-day-уязвимость в Android-приложении стеганографии PixelKnot Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
356
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТЕГАНОГРАФИЯ / СТЕГОАНАЛИЗ / 0DAY-УЯЗВИМОСТЬ / МОБИЛЬНОЕ ANDROID-ПРИЛОЖЕНИЕ «PIXELKNOT» / STEGANOGRAPHY / STEGOANALYSIS / 0DAY-VULNERABILITY / MOBILE ANDROID APPLICATION “PIXELKNOT”

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Курников Дмитрий Геннадьевич

Стеганография способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи, иными словами, стеганография сокрытие наличия существования самого тайного послания без привлечения лишнего внимания. В статье описывается уязвимость нулевого дня в области стеганографии: в Android-приложении «PixelKnot». Найден и предложен совершенный способ стегоанализа фотоальбомов и картинок, для выявления изображений, обработанных в PixelKnot и содержащих наличие тайного послания.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «0-day-уязвимость в Android-приложении стеганографии PixelKnot»

ТЕХНИЧЕСКИЕ НАУКИ

0-DAY-УЯЗВИМОСТЬ В ANDROID-ПРИЛОЖЕНИИ СТЕГАНОГРАФИИ PIXELKNOT Курников Д.Г. Email: Kurnikov657@scientifictext.ru

Курников Дмитрий Геннадьевич - инженер-радиотехник, специалист по информационной безопасности, фриланс IT, г. Муром, Владимирская область

Аннотация: стеганография — способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи, иными словами, стеганография — сокрытие наличия существования самого тайного послания без привлечения лишнего внимания. В статье описывается уязвимость нулевого дня в области стеганографии: в Android-приложении «PixelKnot». Найден и предложен совершенный способ стегоанализа фотоальбомов и картинок, для выявления изображений, обработанных в PixelKnot и содержащих наличие тайного послания.

Ключевые слова: стеганография, стегоанализ, Oday-уязвимость, мобильное Android-приложение «PixelKnot».

ZERO-DAY-VULNERABILITY IN PIXELKNOT STEGANOGRAPHY ANDROID APPLICATION Kurnikov D.G.

Kurnikov Dmitry Gennadievich - Radio Engineer, Information Security Specialist, Freelance IT, MUROM, VLADIMIR REGION

Abstract: steganography is a method of transmitting or storing information, taking into account the fact that such a transfer is secret, in other words, steganography is hiding the existence of the secret message itself without attracting too much attention. The article describes the zero day vulnerability in the field of steganography: in the PixelKnot Android application. A perfect method for steganalysis of photo albums and pictures was found and proposed for identifying images processed in PixelKnot and containing the presence of a secret message.

Keywords: steganography, stegoanalysis, 0day-vulnerability, mobile Android application "PixelKnot".

УДК 621.391

В конце 2018 года я обнаружил уязвимость в области стеганографии: в приложении на Android «PixelKnoot» (v1.0.1 от 17/02/2017г., кол-во загрузок из GP > 100тыс.). Приложение «PixelKnoot» — это разработка The Guardian Project — команда с мировым именем в области параноидальных мобильных разработок. Мобильные приложения Orbot, Orweb, Orfox и д.р. — разработка их рук дело.

Разработчики из Guardianproject описали свое приложение в GP, как «НЕВИДИМЫЕ ПЕРЕМЕНЫ: Даже опытный аналитик не должен быть в состоянии обнаружить любое сообщение. Байты изображение должно казаться неискаженным» [1]. На официальном сайте команды разработчиков Guardianproject PixelKnot описывается как «ATTACKRESISTANT: We've tested discovery on images with messages hidden in them using a specialized version of stegdetect, an automated tool for detecting steganographic content in images» [2].

Я провёл Стегоанализ и нашёл способ: определять — существует ли наличие самого тайного послания в картинке или нет, закодированное с помощью PixelKnot.

Время на анализ данных: на разбор таких альбомов-картинок, где тайна, а где её нет, уходит на «слабом ПК» ~ 1с/1картинку.

Стегоанализ. С помощью Andraid-приложения PixelKnot спрятал тайное послание в картинке. Обработанная картинка, как картинка, на глаз — в ней ничего не изменилось, и MAT/2 никаких аспектов метаданных обработанного фото не выявил.

Сравнил бинарно с оригиналом — ничего «такого», кроме выявления обработки формата JPEG.

Сброшенный файл на ПК, посмотрел разным программами на GNU/Linux/Windows 7: GIMP-ом/Photoshop-ом и стандартными программами ОС для просмотра и редактирования изображения — ничего.

Пропустил оригинал фото через стеганографию ПО Steghide/Stegosuite и сравнил все экземпляры в binwalk (утилита GNU/Linux) — есть зацепка. Картинка Оригинал и картинки, обработанные в Steghide и Stegosuite, определились по исполняемому коду, а картинка, обработанная в PixelKnot, — нет (проверил еще 10 картинок, обработанных в PixelKnot, — ни одна «не прошла» binwalk, но этого недостаточно для полноценного анализа).

Применил bruteforce атаку ПО Stegcracker — ничего (SC — атакует фото, обработанные только в ПО Steghide). Провёл bruteforce атаку ПО Stegbreak — ничего (инструмент устаревший, работает, но «не понимает» стеганографию PixelKnot/Steghide/Stegosuite).

Задействовал модифицированный инструмент ПО 15-и летней давности — Stegdetect. Из результатов анализа увидел, что из 5 фото, обработанных в PixelKnot, две фото успешно обфусцировали инструмент, а также одна картинка, обработанная в Steghide, проскользнула незамеченной.

Изменил коэф. яркости и компоненты цветности изображения (так как вся информация об изображении для глаза, в том числе секрет, содержится либо в коэф., либо в компонентах). Эмпирично кое-что выделяется: явные артефакты в «голубом цвете» в картинке PixelKnot, но это анализ фото вручную, при автоматическом стегоанализе, например фотоальбомов, так быстро нужные коэф/копм. яркости и цветности для выявления хаотичной пикселизации не подобрать.

Тогда я реализовал, пришедшую на ум, совершенно случайную вещь: переименовал файл, откинув расширение картинки (.jpg. PixelKnot.jpg > PixelKnot). Открывал файл картинки без расширения с помощью KDE/Mate/Windows стандартными просмотрщиками изображений — ничего, но в ПО Photoshop-е она не открылась — ошибка!

Продолжил стегоанализ, открыл картинку без расширения в ПО GIMP-е и получил аналогичную ошибку, как и в Photoshop-е. Но! GIMP в отличие от Photoshop-а обычные фото с откинутым расширением открывает! То есть GIMP «стопорится» на изображениях, обработанных в PixelKnot (при условии, что у обработанного в PixelKnot файла, откинуто расширение .jpg).

Провёл ещё ряд разных и подобных экспериментов/манипуляций с «тайными посланиями в картинках» в Stegosuite (GUI) и Steghide (CLI). Этот софт оказался не подвержен к подобной атаке. В фотоальбоме картинку с тайным посланием не всегда возможно было вычислить (не имея оригинала) , то есть проблема «вскрытия факта о наличии тайного послания в картинке» оставалась только у приложения PixelKnot.

А как же проводить Стегоанализ PixelKnot, если картинок десятки и сотни с разным расширением и т.д. Как искать, обработанные фото в PixelKnot, среди простых фотографий?

Раскачиваю найденную уязвимость: действенный способ стегоанализа фотографий обработанных в PixelKnot на GNU/Linux.

1) Открыть ПО Double Commander > групповое переименование файлов > выбирать фотоальбом > убрать расширение файлов (.jpg,.png...) это почти мгновенная операция над файлами.

2) Открыть GIMP > файл > открыть как слои > выбрать любой фотоальбом с предварительно откинутыми расширениями фотографий. Начнётся обработка фотографий. Если среди картинок попадутся обработанные фото в PixelKnot, то ПО GIMP выдаст, по завершению обработки всех файлов, имена всех фотографий, которые содержат в себе наличие тайного послания. На разбор таких фото уходит ~1с/1 картинку (Intel 2х CPU T6600).

Согласно стеганографическому алгоритму «F5», который использует The Guardian Project в приложении PixelKnot, скрывается тайное послание в теле картинки (не в имени и не в метаданных) [2]. Например, если картинка будет содержать одно слово на однородном фоне, этого будет недостаточно для обработки фото в PixelKnot. При нескольких словах на однородном фоне, обработка фото в PixelKnot будет успешной, но также будет и видна невооруженным глазом.

Система считается взломанной, если аналитику удалось доказать хотя бы наличие скрытого сообщения [3] (задача выполнена успешно).

Из-за продемонстрированной уязвимости, приложение PixelKnot полностью теряет свой смысл.

Список литературы /References

1. Магазин приложений Google Play. [Электронный ресурс]. Режим доступа: https://play.google.com/store/apps/details?id=info.guardianproject.pixelknot/ (дата обращения: 08.02.2019).

2. The Guardian Project. [Электронный ресурс]. Режим доступа: https://guardianproject.info/apps/pixelknot/ (дата обращения: 08.02.2019).

3. Конахович Г.Ф., Пузыренко А.Ю. Принципы стеганографического анализа // Компьютерная стеганография. Теория и практика. Москва: МК-Пресс, 2006. 288 с. ISBN 966-8806-06-9.

i Надоели баннеры? Вы всегда можете отключить рекламу.