Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10

Шпионские игры

01.08.2015, 19:11. Показов 950. Ответов 14

Студворк — интернет-сервис помощи студентам
Наткнулся на тему стеганографии на нашем форуме
Стеганография в BMP. Полное руководство

Как оказалось, так или иначе но тема поднималась более сотни раз! Есть и интересные алгоритмы и даже готовые программы. В общем очень эта тема увлекла. Возможность создавать сообщения, глядя на которые обычный человек даже и не догадывается об их истинном смысле. Ну к примеру, запостил я картинку с моего рабочего стола на форум, тут к примеру:
У кого как выглядит рабочий стол? (2)
все смотрят и видят картинку, а там на самом деле... Но всё по порядку.
Захотелось и мне написать такую программу.
Как это работает?
Кликните здесь для просмотра всего текста
Основной набор методов стеганографии включает незначительную модификацию контейнера до степени, не вызывающих различимых отличий от оригинала. Изображения, не использующие сжатие с потерей информации, здесь возможно непосредственное изменение составляющих цвета каждого пикселя. Такой подход называют еще методом наименьшего значащего бита (Least Significant Bit, LSB) и он широко распространен ввиду своей прозрачности. Этот метод наиболее прост и позволяет внедрить максимальное кол-во материала. При этом, сам контейнер может быть сжат стандартными методами компрессии, в этом случае PNG. На самом деле, несмотря на своё наименование, речь в методе младшего значащего бита идёт ни о одном отдельно взятом бите, а о наборе бит, которые можно отбросить без значительного ущерба для контейнера. Всё просто - человек не в силах заметить незначительное изменение цвето-насышенных характеристик изображения.

В итоге мы получаем из файла изображения Jpg файл контейнера PNG, в котором есть некоторое место для размещения другой информации. Мы выбираем файл, который надо спрятать в соответствии с тем свободным местом и он шифруется AES
Кликните здесь для просмотра всего текста
(Агентство национальной безопасности США постановило, что шифр AES является достаточно надёжным, чтобы использовать его для защиты сведений, составляющих государственную тайну)

После шифрования встраивается внутрь файла PNG. Всё, теперь без моей программы его уже ни кто в обозримом будущем не сможет расшифровать.
Сама программа выглядит так:


Всего 2 кнопки. Первая выбирает контейнер ( файл Jpg, чем больше размер изображения (не файла!), тем больше контейнер) и файл для скрытия( может быть любой, в т.ч архивы). После выбора контейнера будет указан его размер в байтах. Шифрование будет начато автоматически. Будет создан PNG с секретом.
Вторая кнопка расшифрует ваш файл. Ему будет присвоено имя вида enc_MM_ДД_ЧЧ_ММ_СС.*** в той же папке, что и контейнер.

Вот и всё. Угадайте, что спрятано в моем файле обоев рабочего стола?

Как обычно, хотелось бы узнать работоспособность на реальных системах, какие замечены баги. Пожелания и замечания приветствуются.
Вложения
Тип файла: zip steganography.zip (339.8 Кб, 14 просмотров)
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.08.2015, 19:11
Ответы с готовыми решениями:

Шпионские ПО
"Panda" заблокировала 1 вирус и 230 шпионские ПО . После удаления " Panda " этот вирус и шпионские ПО активируются , или удаляться вместе с...

шпионские программы
Люди! если можно - без стеба. Ну, или чуть-чуть)) Был у меня молодой человек. Он имел прямое отношение к оборудованию для прослушки,...

Home security. (Шпионские гаджеты)
В последние время стало совсем не безопасно, поэтому задался вопросом сохранности своего здоровья. Есть задача, которую к сожалению не могу...

14
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
02.08.2015, 14:27
А цель у программы какая? Т.е. кому и зачем она могла бы понадобиться, кроме как для баловства?
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
03.08.2015, 18:04
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Как обычно, хотелось бы узнать работоспособность на реальных системах
На WinXP x32 работает. :like:

Цитата Сообщение от Pro_grammer Посмотреть сообщение
какие замечены баги.
В первый раз запускалась сравнительно долго. Подозрительно.
Не очень хорошо, что имя прикрепляемого файла изменяется. Ещё стоило бы как-то запороливать получаемые контейнеры. А то ведь, если человек знает, что это контейнер, и имеет Вашу программу, он его без труда вскроет.
В остальном, всё работает. Войну и мир увидел.

Не по теме:

Вообще, напомнило хацкерские методы заражения.



Цитата Сообщение от Evg Посмотреть сообщение
Т.е. кому и зачем она могла бы понадобиться, кроме как для баловства?
Ну можно свидания назначать любовницам через ВК без палева. Прямо на аву ставишь такую фотографию с секретом, и пусть цербер хоть миллион раз диалоги перечитывает, ни о чём не догадается. Ну это так, первое, что в голову пришло. А, если серьёзно, то да, безопасно передавать важную информацию через самый открытый канал - это полезная штука.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
03.08.2015, 18:54
Цитата Сообщение от Фаер Посмотреть сообщение
А, если серьёзно, то да, безопасно передавать важную информацию через самый открытый канал - это полезная штука
Стеганография вовсе не для этого придумана. Если нужно передать по открытому каналу - зашифруй и передай, в чём проблема-то?
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
03.08.2015, 19:06
Цитата Сообщение от Evg Посмотреть сообщение
Стеганография вовсе не для этого придумана.
Стеганогра́фия (от греч. στεγανός — скрытый + γράφω — пишу; буквально «тайнопись») — это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи.

Цитата Сообщение от Evg Посмотреть сообщение
Если нужно передать по открытому каналу - зашифруй и передай, в чём проблема-то?
В том, что любой шифр расшифровывается. А, если никто не в курсе передачи, никто и расшифровать не сможет.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
03.08.2015, 20:32
Цитата Сообщение от Фаер Посмотреть сообщение
В том, что любой шифр расшифровывается
Закодируй сообщение. Допустим, получится последовательность символов длиной в 100 байт. Сгенерируй случайным образом 100 блоков по 100 байт, воткни между ними свою закодированную последовательность - получится нечто, мало отличающееся от упрятывания сообщения в картинку с точки зрения затрат на взлом

Цитата Сообщение от Фаер Посмотреть сообщение
А, если никто не в курсе передачи, никто и расшифровать не сможет
А потому ещё раз хочется спросить - на кого рассчитана эта программа? Кто и от кого будет прятать факт передачи сообщения? И зачем это нужно делать, когда в общем-то есть миллион более простых способов? Ну и факт того, что все нормальные люди обмениваются фотографиями в формате jpg, а кто-то будет обмениваться в формате png, уже больше чем наполовину раскрывает факт передачи информации

Добавлено через 1 минуту
Если программа написана как тренировка в программировании - в этом случае у меня вообще нет никаких вопросов. Вопросы есть только в том случае, если подразумевается, что программа выкладывается по целевому назначению для практического использования
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.08.2015, 21:06
Формат файла неважен (BMP, GIF, JPG, TXT, MP3 ... что угодно еще), а сам факт скрытой передачи устанаваливается stego-детекторами: steganography detection tools
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
03.08.2015, 21:19
Цитата Сообщение от gazlan Посмотреть сообщение
Формат файла неважен
Вообще важен с точки зрения алгоритма упрятывания. В bmp, в котором даже компресии нет, технически намного проще что-то упрятать, чем в jpg, в котором происходит потеря качества при сжатии (т.е. после распаковки простой картинки получится НЕ идентичное оригиналу изображение)
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.08.2015, 21:58
С учетом пользовательских тэгов, JPEG идеален для хранения чего угодно и без всякой стеганографии. А для скрытого хранения используются стандартные техники. Вводная статья на хабре: Стеганография: прячем данные в JPEG
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
03.08.2015, 22:14
Цитата Сообщение от gazlan Посмотреть сообщение
С учетом пользовательских тэгов, JPEG идеален для хранения чего угодно
Очевидно, что это уже не стеганография

Цитата Сообщение от gazlan Посмотреть сообщение
А для скрытого хранения используются стандартные техники
Дык я и не пытаюсь утверждать, что в jpg нельзя что-либо запрятать. Я утверждаю лишь, что технически это более сложная процедура, чем упрятывание в форматы, где нет сжатия с потерей качества. А потому сие было бы куда более интересно, чем упрятывание в bmp или png. Как с точки зрения тренировки в программировании, так и с точки зрения пользователей программы (если таковые найдутся)
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
04.08.2015, 08:34  [ТС]
Цитата Сообщение от Фаер Посмотреть сообщение
Ещё стоило бы как-то запороливать получаемые контейнеры. А то ведь, если человек знает, что это контейнер, и имеет Вашу программу, он его без труда вскроет.
Там на самом деле всё круто запаролено, аж 32 битным ключом! Если нет у человека именно этой программы, то вскрыть контейнер невозможно.
Другой вопрос, что не реализован механизм смены ключа - но это сделано специально.
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
04.08.2015, 08:43
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Пожелания и замечания приветствуются.
1. Консольная версия с возможностью задавать все параметры из командной строки, в том числе ключ шифрования.
2. Сохранять исходное имя зашифрованного файла.
3. Реализовать кодирование в jpg.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
04.08.2015, 08:48  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Если программа написана как тренировка в программировании
Да, конечно. Потому и нет механизма смены ключа. Вернее он реализован в исходнике, но из публичной версии исключен. Хотя ни кто не запрещает скрывать уже зашифрованную инфу. Тот же rar с хорошим паролем.
Про JPG читал, первый способ, встраивать зашифрованную информацию в виде сообщения слишком примитивный.
Второй способ, встраивать информацию на стадии упаковки в формат jpg мало эффективный в плане размера контейнера.
PNG мне показался самым перспективным и по реализации и по размеру контейнера. Да и этот формат вполне распространен у всяких игроделов-художников, кому важна точная цветопередача.

Добавлено через 1 минуту
Цитата Сообщение от dmitry94 Посмотреть сообщение
2. Сохранять исходное имя зашифрованного файла
Обычно это не важно, но занимает драгоценное пространство, которое и так ограничено.
С остальным согласен!
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
04.08.2015, 10:59
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Если нет у человека именно этой программы, то вскрыть контейнер невозможно.
Нет, я про ключ пользовательский. Получается, что любой контейнер, созданный Вашей прогой, можно открыть любой копией Вашей проги. А я говорю: надо сделать так, чтобы, даже имея Вашу прогу, не каждый мог вскрыть контейнер. Просто при вскрытии требовать от пользователя пароль. Чтоб уже наверняка.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.08.2015, 16:55
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Второй способ, встраивать информацию на стадии упаковки в формат jpg мало эффективный в плане размера контейнера.
PNG мне показался самым перспективным и по реализации и по размеру контейнера. Да и этот формат вполне распространен у всяких игроделов-художников, кому важна точная цветопередача.
Если программа тренировочная, то мои вопросы условно мимо кассы, но тем не менее. Первоочередной смысл стеганографии - это скрыть факт передачи. И именно поэтому png - плохой вариант для _реального_ применения на практике. Да и, строго говоря, я не очень представляю, кому и зачем нужно передавать информацию скрытым образом через картинки. Если объём информации небольшой, то передача через фотографии в jpg выглядит более замаскированной, чем в png. Если объём информации большой, то сразу же всплывает большой поток изображений в png, который сам по себе почти раскрывает факт передачи. Например, воткнуть большой объём данных в видеопоток является намного более эффективным решением (в плане скрытия факта передачи), но ещё более трудоёмким и сложным, чем вшивание данных в jpg. Так что, как видишь, программа по сути остаётся чисто на уровне учебно-тренировочной
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.08.2015, 16:55
Помогаю со студенческими работами здесь

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

"Шпионские" куки в браузере
Проверил комп через spyhunt и он обнаружил такие вот вирусы в браузере, а именно в куках. Как можно сделать так чтобы их больше не было?...

Сборка ПК "для себя" - игры, игры, игры! Киев, бюджет 8300 грн с монитором.
Всем доброго времени суток. 1. Бюджет примерно 8300 грн (с монитором) 2. Украина, г. Киев, намерен покупать на http://rozetka.com.ua/...

Собираю компьютер для игры в GTA 5 а так же в игры 2015 года
Хочется поиграть в гта 5 на минимальных настройках, в 30-40 фпс У меня имеется: Видеокарта AMD Radeon HD 5670 1GB GDDR5 Блок...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru