Научная статья на тему 'О некоторых способах обнаружения стегосообщений с использованием языка программирования Python'

О некоторых способах обнаружения стегосообщений с использованием языка программирования Python Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
стеганография / Python / исследование графических файлов / стегоконтейнер / steganography / Python / graphic fi le research / stegocontainer

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

Исследуются возможности анализа графических файлов с использованием интерпретируемого языка программирования Python для выявления стегосообщений. Проводится анализ сфер применения стеганографии, а также наиболее распространенных стеганографических алгоритмов. Отмечаются некоторые сложности как технического, так и процессуального характера, возникающие при проведении стеганографического анализа. Указываются преимущества и основные направления использования Python для решения этой задачи.

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

About some ways to detect stegos using the Python programming language

The possibilities of analyzing graphic fi les using the interpreted programming language Python to identify stego messages are explored. An analysis is made of the areas of application of steganography, as well as the most common steganographic algorithms. Some diffi culties of both a technical and procedural nature that arise when conducting steganographic analysis are noted. The advantages and main directions of using Python to solve this problem are indicated.

Текст научной работы на тему «О некоторых способах обнаружения стегосообщений с использованием языка программирования Python»

Фаниев Павел Андреевич

О некоторых способах обнаружения стегосообщений с использованием языка программирования Python

Исследуются возможности анализа графических файлов с использованием интерпретируемого языка программирования Python для выявления стегосообщений. Проводится анализ сфер применения стеганографии, а также наиболее распространенных стеганографических алгоритмов. Отмечаются некоторые сложности как технического, так и процессуального характера, возникающие при проведении стеганографического анализа. Указываются преимущества и основные направления использования Python для решения этой задачи.

Ключевые слова: стеганография, Python, исследование графических файлов, стегоконтейнер.

About some ways to detect stegos using the Python programming language

The possibilities of analyzing graphic files using the interpreted programming language Python to identify stego messages are explored. An analysis is made of the areas of application of steganography, as well as the most common steganographic algorithms. Some difficulties of both a technical and procedural nature that arise when conducting steganographic analysis are noted. The advantages and main directions of using Python to solve this problem are indicated.

Keywords: steganography, Python, graphic file research, stegocontainer.

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

Понятие «стеганография» происходит от греческих слов steganos - тайна и дгар1пу - запись и буквально переводится как тайнопись. В отличие от криптографии ее задачей является сокрытие самого факта наличия какого-либо сообщения. В своих работах А.Л. Осипенко и В.Ф. Луговик ранее отмечали, что стеганография является «одним из набирающих популярность способов сокрытия передаваемой информации» [1]. В подавляющем большинстве случаев стеганографию применяют совместно с методами криптографии, дополняя ее и тем самым повышая уровень защищенности сообщения.

В зависимости от решаемых в цифровом пространстве задач стеганография нашла свое применение в различных сферах, например:

защита авторского права - для внедрения цифровых водяных знаков, маркировки материалов в электронных библиотеках;

электронный документооборот - для использования в качестве аналога цифровой подписи;

дистанционное управление устройствами -для шифрования какого-либо управляющего сигнала либо скрипта в случаях, когда необходимо скрыть факт воздействия на устройство (например, несанкционированный перевод спутника в определенный режим работы);

военная сфера - для отвлечения внимания вероятного противника в цифровом пространстве либо для засорения эфира, поскольку в ряде случаев генерация большого количества стегоконтейнеров (с позиции временных и машинных ресурсов) более практична, чем попытка обнаружения и перехвата стегоконтей-неров противника.

В то же время стеганографию могут использовать и злоумышленники для передачи друг другу каких-либо сведений. Это связано с двумя немаловажными факторами: во-первых, сокрытие факта передачи какой-либо информации многократно усложняет возможность установления источника утечки секретных сведений; во-вторых, стеганографически скрытые данные могут передаваться через открытые каналы связи без блокировки со стороны установленных в сети фильтров информации.

76

Компьютерная (цифровая) стеганография -наука о скрытой передаче информации, которая часто осуществляется за счет встраивания передаваемого сообщения в некий не вызывающий подозрения цифровой объект путем незначительной его модификации [2].

Казалось бы, развитие криптографии должно постепенно свести на нет применение стеганографии. Однако методы стеганографии продолжают активно использоваться злоумышленниками.

Например, в декабре 2020 г., используя методы стеганографии (в частности, covert signaling), злоумышленники успешно скрывали жизнедеятельность вирусного программного обеспечения (далее - ПО) внутри программы SolarWinds. Скрытый backdoor использовался для взлома сетей FireEye, а также ряда ресурсов правительственных агентств США [3].

Стеганография находит применение и в коммерческом шпионаже. Так, 3 января 2023 г. бывший сотрудник General Electric (GE) был осужден к двум годам лишения свободы за кражу информации, связанной с производством авиатурбин [4]. В интервью для журнала Digital Journal Элин Хоккей, вице-президент по управлению продуктами компании Fortra - поставщика программного обеспечения и услуг в области кибербезопасности, отметила, что для похищения указанной информации применялись методы стеганографии.

К резонансным фактам использования стеганографии для сокрытия преступлений можно также отнести маскировку более сотни документов с подробным описанием и планами совершения террористических атак на территории Европы, совершение которых планировалось боевиками «Аль-Каиды», в видеоролике порнографического содержания [5].

Для последующего корректного изложения материала необходимо рассмотреть несколько основных понятий.

Стегоконтейнер - объект, содержащий в себе секретную информацию [6]. Этот контейнер, соответственно, может быть либо пустым, либо заполненным.

Скрытое сообщение - сообщение, встроенное в стегоконтейнер.

Стегоключ - секретный ключ, необходимый для сокрытия информации. В зависимости от степени защищенности сообщения могут использоваться несколько стегоключей.

В теории стегоконтейнером может быть любой файл, однако на практике чаще всего это

графические файлы (форматы .TIFF, .JPEG, .PNG), аудиофайлы (форматы .WAV, .MP3, .MIDI) и видеофайлы (.MP4, .AVI, .MKV). Приведенный перечень типов файловых расширений не является исчерпывающим, однако именно они используются чаще других ввиду их распространенности в сети Интернет. В качестве скрытого сообщения может выступать не только текстовое сообщение, но и графическое изображение, и аудио-, видеоряд.

Для сокрытия сообщений в стегоконтейне-ре существует большое количество различных алгоритмов. Все их можно разделить на 3 большие категории.

1. Алгоритмы, работающие с цифровым сигналом. Наиболее часто здесь используются следующие методы:

1.1. Least Significant Bit (LSB) - метод, основанный на обнаружении наименее значимых битов файла-контейнера и их последующей замене на биты скрываемого сообщения [7]. Этот метод применяется как к графическим, так и к аудио-, видеоконтейнерам.

1.2. Эхо-методы, подразумевающие встраивание данных в аудиосигнал-контейнер путем введения в него эхо-сигнала [8].

1.3. Фазовое кодирование - метод, предполагающий замену фазы исходного звукового сегмента на опорную фазу, характер изменения которой отражает собой данные, которые необходимо скрыть. Для того чтобы сохранить разностную фазу между сегментами, фазы последних соответствующим образом согласовываются [8].

1.4. Метод цифровой параметрической стеганографии, заключающийся в последовательной модификации создаваемого стегоконтей-нера. Особенность данного метода состоит в том, что он позволяет создать изображение под конкретное скрываемое сообщение.

2. Алгоритмы, основанные на встраивании скрытого сообщения по принципу наложения поверх оригинала. Подобные алгоритмы применяются в технологии цифровых водяных знаков.

3. Алгоритм, использующий особенности файловых форматов, например сокрытие информации в метаданных файлов или в каких-ибо зарезервированных, но неиспользуемых полях файла.

В зависимости от стегоконтейнера для извлечения скрытой информации применяется довольно большое количество различных инструментов как в виде отдельных приложений

77

(например, StegSolve), так и в формате уже предустановленных в операционную систему (например, ряд консольных утилит в операционной системе Kali Linux). Однако, используя их для исследования файлов при производстве компьютерной экспертизы, можно столкнуться с рядом сложностей как технического, так и процессуального характера.

К техническим недостаткам можно отнести тот факт, что в большинстве своем подобное ПО подразумевает поштучный анализ файлов без возможности исследования всей папки с файлами сразу. В случае анализа 5-10 фотографий этот недостаток несущественен. Однако при поиске скрытой информации в значительном массиве фотографий (например, более 1000 в одной папке) время производства экспертизы значительно возрастет.

К недостаткам также можно отнести то обстоятельство, что большинство названных программ не проходили аттестацию в головных подразделениях системы МВД и Минюста России и не могут быть рекомендованы в качестве инструментов для углубленного и всестороннего исследования файлов. Кроме того, указанные продукты предоставляются уже в скомпилированном виде. В силу этого выполняемый в них программный код не очевиден как сотруднику, так и сторонам, участвующим в судопроизводстве. Как следствие, нельзя гарантировать, что ПО выполняет именно тот код, который заявлен в технической документации к нему.

Для решения указанных проблем, по мнению автора, возможно применение компилируемых языков программирования, например Python, в целях написания программы для анализа файлов непосредственно в ходе проведения экспертизы. Главными плюсами подобного подхода являются:

1) вариативность создаваемого ПО в зависимости от конкретной экспертной задачи;

2) максимальная прозрачность программного кода и очевидность заложенных в него алгоритмов вычислений.

Одним из наиболее простых и эффективных способов обнаружения стегосообщений в изображениях является статистический анализ. Его суть заключается в сравнении статистических характеристик исходного изображения с потенциально модифицированным. Этот подход оказывается особенно полезным, если эксперту доступны многочисленные образцы изо-

бражений, которые можно предположительно считать «чистыми», т.е. не содержащими стегосообщений. Сравнивая образцы с анализируемым изображением, можно выявить аномалии в таких параметрах, как гистограмма распределения цветов, коэффициенты энтропии, моменты изображений [9] и другие статистические метрики. Например, значительные отклонения в энтропии изображения могут указывать на то, что в него была добавлена скрытая информация. Для реализации статистического анализа на языке Python можно использовать различные библиотеки, такие как PIL (Python Imaging Library) для обработки изображений, numpy для математических расчетов, matplotlib для визуализации данных.

Еще одним способом обнаружения стего-сообщений, позволяющим выявить изменения изображения, является анализ младших значащих битов (LSB). Методика анализа LSB основывается на изучении младших битов в каждом пикселе изображения, поскольку именно эти биты чаще всего модифицируются при внедрении стегосообщений, минимально влияя на визуальное восприятие изображения. Следует отметить, что анализ LSB не всегда гарантирует 100% обнаружение стегосообщений. Качество и эффективность решения такой задачи зависят от специфики стегосообщения, метода его внедрения и применяемых методов дополнительной защиты (например, шифрования информации перед внедрением). Кроме того, в некоторых алгоритмах стеганографии используются более сложные методы манипуляции данными, что затрудняет обнаружение стегосообщений с использованием простого анализа LSB. В этом случае можно воспользоваться такими Python модулями, как nympy или stegano.

Использование подобного подхода может способствовать более углубленному и всестороннему исследованию файлов на носителях информации, изъятых у злоумышленников. Обнаруженная информация (в зашифрованном или открытом виде) может не только способствовать формированию дополнительной доказательственной базы, но и оказать практическую помощь при построении оперативных версий. При этом следует учитывать тот факт, что стеганография в большинстве случаев применяется как дополнение криптографии, что указывает на необходимость проведения дополнительного криптоанализа при обнаружении скрытого сообщения.

78

1. Осипенко А.Л., Луговик В.Ф. Проблемы доступа правоохранительных органов к скрываемой компьютерной информации при раскрытии преступлений // Общество и право. 2021. № 2(76).

2. Разников Е.В. Математическое моделирование стеганографических объектов и методы вычисления оптимальных параметров систем: автореф. дис. ... канд. физ.-мат. наук. Казань, 2012.

3. Хакеры используют тактику «стеганографии» для атак вредоносного ПО. URL: https://www.digitaljournal.com/tech-science/ hackers-using-steganography-tactics-for-malware-attacks/article

4. Сотрудник General Electric получил 2 года тюрьмы за передачу китайцам технологий турбин для самолетов. URL: https://hightech. edu.eu/ru/community-12955/7413080

5. How Al Qaeda Hid Secrets In a Porn Video. URL: https://www.nbcnews.com/id/wbna47254281

6. Энциклопедия «Лаборатории Каспер-ского». URL: https://encyclopedia.kaspersky.ru/ glossary/steganofraphy/

7. Стеганография [Электронный ресурс]: учеб. пособие. URL: https://steganography-rsvpu.tilda.ws/labworks/lab5

8. Конахович Г.Ф., Пузыренко А.Ю. Компьютерная стеганография. Теория и практика. Киев, 2006. URL: https://studfile.net/ preview/7379018/page:49/

9. Image Moments: A general and Useful Set of Features for Visual Servoing // IEEE Transactions On Robotics, vol. 20, no. 4, August 2004. URL: https://citeseerx.ist.psu.edu/document?repid=rep 1&type=pdf&doi=1af719192ea1d331cc32b1c735 87d3167f36e29a

1. Osipenko A.L., Lugovik V.F. Problems of access of law enforcement agencies to hidden computer information when solving crimes // Society and law. 2021. No. 2(76).

2. Raznikov E.V. Mathematical modeling of steganographic objects and methods for calculating optimal parameters of systems: auth. abstr. ... Candidate of Sciences in Physics and Mathematics. Kazan, 2012.

3. Hackers use steganography tactics for malware attacks. URL: https://www.digitaljournal. com/tech-science/hackers-using-steganography-tactics-for-malware-attacks/article

4. General Electric employee received 2 years in prison for transferring aircraft turbine technology to the Chinese. URL: https://hightech.edu.eu/ru/ community-12955/7413080

5. How Al Qaeda HidSecrets In a Porn Video. URL: https://www.nbcnews.com/id/wbna47254281

6. Encyclopedia of Kaspersky Lab. URL: https://encyclopedia.kaspersky.ru/glossary/ steganofraphy/

7. Steganography [Web resource]: study aid. URL: https://steganography-rsvpu.tilda.ws/ labworks/lab5

8. Konakhovich G.F., PuzyrenkoA.Yu. Computer Steganography. Theory and Practice. Kiev, 2006. URL: https://studfile.net/preview/7379018/ page:49/

9. Image Moments: A general and Useful Set of Features for Visual Servoing // IEEE Transactions On Robotics, vol. 20, no. 4, August 2004. URL: https://citeseerx.ist.psu.edu/document?repid=rep 1&type=pdf&doi=1af719192ea1d331cc32b1c735 87d3167f36e29a

СВЕДЕНИЯ ОБ АВТОРЕ

Фаниев Павел Андреевич, адъюнкт кафедры судебно-экспертной деятельности Краснодарского университета МВД России, эксперт организационно-методического отдела ЭКЦ ГУ МВД России по Краснодарскому краю; e-mail: faniev_pavel@mail.ru

INFORMATION ABOUT AUTHOR

P.A. Faniev, Adjunct of the Department of Forensic Expert Activity, Krasnodar University of the Ministry of the Interior of Russia; Expert of the Organizational and Methodological Department of the Expert and Forensic Center, Main Directorate of the Ministry of the Interior of Russia across the Krasnodar Territory; e-mail: faniev_pavel@mail.ru

79

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