У сотрудников компании RSA закончился десятилетний срок действия соглашений о неразглашении (NDA), так что они наконец-то смогли рассказать о событиях, которые случились в 2011 году. Эти события навсегда изменили ландшафт мировой индустрии информационной безопасности. А именно, это было первая в истории атака на «цепочку поставок» (supply chain attack), которая вызвала серьёзную обеспокоенность у американских спецслужб, мягко говоря.
Что такое атака на цепочку поставок? Если вы не можете напрямую атаковать сильного противника типа АНБ или ЦРУ, то вы находите их партнёра — и внедряетесь в его продукт. Один такой взлом даёт доступ сразу в сотни серьёзно защищённых организаций. Так произошло недавно с SolarWinds. Но бывшие сотрудники компании RSA смотрят на SolarWinds и испытывают чувство дежавю. Ведь в 2011 году неизвестные хакеры получили доступ к самому ценному, что было в компании RSA — хранилищу сидов (векторов генерации). Они используются для генерации кодов двухфакторной аутентификации в аппаратных токенах SecurID, а это десятки миллионов пользователей в правительственных и военных агентствах, оборонных подрядчиках, банках и бесчисленных корпорациях по всему миру.
Впрочем, обо всё по порядку.
Энди Гринберг из журнала Wired поговорил с несколькими бывшими сотрудниками RSA. Один из них — Тодд Литхэм (Todd Leetham), «лысый и бородатый аналитик из отдела реагирования на инциденты, которого называли углеродной машиной для поиска хакеров». Именно он первым заподозрил неладное, обратив внимание, что один из пользователей вышел в сеть не со своего компьютера и с нестандартными правами. Он посмотрел логи этого юзера за несколько дней — и стало понятно, что тут взлом. Хакеры окопались во внутренней сети.
Хуже всего, что они добрались до хранилища сидов. Технически, этот сервер должен быть в офлайне, отключён от интернета и от остальной сети — защита air gap. Но на практике он был защищён файрволом и подключался каждые 15 минут, чтобы выдать новую порцию зашифрованных сидов, которые записывались на компакт-диски и отдавались клиентам. Затем они оставались в хранилище в виде резервной копии.
Исходя из этих векторов генерации происходила генерация кодов двухфакторной аутентификации на токенах SecurID, которые раздавались сотрудникам клиента. То есть и токен, и сервер RSA независимо друг от друга генерировали одинаковые коды.
Алгоритм получения токен-кода
Согласно стандарту SecurID, каждому токену соответствует 128-битное случайное число — начальный вектор генерации (сид). Также в каждый токен встроены часы. Токен-код — результат работы запатентованного компанией RSA алгоритма, который в качестве параметров берёт текущее время и начальный вектор генерации. По токен-коду невозможно восстановить начальный вектор генерации, так как алгоритм работает в одну сторону.
Токен-код действителен в течение одной минуты (меняется раз в минуту и только один раз). Так как на сервере хранится соответствующие токенам начальные вектора генерации, то он в любой момент может по тому же самому алгоритму восстановить текущий токен-код. Для случая, если часы у сервера и токена расходятся, предусмотрена автоматическая синхронизация. Это достигается благодаря тому, что сервер вычисляет пароль не только для текущей минуты, но также прошлой и будущей минут. Таким образом, если PIN, введённый пользователем верен, а токен-код соответствует соседним минутам, то рассинхронизация учитывается для дальнейших операций.
Если кто-то добрался до хранилища сидов, то это компрометировало токены SecurID у всех клиентов. Поскольку это основной бизнес RSA, то в худшем раскладе компанию вообще можно закрывать…
Изучив сетевые логи, Литхэм пришёл к выводу, что эти «ключи к королевству» RSA действительно украдены.
Он с ужасом читал в логах, как хакеры девять часов методично выкачивали сиды из хранилища и отправляли их по FTP на взломанный сервер у облачного провайдера Rackspace. Но затем он заметил кое-что, что дало лучик надежды: в логах проскочили украденные креденшиалы, имя пользователя и пароль для этого взломанного сервера. Литхэм быстро подключился к удалённой машине Rackspace и ввёл украденные учётные данные. И вот оно: в директории на сервере всё ещё лежала вся украденная коллекция сидов в виде сжатого файла .rar.
Использовать взломанную учётку для входа на сервер, принадлежащий другой компании, и возиться с данными там, по признанию Литхэма, в лучшем случае является неортодоксальным шагом, а в худшем — серьёзное нарушение законов США о несанкционированном доступе к информации. Но, глядя на украденную святая святых RSA на этом сервере Rackspace, он не колебался: «Я был готов к последствиям, — говорит он. — В любом случае я не мог отдать наши файлы», — и он ввёл команду на удаление файла и нажал Enter.
Через несколько мгновений в консоль пришёл ответ: «Файл не найден». Он снова изучил содержимое сервера. Папка была пуста. Хакеры забрали базу с сервера за несколько секунд до того, как он попытался её удалить!
Он охотился за хакерами несколько суток днём и ночью, и вот теперь почти схватил за рукав убегавшего вора. Но тот буквально ускользнул сквозь пальцы, скрывшись в тумане с самой ценной информацией (как показало дальнейшее расследование, это могли быть хакеры из подразделения киберразведки APT1 Народно-освободительной армии Китая на базе войсковой части 61398 в пригороде Шанхая. Или кто-то искусно выдавал себя за них).
Расположение войсковой части 61398, источник
Через несколько дней RSA была вынуждена объявить о взломе. И это поистине изменило ландшафт кибербезопасности. Первая успешная атака на цепочку поставок, жертвами которой стали тысячи организаций, самые защищённые агентства и военные подрядчики. Только спустя десять лет случилось нечто подобное с червём NotPetya, а затем с системой компании SolarWinds (18 000 клиентов по всему миру), но для того времени история RSA была беспрецедентной. Практически никто даже не предполагал, что можно проводить атаки таким образом — через «прокси» в цепочке поставок.
«Это открыло мне глаза на атаки типа supply chain, — говорит Микко Хиппонен, главный научный сотрудник F-Secure, которая опубликовала независимый анализ инцидента RSA. — И изменило мой взгляд на мир: если вы не можете проникнуть в цель, то находите технологию, которую использует жертва, и вместо этого проникаете туда».
Его коллега Тимо Хирвонен говорит, что инцидент стал тревожной демонстрацией растущей угрозы от нового класса хакеров. От высококлассных специалистов, которые выполняют заказы внешней разведки. Компания RSA работает в сфере информационной безопасности и её бизнес — защищать других. Если она не в силах защитить даже себя, то как она может защитить остальной мир?
Вопрос был вполне буквальным. Кража векторов генерации означала, что у тысяч клиентов RSA скомпрометирована критическая защита 2FA. После кражи векторов генерации злоумышленники могли вводить коды с токенов SecureID практически в любой системе.
Спустя десять лет закончился срок NDA у многих ключевых руководителей компании RSA — и мы можем узнать подробности этого инцидента. Сегодня взлом RSA видится как предвестник нашей теперешней эры цифровой незащищённости и невероятной активности государственных хакеров во многих сферах общественной жизни, включая социальные сети, СМИ и политику. Взлом RSA — это урок, как решительный противник может подорвать то, чему мы больше всего доверяем. А потому что не надо ничему доверять.
Анализ инцидента показал, с чего началась атака — с невинного письма по электронной почте, которое получил один сотрудник австралийского подразделения, с темой «План набора персонала на 2011 год» и приложенной электронной таблицей Excel. Внутри был скрипт, который использовал 0day-уязвимость в Adobe Flash, устанавливая на компьютер жертвы хорошо известный троян Poison Ivy.
Точка входа в сеть RSA — совершенно банальное внедрение, которое бы не сработало, если бы жертва работала под управлением более новой версии Windows или Microsoft Office или был ограничен доступ к установке программ на свой компьютер, как рекомендуют сисадмины во многих корпоративных и правительственных сетях.
Но после этого проникновения злоумышленники начали демонстрировать свои реальные способности. На самом деле аналитики пришли к выводу, что в сети одновременно орудовали по крайней мере две группы. Одна группа получила доступ в сеть, а вторая группа высококвалифицированных специалистов использовала этот доступ, возможно, без ведома первой группы. Вторая атака была гораздо более продвинутой.
На компьютере австралийского сотрудника кто-то использовал инструмент, который извлекает учётные данные из памяти. Затем он использует эти учётки для входа в другие машины. Потом сканируется память этих новых компьютеров в поисках новых учёток — и так далее, пока не найдены логины привилегированных администраторов. В конце концов хакеры добрались до сервера, содержащего учётные данные сотен пользователей. Сегодня эта техника кражи учётных данных является распространённой. Но в 2011 году аналитики были удивлены, увидев, как хакеры продвигаются по всей сети: «Это был действительно самый жестокий способ эксплойтить наши системы, который я когда-либо видел», — говорит Билл Дуэйн (Bill Duane), опытный инженер-программист и разработчик алгоритмов RSA.
Обычно такие инциденты обнаруживают спустя месяцы после ухода хакеров. Но взлом 2011 года был особенным: в течение нескольких дней следователи, по сути, «догнали» хакеров и наблюдали за их действиями. «Они пытались проникнуть в систему, мы обнаруживали их через минуту или две, и тогда отключали систему полностью или доступ к ней, — говорит Дуэйн. — Мы сражались неистово как звери, в реальном времени».
Именно в разгар этой лихорадочной схватки Литхэм поймал хакеров на краже сидов с центрального хранилища, что предположительно было их приоритетной целью. Вместо обычных подключений каждые 15 минут, Литхэм видел в логах тысячи непрерывных запросов каждую секунду. Хакеры собирали векторы генерации не на одном, а на трёх скомпрометированных серверах, передавая запросы через ещё одну подключённую машину. Они распределили коллекцию сидов на три части, перенесли их на удалённый сервер Rackspace, а затем объединили в полную базу хранилища RSA. «Я подумал: это офигенно круто, — говорит Литхэм. — Я вроде как восхищался этим. Но в то же время понимал, что мы в полном дерьме».
Когда до Литхэма дошло, что коллекция сидов скопирована, и после того, как он сделал запоздалую попытку удалить файл с сервера, чудовищность события поразила его: он реально подумал, что компании RSA настал конец.
Паника
Поздно ночью служба безопасности узнала, что хранилище ограблено. Билл Дуэйн сделал звонок с предупреждением, что они физически отключат столько сетевых соединений, сколько необходимо, чтобы ограничить ущерб и остановить дальнейшую кражу данных. Они надеялись защитить информацию о клиентах, которая сопоставляется с конкретными векторами генерации. Кроме того, они хотели предотвратить кражу приватного ключа шифрования, необходимого для расшифровки сидов. Дуэйн с менеджером вошли в дата-центр и начали один за другим отсоединять кабели Ethernet, отключая все серверы и даже веб-сайт компании: «Я фактически закрыл бизнес RSA, — говорит он. — Я искалечил компанию, чтобы остановить любую потенциальную дальнейшую публикацию данных».
На следующий день генеральный директор RSA Арт Ковиелло (Art Coviello) сделал публичное заявление о том, что взлом продолжается. Масштабы вторжения всё увеличивались по мере раскрытия новых деталей. О взломе хранилища сидов SecurID поначалу не было известно, но когда вскрылся этот факт, руководству нужно было принять решение. Некоторые советовали скрыть этот факт от клиентов (среди них спецслужбы, разведка, армия США). Но всё-таки решили раскрыть информацию — персонально обзвонить каждого клиента и заменить все 40 с лишним миллионов токенов. Но у RSA и близко не было в наличии такого количества токенов… Только через несколько недель компания сможет возобновить производство, и то в меньшем количестве.
Группа из почти 90 сотрудников RSA заняла конференц-зал и начала многонедельный обзвон всех клиентов. Они работали по сценарию, проводя клиентов через защитные меры, такие как добавление или удлинение PIN-кода как части логина SecurID, чтобы усложнить репликацию хакерами. Во многих случаях клиенты начинали орать, вспоминает Дэвид Кастиньола (David Castignola), бывший директор по продажам RSA в Северной Америке. Каждый сделал по сотне таких звонков, даже топ-менеджерам и руководству пришлось этим заниматься (клиенты встречались слишком важные).
В то же время в компании начала распространяться паранойя. Кастиньола вспоминает, как в первую ночь проходил мимо маленькой комнатушки с сетевым оборудованием — а из неё вдруг начало выходить абсурдное количество людей, гораздо больше, чем он мог себе представить, что туда поместится. «Кто эти люди?» — спросил он у другого руководителя, стоявшего неподалёку. «Это правительство», — неопределённо ответил тот.
На самом деле, к тому времени АНБ и ФБР уже прислали своих людей, чтобы расследованию компании, также как и оборонный подрядчик Northrop Grumman и компания по реагированию на инциденты Mandiant (по случайности, сотрудники Mandiant уже были на месте во время взлома, устанавливая сенсоры для системы безопасности в сети RSA).
Сотрудники RSA начали принимать решительные меры. Обеспокоенные тем, что телефонная система может быть скомпрометирована, компания сменила операторов связи, перейдя с AT&T на Verizon. Руководители не доверяли даже новым телефонам, они проводили личные встречи и передавали бумажные копии документов. ФБР, опасаясь крота в RSA из-за очевидного уровня знаний злоумышленников о системах компании, начало проверять биографические данные всех сотрудников.
Окна некоторых офисов руководителей и конференц-залов были покрыты слоями обёрточной бумаги, чтобы предотвратить прослушку с помощью лазерных микрофонов воображаемыми шпионами в окрестных лесах, прямо как во время нынешней истерии с «гаванским синдромом». Здание проверили на наличие жучков. Несколько руководителей действительно нашли пару жучков, хотя некоторые из них были такими старыми, что у них сели батареи. Но не было понятно, имеют ли эти они какое-то отношение к инциденту.
Тем временем команда безопасности RSA и сторонние специалисты, привлечённые на помощь, начали «разрушать здание до фундамента», как они выражались. На каждой машине, к которой прикасались хакеры, форматировались диски, и даже на соседних машинах. «Мы физически обошли всё вокруг, и если на компьютере были хакеры, мы всё стирали, — говорит Сэм Карри (Sam Curry), бывший директор по безопасности RSA. — Если вы потеряли данные, очень жаль».
Вторая волна
В конце мая 2011 года, примерно через два месяца после объявления об инциденте, RSA всё ещё восстанавливалась и извинялась перед клиентами. Но здесь пошла вторая волна.
Влиятельный техноблогер Роберт Крингли опубликовал слухи о взломе крупного оборонного подрядчика из-за скомпрометированных токенов SecureID. Всем сотрудникам компании пришлось менять токены.
Спустя два дня агентство Reuters раскрыло имя взломанного подрядчика: это был Lockheed Martin, настоящая золотая жила для промышленного шпионажа.
Многофункциональный истребитель-бомбардировщик пятого поколения F-35 Lightning II производства Lockheed Martin
В последующие дни в новостях упоминались оборонные подрядчики Northrop Grumman и L-3 Communications, говорилось о хакерах с векторами генерации для токенов SecurID, хотя конкретных доказательств никто не предоставил, по понятным причинам, ведь речь идёт о военных подрядчиках (см. топ-100 подрядчиков правительства США).
Однако в июне 2011 года исполнительный директор RSA признал, что украденные сиды действительно использовались в атаке на Lockheed Martin. Спустя десять лет он уже отказывается от своих слов. Теперь бывшие руководители компании говорят, что использование сидов RSA никогда не было доказано.
Хотя в 2013 году представители Lockheed Martin на форуме Kaspersky Security Analyst Summit в Пуэрто-Рико подробно рассказали, как хакеры использовали векторы генерации кодов для токенов SecurID в качестве ступеньки для проникновения в сеть.
Сейчас источник в компании Lockheed Martin подтверждает выводы того расследования. По его словам, компания видела, как хакеры вводили коды SecurID в режиме реального времени, при этом пользователи не теряли свои токены. После замены этих токенов хакеры продолжали безуспешно вводить коды со старых токенов.
АНБ, со своей стороны, никогда особо не сомневалось в роли RSA в последующих взломах. На брифинге в Сенатском комитете по вооружённым силам через год после взлома директор АНБ генерал Кит Александер (Keith Alexander) заявил, что взлом RSA «привёл к тому, что по крайней мере один американский оборонный подрядчик стал жертвой лиц, владеющих поддельными удостоверениями», а Министерство обороны было вынуждено заменить все токены RSA.
Когда стало известно о причастности группировки APT1, Билл Дуэйн распечатал фотографию их штаб-квартиры в Шанхае и приклеил к доске для игры в дартс в своём кабинете.
Дуэйн ушёл из RSA в 2015 году после более чем 20 лет работы в компании. Автор статьи в Wired Энди Гринберг задал ему такой вопрос: «Как ты думаешь, в какой момент история со взломом RSA действительно закончилась: после отключения серверов в дата-центре? Или когда АНБ, ФБР, Mandiant и Northrop закончили расследование и ушли?». Инженер ответил: «Мы считали, что атака никогда не закончилась. Мы знали, что они оставили бэкдоры и смогут проникнуть в сеть когда захотят».
Печальный опыт Дуэйна и компании RSA должен научить всех нас, что «каждая сеть грязна», как он выразился. Теперь он советует компаниям сегментировать системы и изолировать самые ценные данные так, чтобы они были недоступны даже для противника, который уже проник внутрь периметра.
Что касается Тодда Литхэма, то он наблюдал фиаско SolarWinds в течение последних шести месяцев с мрачным чувством дежавю. Выводы из истории RSA он формулирует в более резких выражениях, чем его коллега. По его мнению, это было редкое свидетельство того, как хрупка сегодня мировая система информационной безопасности: «Это карточный домик перед началом торнадо», — говорит он.
Он утверждает, что SolarWinds продемонстрировал, насколько ненадёжной остаётся эта структура. По мнению Литхэма, мир безопасности слепо доверял чему-то за пределами своей модели угроз. Никто не предполагал, что противник может это скомпрометировать. И вот опять противник вытащил карту, которая стояла в самом основании карточного домика, — а все думали, что это твёрдая почва.