Сьогодення неможливо уявити без обміну інформацією. Ми відсилаємо повідомлення електронною поштою, через телефон, спілкуємося ВКонтакті, на фейсбуці, твітерим останні новини, постійно залишаючись відкритими для оточуючих.
У всьому цьому хаосі легко простежити за Вашим життям, створити психологічний портрет та навіть пізнати таємниці особистого життя. Що ж робити тим, хто хоче сховатися від контролю?
Безумовно, всі майже відразу згадують про шифрування, але сам факт шифрування насторожує і привертає увагу зловмисника. Тут нам на допомогу приходить метод стеганографії. В контексті захисту інформації - це можливість пограти в хованки таким чином, щоб сховати сам факт існування прихованої інформації.
Які ж головні допущення та принципи побудови стеганосистеми?
-
противник має повне уявлення про стеганографічну систему і деталі її реалізації. Єдиною інформацією, яка залишається невідомою потенційному супротивникові, є ключ, за допомогою якого тільки його власник може встановити факт присутності і зміст прихованого повідомлення;
-
якщо противник якимось чином дізнається про факт існування прихованого повідомлення - це не повинно дозволити йому отримати подібні повідомлення з інших даних доти, поки ключ зберігається в таємниці;
-
потенційний противник повинен бути позбавлений будь-яких технічних та інших переваг у розпізнаванні або розкритті змісту таємних повідомлень.
Будь-яка стеганосистема повинна відповідати наступним вимогам:
-
Властивості контейнера – носія інформації повинні бути модифіковані, щоб зміни було неможливо виявити при візуальному контролі. Ця вимога визначає якість приховування впроваджуваного повідомлення: для забезпечення безперешкодного проходження стегоповідомлення по каналу зв'язку, воно жодним чином не повинно привернути увагу атакуючого.
-
Стеганоповідомлення має бути стійким до спотворень, в тому числі і зловмисних. В процесі передачі зображення (звуку або іншої інформації) можуть відбуватися різні трансформації: зменшуватися або збільшуватися, перетворюватися в інший формат і т. д. Крім того, воно може бути стисненим, в тому числі і з використанням алгоритмів стиснення з втратою даних.
-
Для збереження цілісності вбудованого повідомлення необхідне використання коду з виправленням помилки.
-
Для підвищення надійності вбудовуване повідомлення має бути продубльоване.
Найпоширенішими контейнерами для методів стеганографії на сьогодні є файли зображень та відеофайли. А програми для практичної реалізації данного методу захисту інформації можна знайти в Інтернеті.
Найбільш наглядними є програми, які дозволяють приховати деяке повідомлення всередині зображення.
Найрозповсюдженішим методом, який дозволяє приховувати повідомлення в графічних файлах, є метод НЗБ (найменшого значущого біта). Чому саме він? Тому що це один з найпростіших методів цифрової стеганографії, який дозволяє створити прихований канал з досить великою пропускною здатністю без суттєвої втрати якості контейнера.
Цей метод приховування даних із спотворенням контейнера базується на особливостях людського сприйняття. Конкретніше, ідея методу полягає ось у чому: якщо взяти картинку у форматі BMP, найкраще TrueColor, в 24-х бітному форматі та змінити молодші значущі біти кольору, то на око це не буде помітно. Чому 24 біта? Існує такий важливий фактор, як обсяг контейнера - скільки всього можна вставити в картинку, поки це не стане явним. Логічно припустити, що чим більший контейнер, тим більше можна і втиснути, а поширені на сьогодні 24-х бітні BMP - насприятливіші для цього.
До того ж 24 біта є зручним форматом зберігання інформації про зображення. При такому поданні за один канал кольору відповідає один байт, цим усі і користуються.
Здійснити перетворення можна так:
-
Беремо повідомлення і попередньо готуємо його: шифруємо і пакуємо. Цим досягається відразу дві мети - підвищення ККД та збільшення стійкості системи. Перед усім, для зручності можна записати сигнатуру методу, що не є таємницею, зате просто.
-
Беремо контейнер і впроваджуємо підготовлене повідомлення в молодші біти контейнера будь-яким зручним для нас способом. Наприклад:
-
розкладаємо упаковане повідомлення в бітову послідовність;
-
замінюємо надлишкові біти (НЗБ) контейнера бітами повідомлення.
Надійність такого втиснення прямо пропорційна відповідності характеру розподілу НЗБ в контейнері і повідомленні. А ці розподіли в переважній більшості випадків збігатися й не будуть. Хоча в деяких випадках це буде візуально помітно на картинці, побудованій з одних тільки молодших бітів контейнера
|
Назва програми |
Можливості |
Переваги |
Недоліки |
ОС |
|
OutGuess (ver. 0.2) |
Приховування даних в JPEG зображеннях. |
Можливість контролю, «внесення статистичних спотворень», більша стійкість до атак. |
|
UNIX |
|
JSTEG |
|
Нестійкість до атак пасивних противників, можливість автоматичного детектування наявності прихованого повідомлення. |
MS-DOS UNIX Windows |
|
JPHS (ver. 0.5) |
|
Gifshuffle (ver. 2.0) |
Приховування даних в графічних файлах в форматі GIF. |
Можливість попереднього стискання чи шифруваня повідомлення, що шифрується. |
Невеликий об’єм повідомлення, яке приховується. Залежить від розміру контейнера. |
UNIX Windows |
|
Hide-and-Seek |
Використовуючи алгоритм шифрування “Blowfish”, виконує випадковий вибір точок збереження. |
|
MS-DOS Windows |
|
Steganos |
Приховування даних в графічних файлах BMP, DIB. |
Заповнення невикористаного простору контейнера шумоподібним сигналом. |
Використання застарілих форматів контейнерів. |
|
Steghide (ver. 0.5.1) |
Приховування даних в графічних BMP. |
Можливість попереднього шифрування повідомлення, що приховується. |
MS-DOS Linux Windows |
|
Steganography 1.8.1 |
Приховування даних в графічних файлах. |
|
Відсутність розподілення інформації, що приховується по контейнеру, відсутність попереднього аналізу контейнера на придатність. |
Windows |
|
Fox Secret 1.0 |
Можливість попереднього шифрування повідомлення, що приховується. |
|
Використання методу стеганографії продемонструємо на прикладі програми Fox Secret 1.0.
За допомогою цієї невеличкої програми, яка орієнтована для використання з операційною системою Windows, спробуємо показати зміни, які відбудуться з зображенням після втиснення в нього повідомлення. Завантажити дану програму можна за посиланням, приведеним в попередній таблиці.
Після запуску програма має аскетичний вигляд:
Спробуємо щось приховати. Обираємо меню Секрет/Новий. Відкривається вікно:
Спробуємо приховати текст. Для цього обираємо Текст і тиснемо кнопку Вперёд.
Обираємо Изображение і натискаємо Вперёд. Обираємо зображення для контейнера і натискаємо Сохранить :
Нам дозволяють зашифрувать приховані дані. Зверніть увагу на місткість контейнера. Вона вказує, що дані будуть приховуватися або в коментарі файла JPEG, або в кінці шляхом дописування.
Вводимо пароль і натискуємо Вперёд. Після цього в вікні, що відкрилося, вводимо текст, який хочемо приховати, натискаємо Сохранить.
Картинка, в якій схований файл, і оригінал мають наступний вигляд:
Зображення з повідомленням Оригінал
Зміни неозброєним оком безумовно не помітні. Тепер спробуємо дістати інформацію, яка прихована в нашому зображенні. Для цього натискаємо Секрет>Открыть. Обираємо картинку, в якій ми приховали файл, і вводимо пароль. Натискаємо Впёред.
В результаті відкривається прихований нами текст:
Отож навіть за допомогою такої простої в користуванні програми, як Fox Secret 1.0 Ви можете приховати важливі для Вас дані. І ніхто навіть не запідозрить сам факт присутності повідомлення!
Автор Ірина Лагно, магістрант НТУУ «КПІ» |