id: Гость   вход   регистрация
текущее время 22:52 23/04/2024
Автор темы: unknown, тема открыта 10/08/2006 13:14 Печать
https://www.pgpru.com/Форум/Криптография/JitterBugsКейлоггерИНовыйСкрытыйКаналДляПохищенияД
создать
просмотр
ссылки

JitterBugs: кейлоггер и новый скрытый канал для похищения д


// JitterBugs: кейлоггер и новый скрытый канал для похищения данных.


На прошедшей в Ванкувере (Канада) конференции USENIX 2006 https://db.usenix.org/events/sec06/
была представлена новая технология скрытной передачи данных по сетям и организации скрытого канала для
снятия данных с клавиатуры.


Группа американских ученых из департамента информатики и компьютерных наук Пенсильванского Университета под руководством профессора Мэтта Блэйза представила
работу: filehttp://www.usenix.org/events/sec06/tech/shah/shah.pdf


!!(green)

" Keyboards and Covert Channels"


Gaurav Shah, Andres Molina and Matt Blaze


!!

В ней они исследуют возможности новой технологии Jitterbug, которая вероятно превышает сегодняшние возможности, имеющиеся в распоряжении ФБР. Простейшая аппаратная реализация заключается в следующем.
К клавиатуре подключается аппаратный кейлоггер, который округляет все задержки между нажатиями клавиш до 20 миллисекунд.
В пределах этого временного фрэйма добавляется ещё минимальная задержка, меньшая по размеру и предназначенная для кодирования определённого символа клавиатуры. Эти задержки не видны невооружённым глазом на мониторе компьютера.


Но они, несмотря на загруженность комьютера различными задачами, сохраняются в задержках посылаемых в сеть IP пакетов, даже прошедших через множество маршрутизаторов. Таким образом можно снять пароль из шифрованного сеанса связи с SSH сервером, записав траффик при помощи сниффера, измерив задержки между пакетами и раскодировать нажатия клавиш обратно. Не потребуется как раньше вновь подходить к клавиатуре и снимать записанные данные или использовать потенциально обнаружимый и ограниченный по расстоянию радиоканал. При этом сама операционная система остаётся чистой и не содержит никаких модификаций, меняющих поведение пакетов.


Чтобы затруднить обнаружение задержек в пакетах со стороны посторонних наблюдателей, используется шифрование, а для уменьшения количества ошибок при прохождении сигнала от клавиатуры через операционную систему, аппаратную часть компьютера и множество узлов сети, используется код упреждающей коррекции ошибок (Forward Error Correction).


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


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


Могут быть созданы и обычные троянские программы, которые передают данные через сеть таким незаметным способом.
Ещё одно применение данной технологии – скрытый канал в Voice over IP траффике.


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


Сильная сторона этой технологии в её пассивности – скрытый канал не формируется, а создается модулированием проходящих данных.


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


 
Комментарии
— SATtva (10/08/2006 13:53)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Великолепно!

Предлагают ли авторы какие-либо меры противодействия, помимо, собственно, физической защиты самого ПК и устройств ввода? Полагаю, можно ввести некоторую функцию искусственной рандомизированной задержки непосредственно на транспортном уровне сети, разрушающую любые внедрённые в скрытый канал данные.
— unknown (10/08/2006 14:45)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
можно ввести некоторую функцию искусственной рандомизированной задержки непосредственно на транспортном уровне сети, разрушающую любые внедрённые в скрытый канал данные.

Рандомизация изменит соотношение сигнал/шум в обратном порядке.
Просто будет труднее отловить данные. Можно довести сигнал/шум в канале до некоторого порогового уровня.

Можно просто выравнивать все данные по константе времени (убрать jitter-эффект).
— unknown (10/08/2006 16:03)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Мне заодно пришло в голову две идеи:

Jitter канал можно использовать для стеганографической передачи данных по интернету (например через любителей компьютерных игр).

А безотносительно к джиттеру, можно получать стеганографические сообщения через тесты Тьюринга (captcha). Неспроста ведь пользователи жалуются, что на pgpru.com картинки такие сложные? Там ведь тайные послания закодированы. :-)
— Вий (10/08/2006 19:10)   профиль/связь   <#>
комментариев: 510   документов: 110   редакций: 75
Мда, остроумно. Из одного фильма помню почти фантастическую мысль, и похоже она воплощается, только немного в другой форме. Там речь шла о вирусе, проникающем в машину через питающую сеть и так же передающую информацию из машины наружу, через блок питания. Получился протокол над протоколом, использующим другое физическое измерение (о сколько их еще?).

Можно ли для борьбы с такими кейлоггерами пользоваться программными средствами, перехватывающими любые нажатия клавиш до вода сигналов с клавиатуры в систему и подмешивающими точно такие же, но различные промежутки времени в случайном порядке (используя генератор случайных чисел), после нажатия каждой клавиши? Или же использовать специальный внешний аппаратный блок аналогичного назначения (переходка), через которую включена клавиатура в систему. Иначе говоря получается случайная модуляция, накладываемая поверх модуляции кейлоггера.

И еще попутно 3 вопроса.
1. Если пароль вводится копированием из буфера. Какова будет ситуация?
2.
Но они, несмотря на загруженность компьютера различными задачами, сохраняются в задержках посылаемых в сеть IP пакетов

Не очень знаком с принципами передачи данных с клавиатуры. Вводя пароль он сначала аккумулируется в памяти машины, после отправляется на необходимый ресурс. Имеется ввиду передача данных непосредственно по нажатиям клавиш и до отправки информации IP пакетом?
3. Что такое рандомизация?
— SATtva (10/08/2006 20:15)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Кстати, реально полезен такой метод атаки только на удалённые системы аутентификации. В противном случае простейшее противодействие — это отключение машины от сети.

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

В общем, по существу, это просто очередной скрытый канал со всеми вытекающими последствиями.
— unknown (11/08/2006 08:58)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
2 Вий:

1) Да, так лучше. Уже не сработает по идее.

2) В SSH посимвольно. Так исторически сложилось, когда telnet использовали для управления серверами по медленным каналам связи.

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

3) Рандомизация – превращение регулярных промежутков процесса в {псевдо}случайные. Другой вариант – вычислять пропускную способность канала и передавать данные через сетевую карту в максимально короткие, но равные промежутки времени. Это лучше чем внесение шума (рандомизации).

наверно, такая сетевая карта будет стоить дорого (к ней нужно еще иметь точные часы), но она перекроет jitter-канал в сетевом траффике. Это аналог борьбы с джиттером при прослушивании аудио-CD.

Интересно, что с одной стороны это активная тайминг-атака: тайминг прерывания берутся не из самой системы, а создаются искусственно. С другой стороны пассивная: никаких новых данных в обычный уровень канала не вносится.
— SATtva (11/08/2006 14:56)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
1) Да, так лучше. Уже не сработает по идее.

Только при реализации на аппаратном уровне. Троянская программа может преодолеть такой хитрый трюк.
— Гость (13/03/2008 18:08)   <#>
ух ты, вот это капчи тут у вас :O
— fra (13/03/2008 21:29)   <#>
Интересно, а создание тоннеля, который имеет фиксированную пропускную способность и всю полосу, свободную от пользовательских данных, прогружает потоком псевдослучайных данных? Вроде бы, есть такие решения?
— Гость (13/03/2008 22:39)   <#>
2) В SSH посимвольно. Так исторически сложилось, когда telnet использовали для управления серверами по медленным каналам связи.

А если я по ssh-ключам только хожу, атака сработает? Вроде бы нет. Так что атака банится как

Если же просто ввожу пас на разлок экрана и он в это время какие-то пакеты передаёт в сеть, то видимо простой корреляции между нажатиями клавиш и задержками IP-пакетов не будет.
— ezhik (13/03/2008 22:58)   <#>
насколько я понял, это атака работает, когда ты заходишь по ssh и авторизуешься по паролю. Там при вводе пароля, каждая нажатая кнопа сразу передается на сервер и по jitter передаваемых пакетов можно узнать, какую кнопку нажали. Если автризовываться по ключу атака обломится.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3