Атака повторного воспроизведения

Атака повторного воспроизведения (Replay attack) — атака на систему аутентификации путём записи и последующего воспроизведения ранее посланных корректных сообщений или их частей. Любая неизменная информация, такая как пароль или биометрические данные могут быть записаны и использованы позднее для имитации аутентичности.

Примеры

Классическая атака повторного воспроизведения
  • Алиса аутентифицируется на компьютере Боба, пересылая пакеты, содержащие данные учётной записи.
  • Боб подтверждает личность Алисы и она получает доступ на компьютер Боба.
  • Чак перехватывает пакеты, содержащие данные учётной записи Алисы.
  • Когда обмен данными между Алисой и Бобом заканчивается, Чак отправляет на компьютер Боба перехваченные пакеты с данными учётной записи Алисы.

Таким образом Чак получает несанкционированный доступ к данным Боба.

Атака отражением
  • Чак создаёт соединение к компьютеру Боба.
  • Компьютер Боба отправляет аутентификационный запрос.
  • Чак создаёт соединение к компьютеру Алисы и отправляет копию идентификационного запроса Боба.
  • Компьютер Алисы отвечает на запрос.
  • Чак отправляет полученный от Алисы идентификатор.

Таким образом, при условии что Алиса имеет доступ к компьютеру Боба, Чак получает несанкционированный доступ к его данным.

Реализации атаки в сети

На практике для совершения данного вида атаки используется несовершенство средств аутентификации потока данных. Злоумышленник перехватывает несколько пакетов или команд приложения, изменяет их (к примеру меняет сумму денежного перевода) и воспроизводит с целью выполнения несанкционированных действий.

Одним из видов атаки воспроизведения сеанса связи является применение JavaScript для создания бреши в системе Hotmail и других системах электронной почты Web. Такая брешь позволяет хакеру создать сообщение электронной почты с фальсифицированным адресом и направить его на компьютер другого лица. Пользователь, заинтересовавшись «невинной» на вид Web-страницей, в которую хакер вложил наносящий вред программный код JavaScript, подвергается атаке. Атаки воспроизведения и захвата сеанса связи могут реализовать только квалифицированные программисты, поэтому документально подтверждённых случаев таких атак немного.

Уэнстром М. «Организация защиты сетей Cisco»
Атака воспроизведения для сессий CookieStore[1]

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

  • Пользователь получает кредит, сумма сохраняется в сессию.
  • Пользователь покупает что-либо.
  • Новая изменившаяся сумма кредита сохраняется в сессии.
  • Пользователь берет куки с первого шага (которые он предварительно скопировал) и заменяет текущие куки в браузере.
  • Пользователь получил свой первоначальный кредит назад.

Беспроводные сети являются одними из самых уязвимых для атаки воспроизведения, так как злоумышленник может получить доступ к каналу связи относительно легко, если он находится недалеко от источника электромагнитного сигнала. Существуют устройства и программы, позволяющие реализовать такие атаки. Примером может служить утилита[2], разработанная группой учёных, для компрометации функциональности и конфиденциальности сенсорной сети. Утилита работает в несколько этапов:

  • Сканирование в заданном радиодиапазоне на наличие потока данных
  • Идентификация передающих узлов
  • Запись трафика для последующего анализа
  • Декодирование и изменение сообщения (если требуется)
  • Воспроизведение исходного сообщения или изменённой его версии
  • Передача сообщения по радиоканалу

Такая атака возможна из-за отсутствия стандартизированных протоколов для сенсорных сетей.

Другие устройства/программы
  • Кейлогер - программа или аппаратное устройство, регистрирующее различные действия пользователя — нажатия клавиш на клавиатуре компьютера, движения и нажатия клавиш мыши и т.д. Устройство помогает реализовать классическую атаку воспроизведения, так как даёт злоумышленнику доступ к аутентификационным данным пользователя (логин, пароль и т.д.). Которые он потом использует для получения несанкционированного доступа к учётной записи.
  • Кодграббер - устройство для взламывания сигнализации. Оно может перехватить сигнал брелока владельца машины, который позже можно будет использовать для отключения сигнализации. Кодграббер бывает трёх видов: алгоритмический, кодграббер с замещением и кодграббер с ретрансляцией.

Рассмотрим работу кодграббера с замещением, как пример реализации атаки воспроизведения. Пусть для шифрования в сигнализации используется динамический код KeeLoq, в таком случае каждая следующая посылка очень сильно отличается от предыдущей, даже если нажимается одна и та же кнопка. Брелок посылает сигнализации посылку, которая состоит двух частей: открытой и шифрованной. В открытой находятся уникальный номер брелока и идентификатор нажатой кнопки, в шифрованной - номер нажатия. Этот номер нажатия увеличивается при каждом нажатии на любую кнопку. Он обеспечивает «динамичность» кода. Сигнализация принимает посылку, проверяет, что это брелок с номером, который она знает и расшифровывает вторую часть посылки - номер нажатия. Далее сигнализация смотрит - номер нажатия меньше последнего или больше: если меньше - значит это нажатие уже отрабатывалось - оно игнорируется; если немного больше - это то, что нужно, команда отрабатывается. Брелок о функциях сигнализации не знает, он только отсылает какая кнопка нажата, а дальше сигнализация разбирается как реагировать на нажатия кнопок. Поэтому один и тот же брелок можно использовать и при однокнопочной и при двухкнопочной системе постановки/снятия. При однокнопочной системе нажатие одной и той же кнопки приводит к смене состояния сигнализации охрана/неохрана. Соответственно сначала кодграббер перехватывает посылку, которую выдаёт брелок и искажает её в эфире так, что сигнализация не принимает посылку. При этом кодграббер знает, как искажена посылка и у него она сохраняется в правильном виде. Потом он перехватывает следующую посылку и взамен отсылает перехваченную первую. Подмена занимает доли секунды и практически незаметна владельцу. Сигнализация ставится на охрану, довольный владелец уходит, не обратив внимание на то, что сработало только второе нажатие на кнопку. Затем кодграббер выдаёт перехваченную посылку и сигнализация снимается с охраны.

Контрмеры

Главной задачей при защите от атак повторного воспроизведения является построение криптостойкой системы аутентификации. Основная идея состоит в том, что каждая сессия аутентификации использует оригинальные параметры (ключи). Таковыми могут быть:

  • метка времени и жизни ключа (пароля)
  • nonce вставки

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

Практическими реализациями систем на данный момент являются:

Литература

  • Нечаев В.И. Элементы криптографии (Основы теории защиты информации). — 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 года.

См. также

Примечания

  1. Руководство Ruby On Rails по безопасности. Дата обращения: 1 марта 2015. Архивировано 5 апреля 2018 года.
  2. 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.

Ссылки