В понедельник, 5 апреля 2010 года, рано утром, в багтрекинге Apache появилось уведомление об ошибке "INFRA-259" с пометкой "важно". Очень подробно, технически грамотным языком, была описана проблема открытия некоторых страниц на сервере royal, входящем в домен apache.org. К сообщению были приложены примеры ссылок на множество проблемных страниц, а также указана ссылка на одну из страниц из домена Apache.org, в которую был заранее добавлен JavaScript-код, осуществляющий перехват сессионных cookie с помощью XSS-атаки. В силу серьёзности описанных проблем и ничего не подозревая, сразу несколько ведущих разработчиков из нескольких проектов Apache перешли по указанным ссылкам. Уже к обеду 5 апреля злоумышленники имели административный доступ к системе трекинга ошибок JIRA. После получения администраторского доступа к JIRA злоумышленники сразу отключили её систему уведомлений об изменениях и сменили пути загрузки дополнений (вложений) в загружаемых уведомлениях об ошибках. Новый путь теперь указывал на другую директорию сервера, права в которой позволяли запускать jsp-файлы. После этого в систему багтрекинга сразу же было загружено сообщение об ошибке, в котором под видом приложения к тикету находилась вредоносная программа. После её запуска хакеры получили копии домашних каталогов всех администраторов и пользователей локальной системы, а также хэши всех паролей в текущей системе. После установки скрытых бэкдоров злоумышленники отключились. На всю операцию ушло около 20 минут.
Через несколько дней, в пятницу 9 апреля, злоумышленники снова подключились к системе для загрузки своего JAR-файла, который, будучи интегрирован в страницу аутентификации в системе, начал сбор всех вводимых паролей при web-входе в систему. Кроме того, все пароли пользователей в базе данных были сброшены, а от имени администраторов системы ко всем разработчикам был отправлен запрос на смену паролей, объясняя это техническими проблемами с базой данных. Опять же, большинство разработчиков, ничего не подозревая, вошли в систему и ввели свои прежние настоящие пароли. Как оказалось, у многих разработчиков был один и тот же пароль сразу ко многим сервисам Apache, что позволило злоумышленникам, развивая атаку, залогиниться уже и на другие сервисы.
Как оказалось в процессе анализа "результатов рыбалки", один из пользователей JIRA был администратором на других сервисах Apache, поэтому уже к вечеру пятницы злоумышленники получили полные права на запуск команды sudo, дающей права на запуск любых команд с правами root - сразу на нескольких серверах проекта. Таким образом, над сервисами JIRA, Confluence, wiki и Bugzilla (серверы brutus.apache.org и royal.apache.org) к вечеру пятницы был получен полный контроль. Дальнейший анализ пользователей, зарегистрированных уже в новых системах, позволил найти тех, у которых были прокэшированы в домашней директории параметры аутентификации в главном репозитории Subversion (что потенциально давало контроль над всеми исходниками проектов Apache), а также доступ к машинам Neptune, Aurora и другим... На данный момент, имея разные уровни доступа уже почти на все проекты Apache, злоумышленники останавливают свою стратегию веерного развития атаки и фокусируются лишь на одном сервере проекта из многих - сервере под сетевым именем Minotaur. Тут нужно пояснить, что сервер people.apache.org, известный также как Minotaur, - это сердце Apache.org. Это главный административный сервер проекта Apache, где находятся shell-экаунты всех основных разработчиков проекта, в том числе и корневых администраторов.
Итак, утром 10 апреля, после 19 часов непрерывного марафона (эти люди спят когда-нибудь?) по взлому вспомогательных сервисов и последовательному углублению в инфраструктуру проекта, злоумышленники одновременно, сразу под двумя именами администраторов, вошли в систему minotaur.apache.org с другого доверенного хоста проекта и приступили к анализу этой центральной системы на предмет возможных путей дальнейшего развития атаки.
К счастью, на этой фазе внедрения необычная активность в корневой системе minotaur.apache.org привлекла внимание сначала одного, а потом и второго администратора, которые, увидев уровень "погружения" в систему злоумышленников, вынуждены были начать банально отключать серверы проекта Apache от сети, ибо угроза захвата управлением центрального сервера на этом этапе вторжения была чрезвычайно высока, а начинать разбираться во всем происходящем было слишком поздно. После отключения серверов администраторами проекта были оперативно подправлены соответствующие записи DNS для домена apache.org, после чего обслуживание запросов временно было перенаправлено на автономный резервный сервер проекта в Европе (из-за эффекта кэширования старых данных в DNS, в течение 11 апреля многие столкнулись с тем, что сайт apache.org и его многочисленные поддомены были недоступны).
На данный момент анализ хронологии взлома почти полностью завершен, проектом опубликован официальный отчет, подробно рассказывающий о развитии этих апрельских событий и предпринятых мерах, соответствующие скомпрометированные серверы, за исключением нескольких, уже восстановлены и введены в строй. Но всё же, несмотря на видимость закрытого дела, у независимых аналитиков остаётся очень много вопросов по факту этого грандиозного взлома... Откуда на JIRA взялась уязвимая страница, ведь именно этот проект подвергался относительно недавно серьёзному аудиту на безопасность; откуда взялись эти злополучные ошибки на некоторых страницах, о которых был сделан реальный багрепорт самими же злоумышленниками (в отчете-расследовании про них ничего не упомянуто), с которого всё и началось? Некоторые независимые специалисты склоняются к мнению, что этому взлому предшествовал ещё один, более ранний. По их мнению, не получив тогда достаточных привилегий для развития атаки, злоумышленниками и был разыгран этот "марлезонский балет" с багрепортом, чтобы "заставить администраторов сделать то, что от них хотели, чтобы они сделали": заманив их на специально подготовленную страничку с XSS в домене apache.org, симулировав при этом на своём уровне доступных полномочий серьёзные ошибки в работе сервера royal, чтобы создать повод для вышеупомянутого багрепорта и привлечения внимания администраторов к злополучным страницам.
Подводя сухой итог всего произошедшего, можно констатировать, что, несмотря на все усилия по расследованию и заявление в ФБР, никто из злоумышленников не пойман, и, как мне кажется, вряд ли будет пойман (уж специалисты подобного уровня знают, как позаботиться о своей безопасности). Уже известно, что действовала группа, которая состоит из специалистов разного профиля и специализации, которые синхронно провели скоординированную атаку, которая лишь совсем чуть-чуть не дотянула до своей главной цели. На фоне недавних очень филигранных и "глубоких" атак инфраструктуры Google, в которых, поверьте мне на слово, несмотря на все публичные открещивания, Google понесла очень серьёзные потери во всех смыслах (на самом деле именно из-за серьёзности произошедшего мы и видим столь агрессивные реваншистские заявления и конкретные действия Google против Китая - предполагаемого источника этих атак), столь "успешная" атака на Apache смотрится уже не так впечатляюще. Мир стремительно меняется: даже на компании, в штате которых работают суперспециалисты, лучшие в своих сферах, начинается оказываться давление, которому они уже не всегда могут противостоять. Стремительная коммерциализация и монетизация хакинга и сетевой преступности в целом, которую мы наблюдаем прямо сейчас, приводит к тому, что для многих "специалистов" это становится уже самой настоящей работой, причем не только престижной и суперувлекательной, но и высокооплачиваемой тоже. К сожалению, данный инцидент с проектом Apache вновь обращает внимание на эту серьёзную нерешенную проблему и заставляет очередной раз задуматься, что при повышении роли и значимости компьютерной инфраструктуры в нашей повседневной жизни требуется также соответственно повышать и уровень её безопасности и стабильности, чему часто пока уделяется явно недостаточно внимания и сил, как в государственных организациях, так и в частных корпорациях по всему миру.
Игорь САВЧУК,
[email protected]
Горячие темы