На страже безопасностиОт острова к острову: заразительная скачка промо-материалов поставщика

Йеспер M. Йоханссон

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

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

Одним из своих любимых примеров использования человеческого элемента я обязан действиям Стива Стазиукониса (Steve Stasiukonis) из компании Secure Network Technologies в ходе его испытания сети корпорации-клиента на проникновение. Он разбросал флэш-накопители для USB с троянскими программами на них по автостоянке этой корпорации. Когда сотрудники утром прибыли на работу, их немало порадовали ничьи устройства, валяющиеся в разных местах стоянки. Сотрудники охотно собрали флэш-накопители и подключили их к первым же компьютерам, которые им попались: собственным рабочим станциям.

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

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

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

В начале

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

Встречается несколько очевидных вариантов этой схемы. Например, когда я ездил по свету, устраивая еженедельные презентации, почти каждый раз по их окончании находились люди, просившие у меня копию моих слайдов. Я неизменно давал им мою визитку и предлагал послать мне сообщение по электронной почте. Зачем было это делать, когда каждый из них с нетерпением протягивал мне накопитель для USB? Потому что я знаю о средствах вроде USB Hacksaw и Switchblade. (Если вы не знакомы с ними, загляните на wiki.hak5.org.)

По сути, эти средства позволяют практически кому угодно воспользоваться неосторожностью людей, оставляющих свои порты USB незащищенными. Например, Switchblade может скопировать следующее:

  • Сведения о системе
  • Все сетевые службы
  • Список слушающих портов
  • Все ключи программных продуктов Майкрософт на компьютере
  • Локальную базу паролей
  • Пароли для любых используемых компьютером беспроводных сетей
  • Все пароли для сети, сохраненные на компьютере находящимся в системе на данный момент пользователем
  • Пароли Internet Explorer®, Messenger, Firefox и электронной почты
  • Секреты локального администратора безопасности (Local Security Authority – LSA), в которые входят пароли всех учетных записей служб, записанные открытым текстом
  • Список установленных исправлений
  • Журнал работы обозревателя за последнее время

Все это переносится в файл журнала на устройстве памяти примерно за 45 секунд.

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

Эти средства используют U3 (u3.com), технологию, разработанную чтобы позволить пользователям приносить программы с собой на флэш-накопителе. По сути, флэш-накопитель, использующий U3, врет о себе. Оно сообщает операционной системе, что на самом деле является концентратором USB, к которому подключены флэш-накопитель и компакт-диск. Версии Windows®, предшествовавшие Windows Vista®, по умолчанию запускают программы, указанные в файле autorun.inf на компакт-дисках, но не на накопителях для USB. Сообщая ложную информацию о себе, флэш-накопитель для USB, использующий U3, обманывает операционную систему, делая возможным автоматический запуск средства запуска U3. Средство запуска U3, в свою очередь, может запускать программы, выдавать меню и делать практически все, из того, что можно делать с самим компьютером.

Средства использования уязвимостей просто заменяют средство запуска кодом для использования уязвимости. Последний автоматически срабатывает при вставке флэш-накопителя в порт системы под управлением Windows XP. На Windows Vista поток принятия решения AutoPlay работает иначе. Автоматический запуск для съемных устройств включен, точно так же, как для компакт-дисков. Это значит, что при вставке устройства произойдет какое-то действие. По умолчанию это будет появление диалога автовоспроизведения, как показано на рис. 1.

Рис. 1 Диалог автовоспроизведения появляется, кода пользователь вставляет съемное устройство с изображениями

Рис. 1** Диалог автовоспроизведения появляется, кода пользователь вставляет съемное устройство с изображениями **

Обратите внимание, что в диалоге на Рис. 1 имеется вариант «Всегда поступать так с изображениями». В результате устанавливается режим автовоспроизведения, который можно настроить с помощью панели управления, показанной на рис. 2.

Рис. 2 Настройка автовоспроизведения в Windows Vista

Рис. 2** Настройка автовоспроизведения в Windows Vista **(Щелкните изображение, чтобы увеличить его)

Настройка автовоспроизведения особенно интересна для пункта «Программы и игры». По умолчанию, это значит, что у съемного устройства имеется файл autorun.inf, указывающий какие-то программы для выполнения. Параметры на Рис. 2, относящиеся к «Программам и играм», хранятся в следующем разделе реестра:

Hive:    HKEY_CURRENT_USER
Key:    \Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\
UserChosenExecuteHandlers\AutorunINFLegacyArrival 
Value: (Default)
Data:
MSAutoRun – automatically executes the program specified in the autorun.inf file
   
MSPromptEachTime – prompts the user, using strings specified in the autorun.inf file, if available

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

Управление автовоспроизведением в сети

У администратора есть несколько способов управления автовоспроизведением в масштабах сети. Во-первых, можно не дать пользователю возможности включения автовоспроизведения на съемных устройствах и компакт-дисках посредством изменения параметра NoDriveTypeAutoRun, контролирующего типы дисков, для которых включено автовоспроизведение. Windows XP поставляется с NoDriveTypeAutoRun, установленным на 0x95, что отключает автовоспроизведение для неизвестных типов дисков, сетевых дисков и съемных устройств. Начиная с Windows XP SP2, параметр NoDriveTypeAutoRun по умолчанию установлен на 0x91. Это допускает работу автовоспроизведения на съемных устройствах хранения данных. При использовании групповой политики имеется параметр «Конфигурация пользователя»\«Административные шаблоны»\«Компоненты Windows»\«Политики AutoPlay», позволяющий управлять параметром NoDriveTypeAutoRun. Выбрав «Отключить параметр автовоспроизведения и выбрать компакт диск и съемные диски» можно отключить автовоспроизведение для обоих типов дисков.

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

Что, вероятно, нужно, так это контроль над тем, какие типы содержимого могут воспроизводиться автоматически. До некоторой степени это возможно в Windows Vista, поскольку у этой операционной системы на практике есть два уровня элементов управления автоматически запускаемым ПО. Другой элемент управления в групповой политике, показанный на рис. 3, позволяет отключить автовоспроизведение для программного обеспечения, использующего файлы autorun.inf, в прочем оставляя поведение автовоспроизведения в Windows Vista неизменным.

Рис. 3 Отключение файлов autorun.inf files с помощью групповой политики

Рис. 3** Отключение файлов autorun.inf files с помощью групповой политики **(Щелкните изображение, чтобы увеличить его)

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

Рис. 4 Поток решения автовоспроизведения

Рис. 4** Поток решения автовоспроизведения **(Щелкните изображение, чтобы увеличить его)

Другие подходы

Само собой, это лишь некоторые из средств, которые можно использовать для взлома компьютера с помощью флэш-накопителя для USB. Все типы средств могут быть использованы в этой ситуации, такие как средство, копирующее хэш-код пароля Windows NT® находящегося в системе пользователя (см. microsoft.com/technet/community/columns/secmgmt/sm1005.mspx).

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

Другим способом использовать сочетание пользователь/съемное устройство, является банальное представление заманчивой возможности. Например, какая часть пользователей щелкнет диалог на рис. 5? Не все, но, вероятно, многие. Смысл в том, что состряпать диалог, который будет слишком заманчив для пользователей, чтобы его проигнорировать, достаточно просто.

Рис. 5 Для какого количества пользователей этот диалог будет заманчив?

Рис. 5** Для какого количества пользователей этот диалог будет заманчив? **

Блокирование устройств

Новинка Windows Vista, групповая политика, теперь предоставляет набор политик для управления установкой устройств (см. рис. 6). Как показано, администратор может заблокировать установку любых новых съемных устройств, если драйвер указывает, что они съемные. Но если драйвер заявляет, что это не так, политика не вступает в силу. Таким образом, ее можно обойти, используя специальные драйверы.

Рис. 6 Политики управления установкой устройств Windows Vista

Рис. 6** Политики управления установкой устройств Windows Vista **(Щелкните изображение, чтобы увеличить его)

Для более детального контроля администратор может использовать политики для воздействия на конкретные классы установки устройств. Однако это требует знания GUID для конкретного класса устройств, который необходимо заблокировать (или допустить), делая такой подход заметно более сложным в управлении.

Минимальные права имеют значение

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

Однако, если ставший жертвой пользователь – администратор, последствия могут быть намного хуже. В худшем возможном случае, пользователь является администратором домена, и тогда захват управления всей сетью тривиален. Например, злоумышленник сможет извлечь хэш-код пароля пользователя из памяти. Система кэширует хэш-код внутри пространства процесса LSA при входе в систему, что позволяет его использовать для незаметной пользователю организации доступа к сетевым ресурсам от его имени. Злоумышленник с административными привилегиями может извлечь этот хэш-код и получить доступ к любым ресурсам сети с его помощью. Другими словами, при успешной атаке на администратора домена нарушается безопасность всего домена.

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

Йеспер M. Йоханссон является инженером группы безопасности программного обеспечения и пишущим редактором журнала TechNet Magazine. Он защитил диссертацию по информационным системам управления и более 20 лет работает в области обеспечения компьютерной безопасности.

© 2008 Корпорация Майкрософт и компания CMP Media, LLC. Все права защищены; полное или частичное воспроизведение без разрешения запрещено.