以 Windows XP 为例,分析其架构
Windows XP 的结构是层次结构和客户机/ 服务器结构的混合体
系统划分为三层
- 第一层是硬件抽象层,它为上面的一层提供硬件结构的接口,有了这一层就可以使系统方便地移植;
- 第二层是内核层,它为低层提供执行、中断、异常处理和同步的支 持;
- 第三层是由一系列实现基本系统服务的模块组成的,例如虚拟内存管理、对象管理、 进程和线程管理、I/O 管理、进程间通信和安全参考监督器
Windows 2000 系统在安全设计上有专门的安全子系统,
安全子系统的组成
- 本地安全投权(LSA):本地安全授权部分提供了许多服务程序,保障用户获得存取系统的许可权。
LSA产生令牌、执行本地安全管理、提供交互式登录认证服务、控制安全审查策略和由 SRM 产 生的审查记录信息。
- 安全账户管理(SAM):对 SAM 数据库进行维护,该数据库包含所有组和用户的信息;
SAM 提用户登录认证,负责对用户在 Welcome 对话框中输入的信息与 SAM 数据库中的 信息比对,开为用户赋予一个安全标识符(SID) 。
- 安全参考监视器(SRM) :负责访问控制和审查策略,由 LSA 支持。
安全参考监视器SRM 提供客体(文件、目 录等)年收权限,检查主体(用户账户等)的权限,产生必要的审查信息。客体的安全属性 由访问控制项(ACE)来描述,全部客体的 ACE 组成访问控制列表(ACL)。没有 ACL 的客体 意味任何主体都可访问。而有 ACL 的客体则由 SRM 检查其中的每-项 ACE,从而决定主体的访问是否被允许。
Windows 安全机制
Windows 认证机制
Windows 2000 为例,系统提供两种基本认证类型
- 本地认证:是根据用户的本地的计算机或 Active Directory 账户确认用户的身份
- 网络认证:根据此用户试图访问的任何网络服务确认用户的身份。
为提供这种类型的身份验证,Windows 2000 安全系统集成三种不同的身份验证技术:
- Kerberos v5
- 公钥证书
- NTLM
Windows 访问控制机制
Windows NT/XP 的安全性达到了橘皮书 C2 级,实现了用户级自主访问控制
为了实现进程间的安全访问,Windows NT/XP 中的对象采用了安全性描述符(Securi tyDescriptor)。安全性描述符主要由用户 SID (Owner)、工作组 SID (Group)、自由访问控 制列表(DACL)和系统访问控制列表(SACL) 组成。
Windows 审计/日志机制
日志文件记录 Windows 系统的运行状况,如各种系统服务的启动、运行、关闭等信息。
Windows 日志有三种类型:
- 系统日志:文件及路径 system32/config/SysEvent.evt
- 应用程序日志:文件及路径system32/config/AppEvent.evt
- 安全日志:文件及路径为system32/config/SecEven t.evt
Windows 协议过滤和防火墙
针对来自网络上的威胁,Windows NT 4.0、Windows 2000 则提供了包过滤机制, 通过过滤机制可以限制网络包进入用户计算机。
而 Windows XP 则自带了防火墙,该防火墙能够监控和限制用户计算机的网络通信。
Windows 文件加密系统
为了防范入侵者通过物理途径读取磁盘信息,绕过 Windows,系统文件访问控制机制。微软公司研究开发了加密的文件系统 EFS,文件中的数据利用 EFS 在磁盘上加密。 用户如果访问加密的文件,则必须拥有这个文件的密钥,才能够打开这个文件,并且像普通文档样透明地使用它
抗攻击机制
针对常见的缓冲区溢出、恶意代码等攻击,微软公司的新版本操作系统 Windows 7、Windows10 增加抗攻击安全机制,集成了内存保护机制
- 堆栈保护(Stack Protection)
- 安全结构例外处理 SafeSEH (Safe Structured Exception Handling)
- 数据执 行保护 DEP (Data Execution Prevention)
- 地址随机化 ASLR(Address Space Layout Ran domization)
- 补丁保护 PatchGuard
- 驱动程序签名(Driver Siging)
Windows 10 提供减少攻击面规则配置,具体如下:
- 阻止来自电子邮件客户端和 Webmail 的可执行内容
- 阻止所有 Office 应用程序创建子进程
- 阻止 Office 应用程序创建可执行内容
- 阻止 Office 应用程序将代码注入其他进程
- 阻止 JavaScript 或 VBScript 编写的恶意软件通常从网上获取下载并启动其他恶意软件
- 阻止执行可能被混淆的脚本
- 阻止 Office 宏调用 Win32 API
- 阻止信任列表外的可执行文件运行
- 阻止信任列表外的可执行文件运行
- 阻止从 Windows 本地安全授权子系统窃取身份凭据
- 阻止 PsExec 和 WMI 命令创建进程
- 阻止从 USB 运行不受信任、未签名的进程
- 阻止 Office 创建子进程通信应用程序
- 阻止 Office 创建子进程通信应用程序
- 阻止利用 WMI 事件订阅进行持久性攻击
Windows 系统的安全问题
Windows 口令账号和口令是进入 Windows 系统的重要凭证,获取账号和口令信息是入侵者攻击 Windows 系统的重要途径。
例如,Windows 2000 的默认安装允许任何用户通过空用户 得到系统所有账号和共享列表。这些功能本来是为了方便局域网用户共享资源和文件, 但导致了任何一个远程用户都可以利用同样的方法得账户列表,使用技术破解账户密码后,对用户的计算机进行攻击。
windows 恶意代码
由于 Wndows 系统自身的安全隐患,许多计算机病毒、网络蠕虫、特洛伊木马等安全事件与 Windows 系统相关
例如“冲击波”网络蠕虫、“ 永恒之蓝”勒索网络蠕虫。
Windows 应用软件漏洞
运行在 Windows 平台的应用软件的安全隐患日益暴露,这些安全隐患常常导致 Windows 系统被非授权访问、非法滥用等。
例如 IE 浏览器的安全漏洞导致远程攻击者植入木马,进而危及整个系统的安全
Windows 系统程序的漏洞
Windows 系统程序的设计、实现过程中的安全隐患通常带来不少安全问题
例如 R PC 程序的漏洞导致缓冲区溢出攻击
Windows 注册表安全
注册表(Regity)是有关 Windows 系统配置的重要文件,存储在系统安装目录”system 32\config”下。由于所有配置和控制系统的数据都存在于注册表中,而且 Registry的缺省 权限设置是“所有人”( Everyone)“完全控制”(FullControl) 和“创建”(Create) ,这种 设置可能会被恶意用户利用来删除或者替换掉注册表(Registry) 文件。
例如,入侵者通过修改创建注册表的相关参数设置,让系统启动恶意进程。
Windows 文件共享安全
Windows 98 以后的系统都提供文件共享安全,但是共享会带来信息泄露的问题。
例如,Windows 2000、Windows XP 在默认安装后允许任何用户通过空用户连接(IPC$) 得到系统所有账号和共享列表,这本来是为了方便局域网用户共享资源和文件的,但是任何一个远程用户都可以利用这个空的连接得到所有用户的共享列表。黑客利用这项 功能,查找系统的用户列表,使用字典工具,对系统进行攻击。这就是网上较流行的 I PC 攻击
Windows 物理临近攻击
一些攻击者利用物理接近 Windows 系统的条件,借用安全工具强行进入 Windows 系统。
例如,使用 Offline NT Password & Registry Editor 软件制作启动盘,然后用该盘引导系统,进而可以访问 NTFS 文件系统。 19.2.4 Windows 系统安全增强技术方法
Windows 系统安全增强技术方法与流程
常见的系统安全增强方法有下面几种:
(1)安全漏洞打补丁(Patcb) 。很多漏洞本质上是软件设计时的缺陷和错误(如漏洞), 因此需要采用补丁的方式对这些问题进行修复。
(2)停止服务和卸载软件。有些应用和服务安全问题较多,目前又没有可行的解决方案,切实有效的方法是在可能的情况下停止该服务,不给攻击者提供攻击机会。
(3)升级或更换程序。在很多情况下,安全漏洞只针对一个产品的某一版本有效, 此时解决问题的办法就是升级软件。如果升级仍不能解决,则要考虑更换程序。目前, 同一应用或服务通常存在多个成熟的程序,而且还存在免费的自由软件,这为更换软件 提供了可能性。
(4)修改配置或权限。有时系统本身并没有安全漏洞,但由于配置或权限设置错误或 不合理,给系统安全性带来问题。建议用户根据实际情况和审计结果,对这类配置或权 限设置问题进行修改。
(5)去除特洛伊等恶意程序。系统如果出现过安全事故(已知的或并未被发现的),则 在系统中可能存在隐患,例如攻击者留下后门程序等,因此必须去除这些程序。
(6)安装专用的安全工具软件。针对 Windows 漏洞修补问题。用户可以安装自动补 丁管理程序
Windows 系统安全增强的基本步骤
1.确认系统安全增强的安全目标和系统的业务用途
系统安全目标实际上就是用户所期望系统的安全要求,系统的业务用途是后续安全增强的依据,根据系统的业务用途,系统在安装时或设置策略时进行合适的选择
2.安装最小化的操作系统
最小化操作系统的目的是减少系统安全隐患数目,系统越大,可能的安全风险就越大,而且管理上也难以顾及。
安装最小化的操作系统要求如下,
- 尽量使用英文版 Windows 操作系统;
- 不要安装不需要的网络协议;
- 使用 NTFS 分区;
- 删除不必要的服务和组件。
3.安装最新系统补丁
系统的漏测通常成为入侵者进入的途径,因而漏洞的修补是系统安全增强的必要步 骤。
4.配置安装的系统服务
根据系统的业务运行的基本要求,做到以下几点:
- 不要安装与系统业务运行无关的网络/系统服务和应用程序;
- 安装最新的应用程序和服务软件,并定期更新服务的安全补丁
5.配置安全策略
安全策略是有关系统的安全设置规则,在 Windows 系统中需要配置的安全策略主要有账户策略、审计策略、远程访问、文件共享等。
其中,策略中又要涉及多个参数, 以配置账户策略为例,策略包含下列项目:
- 密码复杂度要求:
- 账户锁定阈值:
- 账户锁定时间:
- 账户锁定记数器
6.禁用 NetBIOS
NetBIOS 提供名称服务和会话服务,这些服务通常会给攻击者提供入侵切入点。为了系统的安全,一般建议禁用 NeIBIOS,其方法如下:
- 在防火墙上过滤外部网络访问 135~139、445 端口。
- 修改注册表,禁用 NetBIOS,具体如下。. HKLM\SYSTEM\CurrentControlSet \Control \Lsa: reatrictanonymouse=2
- 禁用 NetBIOS over TCP/IP。
- 禁用 Microsoft 网络的文件和打印共享。
7.账户安全配置
账户权限设置不当往往会导致安全问题,在 Windows 系统中,设置账户权限应做到以下几点:
- 禁用默认账号:
- 定期检查账户,尽早发现可疑账户:
- 锁定 Guest 账户
8.文件系统安全配置
文件系统安全是 Windows 系统重要的保护对象,特别是向外提供网络服务的主机系统。文件系统安全的措施通常如下:
- 删除不必要的帮助文件和“%System%Driver cache"目录下的文件:
- 删除不必要的应用程序,例如 cmd.exe
- 启用加密文件系统;
- 设置文件共享口令;
- 修改系统默认安装目录名。
9.配置 TCP/IP 筛选和 ICF
在 Windows 系统的后续版本中,例如 Windows 2000. Windows XP 系统中带有配置 TCPIP 筛选机制,并且 Windows XP 有防火墙 ICF。利用这些安全机制,可以减少来自网上的安全威胁,安全配置一般从以下几个方面考虑:
- 过滤不需要使用的端口;
- 过滤不需要的应用层网络服务;
- 过滤 ICMP 数据包。
10.禁用光盘或软盘启动
禁用光盘或软盘启动可以防止入侵者进行物理临近攻击,阻止入侵者进入系统。
11.使用屏幕保护口令
使用屏幕保护口令防止工作主机被他人滥用。
12.设置应用软件安全
应用软件安全不仅会影响到自身的安全,也会给系统带来安全隐患。应用软件安全的设置应做到以下几个方面:
- 及时安装应用软件安全的补丁,特别是 IE、Outlook、Office 办公套件等:
- 修改应用软件安全的默认设置:
- 限制应用软件的使用范围
13.安装第三方防护软件
针对 Windows 系统的特定安全问题,安装第三方防护软件,如*毒软件、个人防火墙、入侵检测系统和系统安全增强工具。
学习参考资料:
信息安全工程师教程(第二版)
建群网培信息安全工程师系列视频教程
信息安全工程师5天修炼