Атака повторного воспроизведения
Атака повторного воспроизведения (Replay attack) — атака на систему аутентификации путём записи и последующего воспроизведения ранее посланных корректных сообщений или их частей. Любая неизменная информация, такая как пароль или биометрические данные могут быть записаны и использованы позднее для имитации аутентичности.
Примеры
Классическая атака повторного воспроизведения
- Алиса аутентифицируется на компьютере Боба, пересылая пакеты, содержащие данные учётной записи.
- Боб подтверждает личность Алисы и она получает доступ на компьютер Боба.
- Чак перехватывает пакеты, содержащие данные учётной записи Алисы.
- Когда обмен данными между Алисой и Бобом заканчивается, Чак отправляет на компьютер Боба перехваченные пакеты с данными учётной записи Алисы.
Таким образом Чак получает несанкционированный доступ к данным Боба.
Атака отражением
- Чак создаёт соединение к компьютеру Боба.
- Компьютер Боба отправляет аутентификационный запрос.
- Чак создаёт соединение к компьютеру Алисы и отправляет копию идентификационного запроса Боба.
- Компьютер Алисы отвечает на запрос.
- Чак отправляет полученный от Алисы идентификатор.
Таким образом, при условии что Алиса имеет доступ к компьютеру Боба, Чак получает несанкционированный доступ к его данным.
Реализации атаки в сети
На практике для совершения данного вида атаки используется несовершенство средств аутентификации потока данных. Злоумышленник перехватывает несколько пакетов или команд приложения, изменяет их (к примеру меняет сумму денежного перевода) и воспроизводит с целью выполнения несанкционированных действий.
Одним из видов атаки воспроизведения сеанса связи является применение JavaScript для создания бреши в системе Hotmail и других системах электронной почты Web. Такая брешь позволяет хакеру создать сообщение электронной почты с фальсифицированным адресом и направить его на компьютер другого лица. Пользователь, заинтересовавшись «невинной» на вид Web-страницей, в которую хакер вложил наносящий вред программный код JavaScript, подвергается атаке. Атаки воспроизведения и захвата сеанса связи могут реализовать только квалифицированные программисты, поэтому документально подтверждённых случаев таких атак немного.
— Уэнстром М. «Организация защиты сетей Cisco»
Атака воспроизведения для сессий CookieStore[1]
Сохранение cookie сайта может привести к атаке воспроизведения. Например если вы воспользовались услугами интернет-кафе, то пользователь, севший на ваше бывшее место, может получить доступ к вашей учётной записи на сайте, который сохранил cookie вашей сессии. Следующий пример атаки воспроизведения на сервис, использующий cookie для хранения важной информации.
- Пользователь получает кредит, сумма сохраняется в сессию.
- Пользователь покупает что-либо.
- Новая изменившаяся сумма кредита сохраняется в сессии.
- Пользователь берет куки с первого шага (которые он предварительно скопировал) и заменяет текущие куки в браузере.
- Пользователь получил свой первоначальный кредит назад.
Атака на беспроводную сеть
Беспроводные сети являются одними из самых уязвимых для атаки воспроизведения, так как злоумышленник может получить доступ к каналу связи относительно легко, если он находится недалеко от источника электромагнитного сигнала. Существуют устройства и программы, позволяющие реализовать такие атаки. Примером может служить утилита[2], разработанная группой учёных, для компрометации функциональности и конфиденциальности сенсорной сети. Утилита работает в несколько этапов:
- Сканирование в заданном радиодиапазоне на наличие потока данных
- Идентификация передающих узлов
- Запись трафика для последующего анализа
- Декодирование и изменение сообщения (если требуется)
- Воспроизведение исходного сообщения или изменённой его версии
- Передача сообщения по радиоканалу
Такая атака возможна из-за отсутствия стандартизированных протоколов для сенсорных сетей.
Другие устройства/программы
- Кейлогер - программа или аппаратное устройство, регистрирующее различные действия пользователя — нажатия клавиш на клавиатуре компьютера, движения и нажатия клавиш мыши и т.д. Устройство помогает реализовать классическую атаку воспроизведения, так как даёт злоумышленнику доступ к аутентификационным данным пользователя (логин, пароль и т.д.). Которые он потом использует для получения несанкционированного доступа к учётной записи.
- Кодграббер - устройство для взламывания сигнализации. Оно может перехватить сигнал брелока владельца машины, который позже можно будет использовать для отключения сигнализации. Кодграббер бывает трёх видов: алгоритмический, кодграббер с замещением и кодграббер с ретрансляцией.
Рассмотрим работу кодграббера с замещением, как пример реализации атаки воспроизведения. Пусть для шифрования в сигнализации используется динамический код KeeLoq, в таком случае каждая следующая посылка очень сильно отличается от предыдущей, даже если нажимается одна и та же кнопка. Брелок посылает сигнализации посылку, которая состоит двух частей: открытой и шифрованной. В открытой находятся уникальный номер брелока и идентификатор нажатой кнопки, в шифрованной - номер нажатия. Этот номер нажатия увеличивается при каждом нажатии на любую кнопку. Он обеспечивает «динамичность» кода. Сигнализация принимает посылку, проверяет, что это брелок с номером, который она знает и расшифровывает вторую часть посылки - номер нажатия. Далее сигнализация смотрит - номер нажатия меньше последнего или больше: если меньше - значит это нажатие уже отрабатывалось - оно игнорируется; если немного больше - это то, что нужно, команда отрабатывается. Брелок о функциях сигнализации не знает, он только отсылает какая кнопка нажата, а дальше сигнализация разбирается как реагировать на нажатия кнопок. Поэтому один и тот же брелок можно использовать и при однокнопочной и при двухкнопочной системе постановки/снятия. При однокнопочной системе нажатие одной и той же кнопки приводит к смене состояния сигнализации охрана/неохрана. Соответственно сначала кодграббер перехватывает посылку, которую выдаёт брелок и искажает её в эфире так, что сигнализация не принимает посылку. При этом кодграббер знает, как искажена посылка и у него она сохраняется в правильном виде. Потом он перехватывает следующую посылку и взамен отсылает перехваченную первую. Подмена занимает доли секунды и практически незаметна владельцу. Сигнализация ставится на охрану, довольный владелец уходит, не обратив внимание на то, что сработало только второе нажатие на кнопку. Затем кодграббер выдаёт перехваченную посылку и сигнализация снимается с охраны.
Контрмеры
Главной задачей при защите от атак повторного воспроизведения является построение криптостойкой системы аутентификации. Основная идея состоит в том, что каждая сессия аутентификации использует оригинальные параметры (ключи). Таковыми могут быть:
- метка времени и жизни ключа (пароля)
- nonce вставки
Эти параметры делают отправку записанных злоумышленником сообщений безрезультатной, потому что, проанализировав их, система потребует повторной аутентификации.
Практическими реализациями систем на данный момент являются:
- сетевой протокол аутентификации Kerberos
- набор протоколов для обеспечения защиты данных IPSec
- система генерации одноразовых паролей S/Key
Литература
- Нечаев В.И. Элементы криптографии (Основы теории защиты информации). — 1999. — 109 с. — ISBN 5-06-003644-8.
- Уэнстром М. Организация защиты сетей Cisco. — Вильямс, 2005. — 760 с. — ISBN 5-8459-0387-4.
- Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.
- Karlof C. and Wagner D. Secure routing in wireless sensor networks: Attacks and countermeasures. (англ.). — 2011. Архивировано 5 марта 2016 года.
См. также
Примечания
- ↑ Thanassis Giannetsos, Tassos Dimitriou, Neeli R. Prasad. State of the art on defenses against wormhole attacks in wireless sensor networks // 2009 1st International Conference on Wireless Communication, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology. — IEEE, 2009-05. — ISBN 978-1-4244-4066-5. — doi:10.1109/wirelessvitae.2009.5172466.