|
Конечно, программа
полагается на формальные доказательства, в арсенале у нее
еще много интересного, в том числе и эвристические правила,
позволяющие более точно локализовать уязвимость, так сказать,
уточнить зону действия патча, "сузить круг подозреваемых".
После подобный уточнений программа генерирует несколько
пробных вредоносных кодов и проверяет их на работоспособность.
Конечно, даже при столь серьезном подходе
говорить о стопроцентной уверенности в том, что в итоге
будет сгенерирован код, способный нанести реальный вред
системе, говорить не приходится. Однако, испытания, проведенные
на последних пяти патчах от MicroSoft показали работоспособность
APEG - за время от шести секунд до трех минут был сгенерирован
код, эксплуатирующий каждую из закрываемых патчем уязвимостей.
Конечно, это не в коей мере не доказывает универсальность
подобной технологии, да и сами уязвимости бывают разными
по критичности - вполне возможно, что выпустив очередной
патч, компания-производитель ПО вносила мелкие изменения
в интерфейс, "латала дыры", через которые большой
урон нанести просто невозможно.
Однако, APEG дало общественности главное
- осознание проблемы, осознание того, что с этой проблемой
никто серьезно не борется. Та же MicroSoft, активно выпускающая
сервис-паки к своим продуктам, могла бы выделить часть прибыли
для фундаментального исследования этой проблемы, и постараться
придумать механизмы защиты от подобного рода взломов, ведь
проблема возникла не сегодня, и даже не вчера...
Однако, сами разработчики APEG, конечно
же, разработавшие этот механизм не для обогащения, а для
привлечения внимания общественности к проблеме, предлагают
свое видение вариантов решения проблемы. Прежде всего, это
шаги, направленные на ускорение распространения сервис-паков,
к примеру, использование для этой цели мощностей пиринговых
сетей, получивших огромное распространение во всем мире.
Кроме того, интересным представляется решение по рассылке
патчей отдельно от ключей активации, которые в одно и то
же время запустят установку патчей по всему миру. В общем,
решений много, в том числе и чисто "программерских"
- затемнение кода, использование команд-пустышек, сбивающих
с толку алгоритмы, и т.д. Повторюсь, важны не решения, важна
решимость претворить их в жизнь, а вот тут-то лидеры производства
ПО и не особо чешутся. Что ж, остается ждать, пока грянет
гром, и корпорации, продающие ПО, задумаются над этой проблемой.
Аппаратные закладки на уровне процессоров
Сотрудники Иллинойского университета (Урбана-Шампань)
на конференции-семинаре по крупномасштабным и новым компьютерным
угрозам (USENIX workshop on Large-Scale Exploits and Emergent
Threats [LEET]) представили новый и в чем-то удивительный
подход к реализации в общем-то не нового способа реализации
широкого спектра дистанционных атак на компьютеры общего
назначения. Удивителен этот подход не только своей реализацией,
кстати, в нем нет ничего сложного, но и высокой эффективностью
и устойчивостью к обнаружению.
На примере собственных разработок исследователи
показали, как при помощи сравнительно небольшого (несколько
тысяч) количества элементов можно организовать атаки, которые
невозможно определить традиционными программными средствами,
да и предотвратить существующими способами не представляется
возможным, поскольку элементы, задействованные в атаке,
находятся ниже стека программ. Конечно, хакеру-одинкочке
или небольшим хакерским группировкам организовать подобное
не по силам, однако на уровне террористических организаций,
правительственных служб или бизнес-структур такая разработка
представляется вполне работоспособной.
По сути, однажды сработавшая подобным образом
схема навсегда компрометирует производителя компьютеров
и закрывает для него рынок. Поэтому производители компьютерного
железа должны задуматься в первую очередь о безопасности
собственного бренда, усилить контроль над разработкой и
сборкой компьютеров общего назначения.
Технически подобная схема выглядит так:
при производстве процессоров в электрическую схему закладывается
несколько тысяч посторонних элементов. Срытые от остальной
системы элементы обеспечивают своего рода плацдарм для атаки
- вычислительные мощности, работающие параллельно с основной
системой, и не обнаруживаемые традиционными средствами,
поскольку не используют основные мощности системы.
Хотя подобные схемы атак имеют огромные
масштабы и известны достаточно давно, их серьезное исследование
только начинается, ограничиваясь пока что простейшими троянскими
программами. А между тем, развитие ситуации видится не очень
радужным - любые меры, на данный момент разработанные для
борьбы с подобными схемами, могут вызвать ответные контрмеры
атакующей стороны, и конфронтация может развиваться по нарастающей
практически бесконечно.
Однако, давайте вернемся к работе "Designing
and Implementing Malicious Hardware" by Samuel T. King
et al. Исследователи на действующей модели показали реализацию
схемы IMPs (Illinois Malicious Processors, "иллинойских
вредоносных процессоров"), показали конкретные примеры
атак, организованных по этому принципу. Кроме того, была
доказана универсальность подобного подхода - на одной и
той же модели были реализованы несколько разных по типу
атак, при чем модель процессора была жестко ограничена по
свободному месту.
Разработка, на примере которой была продемонстрирована
технология закладки и последующей атаки, представляет собой
процессор системы FPGA - чип, позволяющий для любых целей
перепрограммировать его логику. Соответственно, на примере
действующей модели было показано несколько типов атак, на
которых стоит остановиться подробнее.
Эскалация привилегий. Эта атака позволяет
поднять привилегии пользовательского процесса до привилегий
root, то есть, высших из возможных в системе. Суть атаки
состоит в том, что аппаратная закладка отключает защиту
привилегированных областей памяти, заставляя операционную
систему не замечать, что сторонний процесс использует память
с высшими привилегиями. Для организации подобной закладки
необходимо совсем немного логических единиц - в рамках представленной
модели логика подобной атаки занимала 0,05% процессора.
Такой подход позволяет полностью управлять безопасностью
компьютера, влиять на любые приложения, запущенные в системе.
Входной бэкдор. При помощи технологии IMPs
возможно создавать и входные бэкдоры - своего рода черные
ходы в систему, позволяющие осведомленному о уязвимости
машины хакеру проникнуть в систему. Суть закладки в следующем:
вредоносная логика подключается с блоку анализа входящих
пакетов, пассивно следя за входящими пакетами. После того,
как приходит пакет определенной конфигурации, отосланный
злоумышленником, он, конечно же, будет отвергнут основной
системой, но вредоносная подсистема, проанализировав и приняв
пакет, установит в систему часть пакета, представляющую
собой вредоносный код. По сути, подсистема срабатывает каждый
раз, когда основная система анализирует UDP пакета, принимая
решение о том, принимать его или нет. Поэтому, например,
загрузить в процессор новый код прошивки, содержащий серьезную
уязвимость, достаточно легко, просто отправив пакет необходимой
конфигурации.
К примеру, перепрошив таким образом процессор,
можно сделать так, чтобы каждый, кто входит в систему с
существующим логином и заранее известным прошивке паролем,
был принят машиной как нужный пользователь - код подменит
известный ему пароль на соответствующий этому пользователю,
и идентификация пройдет успешно. После этого прошивка выгружает
себя из памяти, и, естественно, уже не может быть обнаружена
никакими средствами. Таким образом, время теневой работы
приложения сводится к минимуму - послав пакет, хакер через
несколько секунд входит в систему, не оставляя при этом
никаких очевидных следов взлома.
Интересно и то, что похожий механизм может
быть реализован и на машине, вообще не подключенной к сети!
Для этого может быть использован механизм идентификации
внешних дисков - подключив к машине "правильную"
флешку, mp3-плеер или другой внешний накопитель, хакер активирует
тот же механизм закладки, и так же беспрепятственно попадает
в систему, не оставляя за собой следов.
Таким образом, подобный механизм, увеличивая
размер прошивки процессора на 0,08%, дает возможность гарантировано
получить доступ к компьютеру, независимо от установленного
на нем ПО, от того, насколько оно свежее и насколько часто
устанавливаются на него различные "заплатки" -
уязвимость реализована на уровне процессора.
Похищение паролей. В теневом режиме многое
возможно, в том числе и постоянный мониторинг работы компьютера.
Похитить пароли пользователей машины становится не в пример
легче, если на конечной машине установлена специальная закладка.
Конечно, проанализировав трафик машины, можно отловить пароли
и расшифровать их, однако для анализа понадобится огромное
количество времени - передача пароля занимает слишком малый
объем в общем потоке сетевой информации. Другое дело, когда
вредоносный код при каждой передаче пароля маркирует пакет,
и злоумышленник точно знает, с каком из пакетов находится
пароль, а где "пустышка".
Оптический темпест - анализ побочной
оптической информации
Тема оптического темпеста, в общем-то не
нова - в 2002 году Маркус Кун, ученый из Кембриджа, разработал
механизм считывания и анализа информации с электронно-лучевого
монитора по мерцанию света в комнате. По сути, глубокие
знания принципов работы ЭЛТ-мониторов позволяют с создать
алгоритмы расшифровки изображения на мониторе, если взять
достаточно малые промежутки времени, и проанализировать
освещенность комнаты с достаточной точностью как по интенсивности,
так и по спектру. Кун создал действующую модель подобного
прибора, распознающую изображение на мониторе с расстояния
в несколько сотен метров.
В это же время приблизительно такой же
прибор разработал Джо Лоухри, его прибор позволял с расстояния
в полтора километра снимать данные со светодиодов (как известно,
у светодиода высокая скорость реакции, и, допустим, мерцание
светодиода модема соответствует проходящим через модем битам)
сетевого оборудования, и анализировать полученные данные.
Группа исследователей из Саарландского
университета (Саарбрюккен, Германия) представила интереснейшую
работу ["Compromising Reflections or How to Read LCD
Monitors Around the Corner" by M. Backes et al.], доказав
таким образом, что не нужно быть правительственной организацией
или мегакорпорацией, для того чтобы создавать действительно
уникальные действующие приборы, при помощи которых можно
сканировать мониторы. Так, исследователи из приборов и материалов,
имеющихся в свободной продаже, соорудили устройство, считывающее
отражение монитора в таких тривиальных предметах, как очки,
пластиковые и стеклянные бутылки, металлические предметы
- ложки, чайники, кофейники, и т.д. По сути, единственным
дорогостоящим и критичным компонентом прибора является телескоп
- расстояние, с которого можно снимать информацию, на прямую
зависит от качества этого компонента.
Так, к примеру, действующая установка с
телескопом, приобретенным по случаю за 500 долларов, позволяет
получать читабельный текст, набранный в редакторе Word шрифтом
в 18 пунктов с 10 метров, в то время, как модернизированная
установка, с телескопом Dobson (27,5 тысячи долларов) уже
снимала отражение за 30 и более метров, и позволяла с этого
расстояния в отражениях читать тексты в 10 и менее пунктов.
По словам исследователей, их наработками
уже интересовалась одна из германских спецслужб, ведь эта
технология достаточно проста, и при этом позволяет без проблем
получать картинку с монитора, стоящего "спиной"
к окну из близлежащего здания или, к примеру, спецавтомобиля.
Можно с уверенностью говорить, что на этом наработки по
этой теме не прекратятся, ведь этот способ достаточно универсален
и относительно недорог. С другой стороны, когда за дело
берутся спецслужбы, о результатах работы над проектом говорить
уже не приходится...
Таким образом исследователи, продемонстрировав
свое устройство, показали, что добывать информацию можно
не только проникая в компьютеры пользователей, но и, так
сказать, бесконтактно, не входя в систему, и не оставляя
за собой следов. Хотя, как отмечают сами исследователи,
защититься от похищения информации достаточно легко - закрытые
шторы или жалюзи - непреодолимая преграда для шпиона, снаряженного
подобной установкой.
|
|