Атаки, использующие периферийные устройства
В последние годы исследователями в области компьютерной безопасности были разработаны атаки на компьютерные системы, для выполнения которых не обязательно требуется присутствие каких-либо уязвимостей в операционной системе. такие атаки проводятся с помощью специальных периферийных устройств, подключаемых к компьютерной системе. для их проведения, как правило, требуется физический доступ к компьютеру. Указанные атаки могут осуществляться как сотрудниками организации, в которой установлены компьютерные системы, так и сотрудниками компаний, осуществляющих производство или поставку комплектующих.
ОПАСНОСТЬ МЕХАНИЗМА DMA
Атаки с применением периферийных устройств, информация о которых будет приведена ниже, основаны на использовании технологии прямого доступа к системной памяти (Direct Memory Access — DMA) [1]. Компьютеры, оснащенные контроллерами DMA, позволяют DMA-устройствам передавать данные непосредственно в оперативную память ПК без обращения к процессору. Технология DMA значительно увеличивает производительность компьютера и входящих в его состав устройств. DMA-устройства включают жесткие диски, видеокарты, сетевые карты, звуковые карты, и, по сути, все периферийные устройства, которым требуется высокая скорость передачи данных.
Если имеются внешние порты, разрешающие использование DMA, такие, как PCI, PCI Express, FireWire, Thunderbolt, ExpressCard, PCMCIA или Cardbus, существует возможность подключить к компьютеру DMA-совместимое устройство и при помощи установленного на нем программного обеспечения провести атаку путем несанкционированного чтения оперативной памяти или записи в нее информации.
Прямой доступ к памяти может быть использован для атак даже на хорошо защищенный компьютер. Как отмечают специалисты, атаки с использованием технологии DMA, запущенные с периферийных устройств, способны скомпрометировать хост-компьютер даже без использования уязвимостей операционной системы.
Опасность механизма DMA заключается в том, что он включен при загрузке, не требует аутентификации для чтения и записи области памяти, а также значительно влияет на производительность компьютера в случае его отключения. К порту с поддержкой DMA при помощи кабеля (USB, FireWire и т. д.) можно подключить другой компьютер (или ноутбук) и запустить на нем программное обеспечение для чтения и записи содержимого памяти атакуемого компьютера.
DMA-АТАКИ НА ОСНОВЕ ВНЕШНИХ ПОДКЛЮЧАЕМЫХ К ПК УСТРОЙСТВ
За последние десять лет исследователи в области компьютерной безопасности продемонстрировали различные DMA-атаки, основанные на использовании периферийных аппаратных устройств, подключаемых к компьютеру, и предложили ряд мер по улучшению защиты вычислительных систем (см., в частности, [2, 3]).
В 2005 году американская компания Internet Security Systems опубликовала информацию об атаке на компьютерную систему, в которой использовался мобильный телефон компании Motorola. Атака осуществлялась посредством запуска вредоносного кода на телефоне, подключенном к USB-порту. При проведении атаки на дисплее атакуемого компьютера появлялось «окно», что позволяло ее обнаружить. Данная атака служила, скорее, подтверждением возможности реализации подходов такого типа, и при ее реализации не использовалось полнофункциональное вредоносное программное обеспечение.
В 2004–2005 гг. исследователи из Аахенского университета опубликовали результаты своей работы, касающейся проведения DMA-атаки с использованием плеера iPod компании Apple, подключаемого к компьютеру через интерфейс Firewire. По информации исследователей, они могли копировать информацию, выводимую на монитор компьютера, а также получать криптографические ключи, считывая информацию при помощи технологии DMA. Выполняя при помощи DMA операции записи, они могли изменять информацию на мониторе компьютера, а также проводить атаки на ПК по получению привилегированного доступа и осуществлять инъекцию кода в системную память.
В 2006 году эксперт новозеландской компании, предоставляющей услуги в области компьютерной безопасности, указал на возможность проведения DMA-атаки на ноутбук с установленной операционной системой Windows XP, в ходе которой также использовался интерфейс Firewire.
В 2007 году немецкие исследователи опубликовали результаты своей работы, касающейся проведения DMA-атаки, позволяющей похищать секретные SSH-ключи, а также осуществлять инъекцию произвольного кода на атакуемом компьютере. Выполнение вредоносного кода давало атакующему возможность интерактивного доступа к ПК с привилегиями администратора. При проведении этой атаки также использовался интерфейс Firewire.
Широкую известность DMA-атаки получили после 2008 года, когда исследователи из Принстонского университета обнаружили, что механизм DMA может быть использован для компрометации системы шифрования BitLocker корпорации Microsoft. Исследователи смогли восстановить секретные ключи в таких системах шифрования, как BitLocker, FileVault, dm-crypt и TrueCrypt.
DMA-атакам подвержены не только операционные системы Microsoft. Существует DMA-атака на систему шифрования жесткого диска FileVault 2 на компьютере Apple, работающем под управлением операционной системы X Lion. Атака была реализована с помощью сценария Python.
В 2012 году американскими исследователями была продемонстрирована еще одна атака, позволяющая обходить механизм шифрования жесткого диска. Указанная атака направлена на технологию шифрования, реализованную в центральном процессоре компьютерной системы. Особенность применяемой технологии шифрования заключалась в том, что информация о ключах хранилась в регистрах процессора и никогда не загружалась в ОЗУ компьютера.
Основная идея атаки состояла в том, чтобы провести инъекцию кода в пространство ядра. В ходе атаки использовался обработчик прерываний. Вредоносный код осуществлял перезапись информации о ключах из регистров процессора в оперативную память, где она посредством использования технологии DMA становилась доступной для атакующего.
При получении образа физической памяти в атаке был задействован интерфейс Firewire. После проведения сканирования полученного образа памяти становилось возможным получение ключей шифрования.
Результаты опубликованных научных работ показывают, что при проведении атак на ПК в качестве внешних периферийных устройств можно также использовать программируемые логические интегральные схемы (ПЛИС). В одной из предложенных атак к ПК через интерфейс cardbus было подключено устройство на ПЛИС, которое использовалось для перехвата паролей и секретных ключей, находящихся в оперативной памяти. С его помощью можно было снять блокировку, обеспечиваемую экранной заставкой.
В другой аналогичной атаке ПЛИС были размещены на карте PCMCIA. В результате атаки с использованием такой карты можно было снять защиту, обеспечиваемую экранной заставкой и выполнить на ПК произвольный код. Для поиска требуемой области памяти атакуемого ПК использовалось сканирование всех страниц физической памяти.
В 2014 году немецкими исследователями были продемонстрированы атаки на компьютерные системы, осуществляемые с помощью «модернизированных» USB-устройств. Они разработали вредоносное программное обеспечение BadUSB, устанавливаемое в микросхему контроллера USB-накопителя, поэтому его присутствие очень трудно обнаружить. Зараженный USB-накопитель способен захватить управление компьютером, незаметно изменять файлы или даже осуществлять перенаправление Интернет-трафика.
DMA-АТАКИ НА ОСНОВЕ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ, ВХОДЯЩИХ В СОСТАВ КОМПЬЮТЕРНОЙ СИСТЕМЫ
В последние несколько лет были разработаны атаки, проводимые с использованием периферийных устройств, входящих в состав компьютерной системы. К ним относятся, например, сетевые и графические адаптеры, а также специальные контроллеры управления.
В 2009 году польские исследователи показали, что технология DMA, реализованная в подсистеме Intel ME, может быть использована для осуществления записи информации в память подключенного к сети компьютера. Это стало возможным благодаря уязвимости, позволяющей проводить инъекцию кода в среду ME. Указанный код не представлял собой полнофункциональную вредоносную программу, но подтвердил возможность проведения подобных атак.
Атаки, использующие сетевые адаптеры компьютерной системы, были описаны в работах французских исследователей. В 2010 они продемонстрировали атаку, использующую уязвимость во встроенном программном обеспечении работающего сетевого адаптера. Скомпрометированный сетевой адаптер использовался при атаке на хост-компьютер, в ходе которой был создан бэкдор. Исследователи разработали способ, с помощью которого можно было получить доступ к внутренней памяти сетевого адаптера. Осуществление такого доступа является очень сложной и нетривиальной задачей.
В 2008–2010 гг. были продемонстрированы DMA-атаки с использованием SSH-демона, в ходе которых проводилось считывание содержимого памяти ПК. В ходе атак задействовался сетевой адаптер совместно с видеокартой. Инсталляция SSH-демона осуществлялась в результате перезаписи встроенного программного обеспечения указанных устройств. Обмен информацией между сетевым адаптером и видеокартой осуществлялся по каналам PCI.
В 2013 году греческими исследователями была продемонстрирована атака, при проведении которой использовался выполняемый на графическом адаптере программный код, предназначенный для перехвата нажатий клавиатуры ПК. Для поиска содержимого буфера клавиатуры осуществлялось сигнатурное сканирование. В ходе атаки при проведении сканирования требовалось использование ресурсов центрального процессора в режиме ядра.
В последние несколько лет были разработаны атаки, осуществляющие установку вредоносного кода на контроллерах жестких дисков. Одна из них была опубликована коллективом экспертов по информационной безопасности в 2013 году. Исследователи продемонстрировали скрытый бэкдор, устанавливаемый на контроллере жесткого диска компьютерной системы. Целью атаки было получение данных, хранящихся на диске.
В аналогичной работе, появившейся в 2014 году, описывалась атака, основанная на использовании контроллера жесткого диска. В ходе атаки вредоносный код записывался на флеш-память контроллера, затем загружался в его ОЗУ и обрабатывался встроенным микропроцессором. Однако исследователи не сообщили, каким образом можно было бы использовать технологию DMA для доступа к оперативной памяти атакуемого ПК.
СПЕЦИАЛЬНЫЕ ПРОГРАММНЫЕ И ПРОГРАММНО-АППАРАТНЫЕ СРЕДСТВА ДЛЯ ПРОВЕДЕНИЯ АТАК
Исследователями из Технического университета Берлина был разработан прототип программного средства, предназначенного для проведения атак на компьютерные системы на платформах Windows или Linux. Указанное средство, названное DAGGER, представляет собой кейлоггер. Выполнение вредоносного кода происходит в подсистеме Intel ME. После обновления функционала программы стало возможным проводить атаки с получением прямого доступа к информации, находящейся в основной памяти компьютера. Применение указанного средства позволяет похищать криптографические ключи и т. д.
Программное средство Inception, разработанное норвежским исследователем, осуществляет модификацию работающей на компьютере операционной системы таким образом, что для входа можно использовать любой пароль. В частности, в скомпрометированную систему можно войти под именем администратора без пароля. Так как модификация операционной системы выполняется в оперативной памяти, то после перезагрузки все внесенные изменения исчезают, что затрудняет обнаружение указанного программного средства. С помощью Inception можно проводить атаки на компьютерную систему через интерфейсы PCI / PCI Express, FireWire, Thunderbolt, ExpressCard, PC Card и др. Программное средство Inception позволяет получить образ оперативной памяти компьютера. Его можно использовать для атак на различные платформы: Windows, Mac, Linux.
Другим средством проведения атак, направленных против аппаратного оборудования компьютерной системы, является программно-аппаратное устройство SLOTSCREAMER, представляющее собой карту расширения. Указанное средство позволяет осуществлять удаленные атаки, использующие DMA-технологии. Устройство SLOTSCREAMER позволяет обходить программно-аппаратную защиту атакуемой компьютерной системы, в том числе и через интерфейс Thunderbolt.
Еще одним средством, предназначенным для осуществления DMA-атак, является PCI-карта под названием Tribble. В необходимый момент она активируется и начинает считывать содержимое памяти и записывать информацию на внешнее запоминающее устройство, используя технологию DMA. Данный подход предполагает необходимость скрытой установки карты Tribble на компьютер с целью последующего считывания образа памяти. Установка PCI-карты может оказаться затруднительной для атакующей стороны, поскольку предполагает физический доступ к системному блоку.
Коммерческое распространение получило устройство WindowsSCOPE CaptureGUARD, которое выпускается в различных вариантах: для шин PCI Express и ExpressCard. Устройство представляет собой карту расширения, устанавливаемую в разъем PCI Express. С помощью этого устройства осуществляется прямой доступ к физической памяти компьютерной системы, что позволяет проводить считывание и последующую запись образа памяти в файл. Для работы устройства требуется установить в операционной системе специальный драйвер. Устройство WindowsSCOPE CaptureGUARD работает на компьютерных системах под управлением Windows XP, Windows Vista и Windows 7 и имеющих слот расширения PCI Express.
О МЕРАХ ЗАЩИТЫ
В связи с реальной возможностью утечки секретных данных в результате атак, основанных на использовании периферийных устройств, разработка соответствующих мер защиты компьютерных систем является важной задачей. Такие меры должны предусматривать как программно-аппаратные способы предотвращения указанных атак, так и обнаружение атакующих воздействий, связанных с прямым доступом к системной памяти.
Один из методов противодействия атакам с применением внешних устройств заключается в использовании штатных средств защиты компьютерных систем. Например, системный администратор с помощью средств операционной системы может заблокировать работу потенциально опасных внешних интерфейсов компьютера. Но имеются и другие возможности. Так, в последних версиях операционных систем существует возможность блокировки DMA-технологии, оставляя в то же время работоспособными другие важные функции.
Следует отметить, что зарубежные компании, специализирующиеся в области защиты информационных систем, уже выпускают коммерческие программно-аппаратные средства, предотвращающие возможность проведения атак с использованием вредоносных периферийных устройств и DMA-технологии.