Технологии для отражения неизвестных атак: часть вторая - Обнаружение вторжения методом анализа программы

Технологии для отражения неизвестных атак: часть вторая - Обнаружение вторжения методом анализа программы

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

Вторая методика отражения неизвестных атак - обнаружение вторжения путем анализа программы – впервые была предложена и проверена Вагнером и Деканом (Intrusion Detection via Static Analysis, 2001 IEEE Symposium on Security and Privacy). Эта модель IDS выполняет статический анализ программы, чтобы создать абстрактную, недетерминированную модель функций и системных запросов. Во время выполнения всех программ IDS сравнивает системные вызовы с имеющимися шаблонами. И если какая-то программа предпринимает попытку системного вызова, не предусмотренного в ее описании, защитная система предполагает, что произошло вторжение, нарушившее корректную работу программы, после чего блокирует подозрительные действия.

Основным достоинством этого метода является полное отсутствие ложных тревог (то, чем страдает большинство антивирусных и других защитных программ). Все сигналы тревоги этого метода действительно соответствуют атакам вирусов или вторжениям хакеров. Это и дает право таким системам принимать самые решительные ответные меры – блокирование всех вызовов и автоматическое закрытие всех подозрительных приложений и предупреждение системного администратора. Отсутствие ложных тревог объясняется программной природой IDS, которая содержит карту всех возможных законных запросов для каждой программы, таким образом, гарантируя, что любое обнаруженное отклонение от модели вызвано не кодом самой программы, а кодом, возникшим в результате программного сбоя или нападения.

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

Другое ограничение метода обнаружения вторжения путем анализа программы - неспособность обрабатывать многозадачные программы без явного механизма обнаружения местонахождения переключения потоков. Это не является проблемой для большинства UNIX программ, но затрудняет разработку и применение таких IDS в системах Windows, которые полагаются более явно на потоки пользователя. 

В общем, будущее у этой молодой (разработана всего несколько месяцев назад) технологии есть, и данный метод интенсивно развивается и совершенствуется. Если бы летом 2001 года печально известный червь Code Red ворвался бы в систему, защищенную такой IDS, то возможности для его размножения и любых деструктивных действий были бы сразу пресечены. Любой deface web-страницы, даже если он проходит тождественно на уровне системных вызовов замен подпрограмм, поставляющих содержание страниц, будет немедленно остановлен такой системой IDS до нанесения какого-либо повреждения, так как такое поведение не предусмотрено в первоначальной программе.

Домашний Wi-Fi – ваша крепость или картонный домик?

Узнайте, как построить неприступную стену