New We are sorting MAX channels into categories and territories. Read the news

Linux может убить программу за попытку открыть файл



Для этого есть seccomp strict — режим, который резко ограничивает доступ потока к системным вызовам:
if (prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT) == -1) {
    perror("seccomp");
    return 1;
}
После успешного включения разрешены только `read`, `write`, системный `_exit` и `sigreturn`. Попытка открыть новый файл, создать процесс или сокет приводит к принудительному завершению. В однопоточной программе — через SIGKILL.

Зачем это нужно? Представьте обработчик недоверенных данных: он заранее получает необходимые дескрипторы, включает ограничения и приступает к вычислениям. Даже если злоумышленник перехватит выполнение, доступные ему действия будут сильно ограничены.

Но уже открытые файлы и сокеты остаются доступны через `read` и `write`. Поэтому обещание «полностью отрезать сеть одним вызовом» некорректно.

Режим настолько строгий, что даже обычные библиотечные функции могут вызвать запрещённый syscall. Для прикладных программ чаще нужен seccomp-фильтр с собственным списком разрешённых вызовов.
Views: 634
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go