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


Аутентификация с помощью ОТР
Аутентификация с помощью ОТР

Один из наиболее интересных методов противодействия фишингу — применение в системах аутентификации одноразовых паролей. Одноразовый пароль — это ключевое слово, действительное только для одного процесса аутентификации в течение ограниченного промежутка времени. Такой пароль полностью решает проблему возможного перехвата информации или банального подглядывания. Даже если злоумышленник сможет заполучить пароль «жертвы», шансы воспользоваться им для получения доступа равны нулю.

Статические наборы одноразовых паролей

Первые реализации концепции одноразовых паролей основывались на статичном наборе ключевых слов, т.е. сначала генерировался список паролей (ключей, кодовых слов и т.п.), которые впоследствии могли применять пользователи. Подобный механизм использовался в первых банковских системах с возможностью удалённого управления счётом. При активации этой услуги клиент получал конверт со списком своих паролей. Затем при каждом доступе к системе вводил очередное ключевое слово. Дойдя до конца списка, клиент обращался в банк за новым.

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

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

Аутентификация с помощью One Time Password

Технологии ОТР были разработаны в рамках инициативы Open Authentication (OATH), выдвинутой компанией VeriSign в 2004 году. При этом речь шла о двухфакторной аутентификации, то есть с использованием смарт-карты или USB-токена и PIN-кода. В настоящее время существует несколько методов аутентификации на базе OTP.

Метод «запрос-ответ»

Принцип его работы заключается в следующем:

1. Пользователь отправляет на сервер аутентификации свой логин.

2. Сервер генерирует случайным образом строку и посылает ее обратно.

3. Пользователь шифрует эту строку и отправляет ее на сервер.

4. Сервер «находит» в памяти ключ пользователя и расшифровывает исходную строку.

5. Происходит сравнение результатов. Если они совпадают, аутентификация пройдена успешно.

Данный процесс называется асинхронным, так как не зависит от предыдущих паролей и других факторов (например, времени).

Метод «только ответ»

Алгоритм аутентификации в данном случае несколько проще:

1. ПО или аппаратное обеспечение пользователя самостоятельно генерирует данные, при создании строки используется значение предыдущего запроса.

2. Эти данные зашифровываются и отправляются на сервер.

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

4. Если строки идентичны, то аутентификация пройдена верно.

Метод «синхронизация по времени»

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

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

В некоторых случаях используются два и более методов.

Уязвимости методов ОТР

У технологии одноразовых паролей вместе с тем существуют и объективные недостатки. Наиболее серьезный из них — подмена сервера аутентификации. Ведь в таком случае злоумышленник может перехватывать пароли и затем использовать их. Однако справедливости ради стоит отметить, что осуществить такую атаку совсем не просто.
Другая серьезная уязвимость присуща методам реализации ОТР, в которых в качестве стартовой строки используются показания таймера. Ведь возможно рассогласование времени. В таком случае временной интервал придется подбирать.

Взаимная сертификация

Следует отметить, что единственной надежной гарантией от фишинговых атак является применение взаимной сертификации согласно стандарту X.509. Ведь в таком случае не только сервер может проверить пользователя, но и пользователь — сервер. В данном случае применяется трехшаговая аутентификация, в ходе которой происходит передача одного сообщения от пользователя к серверу и устанавливается:

1. Аутентичность А и то, что сообщение было создано А.

2. Что сообщение предназначалось для В.

3. Целостность и оригинальность сообщения (то, что оно не посылается второй раз).

Обратите внимание, что данная процедура устанавливает только аутентичность источника, но не устанавливает аутентичность получателя. Сообщение должно включать метку даты-времени, оказию и идентификатор В и должно быть подписано с использованием открытого ключа А. Метка даты-времени складывается из необязательно указываемого времени выдачи и времени окончания срока действия. Это устраняет возможность задержки доставки общения. Оказию можно использовать для того, чтобы обнаружить атаку воспроизведения. Значение для оказии должно быть уникальным на протяжении всего срока действия сообщения. Так, В может сохранять значения оказии до истечения срока их действия и отвергать любые новые сообщения с повторяющимися значениями оказии.

На втором шаге сервер создает ответное сообщение, которое подписывается закрытым ключом сервера. Оно позволяет доказать:

1. Аутентичность В и то, что ответное сообщение было создано В.

2. Что сообщение предназначалось для А.

3. Целостность и оригинальность ответа.

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

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

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


С Владимиром Безмалым,
руководителем программы
подготовки администраторов информационной безопасности
Академии «БМС Консалтинг»,
можно связаться по адресу
Vladimir_Bezmaly@ec.bms-consulting.com

Защита от фишинга в браузерах и антивирусном ПО

Internet Explorer 7.0

Реализация антифишинговой защиты в браузере от Microsoft включает в себя две технологии.

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

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

Если функция антифишинга не была включена при установке, её можно активировать в меню Tools (Сервис) обозревателя IE 7.0 — пункт Phishing Filter (Антифишинг). При посещении узла, который подозревается в фишинг-атаках, браузер выдаёт предупреждение жёлтого цвета. При попытке посетить веб-узел, на котором предпринимались атаки, фильтр выдаёт предупреждение красного цвета и прекращает доступ к узлу. Ввод любых данных в любую форму на этом узле становится невозможен.

Антифишинговый фильтр, кроме защиты, дает возможность передать сведения о любом потенциально опасном узле в Microsoft для последующей проверки. После этого подтвержденная информация добавляется в соответствующую базу данных для защиты компьютеров, использующих Internet Explorer с панелью управления Windows Live.

Opera 9.1

Антифишинг в Opera организован несколько иначе, нежели в FireFox и IE. Когда пользователь набирает адрес в адресной строке, Opera делает запрос к онлайновой базе данных Opera Software для проверки легитимности сайта, который пользователь хотел посетить.

В отличие от FireFox, сверяющего адрес с базой у себя на компьютере, Opera делает проверку в режиме реального времени, сверяясь с постоянно обновляемой базой. Это должно быть гораздо эффективнее, так как фишинговые сайты — однодневки: появляются внезапно и быстро исчезают.

Opera получает данные о легитимности сайта из антифишинговой базы от компании GeoTrust (http://www.geotrust.com), которая специализируется на защите от подобного рода мошенничеств.

«Антивирус Касперского»

В состав сигнатур угроз «Антивируса Касперского» включены известные к настоящему времени сайты, которые используются для фишинг-атак. Специалисты «Лаборатории Касперского» пополняют его адресами, предоставляемыми международной организацией по борьбе с фишингом (The Anti-Phishing Working Group). Данный список пополняется при обновлении сигнатур угроз. Ссылка на фишинг-сайт может быть направлена не только письмом, но и другими доступными для этого способами, например, в тексте ICQ-сообщения. Модуль «Анти-Фишинг», входящий в состав «Анти-Шпиона», отслеживает попытки открытия фишинг-сайта и блокирует его.