Стеганография ( / ˌ s t ɛ ɡ ə ˈ n ɒ ɡ r ə f i / STEG-ə-NOG-rə-fee) — практика представления информации внутри другого сообщения или физического объекта таким образом, что наличие скрытой информации не будет очевидным для осмотра ничего не подозревающего человека. В вычислительном/электронном контекстекомпьютерный файл, сообщение, изображение или видео скрываются внутри другого файла, сообщения, изображения или видео. Словостеганографияпроисходит отгреческого steganographia, которое объединяет словаsteganós(στεγανός), что означает «скрытый или скрытый», и-graphia(γραφή), что означает «письмо».[1]
Первое зарегистрированное использование этого термина было в 1499 году Иоганном Тритемием в его Steganographia , трактате по криптографии и стеганографии, замаскированном под книгу по магии. Как правило, скрытые сообщения кажутся чем-то другим (или частью чего-то другого): изображениями, статьями, списками покупок или каким-либо другим текстом сокрытия. Например, скрытое сообщение может быть написано невидимыми чернилами между видимыми строками личного письма. Некоторые реализации стеганографии, в которых отсутствует формальный общий секрет , являются формами безопасности через неясность , в то время как зависимые от ключа стеганографические схемы пытаются придерживаться принципа Керкхоффса . [2]
Преимущество стеганографии перед одной лишь криптографией заключается в том, что предполагаемое секретное сообщение не привлекает к себе внимания как объект пристального внимания. Явно видимые зашифрованные сообщения, независимо от того, насколько они невзламываемы, вызывают интерес и сами по себе могут быть инкриминирующими в странах, в которых шифрование является незаконным. [3] В то время как криптография является практикой защиты только содержимого сообщения, стеганография занимается сокрытием как факта отправки секретного сообщения, так и его содержимого.
Стеганография включает сокрытие информации в компьютерных файлах. В цифровой стеганографии электронные коммуникации могут включать стеганографическое кодирование внутри транспортного уровня, например, файла документа, файла изображения, программы или протокола. Медиафайлы идеально подходят для стеганографической передачи из-за их большого размера. Например, отправитель может начать с безобидного файла изображения и настроить цвет каждого сотого пикселя так, чтобы он соответствовал букве в алфавите. Изменение настолько тонкое, что тот, кто специально не ищет его, вряд ли заметит его.
Первые зарегистрированные случаи использования стеганографии можно проследить до 440 г. до н. э. в Греции , когда Геродот упоминает два примера в своей «Истории» . [4] Гистией отправил сообщение своему вассалу Аристагору , обрив голову своего самого доверенного слуги, «отметив» сообщение на его голове, а затем отправив его в путь, как только его волосы отрастут, с наставлением: «Когда придешь в Милет, повели Аристагору обрить голову и посмотри на нее». Кроме того, Демарат отправил предупреждение о предстоящем нападении на Грецию, написав его прямо на деревянной подложке восковой таблички перед нанесением на нее пчелиного воска. Восковые таблички были широко распространены в то время в качестве многоразовых поверхностей для письма, иногда используемых для стенографии .
В своей работе Polygraphiae Иоганнес Тритемиус разработал так называемый «Шифр Аве-Марии», который может скрывать информацию в латинском восхвалении Бога . Например, « Auctor Sapientissimus Conseruans Angelica Deferat Nobis Charitas Potentissimi Creatoris » содержит скрытое слово VICIPEDIA . [5]
На протяжении всей истории было разработано множество методов внедрения сообщения в другой носитель.
Размещение сообщения на физическом предмете широко использовалось на протяжении столетий. [6] Некоторые известные примеры включают невидимые чернила на бумаге, написание сообщения азбукой Морзе на пряже, которую носил курьер, [6] микроточки или использование музыкального шифра для сокрытия сообщений в виде музыкальных нот в нотах . [7]
В сообществах с социальными или государственными табу или цензурой люди используют культурную стеганографию — скрывают сообщения в идиомах, отсылках к поп-культуре и других сообщениях, которыми они делятся публично и предполагают, что они отслеживаются. Это опирается на социальный контекст, чтобы сделать скрытые сообщения видимыми только для определенных читателей. [8] [9] Вот некоторые примеры:
С момента появления компьютеров были разработаны методы встраивания сообщений в цифровые носители. Сообщение, которое нужно скрыть, часто шифруется, а затем используется для перезаписи части гораздо большего блока зашифрованных данных или блока случайных данных (невзламываемый шифр, такой как одноразовый блокнот, генерирует шифротексты, которые без закрытого ключа выглядят совершенно случайными).
Примерами этого являются изменение пикселей в файлах изображений или звуков, [10] свойства цифрового текста, такие как интервал и выбор шрифта, отсеивание и просеивание , функции имитации , изменение эха звукового файла (эхо-стеганография). [ необходима ссылка ] и включение данных в игнорируемые разделы файла. [11]
С развитием сетевых приложений исследования в области стеганографии переместились от стеганографии изображений к стеганографии потоковых медиа, таких как передача голоса по интернет-протоколу (VoIP).
В 2003 году Джаннула и др. разработали метод сокрытия данных, позволяющий сжимать исходные видеосигналы на покадровой основе. [12]
В 2005 году Диттманн и др. изучали стеганографию и водяные знаки мультимедийного контента, такого как VoIP. [13]
В 2008 году Юнфэн Хуан и Шаньюй Тан представили новый подход к сокрытию информации в низкоскоростном речевом потоке VoIP, а их опубликованная работа по стеганографии является первой в истории попыткой улучшить разделение кодовой книги с помощью теории графов вместе с модуляцией индекса квантования в низкоскоростном потоковом медиа. [14]
В 2011 и 2012 годах Юнфэн Хуан и Шаньюй Тан разработали новые стеганографические алгоритмы, которые используют параметры кодека в качестве объекта прикрытия для реализации скрытой стеганографии VoIP в реальном времени. Их выводы были опубликованы в IEEE Transactions on Information Forensics and Security . [15] [16] [17]
Академическая работа с 2012 года продемонстрировала осуществимость стеганографии для киберфизических систем (CPS)/ Интернета вещей (IoT). Некоторые методы стеганографии CPS/IoT пересекаются с сетевой стеганографией, то есть сокрытием данных в протоколах связи, используемых в CPS/IoT. Однако определенные методы скрывают данные в компонентах CPS. Например, данные могут храниться в неиспользуемых регистрах компонентов IoT/CPS и в состояниях исполнительных механизмов IoT/CPS. [18] [19]
Выход цифровой стеганографии может быть в форме печатных документов. Сообщение, открытый текст , может быть сначала зашифровано традиционными средствами, создавая шифротекст . Затем безобидный текст сокрытия изменяется каким-либо образом, чтобы содержать шифротекст, в результате чего получается стеготекст . Например, размер букв, интервал, шрифт или другие характеристики текста сокрытия могут быть изменены, чтобы нести скрытое сообщение. Только получатель, который знает используемую технику, может восстановить сообщение, а затем расшифровать его. Фрэнсис Бэкон разработал шифр Бэкона как такую технику.
Однако зашифрованный текст, полученный большинством методов цифровой стеганографии, не может быть распечатан. Традиционные цифровые методы полагаются на мешающий шум в файле канала, чтобы скрыть сообщение, и, таким образом, файл канала должен быть передан получателю без дополнительного шума от передачи. Печать вносит много шума в зашифрованный текст, что обычно делает сообщение невосстановимым. Существуют методы, которые устраняют это ограничение, одним из ярких примеров является ASCII Art Steganography. [20]
Хотя это и не классическая стеганография, некоторые типы современных цветных лазерных принтеров интегрируют модель, серийный номер и временные метки на каждой распечатке в целях отслеживания, используя матричный код, состоящий из маленьких желтых точек, не распознаваемых невооруженным глазом — подробности см. в разделе стеганография принтера .
В 2015 году Штеффен Вендзель, Себастьян Зандер и др. представили таксономию 109 методов сокрытия сетей, в которой суммированы основные концепции, используемые в исследованиях сетевой стеганографии. [21] В последние годы таксономия была развита несколькими публикациями и авторами и адаптирована к новым областям, таким как стеганография CPS. [22] [23] [24]
В 1977 году Кент кратко описал потенциальные возможности скрытой сигнализации канала в общих сетевых протоколах связи, даже если трафик зашифрован (в сноске) в работе «Защита на основе шифрования для интерактивной связи пользователя с компьютером», Труды Пятого симпозиума по передаче данных, сентябрь 1977 года.
В 1987 году Гирлинг впервые изучил скрытые каналы в локальной вычислительной сети (LAN), выявил и реализовал три очевидных скрытых канала (два канала хранения и один канал синхронизации), а его исследовательская работа под названием «Скрытые каналы в LAN» была опубликована в IEEE Transactions on Software Engineering , т. SE-13 из 2, в феврале 1987 года. [25]
В 1989 году Вольф реализовал скрытые каналы в протоколах локальных сетей, например, используя зарезервированные поля, поля-заполнители и неопределенные поля в протоколе TCP/IP. [26]
В 1997 году Роуленд использовал поле идентификации IP, начальный порядковый номер TCP и поля порядкового номера подтверждения в заголовках TCP/IP для построения скрытых каналов. [27]
В 2002 году Камран Ахсан сделал превосходное резюме исследований сетевой стеганографии. [28]
В 2005 году Стивен Дж. Мердок и Стивен Льюис написали главу под названием «Внедрение скрытых каналов в TCP/IP» в книге « Сокрытие информации », опубликованной издательством Springer. [29]
Все методы сокрытия информации, которые могут использоваться для обмена стеганограммами в телекоммуникационных сетях, можно классифицировать под общим термином сетевой стеганографии. Эта номенклатура была первоначально введена Кшиштофом Щипёрским в 2003 году. [30] В отличие от типичных стеганографических методов, которые используют цифровые носители (изображения, аудио- и видеофайлы) для сокрытия данных, сетевая стеганография использует элементы управления протоколов связи и их внутреннюю функциональность. В результате такие методы сложнее обнаружить и устранить. [31]
Типичные методы сетевой стеганографии включают в себя изменение свойств одного сетевого протокола. Такое изменение может быть применено к протокольному блоку данных (PDU), [32] [33] [34] к временным отношениям между обмениваемыми PDU, [35] или к обоим (гибридные методы). [36]
Более того, возможно использовать связь между двумя или более различными сетевыми протоколами для обеспечения секретной связи. Эти приложения подпадают под термин межпротокольная стеганография. [37] В качестве альтернативы, несколько сетевых протоколов могут использоваться одновременно для передачи скрытой информации, а так называемые протоколы управления могут быть встроены в стеганографические коммуникации для расширения их возможностей, например, для обеспечения динамической маршрутизации наложения или переключения используемых методов сокрытия и сетевых протоколов. [38] [39]
Сетевая стеганография охватывает широкий спектр методов, в том числе:
В обсуждениях стеганографии обычно используется терминология, аналогичная и соответствующая традиционным технологиям радио и связи. Однако некоторые термины появляются специально в программном обеспечении и их легко спутать. Вот наиболее релевантные для цифровых стеганографических систем:
Полезная нагрузка — это скрытно передаваемые данные. Носитель — это сигнал, поток или файл данных, скрывающий полезную нагрузку, который отличается от канала , который обычно означает тип входных данных, например, изображение JPEG. Результирующий сигнал, поток или файл данных с закодированной полезной нагрузкой иногда называют пакетом , стегофайлом или скрытым сообщением . Доля байтов, выборок или других элементов сигнала, измененных для кодирования полезной нагрузки, называется плотностью кодирования и обычно выражается числом от 0 до 1.
В наборе файлов файлы, которые считаются вероятно содержащими полезную нагрузку, являются подозреваемыми . Подозреваемый, идентифицированный с помощью некоторого типа статистического анализа, может быть назван кандидатом .
Для обнаружения физической стеганографии требуется тщательный физический осмотр, включая использование увеличения, проявителей и ультрафиолетового света . Это трудоемкий процесс с очевидными затратами ресурсов, даже в странах, где много людей работают шпионами за своими соотечественниками. Тем не менее, возможно проверять почту определенных подозреваемых лиц или учреждений, таких как тюрьмы или лагеря для военнопленных (POW).
Во время Второй мировой войны в лагерях для военнопленных давали заключенным специально обработанную бумагу , на которой были видны невидимые чернила . В статье в номере Paper Trade Journal от 24 июня 1948 года , написанной техническим директором правительственной типографии США, Моррис С. Кантровиц в общих чертах описал разработку этой бумаги. Три прототипа бумаги ( Sensicoat , Anilith и Coatalith ) использовались для изготовления открыток и канцелярских принадлежностей, предоставленных немецким военнопленным в США и Канаде. Если военнопленные пытались написать скрытое сообщение, специальная бумага делала его видимым. США выдали по меньшей мере два патента , связанных с этой технологией: один Кантровицу, патент США 2,515,232 , «Бумага для обнаружения воды и состав покрытия для обнаружения воды», запатентованный 18 июля 1950 года, и более ранний, «Влагочувствительная бумага и ее производство», патент США 2,445,586 , запатентованный 20 июля 1948 года. Похожая стратегия предусматривает выдачу заключенным писчей бумаги, разлинованной водорастворимыми чернилами, которые вступают в контакт с невидимыми чернилами на водной основе.
В вычислительной технике обнаружение стеганографически закодированных пакетов называется стегоанализом . Однако самый простой метод обнаружения измененных файлов — это сравнение их с известными оригиналами. Например, чтобы обнаружить информацию, перемещаемую через графику на веб-сайте, аналитик может поддерживать известные чистые копии материалов, а затем сравнивать их с текущим содержимым сайта. Различия, если носитель тот же самый, составляют полезную нагрузку. В целом, использование чрезвычайно высоких скоростей сжатия затрудняет стеганографию, но не делает ее невозможной. Ошибки сжатия обеспечивают укрытие для данных, но высокая степень сжатия уменьшает объем данных, доступных для хранения полезной нагрузки, повышая плотность кодирования, что облегчает обнаружение (в крайних случаях даже при случайном наблюдении).
Существует множество базовых тестов, которые можно выполнить для определения того, существует ли секретное сообщение. Этот процесс не связан с извлечением сообщения, что является другим процессом и отдельным шагом. Самые основные подходы стегоанализа — это визуальные или слуховые атаки, структурные атаки и статистические атаки. Эти подходы пытаются обнаружить используемые стеганографические алгоритмы. [42] Эти алгоритмы варьируются от простых до очень сложных, причем ранние алгоритмы было намного легче обнаружить из-за присутствующих статистических аномалий. Размер скрываемого сообщения является фактором, определяющим сложность его обнаружения. Общий размер объекта прикрытия также играет роль. Если объект прикрытия мал, а сообщение велико, это может исказить статистику и облегчить его обнаружение. Более крупный объект прикрытия с небольшим сообщением снижает статистику и дает ему больше шансов остаться незамеченным.
Стегаанализ, нацеленный на определенный алгоритм, имеет гораздо больший успех, поскольку он способен вводить аномалии, которые остаются позади. Это связано с тем, что анализ может выполнять целевой поиск для обнаружения известных тенденций, поскольку он знает о поведении, которое оно обычно демонстрирует. При анализе изображения наименее значимые биты многих изображений на самом деле не являются случайными. Датчик камеры, особенно датчики низкого уровня, не являются лучшими по качеству и могут вносить некоторые случайные биты. На это также может влиять сжатие файла, выполненное на изображении. Секретные сообщения могут быть введены в наименее значимые биты изображения, а затем скрыты. Инструмент стеганографии может использоваться для маскировки секретного сообщения в наименее значимых битах, но он может вводить случайную область, которая слишком идеальна. Эта область идеальной рандомизации выделяется и может быть обнаружена путем сравнения наименее значимых битов с битами, следующими за наименее значимыми, на изображении, которое не было сжато. [42]
Однако, как правило, известно множество методов, позволяющих скрывать сообщения в данных с помощью стеганографических методов. Ни один из них по определению не очевиден, когда пользователи используют стандартные приложения, но некоторые из них могут быть обнаружены специализированными инструментами. Другие, однако, устойчивы к обнаружению — или, скорее, невозможно надежно отличить данные, содержащие скрытое сообщение, от данных, содержащих просто шум, — даже при проведении самого сложного анализа. Стеганография используется для сокрытия и проведения более эффективных кибератак, называемых Stegware . Термин Stegware был впервые введен в 2017 году [43] для описания любой вредоносной операции, включающей стеганографию в качестве средства сокрытия атаки. Обнаружение стеганографии является сложной задачей и, следовательно, не является адекватной защитой. Поэтому единственный способ победить угрозу — преобразовать данные таким образом, чтобы уничтожить любые скрытые сообщения, [44] процесс, называемый Content Threat Removal .
Некоторые современные компьютерные принтеры используют стеганографию, включая цветные лазерные принтеры Hewlett-Packard и Xerox . Принтеры добавляют крошечные желтые точки на каждую страницу. Едва заметные точки содержат закодированные серийные номера принтеров и отметки даты и времени. [45]
Чем больше сообщение-сообщение (в двоичных данных, число бит ) относительно скрытого сообщения, тем легче скрыть скрытое сообщение (в качестве аналогии, чем больше «стог сена», тем легче спрятать «иголку»). Поэтому цифровые изображения , которые содержат много данных, иногда используются для сокрытия сообщений в Интернете и на других цифровых носителях информации. Неясно, насколько распространена эта практика на самом деле.
Например, 24-битная растровая карта использует 8 бит для представления каждого из трех цветовых значений (красный, зеленый и синий) каждого пикселя . Только синий цвет имеет 2 8 различных уровней интенсивности синего цвета. Разница между 11111111 и 11111110 в значении интенсивности синего цвета, вероятно, будет необнаружима человеческим глазом. Следовательно, младший бит может быть использован более или менее незаметно для чего-то еще, кроме цветовой информации. Если это повторить для зеленого и красного элементов каждого пикселя, то можно закодировать одну букву текста ASCII для каждых трех пикселей .
Выражаясь несколько более формально, цель сделать стеганографическое кодирование труднообнаружимым — гарантировать, что изменения носителя (исходного сигнала) из-за инъекции полезной нагрузки (сигнала для скрытого внедрения) визуально (и в идеале статистически) незначительны. Изменения неотличимы от уровня шума носителя. Все носители могут быть носителями, но лучше подходят носители с большим объемом избыточной или сжимаемой информации.
С точки зрения теории информации это означает, что канал должен иметь большую емкость , чем требуется для «поверхностного» сигнала . Должна быть избыточность . Для цифрового изображения это может быть шум от элемента формирования изображения; для цифрового звука это может быть шум от методов записи или усилительного оборудования. В целом, электроника, которая оцифровывает аналоговый сигнал , страдает от нескольких источников шума, таких как тепловой шум , мерцающий шум и дробовой шум . Шум обеспечивает достаточно вариаций в захваченной цифровой информации, чтобы его можно было использовать в качестве шумового покрытия для скрытых данных. Кроме того, схемы сжатия с потерями (такие как JPEG ) всегда вносят некоторую ошибку в распакованные данные, и это также можно использовать для стеганографического использования.
Хотя стеганография и цифровые водяные знаки кажутся похожими, на самом деле это не так. В стеганографии скрытое сообщение должно оставаться нетронутым, пока не достигнет своего места назначения. Стеганография может использоваться для цифровых водяных знаков , в которых сообщение (будучи просто идентификатором) скрыто в изображении, чтобы его источник можно было отследить или проверить (например, Coded Anti-Piracy ) или даже просто для идентификации изображения (как в созвездии EURion ). В таком случае метод сокрытия сообщения (в данном случае водяного знака) должен быть надежным, чтобы предотвратить подделку. Однако для цифровых водяных знаков иногда требуется хрупкий водяной знак, который можно легко изменить, чтобы проверить, было ли изображение подделано. Это ключевое различие между стеганографией и цифровыми водяными знаками.
В 2010 году Федеральное бюро расследований заявило, что российская служба внешней разведки использует специализированное программное обеспечение для стеганографии для встраивания зашифрованных текстовых сообщений в файлы изображений для определенных коммуникаций с «незаконными агентами» (агентами без дипломатического прикрытия), работающими за рубежом. [46]
23 апреля 2019 года Министерство юстиции США обнародовало обвинительное заключение, в котором Сяоцин Чжэн, китайский бизнесмен и бывший главный инженер General Electric, обвиняется в 14 случаях сговора с целью кражи интеллектуальной собственности и коммерческих секретов у General Electric. Чжэн якобы использовал стеганографию для вывоза 20 000 документов из General Electric в Tianyi Aviation Technology Co. в Нанкине, Китай, компанию, которую ФБР обвинило в создании при поддержке китайского правительства. [47]
Существуют методы распределенной стеганографии, [48] включая методологии, которые распределяют полезную нагрузку по нескольким файлам-носителям в разных местах, чтобы затруднить обнаружение. Например, патент США 8,527,779 криптографа Уильяма Исттома ( Чака Исттома ).
Головоломки, представленные Cicada 3301, включают стеганографию с криптографией и другими методами решения с 2012 года. [49] Головоломки, включающие стеганографию, также были представлены в других играх в альтернативной реальности .
Сообщения [50] [51] о загадке Первого мая включают стеганографию и другие методы раскрытия с 1981 года. [52]
Можно стеганографически скрыть вредоносное программное обеспечение компьютера в цифровых изображениях, видео, аудио и различных других файлах, чтобы избежать обнаружения антивирусным программным обеспечением . Этот тип вредоносного программного обеспечения называется стеговредоносным программным обеспечением. Его можно активировать внешним кодом, который может быть вредоносным или даже не вредоносным, если эксплуатируется некоторая уязвимость в программном обеспечении, считывающем файл. [53]
Стеговредоносное ПО может быть удалено из определенных файлов, не зная, содержат ли они стеговредоносное ПО или нет. Это делается с помощью программного обеспечения для дезактивации и реконструкции контента (CDR), и это включает в себя повторную обработку всего файла или удаление его частей. [54] [55] На самом деле обнаружение стеговредоносного ПО в файле может быть сложным и может включать в себя тестирование поведения файла в виртуальных средах или глубокий анализ файла. [53]
Стегоаналитические алгоритмы можно каталогизировать различными способами, выделяя: по имеющейся информации и по преследуемой цели.
Существует возможность каталогизации этих алгоритмов на основе информации, хранящейся в стегоаналитике в виде четких и зашифрованных сообщений. Это метод, похожий на криптографию, однако, они имеют несколько отличий:
Основная цель стеганографии — незаметная передача информации, однако у злоумышленника могут быть две различные цели: