Seccomp — механизм безопасности Linux для фильтрации системных вызовов | Глоссарий FREEHOSTING

seccomp

Secure Computing Mode
seccomp — Seccomp (Secure Computing Mode) — механизм ядра Linux для ограничения системных вызовов, доступных процессу, что повышает безопасность и снижает риск эксплуатации уязвимостей.

Определение простыми словами

Seccomp, или Secure Computing Mode, — это технология безопасности ядра Linux, которая позволяет ограничить набор системных вызовов, доступных определённому процессу. Таким образом, можно снизить поверхность атаки, предотвратить нежелательные действия программ и минимизировать последствия возможных уязвимостей.

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

Сравнение

Механизм Механизм ограничения Гранулярность Типы угроз
Seccomp Фильтрация системных вызовов Высокая Эксплуатация уязвимостей и нарушение политики безопасности процессов
AppArmor Политики доступа к файлам и операциям Средняя Несанкционированный доступ к файлам и сервисам
SELinux Контроль доступа на уровне объектов и subject’ов Очень высокая Комплексные угрозы безопасности на уровне ОС

Кейсы использования

  • Изоляция контейнеров: seccomp используется в Docker и LXC для минимизации прав контейнеров.
  • Безопасность серверных приложений: ограничение функций для защиты от эксплойтов.
  • Разработка безопасных сервисов: предотвращение выполнения нежелательных системных вызовов.
  • Ограничение браузеров и плееров для защиты от атак через плагины.

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

Технические детали

Seccomp использует фильтры на основе BPF (Berkeley Packet Filter), которые определяют, какие системные вызовы разрешены или запрещены. Основной режим seccomp позволяет переключить процесс в режим ограниченного набора вызовов (только read, write, exit, и sigreturn).

Расширенный режим seccomp-bpf позволяет создавать кастомные правила фильтрации. Правила описываются в виде фильтра, который ядро применяет к системным вызовам.

# Пример seccomp профиля в формате JSON для Docker
{
  "defaultAction": "SCMP_ACT_ERRNO",
  "syscalls": [
    {
      "names": ["read", "write", "exit", "sigreturn"],
      "action": "SCMP_ACT_ALLOW"
    }
  ]
}

Подробнее про настройку seccomp и примеры профилей можно прочитать на Docker и LXC. Для сведения о взаимодействии seccomp с виртуализацией полезна статья Kubernetes.

Частые вопросы

Что такое seccomp?

Seccomp — механизм ядра Linux для ограничения системных вызовов, повышающий безопасность процессов.

Как seccomp повышает безопасность?

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

Где применяется seccomp?

В контейнерах, облачных и серверных приложениях для усиления изоляции и ограничения прав процессов.