Повтор атаки - Replay attack

Повтор атаки (также известный как атаки воспроизведения ) является одной из форм сетевой атаки , при котором передача действительные данные злонамеренно или обманным путем повторного или задержки. Это выполняется либо отправителем, либо злоумышленником, который перехватывает данные и повторно передает их, возможно, как часть атаки с подменой IP-пакетов . Это одна из низкоуровневых версий атаки «человек посередине» . Атаки повторного воспроизведения обычно пассивны по своей природе.

Другой способ описания такой атаки: «атака на протокол безопасности с использованием воспроизведения сообщений из другого контекста в предполагаемый (или исходный и ожидаемый) контекст, тем самым обманывая честных участников, заставляя думать, что они успешно завершили протокол выполняется. "

Как работает повторная атака

Иллюстрация повторной атаки. Алиса (A) отправляет свой хешированный пароль Бобу (B). Ева (E) нюхает хэш и воспроизводит его заново.

Предположим, Алиса хочет доказать свою личность Бобу. Боб запрашивает ее пароль в качестве подтверждения личности, который Алиса послушно предоставляет (возможно, после некоторого преобразования, такого как хеширование (или даже соление ) пароля); тем временем Ева подслушивает разговор и сохраняет пароль (или хэш). После завершения обмена Ева (действующая как Алиса) подключается к Бобу; при запросе подтверждения личности Ева отправляет Алисе пароль (или хэш), прочитанный из последнего сеанса, который принимает Боб, тем самым предоставляя Еве доступ.

Профилактика и контрмеры

Атаки воспроизведения можно предотвратить, пометив каждый зашифрованный компонент идентификатором сеанса и номером компонента. Эта комбинация решений не использует ничего, что взаимозависимо друг от друга. Благодаря тому, что нет взаимозависимости, уязвимостей меньше. Это работает, потому что уникальный случайный идентификатор сеанса создается для каждого запуска программы; таким образом, становится труднее воспроизвести предыдущий прогон. В этом случае злоумышленник не сможет выполнить воспроизведение, потому что при новом запуске идентификатор сеанса изменился бы.

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

  1. Боб отправляет Алисе одноразовый токен, который Алиса использует для преобразования пароля и отправки результата Бобу. Например, она могла бы использовать токен для вычисления хэш-функции токена сеанса и добавить его к паролю, который будет использоваться.
  2. Со своей стороны Боб выполняет те же вычисления с токеном сеанса.
  3. Если и только если значения Алисы и Боба совпадают, вход в систему будет успешным.
  4. Теперь предположим, что злоумышленник Ева захватила это значение и пытается использовать его в другом сеансе. Боб отправит другой токен сеанса, и когда Ева ответит своим захваченным значением, оно будет отличаться от вычислений Боба, поэтому он будет знать, что это не Алиса.

Токены сеанса следует выбирать случайным образом (обычно используются псевдослучайные процессы). В противном случае Ева может выдать себя за Боба, предъявив какой-нибудь предсказанный будущий токен, и убедить Алису использовать этот токен в своей трансформации. Затем Ева может воспроизвести свой ответ позже (когда ранее предсказанный токен фактически представлен Бобом), и Боб примет аутентификацию .

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

Боб также может отправлять одноразовые номера, но затем должен включать код аутентификации сообщения (MAC), который Алиса должна проверить.

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

Контрмеры в конкретных сценариях

Предотвращение протокола Kerberos

Протокол аутентификации Kerberos включает в себя некоторые контрмеры. В классическом случае повторной атаки сообщение захватывается злоумышленником, а затем воспроизводится позже, чтобы произвести эффект. Например, если банковская схема будет уязвима для этой атаки, сообщение, которое приводит к переводу средств, может воспроизводиться снова и снова, чтобы перевести больше средств, чем предполагалось изначально. Однако протокол Kerberos, реализованный в Microsoft Windows Active Directory, включает использование схемы, включающей отметки времени, чтобы серьезно ограничить эффективность атак воспроизведения. Сообщения, срок жизни которых истек, считаются старыми и отбрасываются.

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

Безопасная маршрутизация в одноранговых сетях

Беспроводные одноранговые сети также подвержены атакам повторного воспроизведения. В этом случае систему аутентификации можно улучшить и усилить, расширив протокол AODV . Этот метод повышения безопасности Ad Hoc-сетей увеличивает безопасность сети с небольшими накладными расходами. Если возникнут большие накладные расходы, сеть рискует стать медленнее и ее производительность снизится. Сохраняя относительно низкие накладные расходы, сеть может поддерживать лучшую производительность при одновременном повышении безопасности.

Протокол аутентификации вызов-рукопожатие

Аутентификация и вход в систему клиентами, использующими протокол точка-точка (PPP), подвержены атакам повторного воспроизведения при использовании протокола аутентификации пароля (PAP) для проверки их личности, поскольку аутентифицирующий клиент отправляет свое имя пользователя и пароль в « обычном тексте », и сервер аутентификации затем отправляет свое подтверждение в ответ на это; Таким образом, перехватывающий клиент может читать передаваемые данные и олицетворять каждого из клиента и сервера другому, а также может сохранять учетные данные клиента для последующего олицетворения серверу. Протокол аутентификации Challenge-Handshake (CHAP) защищает от такого рода атак с повторением на этапе аутентификации, вместо этого используя сообщение "запрос" от аутентификатора, на которое клиент отвечает вычисленным хеш-значением на основе общего секрета (например, пароля клиента ), который аутентификатор сравнивает со своим собственным вычислением запроса и общего секрета для аутентификации клиента. Опираясь на общий секрет, который сам не был передан, а также на другие функции, такие как повторение запросов, контролируемое аутентификатором, и изменение значений идентификатора и запроса, CHAP обеспечивает ограниченную защиту от атак повторного воспроизведения.

Примеры восприимчивости к повторным атакам из реального мира

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

Дистанционная система бесключевого доступа для автомобилей

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

Текстовая проверка говорящего

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

Смотрите также

использованная литература