Введение
Скрытие сообщений в других сообщениях
Стеганография (/audio=en us стеганография.ogg/,/s//t//ɛ//ɡ//ə/'/n//ɒ//ɡ//r//ə//f//i/ STEGəNOGrə fee) – это практика сокрытия информации внутри другого сообщения или физического объекта таким образом, что наличие этой информации незаметно при обычном осмотре. В компьютерных и электронных контекстах, компьютерный файл, сообщение, изображение или видео скрываются внутри другого файла, сообщения, изображения или видео. Слово «стеганография» происходит от греческого steganographia, которое объединяет слова steganós, означающее «прикрытый или скрытый», и graphia, означающее «письмо». Первое зафиксированное использование этого термина датируется 1499 годом и встречается в труде Иоганна Тритемия «Стеганография» – трактате о криптографии и стеганографии, замаскированном под книгу о магии. Как правило, скрытые сообщения выглядят как нечто другое: изображения, статьи, списки покупок или иной текст-маскировка. Например, скрытое сообщение может быть написано невидимыми чернилами между видимыми строками личного письма. Некоторые реализации стеганографии, не использующие формальный общий секрет, являются формами безопасности через сокрытие, в то время как стеганографические схемы, зависящие от ключа, стремятся соответствовать принципу Керкхоффса. Преимущество стеганографии перед одной лишь криптографией заключается в том, что предполагаемое секретное сообщение не привлекает к себе внимания как к объекту для изучения. Явно видимые зашифрованные сообщения, какими бы надежными они ни были, вызывают интерес и сами по себе могут быть компрометирующими в странах, где шифрование незаконно. В то время как криптография занимается защитой содержания сообщения, стеганография направлена на сокрытие как самого факта отправки секретного сообщения, так и его содержания. Стеганография включает в себя сокрытие информации в компьютерных файлах. В цифровой стеганографии электронные коммуникации могут содержать стеганографическое кодирование внутри транспортного уровня, например, в файле документа, файле изображения, программе или протоколе. Медиафайлы идеально подходят для стеганографической передачи благодаря своему большому размеру. Например, отправитель может начать с безобидного файла изображения и изменить цвет каждого сотого пикселя, чтобы он соответствовал букве алфавита. Изменение настолько незначительно, что тот, кто специально не ищет его, вряд ли заметит.
История
Первые задокументированные случаи использования стеганографии восходят к 440 году до н.э. в Греции, где Геродот упоминает два примера в своих «Историях». Гистией отправил сообщение своему вассалу Аристогору, побрив голову своему самому доверенному слуге, "нанеся" сообщение на его кожу головы, а затем отправив его в путь после отрастания волос, с указанием: "Когда прибудешь в Милет, попроси Аристогора побрить тебе голову и посмотри на неё". Кроме того, Демарат предупредил о надвигающемся нападении на Грецию, написав предупреждение непосредственно на деревянной основе восковой таблички, прежде чем покрыть её воском. Восковые таблички в то время широко использовались в качестве многоразовых поверхностей для письма, иногда для стенографии. В своей работе «Полиграфия» Иоганн Тритемий разработал так называемый «шифр Ave Maria», который позволяет скрывать информацию в латинской молитве Богу. Например, фраза "Auctor Sapientissimus Conseruans Angelica Deferat Nobis Charitas Potentissimi Creatoris" содержит скрытое слово VICIPEDIA.
Техника
На протяжении истории было разработано множество способов сокрытия сообщения внутри другого носителя.
Физическое
Сокрытие сообщения в материальном носителе широко использовалось на протяжении веков. Примеры включают невидимые чернила на бумаге, написание сообщения азбукой Морзе на нити, которую носил гонец.
Социальная стеганография
В сообществах, где существуют социальные или государственные табу или цензура, люди используют культурную стеганографию — сокрытие сообщений в идиомах, отсылках к поп-культуре и других публично распространяемых сообщениях, которые, как предполагается, находятся под контролем. Это опирается на социальный контекст, чтобы сделать скрытый смысл видимым только для определенных читателей. Примеры включают:
Сокрытие сообщения в названии и контексте совместно используемого видео или изображения. Намеренные ошибки в написании имен или слов, популярных в СМИ в течение определенной недели, чтобы намекнуть на альтернативное значение. Маскировка изображения, которое можно обнаружить с помощью Paint или любого другого графического редактора.
Цифровые сообщения
С самого начала существования компьютеров разрабатывались методы встраивания сообщений в цифровые носители. Сообщение, которое требуется скрыть, часто шифруется, а затем используется для перезаписи части значительно большего блока зашифрованных данных или блока случайных данных (неуязвимый шифр, такой как одноразовый блокнот, генерирует шифротексты, которые выглядят совершенно случайными без секретного ключа). Примеры включают изменение пикселей в файлах изображений или звука, свойства цифрового текста, такие как межсимвольный интервал и выбор шрифта, методы "Chaffing and winnowing", функции-мимики, модификацию эха звукового файла (эхостеганография) и включение данных в неиспользуемые области файла.
Стеганография в потоковых носителях
С эпохи развития сетевых приложений исследования в области стеганографии сместились от стеганографии изображений к стеганографии в потоковых медиа, таких как Voice over Internet Protocol (VoIP). В 2003 году Giannoula и др. разработали метод скрытия данных, приводящий к сжатым формам исходных видеосигналов покадрово. В 2005 году Dittmann и др. изучали стеганографию и водяные знаки для мультимедийного контента, включая VoIP. В 2008 году Юнфэн Хуан и Шаню Тан представили новый подход к скрытию информации в речевом потоке VoIP с низкой скоростью передачи данных, а их опубликованная работа по стеганографии стала первой попыткой улучшить разбиение кодовой книги с использованием теории графов в сочетании с модуляцией индекса квантования в потоковых медиа с низкой скоростью передачи данных. В 2011 и 2012 годах Юнфэн Хуан и Шаню Тан разработали новые стеганографические алгоритмы, использующие параметры кодеков в качестве контейнера для реализации стеганографии VoIP в реальном времени. Результаты их исследований были опубликованы в IEEE Transactions on Information Forensics and Security.
Киберфизические системы/Интернет вещей
Академические исследования, начиная с 2012 года, показали возможность применения стеганографии к киберфизическим системам (CPS) / Интернету вещей (IoT). Некоторые методы стеганографии для CPS/IoT пересекаются с сетевой стеганографией, то есть подразумевают сокрытие данных в коммуникационных протоколах, используемых в CPS/IoT. Однако, существуют и специфические методы, скрывающие данные непосредственно в компонентах CPS. Например, данные могут быть сохранены в неиспользуемых регистрах компонентов IoT/CPS и в состояниях исполнительных механизмов IoT/CPS.
Печатные
Цифровая стеганография может быть реализована в виде печатных документов. Сообщение, представляющее собой открытый текст, может быть сначала зашифровано традиционными методами, что приводит к созданию зашифрованного текста. Затем, не вызывающий подозрений текст-носитель модифицируется определенным образом для сокрытия в нем зашифрованного текста, в результате чего получается стеготекст. Например, размер шрифта, межстрочный интервал, гарнитура или другие характеристики текста-носителя могут быть изменены для передачи скрытого сообщения. Только получатель, знающий использованную технику, сможет восстановить сообщение и затем расшифровать его. Фрэнсис Бэкон разработал шифр Бэкона как один из таких методов. Однако, зашифрованный текст, генерируемый большинством методов цифровой стеганографии, не пригоден для печати. Традиционные цифровые методы полагаются на внесение незначительных изменений в шум в файле-канале для скрытия сообщения, и, следовательно, файл-канал должен быть передан получателю без добавления дополнительного шума при передаче. Печать вносит значительный шум в зашифрованный текст, что обычно делает восстановление сообщения невозможным. Существуют методы, позволяющие обойти это ограничение, одним из заметных примеров является стеганография с использованием ASCII Art. Хотя это и не классическая стеганография, некоторые современные цветные лазерные принтеры интегрируют модель, серийный номер и временные метки в каждый отпечаток для целей отслеживания, используя точечный код, состоящий из мелких желтых точек, неразличимых невооруженным глазом – подробности см. в разделе «Стеганография принтеров».
Дополнительная терминология
В обсуждениях стеганографии обычно используется терминология, аналогичная и соответствующая общепринятой радио- и коммуникационной технике. Однако некоторые термины встречаются преимущественно в программном обеспечении и могут вызывать путаницу. Вот наиболее важные из них для цифровых стеганографических систем:
Полезная нагрузка – это данные, передаваемые скрытно. Носитель – это сигнал, поток или файл данных, в котором скрыта полезная нагрузка, что отличается от канала, который обычно подразумевает тип входных данных, например, JPEG-изображение. Результирующий сигнал, поток или файл данных с внедрённой полезной нагрузкой иногда называют пакетом, стегофайлом или скрытым сообщением. Соотношение байтов, выборок или других элементов сигнала, изменённых для кодирования полезной нагрузки, называется плотностью кодирования и обычно выражается числом от 0 до 1. В наборе файлов файлы, которые предположительно могут содержать полезную нагрузку, считаются подозрительными. Подозреваемый, выявленный с помощью какого-либо типа статистического анализа, может называться кандидатом.
Противодействие и обнаружение
Для обнаружения физической стеганографии требуется тщательное физическое обследование, включающее использование увеличения, химических реактивов и ультрафиолетового света. Это трудоемкий процесс, требующий значительных ресурсов, даже в странах, где многие люди заняты шпионажем за своими согражданами. Однако возможно выборочно проверять почту определенных подозреваемых лиц или учреждений, таких как тюрьмы или лагеря для военнопленных. Во время Второй мировой войны в лагерях для военнопленных заключенным предоставляли специально обработанную бумагу, которая проявляла невидимые чернила. В статье, опубликованной в журнале Paper Trade Journal 24 июня 1948 года, технический директор правительственной типографии США Моррис С. Кантровиц в общих чертах описал разработку этой бумаги. Три прототипа бумаги (Sensicoat, Anilith и Coatalith) использовались для изготовления открыток и канцелярских принадлежностей, предоставляемых немецким военнопленным в США и Канаде. Если военнопленные пытались написать скрытое сообщение, специальная бумага делала его видимым. США выдали как минимум два патента, связанных с этой технологией: один Кантровицу на "Бумагу для обнаружения воды и состав покрытия для ее обнаружения", запатентованный 18 июля 1950 года, и более ранний патент на "Влагочувствительную бумагу и способ ее изготовления", запатентованный 20 июля 1948 года. Похожая стратегия заключалась в выдаче заключенным письменной бумаги с разметкой, выполненной чернилами, растворимыми в воде, которые проявлялись при контакте с невидимыми чернилами на водной основе. В информатике обнаружение стеганографически закодированных пакетов называется стеганоанализом. Однако самый простой способ обнаружить измененные файлы – сравнить их с известными оригиналами. Например, для обнаружения информации, передаваемой через графику на веб-сайте, аналитик может хранить известные чистые копии материалов и сравнивать их с текущим содержимым сайта. Различия, при условии, что носитель остается неизменным, составляют полезную нагрузку. В целом, использование чрезвычайно высоких степеней сжатия затрудняет стеганографию, но не делает ее невозможной. Ошибки сжатия предоставляют место для сокрытия данных, но высокое сжатие уменьшает объем данных, доступных для полезной нагрузки, увеличивая плотность кодирования, что облегчает обнаружение (в крайних случаях даже при беглом взгляде). Существует ряд базовых тестов, которые можно провести для определения наличия секретного сообщения. Этот процесс не связан с извлечением сообщения, которое является отдельным этапом. Основные подходы к стеганоанализу включают визуальные или аудиальные атаки, структурные атаки и статистические атаки. Эти подходы направлены на выявление использованных стеганографических алгоритмов. Эти алгоритмы варьируются от простых до очень сложных, причем ранние алгоритмы легче обнаружить из-за присутствующих статистических аномалий. Размер скрываемого сообщения является фактором, влияющим на сложность его обнаружения. Общий размер контейнера также играет роль. Если контейнер мал, а сообщение велико, это может исказить статистику и облегчить обнаружение. Больший контейнер с небольшим сообщением уменьшает статистические отклонения и повышает вероятность того, что сообщение останется незамеченным. Стеганоанализ, ориентированный на конкретный алгоритм, более успешен, поскольку он может сосредоточиться на оставшихся аномалиях. Это связано с тем, что анализ может выполнять целенаправленный поиск известных закономерностей, поскольку он осведомлен о типичном поведении алгоритма. При анализе изображений наименее значимые биты многих изображений на самом деле не являются случайными. Сенсор камеры, особенно сенсоры более низкого качества, может вносить некоторые случайные биты. На это также может влиять сжатие файла изображения. Секретные сообщения могут быть внедрены в наименее значимые биты изображения и затем скрыты. Инструмент стеганографии может использоваться для маскировки секретного сообщения в наименее значимых битах, но он может создать слишком идеальную область случайности. Эта область идеальной случайности выделяется и может быть обнаружена путем сравнения наименее значимых битов с битами, следующими за ними, в несжатом изображении. Для описания любой вредоносной операции, использующей стеганографию для сокрытия атаки. Обнаружение стеганографии – сложная задача и, следовательно, не является адекватной защитой. Поэтому единственный способ нейтрализовать угрозу – преобразовать данные таким образом, чтобы уничтожить любые скрытые сообщения, процесс, называемый удалением контента, представляющего угрозу.
Использование в современных принтерах
Некоторые современные компьютерные принтеры используют стеганографию, включая цветные лазерные принтеры Hewlett Packard и Xerox. Принтеры добавляют крошечные жёлтые точки на каждую страницу. Эти едва заметные точки содержат закодированные серийные номера принтера, а также дату и время печати.
Пример из современной практики
Чем больше объем скрываемого сообщения (в бинарных данных, количество битов) по отношению к объему сообщения-контейнера, тем легче скрыть сообщение (по аналогии, чем больше «сено», тем легче спрятать «иголку»). Поэтому цифровые изображения, содержащие большой объем данных, иногда используются для скрытия сообщений в Интернете и других цифровых средствах связи. Неясно, насколько распространена эта практика. Например, 24-битная растровое изображение использует 8 бит для представления каждого из трех цветовых значений (красный, зеленый и синий) каждого пикселя. Один только синий цвет имеет 28 различных уровней интенсивности. Разница между значениями 11111111 и 11111110 в значении синей интенсивности, вероятно, незаметна для человеческого глаза. Следовательно, младший значащий бит можно использовать более или менее незаметно для целей, отличных от цветовой информации. Если это повторяется для зеленых и красных элементов каждого пикселя, можно закодировать один символ текста ASCII каждые три пикселя. Если выразиться несколько более формально, целью стеганографического кодирования, затрудняющего обнаружение, является обеспечение того, чтобы изменения в носителе (исходном сигнале) из-за внедрения полезной нагрузки (сигнала для скрытой передачи) были визуально (и в идеале, статистически) незначительными. Эти изменения должны быть неотличимы от фонового шума носителя. Любой носитель может быть использован, но лучше всего подходят носители с большим количеством избыточной или сжимаемой информации. С точки зрения теории информации это означает, что канал должен иметь большую пропускную способность, чем требуется для «поверхностного» сигнала. Необходима избыточность. Для цифрового изображения это может быть шум от сенсора изображения; для цифрового аудио – шум от методов записи или усилительного оборудования. В целом, электронные устройства, оцифровывающие аналоговый сигнал, подвержены воздействию нескольких источников шума, таких как тепловой шум, мерцающий шум и шум дроби. Шум обеспечивает достаточную вариативность в захваченной цифровой информации, которую можно использовать в качестве шумового прикрытия для скрытых данных. Кроме того, алгоритмы с потерями (например, JPEG) всегда вносят некоторую погрешность в декомпрессированные данные, и это также можно использовать в стеганографии. Хотя стеганография и цифровая водяная маркировка кажутся похожими, это не так. В стеганографии скрытое сообщение должно оставаться нетронутым до достижения пункта назначения. Стеганография может использоваться для цифровой водяной маркировки, когда сообщение (являющееся просто идентификатором) скрывается в изображении для отслеживания или проверки его источника (например, Coded Anti Piracy) или даже просто для идентификации изображения (как в созвездии EURion). В этом случае метод скрытия сообщения (здесь – водяного знака) должен быть устойчивым к несанкционированному изменению. Однако для цифровой водяной маркировки иногда требуется хрупкий водяной знак, который можно легко изменить, чтобы проверить, не было ли изображение подделано. В этом и заключается ключевое различие между стеганографией и цифровой водяной маркировкой.
Предполагаемое использование спецслужбами
В 2010 году Федеральное бюро расследований заявило, что российская Служба внешней разведки использует специализированное стеганографическое программное обеспечение для внедрения зашифрованных текстовых сообщений в файлы изображений в целях определенных коммуникаций с "нелегальными агентами" (агентами без дипломатического прикрытия), находящимися за границей. 23 апреля 2019 года Министерство юстиции США обнародовало обвинительный акт, предъявляющий обвинение Сяоцину Чжэню, китайскому бизнесмену и бывшему ведущему инженеру General Electric, по 14 пунктам обвинения в сговоре с целью кражи интеллектуальной собственности и коммерческих тайн у General Electric. Утверждается, что Чжэнь использовал стеганографию для вывода 20 000 документов из General Electric в компанию Tianyi Aviation Technology Co. в Нанкине (Китай), которую ФБР обвинило в создании при поддержке китайского правительства.
Распределенная стеганография
Существуют распределенные методы стеганографии, в том числе методики, распределяющие полезную нагрузку по нескольким файлам-носителям, расположенным в разных местах, для усложнения обнаружения. Например, по мнению криптографа Уильяма Исттома (Чака Исттома).
Онлайн вызов
Загадки, которые представляет группа Cicada 3301, используют стеганографию, криптографию и другие методы решения задач, начиная с 2012 года. Загадки, включающие стеганографию, также встречались в других играх в реальности. В коммуникациях, связанных с "Мистерией Первого мая", стеганография и другие методы решения задач применяются с 1981 года.
Компьютерные вредоносные программы
Возможно стеганографически скрыть компьютерное вредоносное ПО в цифровых изображениях, видео, аудио и различных других файлах, чтобы избежать обнаружения антивирусным программным обеспечением. Этот тип вредоносного ПО называется стегомальварью. Оно может быть активировано внешним кодом, который может быть вредоносным или даже не вредоносным, если эксплуатируется уязвимость в программном обеспечении, читающем файл. Стегомальварь можно удалить из определенных файлов, не зная, содержит ли файл стегомальварь или нет. Это делается с помощью программного обеспечения для обезопашивания и восстановления контента (CDR – Content Disarm and Reconstruction), которое предполагает переработку всего файла или удаление его частей. Непосредственное обнаружение стегомальвари в файле может быть затруднительным и может включать тестирование поведения файла в виртуальных средах или глубокое машинное обучение для анализа файла.
Стегоаналитические алгоритмы
Стегоаналитические алгоритмы можно классифицировать различными способами, выделяя: классификацию по доступной информации и по решаемым задачам.
Согласно имеющейся информации
Существует возможность классифицировать эти алгоритмы в зависимости от информации, которой обладает стегоаналитик, относительно открытых и скрытых сообщений. Это техника, схожая с криптографией, однако между ними есть несколько различий:
Атака по выбору (выбранная атака стего): стегоаналитик знает конечный стегообъект и использованный стеганографический алгоритм. Атака при известном контейнере (известная атака прикрытия): стегоаналитик знает исходный контейнер и конечный стегообъект. Атака при известном стегообъекте (известная атака стего): стегоаналитик знает исходный контейнер, конечный стегообъект и использованный алгоритм. Атака только по стегообъекту (stego-only атака): стегоаналитик знает только конечный стегообъект. Атака по выбору сообщения (выбранная атака сообщения): стегоаналитик, выбрав сообщение, генерирует стегообъект. Атака при известном сообщении (атака с известным сообщением): стегоаналитик знает стегообъект и скрытое сообщение.