Введение

Механизм двухфакторной аутентификации пользователя для доступа к сетевому ресурсу.

RSA SecurID, ранее известный как SecurID, — это механизм, разработанный RSA для двухфакторной аутентификации пользователя при доступе к сетевому ресурсу.

Описание

Механизм аутентификации RSA SecurID состоит из "токена" – либо аппаратного (например, брелока), либо программного (программного токена), – который назначается пользователю компьютера и который генерирует код аутентификации через фиксированные интервалы (обычно 60 секунд), используя встроенные часы и почти случайный ключ, закодированный на заводе (известный как "seed"). Seed уникален для каждого токена и загружается на соответствующий сервер RSA SecurID (RSA Authentication Manager, ранее ACE/Server) при покупке токенов. Также доступны токены по требованию, которые предоставляют tokencode по электронной почте или SMS, устраняя необходимость в предоставлении токена пользователю. Аппаратные токены разработаны с защитой от несанкционированного доступа для предотвращения обратной разработки. Когда на рынке появились программные реализации того же алгоритма ("программные токены"), сообщество безопасности разработало общедоступный код, позволяющий пользователю эмулировать RSA SecurID в программном обеспечении, но только при наличии доступа к текущему коду RSA SecurID и исходному 64-битному файлу seed RSA SecurID, загруженному на сервер. Позже 128-битный алгоритм RSA SecurID был опубликован как часть библиотеки с открытым исходным кодом. В схеме аутентификации RSA SecurID запись seed является секретным ключом, используемым для генерации одноразовых паролей. Новые версии также оснащены USB-разъемом, позволяющим использовать токен как устройство, подобное смарт-карте, для безопасного хранения сертификатов. Пользователю, аутентифицирующемуся в сетевом ресурсе, например, в сервере dial-in или брандмауэре, необходимо ввести как персональный идентификационный номер (PIN), так и число, отображаемое в данный момент на его токене RSA SecurID. Хотя это становится все более редким, некоторые системы, использующие RSA SecurID, полностью игнорируют реализацию PIN-кода и полагаются на комбинации пароля и кода RSA SecurID. Сервер, который также имеет часы реального времени и базу данных действительных токенов с соответствующими записями seed, аутентифицирует пользователя, вычисляя, какое число токен должен показывать в данный момент времени, и сравнивая это с введенным пользователем. В более старых версиях SecurID можно использовать "PIN принуждения" – альтернативный код, который создает журнал событий безопасности, показывающий, что пользователя заставили ввести свой PIN, при этом обеспечивая прозрачную аутентификацию. Использование PIN-кода принуждения позволяет выполнить одну успешную аутентификацию, после чего токен будет автоматически отключен. Функция "PIN принуждения" устарела и недоступна в текущих поддерживаемых версиях. Хотя система RSA SecurID добавляет уровень безопасности сети, могут возникнуть трудности, если часы сервера аутентификации рассинхронизированы со встроенными в токены аутентификации часами. Нормальный дрейф часов токена автоматически учитывается сервером путем корректировки сохраненного значения "дрейфа" с течением времени. Если рассинхронизация не является результатом нормального дрейфа часов аппаратного токена, синхронизацию часов сервера Authentication Manager с рассинхронизированным токеном (или токенами) можно выполнить несколькими способами. Если часы сервера дрейфовали, а администратор внес изменения в системные часы, токены можно либо повторно синхронизировать по одному, либо вручную скорректировать сохраненные значения дрейфа. Дрейф можно выполнить для отдельных токенов или массово с помощью утилиты командной строки. RSA Security инициировала программу под названием "Универсальная аутентификация" (Ubiquitous Authentication), сотрудничая с производителями устройств, такими как IronKey, SanDisk, Motorola, Freescale Semiconductor, Redcannon, Broadcom и BlackBerry, чтобы встроить программное обеспечение SecurID в повседневные устройства, такие как USB-флеш-накопители и мобильные телефоны, чтобы снизить стоимость и количество предметов, которые должен носить с собой пользователь.

Теоретические уязвимости

Токен-коды легко украсть, поскольку отсутствует взаимная аутентификация (любой, кто может украсть пароль, может украсть и токен-код). Это существенно, так как это главная угроза, от которой большинство пользователей считают, что защищаются с помощью этой технологии. Самая простая практическая уязвимость любого контейнера паролей – потеря специального ключевого устройства или активированного смартфона с интегрированной функцией ключа. Эту уязвимость невозможно устранить с помощью одного устройства-контейнера токенов в течение заданного периода времени активации. Все дальнейшие рассуждения исходят из необходимости предотвращения потерь, например, с помощью дополнительного электронного ограничителя или датчика тела и сигнализации. Хотя токены RSA SecurID обеспечивают определенный уровень защиты от атак повторного использования пароля, они не предназначены для защиты от атак типа «человек посередине» при использовании самостоятельно. Если злоумышленнику удастся заблокировать авторизованного пользователя от аутентификации на сервере до получения следующего действующего токен-кода, он сможет войти в систему. Аналитика рисков (RBA), новая функция в последней версии (8.0), обеспечивает значительную защиту от этого типа атак, если пользователь активирован и аутентифицируется через агент, поддерживающий RBA. RSA SecurID не предотвращает атаки типа Man in the Browser (MitB). Сервер аутентификации SecurID пытается предотвратить перехват пароля и одновременный вход в систему, отклоняя оба запроса аутентификации, если в течение определенного периода времени поступают два действительных набора учетных данных. Это было задокументировано в неподтвержденном посте Джона Г. Брейнарда. Однако, если злоумышленник лишит пользователя возможности аутентификации, сервер SecurID посчитает, что аутентифицируется именно пользователь, и разрешит аутентификацию злоумышленника. В этой модели атаки безопасность системы можно повысить, используя механизмы шифрования/аутентификации, такие как SSL. Хотя программные токены могут быть более удобными, критики отмечают, что устойчивость к взлому аппаратных токенов не имеет аналогов в программных реализациях, что может позволить дублировать секретные ключи начального значения и осуществлять подмену пользователей. Аппаратные токены, с другой стороны, могут быть физически украдены (или получены с помощью социальной инженерии) у конечных пользователей. Небольшой размер делает кражу аппаратных токенов более вероятной, чем сканирование ноутбуков/настольных компьютеров. Пользователь обычно ждет более одного дня, прежде чем сообщить об утере устройства, предоставляя злоумышленнику достаточно времени для взлома незащищенной системы. Однако это возможно только в том случае, если злоумышленнику известны UserID и PIN-код пользователя. Аналитика рисков может обеспечить дополнительную защиту от использования потерянных или украденных токенов, даже если злоумышленникам известны UserID и PIN-код пользователя. Батареи периодически разряжаются, что требует сложной замены и повторной регистрации.

Прием и конкурирующие продукты

По состоянию на 2003 год RSA SecurID занимала более 70% рынка двухфакторной аутентификации, и к настоящему времени было произведено 25 миллионов устройств. Ряд конкурентов, таких как VASCO, выпускают аналогичные токены безопасности, в основном основанные на открытом стандарте OATH HOTP. Исследование, посвященное OTP и опубликованное Gartner в 2010 году, называет OATH и SecurID единственными конкурентами. Другие системы сетевой аутентификации, такие как OPIE и S/Key (иногда более широко известные как OTP, так как S/Key является торговой маркой Telcordia Technologies, ранее Bellcore), стремятся обеспечить уровень аутентификации "что-то, что вы имеете", без необходимости использования аппаратного токена.

Март 2011 года - компромисс системы

17 марта 2011 года RSA объявила, что стала жертвой "чрезвычайно изощренной кибератаки". Особую обеспокоенность вызвала система SecurID, в связи с которой заявлялось, что "эта информация потенциально может быть использована для снижения эффективности текущей реализации двухфакторной аутентификации". Однако в официальной форме 8-K компания указала, что не считает, что инцидент окажет "существенное влияние на финансовые результаты". Ущерб, нанесенный EMC, материнской компании RSA, составил 66,3 миллиона долларов, что было отнесено на расходы второго квартала. По словам исполнительного вице-президента и финансового директора EMC Дэвида Голдена в ходе телефонной конференции с аналитиками, эти расходы включали в себя расследование атаки, усиление защиты ИТ-систем и мониторинг транзакций корпоративных клиентов. Взлом сети RSA был осуществлен хакерами, которые рассылали фишинговые письма двум небольшим целевым группам сотрудников RSA. К письмам был прикреплен файл Microsoft Excel, содержащий вредоносное ПО. Когда сотрудник RSA открыл файл Excel, вредоносное ПО использовало уязвимость в Adobe Flash. Это позволило хакерам использовать RAT Poison Ivy для получения контроля над машинами и доступа к серверам в сети RSA. Есть основания полагать, что взлом включал кражу базы данных RSA, сопоставляющей серийные номера токенов с секретными "seed"-значениями токенов, которые использовались для придания каждому из них уникальности. Сообщения о том, что руководители RSA призывали клиентов "обеспечить защиту серийных номеров на своих токенах", подтверждают эту гипотезу. Если не считать критической уязвимости в криптографической реализации алгоритма генерации токенов (что маловероятно, поскольку он включает в себя простое и прямое применение тщательно изученного блочного шифра AES 128), единственным сценарием, при котором злоумышленник мог бы успешно атаковать систему без физического владения токеном, является утечка самих записей seed-значений токенов. RSA заявила, что не раскрывает подробности о масштабах атаки, чтобы не предоставить потенциальным злоумышленникам информацию, которая могла бы помочь им разработать способ атаки на систему. 6 июня 2011 года RSA предложила замену токенов или бесплатные услуги по мониторингу безопасности всем своим более чем 30 000 клиентам SecurID после попытки кибер-взлома оборонного предприятия Lockheed Martin, которая, по всей видимости, была связана с информацией SecurID, украденной у RSA. Несмотря на атаку на одного из своих клиентов, председатель компании Арт Ковиелло заявил: "Мы верим и по-прежнему верим, что наши клиенты защищены".

Результирующие атаки

В апреле 2011 года, согласно неподтвержденным слухам, L 3 Communications подверглась атаке в связи с компрометацией RSA. В мае 2011 года эта информация была использована для атаки на системы Lockheed Martin. Однако Lockheed Martin заявляет, что благодаря "активным действиям" команды информационной безопасности компании, "не были скомпрометированы личные данные ни одного клиента, программы или сотрудника" в результате этой "масштабной и настойчивой атаки". Министерство внутренней безопасности и Министерство обороны США предложили помощь в определении масштаба атаки.