Ученые Массачусетского технологического института при финансовой поддержке Агентства перспективных оборонных исследований США (DARPA) разработали программное обеспечение, которое позволяет приложениям работать даже во время атак и при этом находит и устанавливает постоянные "заплаты" для защиты этих приложений.

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

Как пояснил ведущий исследователь проекта Мартин Ринард, сейчас проводятся исследования, чтобы определить, возможно ли превратить систему в коммерческий продукт.

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

В ходе тестирования, выполняемого по заказу DARPA, ClearView подвергалась атакам, разработанным группой из SPARTA, субконтрактора агентства, специализирующегося на вопросах безопасности. Во время таких атак ClearView не допустила  выполнения никакого вредоносного кода в приложении и нарушения работы.

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

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

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

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

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

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

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

Код ClearView не содержит никаких компонентов, ориентированных на конкретные приложения, поэтому его можно использовать для выявления атак и установки заплат в любом приложении.

Для того чтобы протестировать, насколько хорошо работает система, организаторам атаки заранее сообщали о том, какие приложения будут ей подвергнуты. По словам Ринарда, на первом этапе ClearView вносил необходимые исправления в 70% случаев, а на втором – в 92% случаев.