Безопасность компьютерных систем 2017/SECCOMP: различия между версиями
Перейти к навигации
Перейти к поиску
Gamajun (обсуждение | вклад) Нет описания правки |
Gamajun (обсуждение | вклад) Нет описания правки |
||
| Строка 2: | Строка 2: | ||
Ссылки для изучения: | Ссылки для изучения: | ||
# Рекомендуемая основная презентация: http://events.linuxfoundation.org/sites/events/files/slides/limiting_kernel_attack_surface_with_seccomp-ContainerCon.eu_2016-Kerrisk.pdf | # Рекомендуемая основная презентация (пригодится для выполнения бонусного задания к заданию 3): http://events.linuxfoundation.org/sites/events/files/slides/limiting_kernel_attack_surface_with_seccomp-ContainerCon.eu_2016-Kerrisk.pdf | ||
# https://eigenstate.org/notes/seccomp | # https://eigenstate.org/notes/seccomp | ||
# Kafel - язык для конструирования политик seccomp (not an official Google product) https://github.com/google/kafel | # Kafel - язык для конструирования политик seccomp (not an official Google product) https://github.com/google/kafel | ||
Текущая версия от 19:17, 4 декабря 2017
Linux seccomp
Ссылки для изучения:
- Рекомендуемая основная презентация (пригодится для выполнения бонусного задания к заданию 3): http://events.linuxfoundation.org/sites/events/files/slides/limiting_kernel_attack_surface_with_seccomp-ContainerCon.eu_2016-Kerrisk.pdf
- https://eigenstate.org/notes/seccomp
- Kafel - язык для конструирования политик seccomp (not an official Google product) https://github.com/google/kafel
Тестовый пример 2
#include <stdio.h>
#include <seccomp.h>
#include <unistd.h>
#include <sys/fcntl.h>
#include <errno.h>
int main() {
pid_t pid;
scmp_filter_ctx ctx = seccomp_init(SCMP_ACT_TRAP);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(sigreturn), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(exit_group), 0);
printf ("No restrictions yet\n");
seccomp_load(ctx);
pid = getpid();
printf("!! YOU SHOULD NOT SEE THIS!! My PID is%d\n", pid);
return 0;
}