24(46)----windows internals 第6版 mark david alex

windows一开始就被设计为安全的,以满足各种政府和工业安全等级,如Common Criteria for Information TechnologySecurity Evaluation (CCITSE)规范。达到政府要求的安全等级,可以允许windows在政府市场上竞争。当然,这些能力对多用户来说都是有好处的。
windows安全核心能力包括任意和强制的完整性检查(针对所有的可共享的系统对象如文件、目录、进程、线程),安全审计(用户及其行为的可审计性),登录用户认证,防止用户访问其他用户已释放的未初始化资源(如空闲内存或者硬盘空间)。
windows有三种形式的访问控制。第一种形式,任意存取控制,是符合许多人想象中的机制。对象所有者允许或者拒绝其他人的访问。当用户登录时,他们获取一组安全信息或者安全上下文。当访问对象时,安全上下文会和对象的存取控制列表进行比较,以确定是否有权限执行相关操作。
当任意存取列表不能胜任的时候,需要特权访问呢控制。以便所有者不在时,允许其他用户访问对象。比如说,如果员工离职,管理员需要访问只有员工本人才能访问的文件。在这种情况下,管理员可以获取所有权以便管理权限。
当对当前账户访问的对象提供额外的安全控制级别时,需要强制完整性控制。它应用于隔离保护模式的IE或者保护被提权的管理员账户 为提权的账户(第6章UAC有详细介绍)。
安全遍布于windows api的接口。和操作系统一样,windows子系统实现了基于对象的安全,。windows子系统通过windows安全描述符保护共享对象。应用程序第一次访问共享对象时,windows子系统会进行权限验证。如果安全检查通过,则允许操作继续进行。
第6章对安全进行了详细描述。
注册表
在windows上工作过的人,一定听到过或者亲自查看过注册表。不谈论注册表,是不可能对windows进行深入了解的。注册表是系统数据库,包含了很多重要的信息,如启动和配置系统信息,能够控制windows的操作的系统范围的软件设置,安全数据库和每个用户的配置信息。
此外,注册表也是内存易失数据的窗口。如当前硬件状态(哪些驱动被加载,使用的资源等等)和windows性能计数器。性能计数器实际上并不存在于注册表中,但可以通过注册表函数来访问。第四章讲述了如何通过注册表获取性能计数器。
由于包含很多信息影响系统性能和行为,尽管大多数windows用户和管理员不需要直接查看注册表(一般通过管理工具来进行),它仍然是一个有用的windows内部信息来源。直接修改注册表设置时,一定要特别小心;任何改变都可能对性能有害,甚至导致系统不能启动)。本书中讲述组件功能时,会经常提到相关的注册表键。本书中的大部分注册表键是系统范围的配置,位于HKEY_LOCAL_MACHINE下,缩写为HKLM。
第四章有注册表的详细描述。
UNICODE
windows和其他操作系统的不同之处在于,大部分文本以16位的Unicode来处理。Unicode是国际标准字符集,为世界上大多数字符定义了唯一的16位值。
由于很多程序处理8位ANSI字符串,许多windows API有两个版本:Unicode版本和ANSI版本。如果调用ANSI版本API,会有一点性能影响,因为输入字符串会被转化为Unicode,而输出字符串会从Unicode转为Ansi。所以,如果你有旧的代码,需要在windows上运行,但是代码是用ANSI字符串编写的,windows会把ANSI字符转化为unicode字符。但是,windows从来不会转化数据--应用程序决定是存为Unicode还是Ansi格式。
windows没有为不同的语言生成不同的版本,不同语言版本的二进制文件都是相同的。安装完毕后,通过添加语言包,可以支持多种语言。应用程序也可以利用windows的特性来支持多种语言。
关于Unicode的更多信息,参考 www.unicode.org 和msdn中的相关信息。
挖掘windows内部机制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值