可信计算基础(Trusted Computing Base,TCB):TCB是一个计算机系统中所有提供保护功能的组件的总称,包括硬件、软件、固件、进程和一些进程间的通信等,它通过这些组件完成对安全策略的实现。TCP功能的实现是根据其内置的保护机制或用户所输入的参数,来保证安全策略的实施或满足相应的安全标准(如TCSEC等)。不过要注意的是,TCB是一个定义而不是一个特定的产品,目前的大部分操作系统都没有完全使用TCB的全部组件,只使用了TCB用来执行功能的一部分,这个部分就是接下去要介绍到的引用监视器(Reference Monitor)。
1、TCB应该在一个不受外部干扰影响的自有域内执行
2、TCB所控制的资源应根据使用关系分为使用者(Subject)和目标(Object)两个子集
3、TCB应该把资源进行隔离以执行访问控制和审计功能
1、进程激活:在一个多重处理的环境内管理进程激活/挂起时提供寄存器、文件访问列表、进程状态信息和指针等敏感信息的管理功能
2、执行域切换:确保在一个域内执行的进程不会影响到其他域内的其他进程
3、内存保护:确保每个域所使用的内存的安全
4、输入输出操作:监视程序对设备直接或间接的输入输出操作
图1 |
1、安全内核能管理所有的访问(全局性)
2、安全内核能保护自己不受有意或意外修改(隔离性)
3、安全内核可以通过验证确定其有效性(可验证性)
安全边界(Security Perimeter):用来隔离安全内核内外的资源,安全边界外的资源是不可信的。注意将它和近两年常说的“边界安全“相区别。
分层(Layering):分层是指在系统设计时对功能和实现按照一定的原则进行分层,层次越低的权限越高,每一层的操作和使用的数据都尽量不对其它层次产生影响,这里会引入一个技术——数据隐藏(Data Hiding)。此外,部署安全措施的层次越低,则安全措施的效能和控制范围就越好,因此应该把安全措施部署在系统的最底层,下面是一个示例系统的分层:
额外保护(Guard Protection):系统常常需要使用其他的方案来提供额外的保护,比如在数据库系统中,除了在数据库本身对用户的访问权限进行控制之外,通常还会通过提供一个带有查询检查功能的界面来限制用户提交不符合安全策略规定的查询。
进程隔离(Process Isolation):系统对同时执行的进程进行隔离,防止进程之间的互相影响,这个功能在现代操作系统中是一个基本功能。
最低权限原则(Least Privilege):系统中所有的权限给予满足操作所需的最低权限即可,这个在其他许多领域也能看到,比如许多企业内网用户只有User权限,不能够在自己的机器上安装或修改软件,要新增软件必须由管理员干涉。
加固(Hardening):加固是通过一定的操作和配置使系统的安全程度得到提高,它不属于系统设计阶段,而属于系统的部署和维护阶段。
用户识别和认证(User Identification and Authentication)
强制访问控制(Mandatory Access Control)
自主访问控制(Discretionary Access Control)
完全控制(Complete mediation)
目标重用保护(Object reuse protection)
审计 (Audit)
审计日志的保护 (Protection of Audit logs)
日志筛选 (Audit logs reduction)
可信路径 (Trusted Path)
入侵检测 (Intrusion Detection)