ДонНТУ
                                                      укр eng
Кафедра КСМ
www.ksm.donntu.ru
Магистр ДонНТУ Ларионова К.Е.

Ларионова
Кристина Евгеньевна


Автобиография
Библиотека
Перечень ссылок
Отчет о поиске
Индивидуальный раздел

Факультет: вычислительной техники и информатики
Специальность: компьютерный эколого-экономический мониторинг
Кафедра: компьютерные системы мониторинга
Тема выпускной работы:

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


Руководитель: к.т.н., доцент Губенко Н.Е.
      Сайт ДонНТУ           Портал магистров           Факультет ВТИ           Кафедра КСМ
Автореферат
квалификационной работы магистра


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

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

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

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


Актуальность темы

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

Подтверждением этого является проведение различных конференций на эту тематику, например в июле 2007 года прошла ECIW 2007 – шестая Европейская конференция по вопросам информационных войн и информационной безопасности. В ней приняли участие докладчики, как из Европы, так и из различных стран НАТО, а также Израиля, Малайзии и Китая. Помимо обсуждения вопросов глобальной экономической безопасности, борьбы с терроризмом, психологических операций и пропаганды, современных методов защиты и уничтожения инфраструктуры в военных конфликтах, рассматривались доклады по криптографии и стеганографии.

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

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


Цели и задачи работы

Некоторым разработчикам стегоалгоритмов, основанных на лингвистических алгоритмах, удалось решить большинство проблем за счёт идеи сочетать машинный и ручной способ стеговставки, объединив его со стойкой криптографией. Они опирались на теорию лингвистической стеганографии из работ Bergmair и Katzenbeisser (2004) по проблемам машинного распознавания стеготекстов и использования кодов Хаффмана для противодействия статистическому стегоанализу.


Предполагаемая научная новизна

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

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

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


Практическая ценность результатов работы

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


Обзор существующих разработок и исследований по теме

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


Семаграммы

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

Текстовые семаграммы – это послания, скрытые внутри текста. Заглавные буквы, подчеркивания, особенности почерка, пробелы между буквами и словами – все они могут быть использованы для передачи какого-либо сообщения. Ассоциации тоже могут применяться с этой целью, если вам нужно передать совсем небольшую по объему информацию. Скажем, вы заранее договорились со своими друзьями, что будете обмениваться по электронной почте безобидными с виду прогнозами погоды. Фраза "небо затянуто тучами" может означать сигнал тревоги и просьбу об оказании международной помощи [3].


Открытое кодирование

В данном случае имеется в виду следующее: сообщение размещают в тексте письма таким образом, чтобы не бросаться в глаза случайному читателю. Когда доходит до анализа, компьютеры и люди демонстрируют разные способности и по-разному распознают стеганографические сообщения. Поэтому приведенные ниже примеры могут "не сработать", если ими займется аналитик-человек. Они используют лингвистические особенности текста, чтобы обмануть компьютерные формулы в электронных фильтрах и системах слежки [4]. Это лишь демонстрация несовершенства "неинтеллектуальных" компьютеров. Не следует использовать эти примеры для передачи важных данных – они пригодны лишь для тестирования эффективности фильтров.


Опечатки

Этот метод предполагает настройку электронных фильтров на конкретные слова. Но сколько опечаток можно допустить в слове? Нетрудно сохранить смысл слова, чуть-чуть изменив его написание. Рассмотрим, что можно сделать с фразой "права человека":


етсь очепатки есьт опетачки сеть отпечаки

Таких вариантов множество. Конечно, набрать целый текст, коверкая слова подобным образом, тяжело. Но для отдельных слов – тех, на которые срабатывают фильтры – этот прием можно использовать [5].


Фонетика

Обычно национальный фильтр "отлавливает" слова на том языке, который преимущественно используют жители страны. Иногда и на том языке, который сильно распространен или используется на веб-сайтах (английский, французский). Конечно, нельзя с уверенностью сказать, как в точности запрограммирован фильтр. Но чтобы приблизиться к пониманию, можно использовать фонетически схожие слова [6]. Этот способ наиболее подходит, если вы используете алфавит, отличный от принятого в вашей стране (например, латинский вместо русского).


фонетическая ошибка foneticheskaya oshybka


Жаргон

Использование жаргона в тексте может поставить в тупик постороннего читателя. Искаженный смысл и неформальный сленг способны скрыть содержание письма. Лучше выбирать такие слова, которые сохранят текст-"носитель" в понятном, читаемом виде, даже если воспринимать жаргонизмы "как есть" [7]. Перечень вариантов ограничен понятиями, которые знакомы всем участникам переписки.



Рисунок 1 – Схема разделов лингвистической стеганографии

Скрытое кодирование

Рассмотрим пример, приведенный в статье [8]. Это частный случай сокрытия текста в доступном сообщении. Иногда технология довольно проста. Невинное письмо москвички своему родственнику в Астрахань:


Паша, здравствуй! Как в Астрахани дела? Из Москвы привет и спасибо тебе огромное, Леонид Евгеньевич так обрадовался вашей икре! Забрал банку и так выразился: "Старикам икра - закуска" :) Он исхудал, питается овощами, мучает его щитовидка. Ему на воздух бы, отдохнуть. Ладно, надо идти. Целую, успехов!

Но если вы попробуете сложить первые буквы каждого слова, получится вот что:


ПЗК ВАДИМ ПИСТОЛЕТОВ ИЗБИТ В СИЗО И ПОМЕЩЕН В БОЛЬНИЦУ

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

Еще один тип скрытого кода заключается в использовании специальной формулы для выделения скрытого сообщения из "сообщения-контейнера" [9].

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

Вся лексика данного языка разбивается на множество групп разного объема. Внутри групп слова сходны как грамматически (они принадлежат одной части речи), так и семантически, вплоть до настоящей синонимии. Если очередное слово несущего текста принадлежит группе с m>1 синонимами, оно может нести скрытую информацию примерно в log2(m) бит. Для простоты считают, что все группы имеют объемы, равные степеням двойки, т.е. содержат 2n членов, где n=1, 2, 3..., а слова внутри группы заранее упорядочены номерами i=0, ... , 2n-1 . При стеганографии очередной слог длиной n бит кодируемого сообщения рассматривается как внутригрупповой номер i-го синонима, который должен заменить в тексте исходное слово. После этого в тексте ищется очередное слово с синонимами и производится аналогичная замена и так вплоть до исчерпания кодируемого сообщения или несущего текста.

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

Иногда при кодировании номер, задаваемый скрытой информацией, совпадает с внутригрупповым номером слова в исходном тексте, и тогда никакой замены не происходит. Но при крупных группах квазисинонимов

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

Также в работе Lexical Natural Language Steganography Systems with Human Interaction – "Стеганографические системы, основанные на лексически естественных языках, работающие при взаимодействии с человеком" авторы K. Wouters, B. Wyseur и B. Preneel из Электроинженерного Департамента Бельгийского Католического Университета – ESAT Katholieke Universiteit Leuven выдвинули идею «скрытого общения» двух объектов с использованием кодов Хаффмана и Диффи-Хелмана..

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

В качестве среды для испытания протокола был выбран IRC-чат: в нём могут одновремено общаться большое число людей, а условные пользователи Алиса и Боб могут не отправлять сообщения непосредственно друг другу, а обращаться только к другим пользователям. Это не позволит установить наличие прямого контакта между ними за один сеанс, кроме того они могут быть более анонимными используя чаты в сети tor.

Предполагается, что Алиса и Боб знают никнэймы и публичные ключи друг друга, а также чат-канал для связи. Когда они войдут в чат, Алиса отправит в локальную очередь секретное сообщение M, сообщающее о готовности передать его Бобу. Боб подтвердит готовность его принять. Используя протокол Диффи-Хэллмана, они согласуют секретный ключ K, который будет использоваться для генерации подстановочных таблиц из слов-синонимов в заранее выбранном словаре. Также секретный ключ K будет использоваться для получения сеансового ключа S_k, используемого для зашифрования сообщения M. Шифрование производится с использованием потокового шифра (RC4) так что Боб может расшифровывать приходящее скрытое сообщение сразу же, байт за байтом.

Каждый раз, когда Алиса будет печатать текст, перед ней будет выскакивать окошко с таблицей синонимов, так что она сама сможет придать тексту естественный и грамматически правильный вид. Таким простым способом решается задача защиты и от машинного распознавания текста и от человека-наблюдателя. Для передачи скрытого текста используется всего один бит на одно слово. В качестве словаря исследователи использовали английский словарь из OpenOffice. Из сеансового ключа, который был получен после согласования по Диффи-Хеллману, получается гамма S, биты которой интерпретируются попарно: пары 0 ('00' в S), 1 ('11' в S) и NULL ('01' или '10' в S). NULL означает, что данное слово не передаёт ни одного бита и даёт пользователю возможность произвольной замены, что ещё более затрудняет анализ. После назначение битов словам используется детерминированный алгоритм, делающий распределение битов лучше как с точки зрения выбора синонимов, так и противодействия анализу. Данный алгоритм ещё не до конца разработан авторами, они надеются заменить примитивную модель, более адаптируемой.

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

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

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

Лингвистическая стеганография еще не достаточно развита, но уже является темой некоторых докладов на международных конференциях по сокрытию информации (Information Hiding) и ее безопасности (Information Security). Но, к сожалению, еще не известны результаты подобных исследований у нас на Украине и, в частности, в ДонНТУ.


Апробация

Результаты работы докладывались на V международной конференции студентов, аспирантов и молодых ученых «Компьютерный мониторинг и информационные технологии» (КМИТ-2009) и опубликованы в соответствующем сборнике.


Описание полученных и планируемых результатов

Предлагаемый стеганографический алгоритм имеет два входа.

- Двоично кодированную информацию, предназначенную для скрытой шифровки.

- Исходный несущий текст на русском языке с минимальным объемом, примерно в 200 раз большим объема скрываемой информации.


Алгоритм включает следующие шаги.

1. Поиск синонимичных слов.

Текст сканируется, и в нем выделяются те отдельные слова и слитые многословные выражения, которые являются статьями системного словаря и имеют синонимы.

2. Формирование объединенных синонимических групп.

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

3. Проверка объединенных групп на словосочетания.

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

4. Кодирование.

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

5. Пересогласование слов по контексту

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


Рисунок 2 - Иллюстрация схемы алгоритма, основанного на лингвистических ресурсах
(рисунок анимирован; количество циклов повторения =7; объем = 10Кб)

Поскольку объем оригинального фрагмента равен 206 байт, а скрытой информации – 1,5 байт, последняя составляет 0,73% от несущего текста. Эта величина называется стеганографической плотностью. Она невелика, но в достаточно протяженном тексте можно скрыть вполне содержательные поселения, они должны лишь быть в 200 раз короче несущего текста.


Выводы

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

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

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


Список литературы

1. Большаков И.А. Статья Использование синонимов, ограниченных контекстными словосочетаниями, для целей лингвистической стеганографии / И.А. Большаков , 2004. – 7 с.


2. Brecht Wyseur Article Lexical Natural Language Steganography Systems with Human Interaction / Brecht Wyseur, Karel Wouters, Bart Preneel , 2007. 8 c.


3. Digital Security and Privacy for Human Rights Defenders [Электронный ресурс] : http://equalit.ie/secbox/esecman/russian/chapter2_8.html


4. OpenPGP в России [Электронный ресурс] :http://www.pgpru.com/novosti/2007/


5.Большаков И.А. Статья Два метода синонимического перефразирования в лингвистической стеганографии [Электронный ресурс] : http://www.dialog-21.ru/Archive/2004/Bolshakov.htm


6. Журнал Информационный анализ Выпуск 8, 2004 : http://www.viniti.ru/cgi-bin/nti/nti.pl?action=show&year=2_2004&issue=8&page=23


7. Электронная библиотека ВИНИТИ [Электронный ресурс] : http://www.viniti.ru/cgi-bin/nti/nti.pl?action=search&query=%F8


8. Электронная статья Разработана эффективная система стеганографии через чат [Электронный ресурс] : http://www.itsec.ru/newstext.php?news_id=38490


9. Лукашевич Н.В. Статья Automated analysis of multiword expression for computational dictionaries / Н.В. Лукашевич, Б.В. Добров , Д.С. Чуйко


10. Большаков И.А. Статья Электронные словари: для людей и компьютеров / И.А. Большаков , А.Ф. Гельбух, С.Н. Галисия-Аро

Важное замечание

При написании данного автореферата магистерская работа еще не завершена. Окончательное завершение: 1 декабря 2009 г. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

    Автобиография     Библиотека     Перечень ссылок     Отчет о поиске     Индивидуальный раздел
      Сайт ДонНТУ           Портал магистров           Факультет ВТИ           Кафедра КСМ

© Ларионова К.Е. 2009