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

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

Данный метод защиты позволяет блокировать нападения, которые направлены на изменение функций самой программы или манипуляции с различными управляющими структурами, которые хранятся в оперативной памяти. В частности, к этому типу нападений относятся атаки с использованием переполнения буфера, манипуляцией с системой динамического выделения памяти и работы со стеком, некорректного форматирования строк. Большинство атак последнего времени устроено именно так. Однако экран памяти не в состоянии блокировать манипуляции функциями самого приложения. Так, инъекции SQL и PHP подобными средствами блокировать не удастся: эти атаки используют функциональные особенности приложений.

Примерно такие же механизмы защиты в Microsoft собираются интегрировать в подготавливаемое сейчас к выпуску обновление операционной системы Windows XP SP2.

Поделитесь материалом с коллегами и друзьями