什么真的保护文件Priveleges?

Tai*_*ken 1 security

例如,在Windows和所有操作系统中,存在文件权限,如果设置了该规则,则"阻止"文件被写入.

这很难描述,但请听.用C语言编码的人显然会使用某种形式的框架来轻松修改文件.使用内置的.Net框架,微软显然会在写入文件之前将防护措施放入检查文件权限的类中.由于文件权限是通过软件而不是硬件存储的,真正阻止文件被篡改的是什么?

让我们跳到大会.假设我创建了一个程序集程序,它直接访问硬盘驱动器数据并更改文件的字节.文件权限怎么可能阻止我这样做?我想我想问的是,如果编译的程序在写入文件之前没有检查文件权限,文件权限如何真正保持安全?

Mik*_*uel 6

假设我创建了一个程序集程序,它直接访问硬盘驱动器数据并更改文件的字节.文件权限怎么可能阻止我这样做?

如果使用汇编语言编写,则程序集仍以CPU模式运行,以防止直接访问内存和设备.

CPU模式 ...对CPU运行的某些进程可以执行的操作的类型和范围施加限制.此设计允许操作系统以比应用程序软件更多的权限运行.

您的代码仍需要发出系统调用以使操作系统与您的进程和设备不拥有的内存进行交互.

一个系统调用是怎样一个程序从操作系统内核请求服务.这可能包括硬件相关服务(例如访问硬盘),创建和执行新进程,以及与集成内核服务(如调度)进行通信.

操作系统通过独占切换CPU模式的能力和制定系统调用来保持安全性,以便用户土地代码可以安全启动.