Pull to refresh

Comments 28

UFO just landed and posted this here
Думаете, решение, которое выносит часть функциональности из программного кода не подходит к условию задачи?
проблема с кодированием в том, чтобы передать кодовую книгу, в которой есть соответствия «доброго дня» это сигнал к атаке.
иначе эти сообщения не имеют никакого смысла.
а имея код трояна мы скорее всего узнаем, что либо кодовая книга зашита в нём самом, либо узнаем место к которому он обращается за ней.
заполучив книгу мы сможем проанализировать траффик на наличие соответствий между ним и книгой. а как только найдём передача будет доказана.
естественно необходимо проверить не просто ли совпадания, но ключевой момент здесь — наличие кодовой книги.
«кодовое слово» будет работать только если есть изначальная договоренность между участниками системы. а если принять во внимание, что человек «в стане врага» является нашим сотрудником, то у него уже изначально был проинструктирован.

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

Главное, что я понял благодаря этой задаче, что нельзя спать спокойно защитив компьютеры от стороннего ПО и контролируя привычные каналы связи. Если действительно хранишь какие-то востребованные секреты, то останавливаться на защите от программной составляющей недостаточно.
да. но в любом случае вы передаёте какую-то информацию с «зараженного» компа. А что бы переделать эту информацию в «безобидный» вид нужно её в этот вид преобразовать. Значит имея трафик и код трояна можно сделать обратные преобразования и узнать что же он передавал. А значит всё можно доказать
Бр, поддержку первого комментатора, чистейший бред, особенно со skype. Работа с голосом, темболее для распознавания там комманд ооочень сложная работа
Не можете распознавать слова когда вам их говорят через Skype?
А причем тут я? У вас написано, что пароль передается голосом через Skype:
>Зачем передавать пароль в виде букв и цифр, если его можно проговорить в микрофон?
Либо я чего-то не понимаю, либо вы имели ввиду, что программа получит код через скайп. Если нет, то тогда причем тут вообще скайп та?
1. В микрофон будет говорить человек. И принимать человек. Ведь по условию задачи никаких несанкционированных функций в программе быть не должно. Значит такая функциональность должны быть вынесена за пределы программы.

2. Даже если передает программа, но это синтезатор, а не распознаватель. Ну и синтезированный звук, распознавать должно быть проще, ведь известен алгоритм синтезатора.

Опять же не оговорено какие данные должны быть переданы. Может быть хватит простого звонка сделанного в определенное время.
Подождите, я совсем запутался. Вы в посте в этом и прошлом, хотите такой вирус, при нахождении которого нельзя было б сказать, что он чета куда-то отправлял. А сейчас, вы говорите что человек должен принять код. Еще скажите что сам человек должен его ввести, активировать вирус и забыть про него. определитесь сначала, о чем вы хотите поведать
Первая заметка была не моя. Код никакой вводить я не предлагаю. По условиям задачи, когда станет доступен ее исходный текст, в ней не должно быть несанкционированных функций. При этом, в условии есть требование к трафику — невозможность отследить или привязать трафик с передаче несанкционированных данных. Оба условия выполняются если использовать уже установленные на компьютере программы. Сами данные, не обнаруживаются и не передаются никаким программным «трояном». Вместо программы работает человек. Он сам вводит данные. В задаче не указаны такие ограничения, чтобы нельзя этого было делать.
А вводить коды, это уже не мое предложение. Хотя, если дополнить условия задачи, то вполне реальное.
Вы не приняли во внимание то, что также есть исходники принимающей программы. Т.е. точно известно, что фраза «доброго дня» будет приниматься как сигнал к действию.
Я действительно про принимающую программу не подумал. Но не думаю, что тут будут проблемы. Это может быть тот же самый почтовый клиент, Skype и т.п. Опять же действует человек, который принял данные. Хотя если его тоже рассматривать как программу, то будут проблемы: терморектальный криптоанализ как раз здесь покажет себя лучше всего: )

Вообще в идеале хотелось бы видеть в задаче какие данные (хотя бы примерный объем) и как регулярно/одноразово будут передаваться. При этом код «сервера» и «клиента» доступен, но в какой момент времени? Если тут сделать оговорку, что доступен после определенных действий (обнаружена сетевая активность или появились подозрения о сливе информации), то фантазия уже сможет разыграться по-настоящему. Но таких данных к сожалению нет. Зато позволяет самому подставлять нужные варианты и решать задачу в таких условиях. У меня первая мысль была о том, что данные поступают извне и передаются разрешенными программами.
Можно делать так, чтобы часть кода была зашифрована, а затем, по вводу пароля шипоном нашим в стане врага, расшифровывала бы себя в оперативку. А уже расшифрованная часть бы цеплялась к процессам и стеганографически бы сливала шифрованную инфу.
Точно. Но тут вопрос возникает. Если программа уже в памяти, значит зашифрована не полностью. А если программа по простому лежит в запароленном архиве, то ее придется создать на диске. Может тогда сделать какой-то файл, который можно скачать через браузер и выполнить каким-то уже установленным приложением (скрипт какой-нибудь). Js открытый в IE только попросит подтвердить выполнение ActiveX (а уж через него можно очень много к чему подключится), а если выполнять вне браузера, то даже подтверждений не понадобится. Но тут остаются следы в трафике.

Мне больше бы понравилась идея какого-нибудь плагина к известным программам. Как он будет установлен — вопрос отдельный, но если представить что он есть, а инициализация дллок проходит всегда при запуске программы-донора, то можно много чего сделать: допустим подмешивать нужную информацию в картинки, которые пользователь загружает на тех же одноклассников (или загружать их за него). А после работы либо удалить плагин полностью, либо удалить из него «нехорошую» часть. Шифровать можно много и все подряд, но проблема в том, что в задаче не оговорено в какой момент и какой именно код будет получен исследователем.
Я понял так, что мы имеем код трояна, лежащий на диске. Вот он может состоять из двух частей: расшифровщика и некотрой зашифрованной части.

Таким образом, у противника на руках будет только расшифровщик и шифрованные данные, но без ключа он их не сможет расшифровать.

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

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

Таким образом, у противника на руках будет только расшифровщик и шифрованные данные, но без ключа он их не сможет расшифровать.

А в определенный момент, например, внедренный в организацию человек вводит пароль. Этим паролем в память расшифровывается ключ, а ключом — остальной код, который и занимается. Опять же, в память. На диске ничего не остается. А можно и на диске даже поменять шифрованную область, чтобы второй раз тот же ключ не подошел на момент разоблачения и снятия с винта бинарника трояна.
задача не в том, чтобы спрятать алгоритм, который бы стеганографировал данные, а в том, чтобы придумать этот самый алгоритм.
Так вроде их и так немало. Самый простой вариант: мы сейчас общаемся и форма построения фраз передает какие-то сигналы. Почему бы и нет. При этом, допустим, я сижу в застенках, откуда никакую флешку не вынесешь и самому выйти получится через месяц, но вот почему-то меня пустили на хабр, поднабраться мыслей. А меня здесь читает основной наемник. И вроде я ничего такого не писал, но мой ответ на определенный вопрос (допустим у которого время создания 00:51), говорит о том, что 51 миллион долларов уйдет на участие в тендере или подкуп шпийонофф :) Ну и в таком вроде.

Проблема только в доступности кода «трояна». Он сам не может содержать такие данные, вот браузер FF3.6, в котором я это пишу, вполне чист, и его заподозрить нельзя. Как и канал передачи habrahabr.ru
Задача была в том, чтобы нельзя было доказать передачу данных трояном. Если в бинарнике с зараженной машины не увидеть передающий код со всеми сопутствующими алгоритмами — то доказать будт нельзя.
Вы ответили на мою статью а я просрал ее…
А мне минусов насовали кучу. За то, что такие очевидные вещи не пришли в их пустотелые головы.
Но вам спасибо, из-за этой заметки меня НЛО сюда запустило.
Sign up to leave a comment.

Articles