16.6.3 Предотвращение вторжений Защита систем и объектов тесно связана с обнаружением и предотвращением вторжений. Предотвращение вторжений, как следует из его названия, направлено на выявление попыток или успешных вторжений в компьютерные системы и инициирование соответствующих реакций на вторжения. Предотвращение вторжений включает в себя широкий спектр методов, которые варьируются по ряду осей, включая следующие:
Время, когда обнаружение происходит. Обнаружение может произойти в реальном времени (во время вторжения) или по факту.
Типы входных данных, изучаемых для обнаружения навязчивой активности. Они могут включать команды пользовательской оболочки, обрабатывать системные вызовы, а также заголовки или содержимое сетевых пакетов. Некоторые формы вторжения могут быть обнаружены только путем сопоставления информации из нескольких таких источников.
Диапазон возможностей ответа. Простые формы ответа включают предупреждение администратора о потенциальном вторжении или как-то прекращение потенциально навязчивой деятельности, например, уничтожение процесса, участвующего в такой деятельности. В сложной форме ответа система может прозрачно перенаправить действия злоумышленника на медовый горшок - фальшивый ресурс, выставленный злоумышленнику. Ресурс выглядит реальным для злоумышленника и позволяет системе отслеживать и получать информацию об атаке.
Эти степени свободы в пространстве разработки для обнаружения вторжений дали широкий спектр решений, известных как системы предотвращения вторжений (intrusion-prevention systems - IPS). IPS действуют как самоизменяющиеся межсетевые экраны, пропуская трафик, если не обнаружено вторжение (в этих точках трафик блокируется). Но только что представляет собой вторжение? Определение подходящей спецификации вторжения оказывается довольно сложным, и поэтому сегодня автоматические IPS обычно настроены на один из двух менее амбициозных подходов. В первом, называемом обнаружением на основе сигнатур, системный вход или сетевой трафик проверяется на предмет определенных моделей поведения (или сигнатур), о которых известно, что они указывают на атаки. Простой пример обнаружения на основе сигнатур - сканирование сетевых пакетов на наличие строки «/ etc / passwd», предназначенной для системы UNIX. Другим примером является обнаружение вирусов программным обеспечением, которое сканирует двоичные файлы или сетевые пакеты для известных вирусов. Второй подход, обычно называемый обнаружением аномалий, пытается с помощью различных методов обнаружить аномальное поведение в компьютерных системах. Конечно, не вся аномальная системная активность указывает на вторжение, но предполагается, что вторжения часто вызывают аномальное поведение. Пример обнаружения аномалий, наблюдающий за системой, вызывает демон-процесс, чтобы определить, отклоняется ли поведение системного вызова от нормальных шаблонов, что может указывать на то, что переполнение буфера использовалось в демоне для повреждения его поведения. Другим примером является мониторинг команд оболочки для обнаружения аномальных команд для определения времени пользователя или обнаружения времени аномального запуска для пользователя, что также может указывать на то, что злоумышленнику удалось получить доступ к учетной записи этого пользователя. Обнаружение на основе сигнатур и обнаружение аномалий можно рассматривать как два побочных идентификатора. Обнаружение на основе сигнатур позволяет определять опасное поведение и обнаруживать, когда происходит одно из этих поведений, тогда как обнаружение аномалий пытается охарактеризовать нормальное (или неопасное) поведение и обнаруживать, когда происходит что-то отличное от этих поведений. Однако эти разные подходы дают IPS с очень разными свойствами. В частности, обнаружение аномалий может обнаружить ранее неизвестные методы вторжения (так называемые атаки нулевого дня). Обнаружение на основе сигнатур, напротив, идентифицирует только известные атаки, которые могут быть кодифицированы по узнаваемой схеме. Таким образом, новые атаки, которые не рассматривались при создании подписей, будут избегать обнаружения на основе сигнатур. Эта проблема хорошо известна поставщикам программного обеспечения для обнаружения вирусов, которые должны выпускать новые сигнатуры с большой частотой, поскольку новые вирусы обнаруживаются вручную. Однако обнаружение аномалий не обязательно связано с выявлением суперсигнатуры. Действительно, серьезной проблемой для систем, которые пытаются обнаружить аномалии, является точная оценка «нормального» поведения системы. Если система уже была пробита, когда она тестировалась, то навязчивая деятельность может быть включена в «нормальный» тест. Даже если система тестируется чисто, без влияния навязчивого поведения, тест должен дать довольно полную картину нормального поведения. В противном случае количество ложных срабатываний (ложных срабатываний) или, что еще хуже, ложных срабатываний (пропущенных вторжений) будет чрезмерным. Чтобы проиллюстрировать влияние даже незначительно высокого уровня ложных тревог, рассмотрим установку, включающую сто рабочих станций UNIX, с которых регистрируются события, связанные с безопасностью, в целях обнаружения вторжений. Такая небольшая установка может легко сгенерировать миллион записей аудита в день. Только один или два могут быть достойны административного расследования. Если мы с оптимизмом предположим, что каждая фактическая атака отражается в записях аудита, мы можем приблизительно рассчитать частоту появления записей аудита, отражающих действительно навязчивую активность, следующим образом:
(2 intrusions / day ⋅10 records / intrusion) / (106records / day) = 0.00002.
Интерпретируя это как «вероятность появления навязчивых записей», мы обозначаем это как P (I); то есть событие I - это появление записи, отражающей действительно навязчивое поведение. Так как P (I) = 0,00002, мы также знаем, что P (¬I) = 1-P (I) = 0,999998. Теперь мы обозначим A сигналом тревоги, вызванным IDS. Точный IDS должен максимизировать как P (I | A), так и P (¬I | ¬A), то есть вероятность того, что тревога указывает на вторжение и то, что нет сигнала тревоги. Сосредоточившись на P (I | A) на данный момент, мы можем вычислить его, используя теорию Байеса:
P (I | A) = (P (I) ⋅P (A | I) / (P (I) ⋅P (A | I) + P (¬I) ⋅P (A | ¬I)) =
0,00002⋅P (A | I) / (0,00002⋅P (A | I) + 0,99999⋅P (A | ¬I))
Теперь рассмотрим влияние частоты ложных тревог P (A | ¬I) на P (I | A). Даже при очень хорошей частоте истинной тревоги P (A | I) = 0,8, казалось бы, хорошая частота ложных тревог P (A | ¬I) = 0,0001 дает P (I | A) ≈ 0,14. То есть, менее чем один из каждых семи сигналов тревоги означает реальное вторжение! В системах, где администратор безопасности исследует каждую тревогу, высокий уровень ложных тревог, называемый «эффектом рождественской елки», является чрезвычайно расточительным и быстро научит администратора игнорировать тревоги. Этот пример иллюстрирует общий принцип для IPS: для простоты использования они должны иметь чрезвычайно низкую частоту ложных тревог. Как уже упоминалось, достижение достаточно низкого уровня ложных тревог является особенно серьезной проблемой для систем обнаружения аномалий из-за трудностей адекватного сравнения нормального поведения системы. Тем не менее, исследования продолжают совершенствовать методы обнаружения аномалий. Программное обеспечение для обнаружения вторжений развивается, чтобы реализовывать сигнатуры, алгоритмы аномалий и другие алгоритмы и объединять их с целью более точного обнаружения аномалий.
Достарыңызбен бөлісу: |