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

Ларіонова
Христина Євгеніївна


Автобіографія
Бібліотека
Перелік посилань
Звіт про пошук
Індивідуальний розділ

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

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


Керівник: к.т.н., доцент Губенко Н.Є.
      Сайт ДонНТУ          Портал магістрів          Факультет ОТІ          Кафедра КСМ
Автореферат
кваліфікаційної роботи магістра


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

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

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

Лінгвістична стеганографія займається прихованим кодуванням довільній двійковій інформації в текстах, опираючись на лінгвістичні ресурси. При цьому потрібно зберегти зовнішню непримітність і осмислення тексту. Кодування відбувається шляхом заміни одного синоніма іншим всередині синонімічних груп, в які входять слова вихідного тексту. Якщо це абсолютні синоніми, заміни здійснюються незалежно від контексту. У випадку відносних синонімів всі можливі синоніми та омоніми текстового слова до заміни перевіряються на сумісність з контекстом. Сумісність - це можливість входження в ті ж фрази, що і заміняє слово. Опорними лінгвістичними ресурсами виявляються тим самим спеціально підготовлений синонімічний словник і велика база російських словосполучень.


Актуальність теми

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

Вони не мають здатності самостійно вивчати мови, а програми розпізнавання мовлення лише визначають різницю між частотами звукового сигналу і порівнюють їх із заздалегідь визначеними звуками мови. Скільки б зусиль ми не вклали в навчання комп'ютера розуміння сенсу слів, щоб створити таким чином штучний інтелект, він залишається далеким від людського. Крім того, комп'ютери використовують системи розпізнавання символів (подібні до тієї, яку застосовує людина при читанні текстів). Розпізнавання символів - популярний метод забезпечення безпеки. Наприклад, в системах веб-пошти (Hotmail, Yahoo) користувача просять ввести з клавіатури кілька букв, які він бачить на екрані. Цей прийом - "захист від роботів". З його допомогою система захищається від комп'ютерних програм, які автоматично реєструють електронні адреси для подальшої розсилки спаму. Такі програми не вміють розпізнавати літери в картинках. Фахівці, які займаються темою штучного інтелекту, знають про багато інших невирішених проблем у цій галузі, і все тому, що поки не винайдено спосіб навчити комп'ютер мислити інтуїтивно.

На даному етапі розвитку ЛС висунута ідея використання словників (квазі) синонімів.

Вся лексика даної мови розбивається на безліч груп різного об'єму. Всередені груп слова подібні як граматично (вони належать до однієї частини мови), так і семантично, аж до справжніх синонімів. Якщо чергове слово несучого тексту належить групі з m>1 синонімами, воно може нести приховану інформацію приблизно в log2 (m) біт. Для простоти вважають, що всі групи мають обсяги, рівні ступеням двійки, тобто містять 2n членів, де n = 1, 2, 3 ..., а слова усередині групи заздалегідь впорядковані номерами i = 0, ... , 2n-1. При стеганографіі черговий склад довжиною n біт кодуємого повідомлення розглядається як внутрішньо номер i-го синоніма, який повинен замінити в тексті вихідне слово. Після цього в тексті шукається чергове слово з синонімами і проводиться аналогічна заміна і так аж до вичерпання кодуємого повідомлення або несучого тексту [2].

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

Іноді при кодуванні, номер задається прихованою інформацією, яка співпадає з внутрішнім номером слова у вихідному тексті, і тоді ніякої заміни не відбувається. Але при великих групах квазісинонімів таке відбувається рідко і тоді нічим не обмежені внутрішні заміни не тільки змінюють зміст тексту, але й роблять його семантично незв'язним і тим «підозрілим», що стає помітно.


Цілі і завдання роботи

Деяким розробникам стегоалгоритмів, заснованих на лінгвістичних алгоритмах, вдалося вирішити більшість проблем за рахунок ідеї поєднати машинний і ручний спосіб стеговставки, об'єднавши його зі стійкої криптографією. Вони спиралися на теорію лингвістичної стеганографії з робіт Bergmair і Katzenbeisser (2004) з проблем машинного розпізнавання стеготекстів та використання кодів Хаффмана для протидії статистичному стегоаналізу.


Передбачувана наукова новизна

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

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

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


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

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


Огляд існуючих розробок і досліджень за темою

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


Семаграми

Семаграма - спосіб приховати інформацію за допомогою знаків або символів. Наприклад, умовний знак рукою, розміщення предметів на столі в певній послідовності, характерні зміни в дизайні веб-сайту - все це семаграми. Такі знаки не впадають в очі, вони виглядають цілком звичайно в сучасному світі. Іноді використання візуальних семаграм - єдиний спосіб зв'язку з друзями і колегами. Потрібно тільки заздалегідь домовитися про такі знаки, щоб вдатися до них у хвилини небезпеки.

Текстові семаграми - це повідомлення, приховані всередині тексту. Заголовні букви, підкреслення, особливості написання, пробіли між літерами та словами - всі вони можуть бути використані для передачі будь-якого повідомлення. Асоціації також можуть застосовуватися з цією метою, якщо вам потрібно передати зовсім невелику за обсягом інформацію. Наприклад, ви заздалегідь домовилися зі своїми друзями, що будете обмінюватися електронною поштою нешкідливими на вигляд прогнозами погоди. Фраза "небо затягнуте хмарами" може означати сигнал тривоги і прохання про надання міжнародної допомоги [3].


Відкрите кодування

У даному випадку мається на увазі наступне: повідомлення розміщується в тексті листа таким чином, щоб не кидалося в очі випадковому читачу. Коли доходить до аналізу, комп'ютери і люди демонструють різні здібності і по-різному розпізнають стеганографічні повідомлення. Тому наведені нижче приклади можуть не спрацювати, якщо ними займеться людина-аналітик. Вони використовують лінгвістичні особливості тексту, щоб обдурити комп'ютерні формули в електронних фільтрах і системах стеження [4]. Це лише демонстрація недосконалості "неінтелектуальних" комп'ютерів. Не слід використовувати ці приклади для передачі важливих даних - вони придатні лише для тестування ефективності фільтрів.


Друкарські помилки

Електронні фільтри налаштовані на конкретні слова. Але скільки друкарських помилок можна допустити в слові. Неважко зберегти зміст слова, трохи змінивши його написання. Таких варіантів безліч. Звичайно, набрати цілий текст, змінюючи слова важко. Але для окремих слів - тих, на які спрацьовують фільтри - цей прийом можна використовувати [5].


Фонетика

Зазвичай національний фільтр "відловлювати" слова на тій мові, який переважно використовують жителі країни. Іноді й на тій мові, яка сильно розповсюджена або використовується на веб-сайтах (англійська, французька). Звичайно, не можна з упевненістю сказати, як в точності запрограмований фільтр. Але щоб наблизитися до розуміння, можна використовувати фонетичні схожі слова [6]. Цей спосіб найбільш підходить, якщо ви використовуєте алфавіт, відмінний від прийнятого в вашій країні (наприклад, латинську замість російської).


Жаргон

Використання жаргону в тексті може поставити в глухий кут стороннього читача. Перекручений зміст і неформальний сленг здатні приховати зміст листа. Краще вибирати такі слова, які збережуть текст-"носій" в зрозумілому, що читається, вигляді, навіть якщо сприймати жаргонізми "як є" [7]. Перелік варіантів обмежений поняттями, які знайомі всім учасникам листування.

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

Приховане кодування

Це окремий випадок приховування тексту в доступному повідомленні. Іноді технологія досить проста.

Перевага цього методу в тому, що "повідомлення-контейнер" зберігає смислову цілісність як лист однієї людини іншій, не викликає підозри і не змушує шукати в ньому якийсь інший зміст [8].

Ще один тип прихованого коду полягає у використанні спеціальної формули для виділення прихованого повідомлення з "повідомлення-контейнера" [9].

У липні 2007 року пройшла ECIW 2007 - шоста Європейська конференція з питань інформаційних війн та інформаційної безпеки. У ній взяли участь доповідачі як з самої Європи, так і з різних країн НАТО, а також Ізраїлю, Малазія та Китаю. Крім обговорення питань глобальної економічної безпеки, боротьби з тероризмом, психологічних операцій та пропаганди, сучасних методів захисту та знищення інфраструктури у військових конфліктах, було розглянуто кілька цікавих доповідей за криптографії та стеганографіі.

На жаль матеріали конференції хоча і доступні, але тільки за окрему плату в друкованому вигляді або компакт-дисках і не можуть бути розміщені в Інтернеті без згоди авторів. Та одна з цікавих доповідей знаходиться у вільному доступі і заслуговує окремої уваги. Мова йде про роботу 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. В подальшому автори планують посилити стійкість своєї системи шляхом використання корегуємих під індивідуальний стиль мовлення таблиць, кодів корекції помилок проти активних атак і включити можливість використання друкарських помилок і IRC-сленгу.

Лінгвістична стеганографія молода, але вже добре представлена на міжнародних конференціях з приховування інформації (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