Как удалить файл с именем "*"?

Проще говоря, привилегированные инструкции обычно связаны с вводом-выводом с аппаратными устройствами или защитой памяти. Доступ к ним из произвольных процессов без прохождения какой-либо центральной логики позволит процессам уничтожить память других процессов, испортить файловую систему и т. д. Либо случайно, либо намеренно.

Если мы рассмотрим некоторые распространенные системные вызовы, например,. open(), read(), write()и другие, которые обращаются к файлам и в конечном итоге приводят к вводу-выводу на диск или другое устройство. Или fork()и mmap(), которые влияют на память процесса или других процессов.

Конечно, что-то вроде превращения процесса , а не в системный вызов, не требует привилегий и может быть выполнено с помощью библиотеки. То же самое для подделки результатов системного вызова.Хотя, конечно, что-то вроде изменения всех отметок времени на две недели назад (, как в примере libfaketime), требует сначала выяснить правильное время, и это должно произойти через системный вызов. В дополнение к libfaketimeи libeatmydataесть, например. fakerootкоторый делает вид, что процесс выполняется под UID 0.

2
21.09.2019, 02:02
0 ответов

Теги

Похожие вопросы