Система обнаружения атак — это программный или программноаппаратный комплекс, предназначенный для выявления и по возможности предупреждения действий, угрожающих безопасности информационной системы.
Основные подходы к обнаружению атак практически не изменились за последнюю четверть века, и, несмотря на громкие заявления разработчиков, можно с уверенностью утверждать, что концептуально обнаружение атак базируется либо на методах сигнатурного анализа, либо на метода обнаружения аномалий. Возможно также совместное использование указанных выше методов.
Сигнатурный анализ основан на предположении, что сценарий атаки известен и попытка ее реализации может быть обнаружена в журналах регистрации событий или путем анализа сетевого трафика. В идеале администратор информационной системы должен устранить все известные ему уязвимости.
Применение методов сигнатурного анализа требует от разработчика СОА выбора или создания специального языка, позволяющего описывать регистрируемые системой события, а также устанавливать соответствия между ними. Универсальность и полнота этого языка являются определяющими факторами эффективной работы системы обнаружения, так как в конечном счете на этом языке будут сформулированы правила, по которым выявляется атака.