Comments 28
UFO just landed and posted this here
проблема с кодированием в том, чтобы передать кодовую книгу, в которой есть соответствия «доброго дня» это сигнал к атаке.
иначе эти сообщения не имеют никакого смысла.
а имея код трояна мы скорее всего узнаем, что либо кодовая книга зашита в нём самом, либо узнаем место к которому он обращается за ней.
заполучив книгу мы сможем проанализировать траффик на наличие соответствий между ним и книгой. а как только найдём передача будет доказана.
естественно необходимо проверить не просто ли совпадания, но ключевой момент здесь — наличие кодовой книги.
иначе эти сообщения не имеют никакого смысла.
а имея код трояна мы скорее всего узнаем, что либо кодовая книга зашита в нём самом, либо узнаем место к которому он обращается за ней.
заполучив книгу мы сможем проанализировать траффик на наличие соответствий между ним и книгой. а как только найдём передача будет доказана.
естественно необходимо проверить не просто ли совпадания, но ключевой момент здесь — наличие кодовой книги.
+2
«кодовое слово» будет работать только если есть изначальная договоренность между участниками системы. а если принять во внимание, что человек «в стане врага» является нашим сотрудником, то у него уже изначально был проинструктирован.
Если имеется программа с несанкционированными функциям, то система изначально под условия задачи не подходит. Разве что она самоуничтожется. Но это тоже определенный сигнал для человека проводящего анализ.
Если имеется программа с несанкционированными функциям, то система изначально под условия задачи не подходит. Разве что она самоуничтожется. Но это тоже определенный сигнал для человека проводящего анализ.
-4
Вы не поняли задачи.
+2
Действительно не понимаю. Любая система клиент-сервер имеет изначальные договоренности о протоколе. Можно систему сообщений менять по ходу работы, но все равно первое сообщение должно правильно формироваться отправителем, и правильно пониматься приемщиком.
Главное, что я понял благодаря этой задаче, что нельзя спать спокойно защитив компьютеры от стороннего ПО и контролируя привычные каналы связи. Если действительно хранишь какие-то востребованные секреты, то останавливаться на защите от программной составляющей недостаточно.
Главное, что я понял благодаря этой задаче, что нельзя спать спокойно защитив компьютеры от стороннего ПО и контролируя привычные каналы связи. Если действительно хранишь какие-то востребованные секреты, то останавливаться на защите от программной составляющей недостаточно.
-1
Бр, поддержку первого комментатора, чистейший бред, особенно со skype. Работа с голосом, темболее для распознавания там комманд ооочень сложная работа
+1
Не можете распознавать слова когда вам их говорят через Skype?
0
А причем тут я? У вас написано, что пароль передается голосом через Skype:
>Зачем передавать пароль в виде букв и цифр, если его можно проговорить в микрофон?
Либо я чего-то не понимаю, либо вы имели ввиду, что программа получит код через скайп. Если нет, то тогда причем тут вообще скайп та?
>Зачем передавать пароль в виде букв и цифр, если его можно проговорить в микрофон?
Либо я чего-то не понимаю, либо вы имели ввиду, что программа получит код через скайп. Если нет, то тогда причем тут вообще скайп та?
0
1. В микрофон будет говорить человек. И принимать человек. Ведь по условию задачи никаких несанкционированных функций в программе быть не должно. Значит такая функциональность должны быть вынесена за пределы программы.
2. Даже если передает программа, но это синтезатор, а не распознаватель. Ну и синтезированный звук, распознавать должно быть проще, ведь известен алгоритм синтезатора.
Опять же не оговорено какие данные должны быть переданы. Может быть хватит простого звонка сделанного в определенное время.
2. Даже если передает программа, но это синтезатор, а не распознаватель. Ну и синтезированный звук, распознавать должно быть проще, ведь известен алгоритм синтезатора.
Опять же не оговорено какие данные должны быть переданы. Может быть хватит простого звонка сделанного в определенное время.
0
Подождите, я совсем запутался. Вы в посте в этом и прошлом, хотите такой вирус, при нахождении которого нельзя было б сказать, что он чета куда-то отправлял. А сейчас, вы говорите что человек должен принять код. Еще скажите что сам человек должен его ввести, активировать вирус и забыть про него. определитесь сначала, о чем вы хотите поведать
+1
Первая заметка была не моя. Код никакой вводить я не предлагаю. По условиям задачи, когда станет доступен ее исходный текст, в ней не должно быть несанкционированных функций. При этом, в условии есть требование к трафику — невозможность отследить или привязать трафик с передаче несанкционированных данных. Оба условия выполняются если использовать уже установленные на компьютере программы. Сами данные, не обнаруживаются и не передаются никаким программным «трояном». Вместо программы работает человек. Он сам вводит данные. В задаче не указаны такие ограничения, чтобы нельзя этого было делать.
А вводить коды, это уже не мое предложение. Хотя, если дополнить условия задачи, то вполне реальное.
А вводить коды, это уже не мое предложение. Хотя, если дополнить условия задачи, то вполне реальное.
0
Вы не приняли во внимание то, что также есть исходники принимающей программы. Т.е. точно известно, что фраза «доброго дня» будет приниматься как сигнал к действию.
0
Я действительно про принимающую программу не подумал. Но не думаю, что тут будут проблемы. Это может быть тот же самый почтовый клиент, Skype и т.п. Опять же действует человек, который принял данные. Хотя если его тоже рассматривать как программу, то будут проблемы: терморектальный криптоанализ как раз здесь покажет себя лучше всего: )
Вообще в идеале хотелось бы видеть в задаче какие данные (хотя бы примерный объем) и как регулярно/одноразово будут передаваться. При этом код «сервера» и «клиента» доступен, но в какой момент времени? Если тут сделать оговорку, что доступен после определенных действий (обнаружена сетевая активность или появились подозрения о сливе информации), то фантазия уже сможет разыграться по-настоящему. Но таких данных к сожалению нет. Зато позволяет самому подставлять нужные варианты и решать задачу в таких условиях. У меня первая мысль была о том, что данные поступают извне и передаются разрешенными программами.
Вообще в идеале хотелось бы видеть в задаче какие данные (хотя бы примерный объем) и как регулярно/одноразово будут передаваться. При этом код «сервера» и «клиента» доступен, но в какой момент времени? Если тут сделать оговорку, что доступен после определенных действий (обнаружена сетевая активность или появились подозрения о сливе информации), то фантазия уже сможет разыграться по-настоящему. Но таких данных к сожалению нет. Зато позволяет самому подставлять нужные варианты и решать задачу в таких условиях. У меня первая мысль была о том, что данные поступают извне и передаются разрешенными программами.
0
Можно делать так, чтобы часть кода была зашифрована, а затем, по вводу пароля шипоном нашим в стане врага, расшифровывала бы себя в оперативку. А уже расшифрованная часть бы цеплялась к процессам и стеганографически бы сливала шифрованную инфу.
0
Точно. Но тут вопрос возникает. Если программа уже в памяти, значит зашифрована не полностью. А если программа по простому лежит в запароленном архиве, то ее придется создать на диске. Может тогда сделать какой-то файл, который можно скачать через браузер и выполнить каким-то уже установленным приложением (скрипт какой-нибудь). Js открытый в IE только попросит подтвердить выполнение ActiveX (а уж через него можно очень много к чему подключится), а если выполнять вне браузера, то даже подтверждений не понадобится. Но тут остаются следы в трафике.
Мне больше бы понравилась идея какого-нибудь плагина к известным программам. Как он будет установлен — вопрос отдельный, но если представить что он есть, а инициализация дллок проходит всегда при запуске программы-донора, то можно много чего сделать: допустим подмешивать нужную информацию в картинки, которые пользователь загружает на тех же одноклассников (или загружать их за него). А после работы либо удалить плагин полностью, либо удалить из него «нехорошую» часть. Шифровать можно много и все подряд, но проблема в том, что в задаче не оговорено в какой момент и какой именно код будет получен исследователем.
Мне больше бы понравилась идея какого-нибудь плагина к известным программам. Как он будет установлен — вопрос отдельный, но если представить что он есть, а инициализация дллок проходит всегда при запуске программы-донора, то можно много чего сделать: допустим подмешивать нужную информацию в картинки, которые пользователь загружает на тех же одноклассников (или загружать их за него). А после работы либо удалить плагин полностью, либо удалить из него «нехорошую» часть. Шифровать можно много и все подряд, но проблема в том, что в задаче не оговорено в какой момент и какой именно код будет получен исследователем.
0
Я понял так, что мы имеем код трояна, лежащий на диске. Вот он может состоять из двух частей: расшифровщика и некотрой зашифрованной части.
Таким образом, у противника на руках будет только расшифровщик и шифрованные данные, но без ключа он их не сможет расшифровать.
А в определенный момент, например, внедренный в организацию человек вводит пароль. Этим паролем в память расшифровывается ключ, а ключом — остальной код, который и занимается. Опять же, в память. На диске ничего не остается. А можно и на диске даже поменять шифрованную область, чтобы второй раз тот же ключ не подошел на момент разоблачения и снятия с винта бинарника трояна.
А вот расшифрованная в память часть кода уже может цепляться к легальным прогам, подмешивать данные в картинки и т.п.
Таким образом, у противника на руках будет только расшифровщик и шифрованные данные, но без ключа он их не сможет расшифровать.
А в определенный момент, например, внедренный в организацию человек вводит пароль. Этим паролем в память расшифровывается ключ, а ключом — остальной код, который и занимается. Опять же, в память. На диске ничего не остается. А можно и на диске даже поменять шифрованную область, чтобы второй раз тот же ключ не подошел на момент разоблачения и снятия с винта бинарника трояна.
А вот расшифрованная в память часть кода уже может цепляться к легальным прогам, подмешивать данные в картинки и т.п.
0
А незашифрованным на руки противнику попадет только расшифровщик, а он ничего в сеть не передает.
0
Есть еще предложение по расшифровщику. Пусть он не ждет ввода пароля в явной форме. Пусть пароль это последовательность действий. Причем их можно подобрать так, чтобы она произошла случайно: простейший вариант, программа перебирает все сайты, на которые идет запрос из браузера, немного подождать и нужный сайт отыщется, хотя перебрать такой пароль имея алгоритм дело двух секунд. Если в конторе набирается много текстов, то уже лучше: проверять все что ввели с клавиатуры (помним, что эта часть трояна ничего не передает), и какое-то слово в нестандартной форме будет паролем. Тут перебирать уже придется долго. Хрень конечно, но позволяет избавится от своего человека в системе.
0
Если я правильно понял задачу мы знаем в точности как работают обе программы.
Если можно было бы зашифровать часть, то задача достаточно упрощается.
Если можно было бы зашифровать часть, то задача достаточно упрощается.
0
Я понял так, что мы имеем код трояна, лежащий на диске. Вот он может состоять из двух частей: расшифровщика и некотрой зашифрованной части.
Таким образом, у противника на руках будет только расшифровщик и шифрованные данные, но без ключа он их не сможет расшифровать.
А в определенный момент, например, внедренный в организацию человек вводит пароль. Этим паролем в память расшифровывается ключ, а ключом — остальной код, который и занимается. Опять же, в память. На диске ничего не остается. А можно и на диске даже поменять шифрованную область, чтобы второй раз тот же ключ не подошел на момент разоблачения и снятия с винта бинарника трояна.
Таким образом, у противника на руках будет только расшифровщик и шифрованные данные, но без ключа он их не сможет расшифровать.
А в определенный момент, например, внедренный в организацию человек вводит пароль. Этим паролем в память расшифровывается ключ, а ключом — остальной код, который и занимается. Опять же, в память. На диске ничего не остается. А можно и на диске даже поменять шифрованную область, чтобы второй раз тот же ключ не подошел на момент разоблачения и снятия с винта бинарника трояна.
0
задача не в том, чтобы спрятать алгоритм, который бы стеганографировал данные, а в том, чтобы придумать этот самый алгоритм.
0
Так вроде их и так немало. Самый простой вариант: мы сейчас общаемся и форма построения фраз передает какие-то сигналы. Почему бы и нет. При этом, допустим, я сижу в застенках, откуда никакую флешку не вынесешь и самому выйти получится через месяц, но вот почему-то меня пустили на хабр, поднабраться мыслей. А меня здесь читает основной наемник. И вроде я ничего такого не писал, но мой ответ на определенный вопрос (допустим у которого время создания 00:51), говорит о том, что 51 миллион долларов уйдет на участие в тендере или подкуп шпийонофф :) Ну и в таком вроде.
Проблема только в доступности кода «трояна». Он сам не может содержать такие данные, вот браузер FF3.6, в котором я это пишу, вполне чист, и его заподозрить нельзя. Как и канал передачи habrahabr.ru
Проблема только в доступности кода «трояна». Он сам не может содержать такие данные, вот браузер FF3.6, в котором я это пишу, вполне чист, и его заподозрить нельзя. Как и канал передачи habrahabr.ru
0
Задача была в том, чтобы нельзя было доказать передачу данных трояном. Если в бинарнике с зараженной машины не увидеть передающий код со всеми сопутствующими алгоритмами — то доказать будт нельзя.
0
Вы ответили на мою статью а я просрал ее…
0
Sign up to leave a comment.
Задача недоказуемой передачи данных имеет решение