真正保护文件权限的是什么?

时间:2014-12-19 22:19:39

标签: security

例如,在Windows和所有操作系统中,都存在以下文件:#34;阻止"如果设置了该规则,则写入文件。

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

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

1 个答案:

答案 0 :(得分:6)

  

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

如果您使用汇编语言编写,则程序集仍然在CPU mode中运行,阻止直接访问内存和设备。

  

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

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

  

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

操作系统通过独占切换CPU模式的能力和制定系统调用来保持安全性,以便它们安全以启动用户区域代码。