что такое стенография в информатике

Стеганография. Методы сокрытия сообщения в контейнере изображения

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

Криптография – это совокупность методов для шифрования передаваемого сообщения. Однако, существует метод скрытия самого факта наличия, скрытого в отправляемом сообщении. Этим занимается стеганография.

Существует множество секретных средств связи, которые можно отнести к методам стенографии, от достаточно древних (невидимые чернила, особое расположение знаков в письме, узелки на нитках, надписи на боковой стороне колоды карт или внутри варёного яйца, тайные каналы передачи) до современных, используемых в, так называемой, компьютерной стеганографии (метод наименьшее значащего бита, метод Куттера-Джордана-Боссена, алгоритм Брайндокса или Коха и так далее). В этой статье мы рассмотрим метод наименьшее значащего бита или Least Significant Bit method (LSB).

Для понимания происходящего, нам понадобится ввести некоторые определения.

Контейнер в стеганографии – это не секретные данные, используемые для сокрытия сообщения. Например, изображения, аудиофайлы, видеофайлы, текстовые документы и прочие мультимедиа файлы.

Сообщение – это секретная информация, скрываемая внутри контейнера.

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

Пустой контейнер – контейнер, не содержащий записанной в него информации. Соответственно, стего контейнер (или заполненный контейнер) – это контейнер, внутри которого содержится сообщение.

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

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

Теперь, когда у нас есть базовое понимание принципов организации стегосистемы и работы алгоритма LSB, рассмотрим один из способов распознавания факта передачи информации в изображении. Основным инструментом будет Python, библиотеки numpy, matplotlib, pillow и openCV.

Для начала, импортируем необходимые библиотеки.

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

Далее приступим к написанию основной распознающей функции.

Исходный код, написанный на языке python можно найти в открытом доступе [на GitHub](https://www.github.com/ekertn7/stego «Checking a stego container in an image»).

Происходит побитовая проверка каждого пикселя изображения в разделенных каналах (R, G, B). Проверка выполняется по наименьшему значащему биту. В случае, если он равен единице, осуществляется закраска пикселя изображения черным цветом. Таким образом, на каждом канале изображения формируется шум, в случае наличия скрытого сообщения в контейнере изображения, зашифрованные участки будут визуально выделяться в одном или нескольких каналах. На изображении появятся неравномерные области наложения шума.

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

Первый случай, стего контейнер отсутствует:

Источник

Что такое стенография в информатике

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

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

Существует два способа кодирования сообщений – шифрование и стенография. Как же можно спрятать передаваемую информацию? Существует только один ответ: только в информации еще большего размера. Принцип работы стенографии заключается в том, чтобы разбросать секретный текст в основном массиве сообщения, которое может быть даже отлично по смыслу. При этом извлечь его будет возможно, только зная принцип, по которому была произведена разбивка и рассеивание.

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

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

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

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

Источник

Стеганография

Если вы думаете, что техники тайнописи применяют только шпионы – вы немного заблуждаетесь. Техники скрытой передачи или хранения информации могут применяться повсеместно для вполне мирных целей. В данной статье я хочу рассказать о стеганографии (τεγανός [скрытый] + γράφω [пишу], дословно «скрытопись», «тайнопись»).

Читайте также:  что делать если у кормящей мамы жидкий стул

В самом начале необходимо провести черту между двумя понятиями: стенографией и стеганографией. Первое из них, стенография (στενός [узкий, тесный] + γράφω [пишу]) – это совокупность способов быстрой записи устной речи и не имеет ничего общего с утаиванием и скрытием от третьих глаз информации. Слова созвучные, но не стоит путать стенографию со стеганографией.

«Кто владеет информацией, тот владеет миром» сказал Натан Ротшильд, но люди за долго до его рождения задумывались над проблемой: когда вы получили информацию, необходимо её сохранить, в большинстве случаев не просто сохранить, а сохранить в тайне. Современная наука о защите информации говорит о двух путях хранения информации в тайне: использовать криптографию или использовать стеганографию (лучше это делать совместно). Криптография – наука о методах преобразования информации в вид, невозможный для прочтения третьими лицами. То есть при передаче секретного сообщения некто, перехватив письмо, будет знать, что в нём что-то написано, но для него это будет набор несвязных символов, лишённых смысла, так как ему неизвестен метод их перестановки (или замены), чтобы получить сообщение. Стеганография – наука о методах преобразования информации в вид, при котором сам факт её существования становится секретом. Для понимания данного определения необходимо обратиться к историческим примерам применения стеганографии.

История стеганографии

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

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

Другое находчивое решение принадлежит тирану Гистею, который в V-м веке до н. э., находясь под надзором царя Дария в Сузах, должен был послать секретное сообщение своему родственнику в анатолийский город Милет. Тайное сообщение вытатуировали на обритой голове раба, затем дождались, пока волосы отрастут вновь, скрыв своим объёмом сообщение, и отправили раба гонцом в Милет, где волосы были сбриты, а сообщение попало в руки адресата.

Упоминание о методах, описанных выше, встречается в трактате Геродота «История», относящегося к 440 году до н. э.

Ближе к нашему времени появилось упоминание о Вожде мирового пролетариата В. И. Ленине (Ульянове), который, находясь в ссылке, писал письма товарищам по партии. Межу строк он молоком вписывал тайные сообщения однопартийцам: при нагревании письма текст, написанный молоком, проявлялся. Данный пример является наиболее известным применением симпатических (невидимых) чернил.

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

Что такое стеганосистема?

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

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

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

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

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

Цели стеганографии

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

Цифровые отпечатки (Digital Fingerprinting) подразумевают наличие различных стеганографических меток-сообщений для каждой копии контейнера. Например, при продаже электронной книги в неё может быть встроена информация о покупателе: имя, e-mail, ip- адрес и прочая информация. В последствии при возникновении спорной ситуации («Уважаемый, а не изволили ли Вы получить сие издание незаконным образом?») цифровой отпечаток может быть использован для доказательства исключительного права владения («Не могу согласиться с вами, сударь! Извольте ознакомиться с доказательствами»).

Рисунок 1: Сталин с iPhon-ом

Стеганографические водяные знаки ( Digital Watermarking ) подразумевают наличие одинаковых меток для каждой копии контейнера. Например, во время фотографирования на профессиональную камеру в изображение встраивается информация о фотографе: имя, время фотографирования, модель камеры, геотеги и так далее. В последствии при возникновении спорной ситуации («А не изволили ли Вы незаконным образом присвоить себе авторское право на изображение молодой красавицы?») стеганографический водяной знак может быть использован для доказательства права авторства («Прошу прощения, но вот данные о моём фотографическом аппарате и снимок сделан в моём поместье»).

Интересен факт доказательства Дмитрием Скляровым ( доцент кафедры информационной безопасности МГТУ им. Баумана ) «подлинности» фотографии И. В. Сталина с iPhon- ом в руке. Для того, чтобы это проделать, Дмитрий изучил стеганографический алгоритм фотокамеры, а затем произвел атаку: подделал водяной знак таким образом, что фотография стала «настоящей».

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

Читайте также:  что такое файловый дескриптор

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

Классификация методов стеганографии

Методы стеганографии можно разделить на три больших класса: классические методы, компьютерные и цифровые.

Термин «классическая стеганография» покрывает все «некомпьютерные» методы стеганографии: симпатические чернила, микрофотоснимки и другие методы, придуманные людьми с изворотливым умом.

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

Цифровая стеганография старается внедрить дополнительную информацию в цифровые аудио-/фото-/видеообъекты, используя некоторую избыточность информации. Имеется в виду, что любой цифровой объект имеет в себе заведомо много больше информации, чем воспринимают наши органы чувств (глаза, уши). Когда стеганографический алгоритм пренебрегает 1/1000 долей чёткости картинки, чтобы разместить на фотографии скрытое сообщение, наш глаз этого попросту не может заметить.

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

Текстовые контейнеры

Стеганография, использующая текстовые контейнеры, может использовать особенности компьютерного представления текстов (компьютерная стеганография), а может использовать особенности языка (лингвистическая стеганография). Примером компьютерной стеганографии будет чередование по некоторому заранее обговорённому правилу латинских/кириллических символов со схожим написанием (е, а, с, В, Т, etc ). Лингвистические методы стеганографии могут допускать осознанные орфографические ошибки, чередование полных/неполных предложений, замену синонимичных слов.

Приведу простой пример, достойный урока информатики в школе. Пусть необходимо спрятать букву «А» в тексте «steganography». В двоичном виде букву «А» можно рассматривать как «01000001». Сопоставим двоичное представление скрытого сообщения (буквы «А») контейнеру (тексту «steganography») и запишем буквы, соответствующие единицам, прописью: sTeganoGraphy. Используя такой метод можно спрятать текст длинной в сообщение 8 символов.

Особенности файловой и операционной системы

За хранение информации на машинных носителях отвечает файловая система, которая задаёт структуру носителя и правила размещения фалов на нём. Файловая система FAT32 компании Microsoft при хранении файла всегда занимает целое число кластеров. Например, если при разметке диска был указан кластер размером в 4 Кбайта и размер файла всего 1,8 Кбайта, то оставшиеся 2,2 Кбайта останутся пустыми и не будут заполнены файловой системой при размещении следующего файла. Что значит «пустыми»? Это значит, что можно записать в это пространство скрытые данные, которые система не увидит. Но надо быть аккуратным, так как файловая система в погоне за более экономичным использованием пространства может «спутать вам карты».

Рисунок 2: Прячем файл в картинку

Другую особенность, уже операционной системы, можно использовать, чтобы спрятать файлы под видом обычной картинки. В Unix-подобных операционных системах это можно сделать легко: командой «cat» читаем последовательно картинку (например, pic.png) и файл архива (ar.7z), перенаправив основной поток в новый файл (например, final.png). В итоге мы получаем изображение, которое графическими редакторами открывается как изображение, а менеджерами архивов как архив.

Метод наименее значащих битов

Метод наименее значащих битов (Least Significant Bit, LSB) считается наиболее популярным для цифровой стеганографии. Как уже говорилось, цифровая стеганография основывается на ограниченности способностей органов чувств человека и, как следствие, неспособности распознать незначительные вариации звука/цвета.

Рисунок 3: «Значимость» битов цвета

Для простоты объяснения рассмотрим графический контейнер – изображение в формате BMP.В данном формате для описания каждой точки (пикселя) используются 3 байта, обозначающие в какой пропорции необходимо смешивать красный, зелёный и голубой цвета (цветовая схема RGB). Если произвести замену старших бит в этих байтах, цветовые изменения в картинке будут бросаться в глаза. Младшие же биты дают куда более незначительный вклад в изображение. Если использовать по одному младшему биту в каждом цвете для записи скрываемого сообщения, то распознать изменения человеческий глаз будет не способен.

Рисунок 4: Кодирование цветовой палитры RGB

Таким образом, в графическом изображении размером 117 Кбайт (200 на 200 пикселей) возможно спрятать, как минимум, 14 Кбайт скрытой информации.

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

Сетевая стеганография

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

При модификации пакетов может изменяться либо сама полезная нагрузка пакета (данные), либо особые поля пакета (зарезервированные протоколом сетевой передачи, но не используемые в данный момент), либо и то и другое. Например, в заголовке пакета IPv4 поле контрольной суммы (16 бит) не является обязательным для использования (если поле не используется, в него записывается 0).

Читайте также:  что делать после миссии отец и сын в гта 5

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

В качестве примера метода стеганографии, который модифицирует структуру передачи пакетов, рассмотрим пример так называемой «временной» стеганографии ( Covert Timing Channel, CTC ). Существует некоторый цифровой поток, например, видеопоток по протоколу RTSP. Задержки между пакетами будут всегда немного отличаться. Если избранные пакеты искусственно «притормаживать», можно передать скрытое сообщение: «0» – короткая задержка, «1» – длинная задержка.

Рисунок 5: Принцип сетевой временной стеганографии

Атаки на стеганосистемы

В целом атаки на стеганографические системы (стеганоанализ) очень напоминают атаки на криптографию (криптоанализ): похожая терминология, подходы. Поговорим о различиях.

Первый шаг стеганоанализа – субъективная атака. При этой атаке аналитик внимательно рассматривает изображение (слушает аудиозапись), пытаясь определить «на глаз», имеется ли в нём скрытое сообщение. В случае взлома криптосообщения – бесполезный этап, так как наличие зашифрованного сообщения очевидно.

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

Если аналитик уверен, что в купленной электронной книге находится цифровой отпечаток покупателя, то он может купить эту книгу ещё 2, 3, 4 раза, используя разные данные о покупателе. У него будет ряд одних и тех же контейнеров с разной стеганографической меткой. Сравнивая их между собой, аналитик может попытаться, как и в прошлом примере, извлечь алгоритм встраивания информации.

Ряд других методов стеганоанализа является «калькой» с хорошо отработанных методов стеганоанализа.

Практическое применение стеганографии

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

Незаметная передача информации

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

Можно вспомнить про громкие аресты российских разведчиков в конце июня 2010 года – по данным США «шпионы» использовали в том числе стеганографию, чтобы переправлять в Москву разведданные.

Скрытое хранение информации

Недекларированное хранение информации

Многие информационные ресурсы позволяют хранить данные только определённого типа. А вам уж очень сильно хочется загрузить EXE- файл для хранения на YouTube. Один из путей решения задачи лежит через методы стеганографии.

Индивидуальный отпечаток в СЭДО

В системе электронного документооборота (СЭДО) можно использовать индивидуальный отпечаток внутри *.odt, *.docx и иных документах при работе с ними пользователей. С его помощью можно будет узнать, кто, когда и в каком объёме работал с документом. При этом куча записей о сеансах работы не будет «маячить» в начале документа и отвлекать пользователя.

Водяной знак в DLP системах

Скрытая передача управляющего сигнала

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

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

Funkspiel

Funkspiel (нем. «Радиоигра») – излюбленная забава контрразведчиков, когда на связь со «своими» выходит захваченный шпион и под контролем пары крепких мужчин с погонами сообщает в эфир дезинформацию. В случае такого развития событий (захват разведчика), можно использовать стеганосообщение, как признак, говорящий, стоит ли воспринимать всерьёз находящуюся в контейнере информацию (передаваемую «своим»). Если стеганосообщение не прошло проверку, то контейнер должен быть проигнорирован получателем, вне зависимости от его содержимого.

Неотчуждаемость информации

Рисунок 6: Стеганографический водяной знак в скриншоте Wow

Перспективы развития/применения

«Я считаю, что мир технически готов к стеганографии, но в «культурном» плане современное информационное общество пока ещё не дозрело. Я думаю, что в ближайшее время (2015-2025 годах) произойдет то, что возможно в будущем назовут «стеганографической революцией.» – пишет @PavelMSTU, предрекая рассвет эпохи повсеместного применения стеганографии.

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

В остальном же мир перенасыщен текстами, картинками милых котиков, толковыми и бестолковыми видеороликами – потенциальными контейнерами. А может уже давно и не потенциальными, а реальными?

Источник

Сайт для любознательных читателей