Pull to refresh

Задача недоказуемой передачи данных имеет решение

Reading time3 min
Views771
Начну с самого простого, в оригинальной заметке даже содержится часть ответа. Пример программы, которая предлагается — троян. Многие видимо забыли, что троян это программа, которая предлагается пользователю под видом вполне обычного приложения без каких-то «вредоносных» действий. Значит можно заставить человека пользоваться вашей программой, а она будет делать что-то не очень хорошее.

Первое условие: не создавать подозрительного трафика. Значит программа по своим условиям должна передавать данные. Например icq-клиент, или браузер, или даже почтовый клиент передает данные, и ни у кого это подозрений не вызывает. Значит программа изначально направлена на работу с интернетом.

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

Вывод очень простой: в программе не должно присутствовать несанкционированных действий. Вообще.

Придется вынести «несанкционированную» составляющую за пределы приложения.

Когда у меня возникла одна мысль, я обратился к знакомому с этой задачей, и он предложил фактически тот же вариант, только с другой программой. У меня была версия задействовать Skype, а у него — почтовый клиент (видимо все-таки с шифрованием, но это зависит от типа данных). Главный фактор: человек. Как всегда это самое слабое звено. Зачем передавать пароль в виде букв и цифр, если его можно проговорить в микрофон? Skype программа, которая известна, она может посылать данные, все знают, что данные зашифрованы. Если принять во внимание, что программу разберут на запчасти или даже получат исходный код, то там не обнаружится никаких деструктивных или несанкционированных функций (будем надеяться). Однако секретные данные уже переданы, под видом обычного трафика, из разрешенной программы.

С почтовым клиентом то же самое, можно даже ничего не шифровать. В условиях не указано, какие именно данные нужно передавать, может это всего одно слово, допустим какой-то сигнал к атаке. Фраза «Доброго дня», вместо обычного «Добрый день» не вызовет подозрений в большинстве случаев, но будет служить сигналом для принимающей стороны.

Тут я хочу напомнить прием из книг и фильмов, когда данные передаются через газетные объявления. В легальной газете (аналог почтового клиента), выходит легальное объявление (кодовое слово сообщает определенные данные), и доставляется адресату (аналог интернета). Газету, как ни смотри ее «код», заподозрить нельзя. Сообщение будет стандартным объявлением, которых в этой газете тысяча, и все похожи одно на другое. Вычленить нелегальный трафик не получится.

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

Получается, что решение задачи вынесено из программной области. Зато предлагает максимально полное соответствие условиям задачи. Кстати в условиях задачи используется слово «трой», что можно трактовать достаточно широко.
Tags:
Hubs:
Total votes 25: ↑8 and ↓17-9
Comments28

Articles