Предположим, Linux, двоичное foobar
, который имеет два различных режима работы:Ограничение доступа системного вызова для приложения Linux
- Режим A: хорошо себя режим, в котором системные вызовы
a
,b
иc
используются. - Режим B: Неверный режим, в котором используются системные вызовы
a
,b
,c
иd
.
a
системные вызовы, b
и c
безвредны, в то время как системный вызов d
является потенциально опасным и может привести к нестабильности в машине.
Предположим, что какой из двух режимов запуска приложения является случайным: приложение запускается в режиме A с вероятностью 95% и в режиме B с вероятностью 5%. Приложение поставляется без исходного кода, поэтому его нельзя модифицировать, работать только как есть.
Я хочу убедиться, что приложение не может выполнить syscall d
. При выполнении syscall d
результат должен быть либо NOOP, либо немедленным завершением приложения.
Как достичь этого в среде Linux?
Не могли бы вы пояснить смысл «вероятности» в вашем вопросе в случае, если есть что-то, чтобы неправильно понять это? –
Паскаль: Конечно! Сообщение отредактировано с уточнением. Для целей этих вопросов «выбор режима» является случайным. – knorv