Linux может убить программу за попытку открыть файл
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-фильтр с собственным списком разрешённых вызовов.
Канал в каталоге Максиметера
1 263 подписчиков · IT и технологии