Что означает термин контейнер в стеганографии
Стеганография и стегоанализ » Обсуждения
Основные понятия, термины и определения компьютерной стеганографии
Стеганография – это метод организации связи (передачи сообщений), при котором скрывается само наличие связи. Методы стеганографии позволяют встраивать секретные сообщения в открытые послания таким образом, чтобы было невозможным заподозрить существование самого встроенного послания. Цель стеганографии – в скрытии самого факта существования секретного сообщения.
Развитие вычислительной техники и новых каналов передачи информации привело к появлению новых методов стеганографии, в основе которых лежат особенности представления информации в компьютерных файлах, вычислительных сетях и т.п. Этот вид стеганографии получил название компьютерной стеганографии.
Компьютерная стеганография базируется на двух основных принципах.
Первый принцип заключается в том, что файлы, содержащие оцифрованное изображение или звук, могут быть до некоторой степени видоизменены без потери их функциональности в отличие от других типов данных, требующих абсолютной точности.
Второй принцип заключается в неспособности органов чувств человека различать незначительные изменения в цвете изображения или качестве звука. Этот принцип особенно легко применять к изображению или звуку, несущему избыточную информацию.
Так как компьютерная стеганография является молодым направлением в области защиты информации и до недавнего времени не имела своей терминологии, то в 1996 году было предложено использовать единую терминологию.
Стеганографическая система, или стегосистема – это совокупность средств и методов, которые используются для формирования скрытого канала передачи информации. При построении стегосистемы должны учитываться следующие положения:
— методы скрытия должны обеспечивать аутентичность и целостность информации, в которой скрывается сообщение;
— противник имеет полное представление о стеганографической системе и деталях её реализации. Единственной информацией, неизвестной потенциальному противнику, является ключ, с помощью которого только его держатель может установить факт присутствия и содержания скрытого сообщения;
— если противник каким-то образом узнает о факте существования скрытого сообщения, то это не должно позволить ему извлечь скрытую информацию из других данных до тех пор, пока ключ хранится в тайне;
— потенциальный противник должен быть лишён каких-либо технических и иных преимуществ в распознавании или раскрытии содержания скрытых сообщений.
Сообщение – это любая информация, подлежащая скрытой передаче. В качестве сообщения может использоваться любой вид информации: текст, изображение, аудиосигнал.
Встроенное (скрытое) сообщение – это сообщение, встроенное в контейнер.
Контейнер – это любая информация, предназначенная для скрытия сообщения. Выбор вида контейнера оказывает существенное влияние на надёжность стегосистемы и возможность обнаружения факта передачи скрытого сообщения. По размеру (протяжённости) контейнеры можно разделить на два типа: непрерывные (потоковые) и ограниченной (фиксированной) длины.
Особенностью потокового контейнера является то, что невозможно определить его начало и конец. В таком контейнере биты информации, используемые для скрытия сообщения, включаются в общий поток в реальном масштабе времени и выбираются с помощью специального генератора, задающего расстояния между ними. В непрерывном потоке данных самая большая трудность для получателя – определить, когда начинается скрытое сообщение. При наличии в потоковом контейнере сигналов синхронизации или границ пакета, скрытое сообщение начинается сразу после одного из них. В свою очередь для отправителя сообщения возможны проблемы, если он не уверен в том, что поток контейнера будет достаточно длинным для размещения всего сообщения.
При использовании контейнера ограниченной длины отправитель заранее знает размер файла и может выбрать скрывающие биты в подходящей псевдослучайной последовательности. С другой стороны, такие контейнеры имеют ограниченный объём, и встраиваемое сообщение иногда может не поместиться в файл-контейнер. Другой недостаток заключается в том, что расстояния между скрывающими битами равномерно распределены между наиболее короткими и наиболее длинными заданными расстояниями, в то время как истинный случайный шум будет иметь экспоненциальное распределение длин интервала. При необходимости можно задать псевдослучайные экспоненциально распределённые числа, однако этот путь наиболее трудоёмкий.
На практике чаще всего используются контейнеры ограниченной длины как наиболее распространённые и доступные.
В зависимости от вида информации, используемой для встраивания сообщений, контейнеры могут быть визуальные, звуковые и текстовые.
Визуальный контейнер представляет собой картинку или фотографию, в которой для встраивания сообщений используются небольшие изменения яркости заранее определённых точек растра изображения.
Звуковой контейнер представляет собой речевой или музыкальный сигнал, в котором для встраивания сообщений используются младшие биты аудиосигнала, что практически не отражается на качестве звука.
Текстовый контейнер представляет собой текстовый файл, подготовленный к печати на принтере, в котором для встраивания сообщений используются небольшие изменения стандартов печати (расстояния между буквами, словами и строками, размеры букв, строк и др.).
При выборе того или иного вида контейнера необходимо иметь в виду, что при увеличении объёма встраиваемого сообщения снижается надёжность стегосистемы (при неизменном размере контейнера). Таким образом, используемый в стегосистеме контейнер накладывает ограничения на размер встраиваемого сообщения.
Пустой контейнер – это контейнер без встроенного сообщения.
Заполненный контейнер, или стегоконтейнер – это контейнер, содержащий встроенную информацию.
Стеганографический канал (стегоканал) – это канал передачи скрытого сообщения.
Любая стегосистема должна отвечать следующим требованиям:
— свойства контейнера должны быть модифицированы таким образом, чтобы изменение невозможно было выявить при визуальном контроле;
— стегосообщение должно быть устойчиво к искажениям, которые могут иметь место при его передаче, включая и различные трансформации (уменьшение, увеличение, преобразование в другой формат, сжатие без потери информации, сжатие с потерей информации и т.д.);
— для сохранения целостности встраиваемого сообщения необходимо использовать коды с исправлением ошибок;
— для повышения надёжности встраиваемое сообщение должно быть продублировано.
Стеганография
Если вы думаете, что техники тайнописи применяют только шпионы – вы немного заблуждаетесь. Техники скрытой передачи или хранения информации могут применяться повсеместно для вполне мирных целей. В данной статье я хочу рассказать о стеганографии (τεγανός [скрытый] + γράφω [пишу], дословно «скрытопись», «тайнопись»).
В самом начале необходимо провести черту между двумя понятиями: стенографией и стеганографией. Первое из них, стенография (στενός [узкий, тесный] + γράφω [пишу]) – это совокупность способов быстрой записи устной речи и не имеет ничего общего с утаиванием и скрытием от третьих глаз информации. Слова созвучные, но не стоит путать стенографию со стеганографией.
«Кто владеет информацией, тот владеет миром» сказал Натан Ротшильд, но люди за долго до его рождения задумывались над проблемой: когда вы получили информацию, необходимо её сохранить, в большинстве случаев не просто сохранить, а сохранить в тайне. Современная наука о защите информации говорит о двух путях хранения информации в тайне: использовать криптографию или использовать стеганографию (лучше это делать совместно). Криптография – наука о методах преобразования информации в вид, невозможный для прочтения третьими лицами. То есть при передаче секретного сообщения некто, перехватив письмо, будет знать, что в нём что-то написано, но для него это будет набор несвязных символов, лишённых смысла, так как ему неизвестен метод их перестановки (или замены), чтобы получить сообщение. Стеганография – наука о методах преобразования информации в вид, при котором сам факт её существования становится секретом. Для понимания данного определения необходимо обратиться к историческим примерам применения стеганографии.
История стеганографии
Как только люди научились фиксировать свои мысли письменно, появилась надобность сохранять их в тайне. Исторически сложилось, что стеганография появилась задолго до криптографии.
В истории существует пример, когда Демерат хотел послать союзникам в Спарту сообщение об угрозе нападения Ксерксов. В Древней Греции послания писались острыми палочками на дощечках, покрытых воском. Воск с таблички был снят, сообщение нацарапали на самой дощечке, потом покрыли воском и написали по воску «легальное» письмо.
Другое находчивое решение принадлежит тирану Гистею, который в 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).
При модификации структуры отправки сетевых пакетов для передачи скрытого сообщения может применяться реорганизация порядка пакетов (незначительное перемешивание пакетов некоторым условным образом не нарушит работу сетевого приложения, так как такая ситуация может произойти случайно в обычном сетевом трафике), намеренная потеря некоторых пакетов по некоторому правилу (опять же, маскируясь под соединение не очень высокого качества) и некоторые другие методы, включая гибридные.
В качестве примера метода стеганографии, который модифицирует структуру передачи пакетов, рассмотрим пример так называемой «временной» стеганографии ( 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 веке ). То есть ей безуспешно заниматься в одиночестве математикам и в одиночестве инженерам, программистам и так далее – необходимо объединять знания.
В остальном же мир перенасыщен текстами, картинками милых котиков, толковыми и бестолковыми видеороликами – потенциальными контейнерами. А может уже давно и не потенциальными, а реальными?