Всем привет! Ранее мы уже упоминали Falco в одном из своих постов. Сегодня расскажем немного подробнее.
Falco (а точнее Falco Project) – это open source инструмент, который реализует мониторинг поведенческой активности, позволяя выявлять аномальные действия в приложениях. Он выполняет контроль событий на уровне ядра операционной системы и собирает данные о контейнерах, приложениях, хосте и сетевой активности.
Что именно делает Falco?
Инструмент использует системные вызовы для реализации защиты и мониторинга системы:
🍡Разбор используемых системных вызовов Linux на уровне ядра
🍡Проверка потока данных на соответствие заданным правилам
🍡Оповещение в случае срабатывания правила
Что Falco проверяет?
Инструмент использует набор правил по умолчанию для выявления нестандартного поведения, например:
🍡Эскалация привилегий
🍡Изменение namespace с использованием утилиты setns
🍡Чтение/запись в известные директории (например, /etc, /usr/bin и пр)
🍡Выявление сетевых аномалий
🍡Запуск различных shells (sh, bash, csh и пр)
🍡Запуск ssh (ssh, scp и пр)
🍡И пр.
Что такое правила Falco?
Правила – это набор элементов, которые можно проверить на уровне системы. Они задаются в конфигурационном файле, который представляет собой YAML-файл, содержащий 3 типа элементов:
🍡Правила (Rules) – условия, в соответствии с которыми генерируется событие ИБ
🍡Макросы (Macros) – шаблоны условий правил, которые могут повторно использоваться в правилах или других макросах
🍡Lists (Списки) – наборы данных, которые могут быть включены в правила, макросы или другие списки
Пример правила:
Инструмент генерирует набор событий ИБ, которые могут быть направлены в разные источники, такие как:
🍡STDOUT
🍡Файл
🍡Syslog
🍡Сторонняя программа
🍡HTTP/S end point
🍡Клиент, работающий через gRPC API
Информация задается на уровне конфигурационного YAML-файла.
Пример вывода события (stdout):
Falco (а точнее Falco Project) – это open source инструмент, который реализует мониторинг поведенческой активности, позволяя выявлять аномальные действия в приложениях. Он выполняет контроль событий на уровне ядра операционной системы и собирает данные о контейнерах, приложениях, хосте и сетевой активности.
Что именно делает Falco?
Инструмент использует системные вызовы для реализации защиты и мониторинга системы:
🍡Разбор используемых системных вызовов Linux на уровне ядра
🍡Проверка потока данных на соответствие заданным правилам
🍡Оповещение в случае срабатывания правила
Что Falco проверяет?
Инструмент использует набор правил по умолчанию для выявления нестандартного поведения, например:
🍡Эскалация привилегий
🍡Изменение namespace с использованием утилиты setns
🍡Чтение/запись в известные директории (например, /etc, /usr/bin и пр)
🍡Выявление сетевых аномалий
🍡Запуск различных shells (sh, bash, csh и пр)
🍡Запуск ssh (ssh, scp и пр)
🍡И пр.
Что такое правила Falco?
Правила – это набор элементов, которые можно проверить на уровне системы. Они задаются в конфигурационном файле, который представляет собой YAML-файл, содержащий 3 типа элементов:
🍡Правила (Rules) – условия, в соответствии с которыми генерируется событие ИБ
🍡Макросы (Macros) – шаблоны условий правил, которые могут повторно использоваться в правилах или других макросах
🍡Lists (Списки) – наборы данных, которые могут быть включены в правила, макросы или другие списки
Пример правила:
- rule: program_accesses_fileКуда отправляются события ИБ от Falco?
desc: track whenever a set of programs opens a file
condition: proc.name in (cat, ls) and evt.type=open
output: a tracked program opened a file (user=%user.name command=%proc.cmdline file=%fd.name)
priority: INFO
Инструмент генерирует набор событий ИБ, которые могут быть направлены в разные источники, такие как:
🍡STDOUT
🍡Файл
🍡Syslog
🍡Сторонняя программа
🍡HTTP/S end point
🍡Клиент, работающий через gRPC API
Информация задается на уровне конфигурационного YAML-файла.
Пример вывода события (stdout):
10:20:05.408091526: Warning Sensitive file opened for reading by non-trusted program (user=root command=cat /etc/shadow file=/etc/shadow)Дополнительную информацию можно найти в документации и здесь.