Применение простой стеганографии при передаче файлов в интернете | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 26 октября, печатный экземпляр отправим 30 октября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №3 (137) январь 2017 г.

Дата публикации: 17.01.2017

Статья просмотрена: 439 раз

Библиографическое описание:

Рудниченко, А. К. Применение простой стеганографии при передаче файлов в интернете / А. К. Рудниченко. — Текст : непосредственный // Молодой ученый. — 2017. — № 3 (137). — С. 49-51. — URL: https://moluch.ru/archive/137/38298/ (дата обращения: 16.10.2024).



В данной статье описывается понятие стеганографии, а также показывается её применение на простейших примерах в операционной системе Windows.

Ключевые слова: стеганография, скрытие, криптография, альтернативные потоки данных, rarjpeg

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

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

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

Рассмотрим два способа хранения информации с сохранением тайны данного факта:

– альтернативный поток данных;

– файловый контейнер RarJpeg.

Каждый из способов может быть использован в операционной системе Windows любой версии.

Альтернативный поток данных

Альтернативные потоки данных — метаданные, связанные с объектом файловой системы NTFS. В файловой системе NTFS файл может быть связан не только с основными данными, но и с одним или несколькими дополнительными потоками данных. При этом дополнительный поток может быть произвольного размера, в том числе может превышать размер основного файла.

Таким образом в файловой системе NTFS возможно создать в любом файле дополнительный поток, в котором будет скрываемая информация. При открытии файла будет запускаться основной поток, из которого нет доступа к дополнительному.

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

где x — скрываемый текст; y — название файла; z — название дополнительного потока.

При создании файла с альтернативным потоком данных можно не указывать скрываемый текст, а указать его позже при открытии файла. Дополнительный поток может быть прочитан и изменён следующим образом (в случае с блокнотом):

где notepad.exe — название программы, с помощью которой будет открыт файл (в нашем случае блокнот); y — название файла; z — название дополнительного потока.

После необходимых изменений документ можно сохранить. По итогу получается пустой основной поток, но альтернативный поток имеет в себе скрытый текст. Заполнять можно как основной поток, так и дополнительный.

1

Рис. 1. Демонстрация способа «Альтернативный поток данных»

Файловый контейнер RarJpeg

RarJpeg — файловый контейнер, который состоит из двух входных файлов:

изображение формата JPEG;

– архив формата RAR.

Метод основан на том, что создаётся новый результативный файл, в котором архив RAR приписывается впритык к JPEG-изображению. При запуске такого файла будет открываться изображение. Если открыть файл с помощью архиватора, можно будет увидеть содержимое скрытого архива. Данный эффект достигается с помощью побитового копирования. Тот же метод может использоваться и для некоторых других форматов: к иллюстрациям JPEG, GIF, PNG или к звукозаписям WAV могут быть дописаны архивы RAR или ZIP, или аудиозаписи MP3.

Метод способен к реализации из-за того, что любая программа для просмотра изображений, читающая первый файл, игнорирует все данные, следующие за его концом, а программа, читающая второй файл, разыскивает его заголовок и игнорирует всё, что заголовку предшествует. Поэтому на первом месте необходимо ставить изображение, а на втором архив. За счёт этого можно «склеить» изображение и архив в один файл, который приобретёт функциональность обоих составляющих.

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

где x — изображение JPEG; y — скрываемый архив RAR; z — результативный контейнер формата JPEG.

Скрытый архив RAR возможно будет изменить в будущем. Таким образом, пересылая изображение, можно передать архив, в котором содержатся скрываемые файлы.

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

Screenshot_1

Рис. 2. Демонстрация способа «Файловый контейнер RarJpeg»

Литература:

1. Стеганография // Википедия — URL: https://ru.wikipedia.org/wiki/Стеганография

2. Альтернативные потоки данных // Википедия — URL: https://ru.wikipedia.org/wiki/Альтернативные_потоки_данных

3. DarkJPEG: cтеганография для всех // Хабрахабр — URL: https://habrahabr.ru/post/187402/

Основные термины (генерируются автоматически): RAR, JPEG, NTFS, альтернативный поток данных, дополнительный поток, файл, Файловый контейнер, файловая система, командная строка, операционная система.


Ключевые слова

криптография, стеганография, скрытие, альтернативные потоки данных, rarjpeg

Похожие статьи

Разработка программного модуля защиты информации методом стеганографии

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

Многопоточность в языке Swift

В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.

Контейнеризация как современный способ виртуализации

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

Применение векторизации слов для нечеткого поиска

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

Анализ данных на Python

В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.

Обзор технологии GraphQL

В статье рассматривается технология GraphQL, приводится обзор достоинств и недостатков, а также сравнение с REST технологией.

Использование Dapper C# в программировании

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

Современные программные продукты для анализа данных

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

Разработка систем рекомендаций на основе Big Data

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

Разбор многоступенчатой конвертации на примере форматов sb3 и exe

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

Похожие статьи

Разработка программного модуля защиты информации методом стеганографии

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

Многопоточность в языке Swift

В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.

Контейнеризация как современный способ виртуализации

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

Применение векторизации слов для нечеткого поиска

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

Анализ данных на Python

В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.

Обзор технологии GraphQL

В статье рассматривается технология GraphQL, приводится обзор достоинств и недостатков, а также сравнение с REST технологией.

Использование Dapper C# в программировании

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

Современные программные продукты для анализа данных

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

Разработка систем рекомендаций на основе Big Data

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

Разбор многоступенчатой конвертации на примере форматов sb3 и exe

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

Задать вопрос