版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2版周苏机械工业出版社·2023操作系统原理第11章
操作系统安全Chapter11:Operatingsystemsecurity第11章操作系统安全随着信息技术的不断发展,有关操作系统安全的话题发生了很大的变化。20世纪90年代之前,几乎所有计算都在公司、大学和其他一些拥有多用户计算机(从大型机到微型计算机)的组织中完成的,这些机器相互隔离并没有连接到网络中。在这样的环境下,同一台计算机有多个注册用户,安全性所要做的全部工作就是如何保证每个用户只能看到他自己的文件。为保证访问权限,开发了一些复杂的模型和机制,有时这种安全模型和机制甚至涉及某一类用户。第11章操作系统安全随着个人计算机和因特网的普及,情况发生了变化。来自外部的攻击、病毒、蠕虫和其他恶意代码通过因特网开始在计算机中蔓延,大型软件的漏洞呈爆炸性增长。如今的操作系统包括了五百万行以上的内核代码,应用程序也达到100MB级,使得系统中存在着大量可能被恶意代码利用的漏洞。从形式上证明是安全的系统却可能很容易地被利用漏洞而侵入。操作系统安全最知名的问题是应对入侵者和恶意软件的威胁。入侵者尝试获得对系统资源的未授权访问,而恶意软件设计用来突破系统防御并在目标系统上执行。应对两类威胁的措施包括入侵检测系统、认证协议、访问控制机制和防火墙。目录/Contents0102030405安全的概念威胁、攻击与资产缓冲区溢出访问控制操作系统加固06安全性维护01安全的概念Theconceptofsecurity11.1安全的概念所谓计算机安全,是为了确保信息系统资源(包括硬件、软件、固件、信息/数据和通信)的机密性、完整性和可用性而在一个自动化的信息系统上实施的防护措施。这个定义包含了计算机信息安全的三个核心目标:(1)机密性:即维护信息访问和泄露的授权限制,包括防护个人隐私和专有信息。机密性的损失是指非授权的信息泄露,包括的两个相近的概念是:·数据机密性:保证私有的或秘密的信息对未授权个体不可用或者不可见,而系统则对其选择进行强制执行,执行的粒度应该精确到文件。·隐私:保证某个体能够控制或影响的信息可由谁和向谁来公开,即保证私人的信息不被滥用。隐私会导致许多法律和道德问题。11.1安全的概念(2)完整性:即保护信息不被不恰当地修改、清除,包括保证信息的不可否认和认证。完整性的损失是指非授权的信息修改和清除,包括的两个相近的概念是:·数据完整性:保证信息只在一种指定的授权方式下被修改。改动不仅指改变数据的值,而且还包括删除数据以及添加错误的数据等情况。·系统完整性:保证系统只在一种不受影响的方式下执行它应有的功能,防止蓄意的或无意的非授权系统操作。11.1安全的概念(3)可用性:即保证及时可靠的信息访问和使用,保证系统能及时地工作,且服务器对授权的用户不会拒绝。可用性的损失是指对信息或信息系统的访问或使用的中断。导致系统拒绝服务的攻击十分普遍。比如,如果有一台计算机作为因特网服务器,那么不断地向其发送请求会使该服务器瘫痪,因为单是检查和丢弃接收的请求就可能吞噬掉所有的CPU资源。许多合理的系统模型和技术能够保证数据的机密性和完整性,但是避免拒绝服务却相当困难。这三个概念包含了针对数据、信息和计算机服务的信息与信息系统的基本安全目标。11.1安全的概念此外,在一些安全场景下还需要额外的一些概念,其中最常见的两个概念是:(1)认证性:指的是真实性和可被验证与可信任;例如一次会话、一条消息或消息的产生过程中对其有效性的可信性。这意味着要验证用户以及每一个系统的输入是不是来自一个可信源。(2)可核查性:是对一个实体的行为进行追踪而产生的安全目标。它支持不可否认性、威慑性、错误隔离性、入侵检测,以及事后恢复和合法性。因为真正的安全系统还不是一个可实现的目标,人们必须能够追踪对安全性的破坏,以便事后分析或者解决交易纠纷。02威胁、攻击与资产Threats,attacks,andassets11.2威胁、攻击与资产除了信息安全的核心问题外,操作系统还面临着其他威胁,例如合法用户以外的人可以(通过病毒和其他手段)获取某些计算机的控制权,并将这些计算机变成僵尸,入侵者成为这些计算机的新主人。这些僵尸一般用来发送垃圾邮件,从而使垃圾邮件的真正来源难以追踪到。从某种意义上讲,还存在着另一种对社会的威胁,某些人出于对社会的不满,常常觉得攻击“敌人”的计算机是一件令人愉悦的事情,而不在意“攻击”本身,不在意破坏性和受害者。除了信息安全的核心问题外,操作系统还面临着其他威胁,例如通过病毒和其他手段获取某些计算机的控制权,入侵者成为这些计算机的新主人,从而使垃圾邮件的真正来源难以追踪到。数据意外遗失入侵者恶意软件威胁与资产应对措施11.2威胁、攻击与资产11.2.1威胁与资产计算机系统的资产可以分为硬件、软件、数据、通信链路和网络,将这4类资产和完整性、机密性和可用性联系起来,如下表所示。表11-1计算机和网络资产威胁实例11.2.1威胁与资产1.硬件针对计算机硬件的主要是可用性威胁,硬件最容易被攻陷且又不容易被怀疑。威胁包括偶然的和有意的损坏、盗窃设备。个人计算机和工作站的大量使用、网络的广泛应用增加了硬件潜在的风险,需要通过增强物理的和管理上的安全措施来防范此类威胁。11.2.1威胁与资产2.软件软件包括操作系统、实用程序和应用程序。对软件的主要威胁是对可用性的攻击。软件,尤其是应用软件,容易被删除,还容易被修改或破坏而无法使用。谨慎的软件配置管理,包括对经常使用的软件版本进行备份,能够带来高可用性。更复杂的问题是,由于软件修改导致软件虽然正常运行,但其行为已经和原来不同,这对完整性/认证性是一种威胁。计算机病毒和相关的攻击属于这种类型。还有一个问题是软件保护。尽管有一些可用的应对策略,但非授权的软件复制问题并未解决。11.2.1威胁与资产3.数据硬件和软件安全常常关注计算中心的业务或个人计算机用户的需求。一个更广泛的问题是数据安全,包括文件和被个人、组织和商业机构所拥有的各种形式的数据。数据安全的范围很广泛,包含可用性、机密性和完整性。例如,可用性涉及数据文件的销毁,这可能是偶然的或是恶意的。对机密性的关注是非授权读取数据文件或数据库。一种不那么明显的对秘密的威胁包括对数据的分析,从中能获取总结性的和统计性的信息。随着统计信息数据库的增长,泄露个人信息的可能性也随之增加。数据完整性在许多设置中都是重点关注的内容,修改数据文件可能导致小问题,也能导致大灾难。11.2.1威胁与资产4.通信线路和网络网络安全攻击可以分为被动攻击和主动攻击。被动攻击分析和利用系统信息但不破坏系统资源,主动攻击试图改变系统资源或者影响系统操作。(1)被动攻击。其本质是窃听、控制通信,攻击者的目标是获取传输的信息。被动攻击的两种类型是获取消息内容和流量分析。获取消息内容的概念很容易理解。比如电话交谈、电子邮件或包含敏感/机密信息的文件传输。我们希望能阻止攻击者获取这些会话的内容。11.2.1威胁与资产流量分析是被动攻击的另一种更微妙的类型。假设我们有一种办法能够把通信内容或其他信息掩盖起来,使得攻击者即使获取了消息,也无法知道消息的内容。常用的方式是内容加密。但即使通过加密来实施保护,攻击者还是有可能发现这些消息的模式,发现通信主体的位置和身份,能观察消息交换的频率和长度,以分析通信过程的性质。被动攻击很难被检测到,因为它不改变数据本身。通常情况下,通信流量的发送和接收看起来都很正常,没有谁会注意到隐藏的第三方已经获取了消息或分析了消息模式。阻止这类攻击常用的成功措施是加密。11.2.1威胁与资产(2)主动攻击。包括更改数据流或创建假数据流,可分为重放、伪造、篡改和拒绝服务。重放包括被动地捕获数据包,然后重新发送以执行一次未授权的行为。伪造是指一个实体假装成另外一个实体,常伴随着其他形式的主动攻击。比如,认证流程可能被捕获,并在一次合法的认证后重放,这可以使一个只有较小权限的认证实体获取超级权限,只要其假冒有超级权限的认证过程。篡改指的是合法信息的某些部分被修改,或者被延迟、重新排列,以此产生非授权的行为。11.2.1威胁与资产拒绝服务攻击阻止或抑制通信设施的正常使用和管理。这种攻击可能有特定的目标。比如,一个实体把消息重定向到一个特定的地址(可能是安全审计服务器)。另一种拒绝服务攻击的形式是通过破坏网络或使网络过载,来降低整个网络的性能。主动攻击和被动攻击特点相反。被动攻击难以被检测到,只能采取措施进行阻止。但是,绝对阻止被动攻击是很难的,因为需要对所有的通信设施和链路随时随地进行物理保护。所以,检测它们,并从这些攻击造成的中断和延迟中恢复过来是我们的目标。因为检测有威慑的效果,所以对阻止这类攻击也是有用的。11.2.2数据意外遗失除了恶意入侵造成的威胁外,有价值的信息也会因意外而遗失,例如原因通常包括:(1)天灾:火灾、洪水、地震、战争、暴乱或老鼠的撕咬。(2)软硬件错误:CPU故障、磁盘或磁带不可读、通信故障或程序里的错误。(3)人为过失:不正确的数据登录、错误的磁带或磁盘安装、运行了错误的程序、磁带或磁盘的遗失以及其他过失等。上述大多数情况可以通过适当的备份,尤其是对原始数据的远程备份来避免。在防范数据不被入侵获取的同时,防止数据意外遗失应得到更广泛的重视。11.2.3入侵者操作系统将每个进程与一组权限关联起来。这些权限指明了进程可以访问的资源,包括内存区域、文件和系统权限指令。典型情况是,一个代表用户执行的进程拥有系统授予该用户的权限。系统或公用进程可能在配置时分配权限。通常,最高权限是指管理员、管理程序或root访问权限。root访问权限能访问操作系统中的所有功能与服务。拥有root访问权限的进程对系统拥有完全的控制能力,即能添加或修改程序和文件、监控其他进程、发送和接收网络通信消息,以及修改权限级别。对于任何操作系统设计,其中一个关键的安全问题是:如何阻止或至少检测到用户或恶意软件在系统中尝试获得未被授权的权限的行为,特别是尝试获取root访问权限。11.2.3入侵者系统访问威胁主要分为两类:入侵者与恶意软件。一种最常见的安全威胁是入侵者(此外还有病毒),它通常指黑客或骇客,一般包括三类:(1)冒充者(伪装者):一个未被授权的个人去使用计算机和通过穿透系统的访问控制去使用合法用户的账号。(2)滥用职权者:一个合法用户访问没有授权的数据、程序或资源,或者用户具有这种访问授权,但滥用了相关权限。例如,某些银行程序员为获取利益而试图从其工作的银行窃取金钱。他们使用的手段包括改变应用软件使得利息不被四舍五入而直接截断,并将截留下来的不足一分钱的部分留给自己,或者盗用多年不使用的账户,或者根据窃取的信息敲诈勒索等。11.2.3入侵者(3)秘密用户:一个用户获得了系统的管理控制,然后使用这种控制来逃避审计和访问控制,或者废止审查收集。伪装者可能来自外部;违法者通常来自内部;秘密用户既可能来自外部也可能来自内部。入侵者攻击的影响轻重不等。最轻微的情况是某些人的一般窥测。最严重的情况是个体尝试读取权限数据,对数据进行未被授权的更改,或破坏系统。存在着信息领域的商业或军事间谍,他们的目的是窃取计算机程序、交易数据、专利、技术、芯片设计方案和商业计划等。这些非法企图通常使用窃听手段,有时甚至通过搭建天线来收集目标计算机发出的电磁辐射。11.2.3入侵者从某种意义上来说,编写病毒的人也是入侵者,他们往往拥有较高的专业技能。一般的入侵者和病毒的区别在于,前者指想要私自闯入系统并进行破坏的个人,后者指被人编写并释放传播企图引起危害的程序。入侵者设法进入特定的计算机系统(如属于银行或五角大楼的某台机器)来窃取或破坏特定的数据,而病毒作者常常想造成破坏而不在乎谁是受害者。利用新发现的漏洞并逃避检测措施,入侵者的技术和行为模式总是在变化之中。但尽管如此,入侵者还是会因遵守识别规则而区别于普通行为模式。11.2.3入侵者内部攻击是最难检测并阻止的。雇员们已拥有访问权限,并且知道公司数据库的结构和内容。以前常常有雇员喜欢把办公室资源拿回家用,但现在正演变为将公司的数据变为己有。例如,一家证券分析公司的销售部副经理离职去另一家公司之前,拷贝了客户资料,因为这些数据以后可能用得到。11.2.3入侵者尽管有IDS(入侵检测系统)和IPS(入侵防御系统)设备可以应对内部攻击,但更直接的措施是高度的权限管理,例如:·实施最小权限原则,只赋予职员完成工作所需的最小的资源访问权限。·记录日志,以了解用户访问了什么,以及他们进入时输入了什么命令。·使用强认证来保护敏感数据。·职员离职前,冻结其计算机和网络访问。·职员离职前,备份该职员的计算机硬盘,日后可以作为追责证据。11.2.4恶意软件对计算机系统最复杂的威胁是利用系统漏洞的程序。这种威胁也称恶意软件。这里涉及的既有应用程序又有公用程序,如编辑器、编译器和内核级程序等。恶意软件分为两类:需要宿主程序的恶意软件和独立运行的恶意软件。前者也称寄生型,是无法脱离真实程序(应用程序、公用或系统程序)独立运行的程序片段,如病毒、逻辑炸弹及程序后门。后者是可被操作系统调度和执行的独立程序,如蠕虫和机器人程序。这种软件威胁还可根据是否进行复制来区分。不进行复制的是可被触发执行的程序或程序片段,如逻辑炸弹、程序后门和机器人程序。而进行复制的一般由一个独立程序或程序片段组成,在执行时会产生多个副本,分发后会在其他系统上激活。这样的例子有病毒和蠕虫。11.2.5应对措施入侵检测的定义是:一个能够监控和分析系统事件的安全服务,对于未授权的系统资源访问尝试,能够发现和提供实时或接近实时的警报。其应对措施包括分类、防火墙,以及后面要介绍的访问控制等。11.2.5应对措施1.分类入侵检测系统(IDS)分类如下:(1)基于宿主的IDS:监控一个宿主的特性及宿主中出现的事件,以便发现可疑行为。(2)基于网络的IDS:对特定的网段或设备,监控网络传输并分析网络、传输和应用协议,识别可疑行为。11.2.5应对措施IDS有三个逻辑组成部分:(1)传感器:负责收集数据。传感器的输入可以是系统中包含了入侵行为证据的任意部分。传感器的输入类型包括网络包、日志文件及系统调用路径。传感器收集信息并将这些信息发送给分析器。(2)分析器:接收来自一个或多个传感器或其他分析器的输入,它负责判断入侵行为是否发生。分析器的输出是一个入侵行为是否已发生的标示值。输出可能包含了支持结论的证据。对于已发生的入侵应当采取何种行为,分析器可以提供指引。(3)用户界面:是IDS允许用户查看系统的输出或控制系统行为的部分。在有些系统中,用户界面等同于管理器、监督器或控制台。入侵检测系统是特地为检测人类入侵者行为和恶意软件行为而设计的。11.2.5应对措施2.防火墙防火墙是一种保护本地系统或系统网络免受基于网络的安全威胁,并通过广域网和因特网提供外界访问的有效方式。传统防火墙是一台与网络外部计算机交互的专用计算机,用特殊的安全预防措施来保护网络中计算机上的敏感文件。它用于对网络外的服务,特别是因特网连接和拨号。11.2.5应对措施防火墙的设计目标是:(1)所有从内到外或从外到内的传输都必须通过防火墙。这是通过物理上阻塞所有防火墙以外的本地网络访问来实现的。(2)仅允许按本地安全策略定义的授权传输通过。各种各样的防火墙实现了各种各样的安全策略,本章之后将会详述。(3)防火墙本身是不会被渗透的。这引申出了具有安全操作系统的坚固系统的使用。可信计算机系统适合作为防火墙的主机,通常在政府应用中使用。03缓冲区溢出Bufferoverflow11.3缓冲区溢出主存与虚存是容易受到安全威胁的系统资源,因此需要采取相应的安全措施。明显的安全要求是阻止对进程内存内容未授权的访问。若一个进程未将其部分内存设置为共享,则其他任何进程都不应访问到这部分内容。若一个进程将其部分内存设置为部分进程共享,则系统安全服务必须保证只有这些进程可以访问。11.3缓冲区溢出缓冲区越界的定义是:在编程接口上发生的情况,此时缓冲区或数据存储区中放入了比其容量更多的数据,导致其他信息被覆盖。溢出攻击编译和运行时防御系统需要能够抵御溢出攻击。这类保护的可行方法大致分为两类:(1)编译时防御,目标是通过程序来抵御对新程序的攻击。(2)运行时防御,目标是探测并阻止对已有程序的攻击。11.3.1溢出攻击突破操作系统安全最常见的一种技术是缓冲区溢出攻击,也称缓冲区越界,其定义是:在编程接口上发生的情况,此时缓冲区或数据存储区中放入了比其容量更多的数据,导致其他信息被覆盖。攻击者利用这种情况来使系统崩溃,或插入特定代码来获取系统控制权。11.3.1溢出攻击缓冲区溢出可能是编程错误造成的,例如进程尝试在某个固定大小缓冲区的界限之外存储数据,因此覆盖了相邻的内存位置。这些位置可能包含其他程序的变量或参数,或程序控制流数据,如返回地址和栈帧指针。缓冲区可以位于栈上、堆上或进程的数据段中。这种错误的后果有程序数据损坏、程序控制流异常跳转、内存访问违例,甚至造成程序终止运行。若上述情况是故意攻击系统的话,则控制流可能跳转到攻击者选定的代码执行,因此受攻击的进程会以自己的权限执行任意代码。缓冲区溢出攻击是一种最常见也最危险的安全攻击。11.3.1溢出攻击为了利用任意类型的缓冲区溢出,攻击者需要:(1)识别程序中的缓冲区溢出漏洞,这些漏洞可使用攻击者能控制的外部资源数据触发。(2)理解缓冲区是怎样在进程的内存中存储的,以及毁坏相邻内存位置和更改程序控制流执行的可能性。要识别易受攻击的程序,可查看程序代码,记录程序处理过量输入的执行流程,以及使用诸如“模糊”类工具(包括使用随机生成的输入数据)来自动识别潜在的易受攻击的程序。11.3.2编译和运行时防御发现并利用堆栈缓冲区溢出其实并不难,因此,要么通过防止溢出的出现,要么至少检测到并终止这类攻击。总之,系统需要能够抵御这类攻击。这类保护的可行方法大致分为两类:(1)编译时防御,目标是通过程序来抵御对新程序的攻击。(2)运行时防御,目标是探测并阻止对已有程序的攻击。11.3.2编译和运行时防御编译时防御的目标是在程序编译时通过配置程序来探测并阻止缓冲区溢出。存在4种做法:一是选择不允许缓冲区溢出的高级语言,二是鼓励安全的编码规范,三是使用安全的标准库,四是额外加入代码来检测栈帧的崩溃。运行时防御可被操作系统的升级程序用来为一些已有的漏洞程序提供保护。这些防御涉及对进程虚拟地址空间存储管理的改进。这些改进要么是改变内存边界属性值,要么是充分预测那些难以阻止多种类型攻击的目标缓冲区的位置。04访问控制Accesscontrol11.4访问控制访问控制实现了一种安全策略:指定谁或何物(如进程的情况)可能有权使用特定的系统资源和在每种场景下被允许的访问类型。访问控制机制调节了用户(或是代表用户执行的进程)与系统资源之间的关系,系统资源包括应用程序、操作系统、防火墙、路由器、文件和数据库。系统首先要对寻求访问的用户进行认证。通常,认证功能决定了用户是否被允许访问系统。然后访问控制功能决定了是否允许用户的特定访问要求。安全管理员维护着一个授权数据库,对于允许用户对何种资源采用什么样的访问方式,授权数据库做了详细说明。访问控制功能参考这个数据库来决定是否准予访问。审核功能监控和记录了用户对于系统资源的访问。11.4访问控制1.文件系统控制访问控制只有在登录成功后,用户才会被赋予权限访问一个或多个主机和应用程序,这种做法对于数据库中有敏感数据的系统来说是不够的。2.访问控制策略访问控制实现一个安全策略,它指明谁或什么(如进程)能对每种指明的系统资源进行访问,以及每种情况下允许的访问类型。3.身份验证控制用户认证是大多数访问控制及用户账户的基础,其定义是:证实一个系统实体所声明的身份的过程。11.4.1文件系统控制只有在登录成功后,用户才会被赋予权限访问一个或多个主机和应用程序,这种做法对于数据库中有敏感数据的系统来说是不够的。通过用户访问控制程序,用户可被系统识别。系统中会有一个与每个用户相关的配置文件,用来指定用户操作和访问文件的权限。操作系统基于用户配置文件来实施权限控制规则。但是,数据库管理系统必须控制特定的记录或一部分记录。例如,每个人都有权限获得公司员工列表,但只有一部分经过挑选的人才有权限获得员工薪水信息。这个问题并非只是一个详细程度的问题。尽管操作系统赋予用户访问文件或使用应用程序的权限,但并未进行深一步的安全检查,数据库管理系统必须对每个人的访问尝试做出决定,该决定不仅取决于用户的标识,而且取决于被访问数据的特定部分,甚至取决于已透露给用户的信息。11.4.2访问控制策略访问控制实现一个安全策略,它指明谁或什么(如进程)能对每种指明的系统资源进行访问,以及每种情况下允许的访问类型。访问控制策略一般分为以下几类:(1)自主访问控制:这是传统访问控制方法。访问控制基于请求者的身份及授权的访问规则,说明什么样的请求者允许执行,这一策略的条件是任意的,因为一个实体可能具有访问权限,并通过自己的意志使得另一个实体也能够访问某些资源。11.4.2访问控制策略(2)强制访问控制:是从军事信息安全中演化出来的一个概念。访问控制基于比较安全的标签(一些灵敏和关键的系统资源),并能被安全地清除(这表明系统的实体有资格获得某些资源),这一策略是强制性的,因为有些实体可能未清除访问资源,而是按照自己的意愿使另一个实体也能访问某些资源。(3)基于角色的访问控制:访问控制基于用户在系统中的角色,说明在某些特定条件和规则下哪些访问是允许的。11.4.2访问控制策略(4)基于属性的访问控制:访问控制基于用户的属性、要访问的资源和当前环境条件。这四种方法并不互斥,可以同时使用两种或三种这样的方法来覆盖不同类型的系统资源。访问控制是由操作系统或文件系统或两者都实行的一项功能。在典型场景中,这两者中应用的原则是相同的。11.4.2访问控制策略访问控制机制处于用户(或一个代表用户执行的进程)与系统资源(如应用、操作系统、防火墙、路由器、文件和数据库)之间。系统必须首先对尝试访问的用户进行认证。典型情况下,认证和控制函数决定了一个用户是否允许访问系统。安全管理员维护一个认证数据库,其中指明了该用户对哪些资源可以进行怎样的访问。审计函数监控和记录用户对系统资源的访问。11.4.3身份验证控制用户身份验证和消息验证是有区别的。消息验证是允许通信各方确认接收到的信息内容未被修改且来源可靠的一个过程。而用户认证是一个主要的构建模块和最初防线,是许多访问控制和用户责任的主要部分。用户认证是大多数访问控制及用户账户的基础,其定义是:证实一个系统实体所声明的身份的过程。11.4.3身份验证控制认证过程包括以下两步:(1)识别步骤:向安全系统提供识别符(分配识别符时应小心,因为被认证的身份是其他安全服务的基础,如访问控制服务)。(2)验证步骤:提出或产生认证信息,用来证实在实体与标识符之间的绑定信息。从本质上看,用户向系统提供一个声明的身份;用户认证就是确认声明的合法性的方法。11.4.3身份验证控制有四种主要的认证用户身份的方法,它们既可以单独使用,也可以联合使用:(1)个体知道的信息:如密码、个人识别号(PIN)或预定义问题集的答案。(2)个体拥有的信息:如电子卡、智能卡、物理钥匙。用来认证的这类认证者称为令牌。(3)个体是什么(静态生物测定):如通过指纹、视网膜和脸部进行的识别。(4)个体做什么(动态生物识别技术):如语音模式、笔迹特征、打字节奏等。11.4.3身份验证控制适当地实现和使用这些方法,可以提供可靠的用户认证。但是每种方法都存在一定的问题。对手能够猜测或盗取密码,类似地,用户能够伪造或盗取令牌,用户可能忘记密码或丢失令牌。而且,对于管理系统上的密码、令牌信息和保护系统上的这些信息,还存在显著的管理开销。对于生物识别技术,也有包括误报和假否定、用户接受程度、费用和便利与否等问题。05操作系统加固Operatingsystemhardening11.5操作系统加固确保系统安全的最关键一步,是保证所有应用与服务所依赖的操作系统的安全。正确安装、更新和配置的操作系统是安全的基础。遗憾的是,许多操作系统的默认配置通常最大化地提升使用的方便程度与功能性,而忽略了安全性。此外,因为机构的安全需求不同,恰当的安全配置也会不同。特定系统所需要的配置应在计划阶段就被确定。虽然保证特定操作系统的安全性的具体细节各异,但方法却接近。恰当的安全配置引导与清单在大多数现代操作系统中都存在,但由于各个组织及其系统的独特需求,这些引导和清单还需要征询他们的意见。有些情况下,自动化工具可进一步保证系统配置的安全性。操作系统加固1.操作系统安装:初装与更新2.删除不必要的服务、应用与协议3.配置用户、组和认证过程4.安装额外的安全控制工具5.对系统安全进行测试11.5操作系统加固11.5.1操作系统安装:初装与更新系统安全性始于安装操作系统之时。联网系统在安装与使用时易受攻击,因此,系统在受攻击阶段不暴露就很重要。理想状态下,新系统应该在一个受保护的网络中创建。它也许是一个安全孤立的网络,包含了操作系统的镜像及所有可用的更新补丁,能保证所使用的设备未被感染。此外,也可使用对访问更广泛的互联网有严格限制的网络。理想状态下,它应该没有任何外部向内部的访问,且只能访问外部的关键站点来进行系统安装和补丁更新过程。无论哪种情况,完整的安装和加固过程都应该在系统被实际部署到更易访问也更易受攻击的位置前实施。11.5.1操作系统安装:初装与更新初始安装应包含系统要求的最少组件,以及额外系统功能所需的软件包——即最小化系统包理论。必须确保整个启动过程的安全。系统最初启动时需要使用BIOS码,因此可能需要调整关于BIOS码的设置,或指定修改BIOS码所需的密码。此外,还可能需要对系统正常启动的媒介进行限制。为防止攻击者改变启动过程,或防止攻击者从外部媒介启动系统,越过正常系统对本地存储的数据进行访问控制,有必要安装一个隐藏的监督管理程序。在选择和安装任何额外的设备驱动代码时,需要小心,因为它通常由第三方提供,在执行时具有完整的内核级权限。必须仔细验证这种驱动代码的完整性和来源。恶意的驱动可能会越过许多安全控制来安装恶意软件。11.5.1操作系统安装:初装与更新由于通用操作系统仍然存在易受攻击的特点,因此保持系统更新、安装所有关键的与安全相关的更新补丁就非常关键,儿乎所有的通用系统都提供系统工具来自动下载和安装安全更新。应适当地配置这些工具,并在更新可用时,最小化系统易受攻击的时间。在变更受控的系统上,不应进行自动更新,因为安全更新偶尔会造成不稳定。对于可用性和正常运行时间极其重要的系统,应在测试系统上验证所有更新后,再将其部署到产品中。11.5.2删除不必要的服务、应用与协议因为系统上运行的任何软件都可能包含漏洞,因此可运行的软件包越少,风险就越低。在可用性、安全与限制安装的数量上,显然存在着一种平衡。不同机构提供的服务、应用和协议的范围各异,即使是同一机构的不同系统也各不相同。系统的规划进程应当识别出给定系统的真正需求,继而提供合适水平的功能性,同时删除无法增强系统安全的软件。对于大多数分布式系统,默认的设置是功能性和易用性而非安全性最大化。进行最初的安装时,不应使用其提供的默认设置,而应进行定制,保证只安装所需的软件包。需要额外的软件包时,再安装它。11.5.2删除不必要的服务、应用与协议用户一般更偏好于不安装无用的软件,而非安装后再卸载或禁用,因为他们注意到许多卸载脚本不能完全删除软件包的所有内容。而且,禁用一项服务意味着虽然它不能成为攻击的发起点,但若攻击者成功获得了系统的部分访问权限,则被禁用的软件可能会被重新允许并用来攻击系统。因此不需要的软件不安装对于安全性而言更好。11.5.3配置用户、组和认证过程并非所有用户都能访问系统上的所有数据和资源。现代操作系统都实现了对数据和资源的访问控制,几乎都提供了某种形式的自主访问控制。系统规划进程应考虑系统上用户的分类、所有者的权限、可访问的信息类型,以及在何时、何处进行定义和认证。有些用户会被提升权限来帮助管理系统;其他用户则是普通用户,对文件和其他数据有恰当的共享访问;甚至是拥有有限访问权限的来宾账户。此外,权限提升仅限于有需要的用户。这样的用户只在需要执行一些任务时才申请必要的权限提升,平时则作为普通用户使用系统。这种做法增强了安全性,因为攻击者利用这些有权限用户的行为攻击系统的机会窗口更小。有些操作系统提供了特殊的工具或访问机制来协助管理员用户只在必要时提升他们的权限,并恰当地记录这些行为。11.5.3配置用户、组和认证过程是在系统上本地指定用户、用户所属的组及它们的认证方法,还是使用中心化的认证服务器,是一项关键性的决定。无论选择哪种方式,都应在系统上配置好合适的细节。在这个阶段,应保证任何在系统安装过程中包含的默认账户的安全。不需要的账户应被删除或禁用。管理系统服务的系统账户应被设置为不能登录。同时,任何默认密码也应被设置为足够安全的新密码。任何应用于认证凭据,特别是密码安全的策略,都应被恰当配置。这包括一些细节,如对于不同账户的访问应使用哪种认证方法。同时包括密码的要求长度、复杂度和年龄等细节。11.5.3配置用户、组和认证过程定义好用户和相关的用户组后,就需要在数据和资源上设置恰当的权限来匹配指定的策略。这样做可限制哪些用户能执行一线程序,特别是一些修改系统状态的程序,或限制特定目录树中的哪些用户可以读写数据。为增强安全性,许多安全加固指引都提供了对默认访问配置的推荐修改。11.5.4安装额外的安全控制工具进一步的安全增强措施可通过安装和配置额外的安全工具来实现,如杀毒软件、基于主机的防火墙、IDS或IPS,或应用白名单。其中一些可能已在系统安装时提供,但未进行配置,而是使用了默认设置。其他安全工具则是第三方的产品。随着恶意软件的广泛传播,合适的杀毒软件(能够识别出多种类型的恶意软件)是许多系统上的一个主要安全组成部分,Windows系统上使用了传统的杀毒产品,因为Windows系统以其高使用率成了攻击者的目标。然而,其他平台的增长,特别是智能手机,已导致更多面向这些平台的恶意软件的出现,因此,合适的杀毒产品对于任何系统而言,都会成为其安全性保障的重要部分。11.5.4安装额外的安全控制工具基于主机的防火墙、IDS和IPS软件也通过限制远程网络访问增强了系统的安全性。若对服务的远程访问是不必要的,则这样的限制可帮助保护这些服务不被攻击者远程利用。传统防火墙配置可限制对部分或全部外部系统对某些端口或协议的访问。有些防火墙还能用来限制系统上特定程序的访问控制,进一步限制可以攻击的薄弱点,组织攻击者安装和访问他们自己的恶意软件。IDS和IPS软件可能还包含额外的机制,如流量控制或文件完整性检查,以识别和反击某些类型的攻击。11.5.4安装额外的安全控制工具另一种额外的控制机制是应用白名单。它限制了程序的能力,只允许名单内的程序在系统上运行。这样的工具可以组织攻击者安装和运行他们自己的恶意软件。虽然这样能增强安全性,但要让它处于最佳工作状态,则必须事先预测用户所需的应用程序集。对软件用途的任何修改都会导致对配置的修改,因此可能会造成对IT技术支持需求的增加。但并非所有机构或系统都具有充分的可预测性来满足这种类型的安全控制。11.5.5对系统安全进行测试保障底层操作系统的初始安全性的最后一步是进行安全测试,目标是确保之前的安全配置步骤已正确实现,并识别出所有可能需要纠正和管理的漏洞。许多安全加固指引中都包括了合适的安全要求清单。此外,还有特定的软件,其设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年一面说课稿色彩搭配
- 初中学习压力心理说课稿2025年
- 小学自然观察实践活动星空观察说课稿
- 年产11万吨废磨料再生项目可行性研究报告
- 二、小海龟画图说课稿2025学年小学信息技术粤教版五年级下册-粤教版
- 2026中学教资教学反思常用方法课件
- 分造智能装备05掌握工业互联关键可靠数据传输实现智能通讯
- 一级建造师考试(通信与广电工程管理与实务)真题及答案(乌鲁木齐)
- 2026年上海市助理政工师职称(思想政治工作)综合试题及答案
- 2025年青海省中石油职称政治理论水平考试模拟试题及答案
- 2025版《煤矿安全规程》井工煤矿“设计及井巷布置”、“采掘”部分解读课件
- 2025年法考客观题考试真题及答案
- 【《基于plc的包装机控制系统设计》10000字】
- 2025年PCB-LAYOUT基础知识课件
- 飞行力学与飞行控制
- 道路基床砂砾垫层施工技术规范
- 《二氧化碳转化原理与技术》课件 第0-8章 二氧化碳转化原理与技术-二氧化碳光催化转化
- 地下车库堵漏合同范本
- 茅台安全管理员题库及答案解析
- 2024-2025学年新疆和田地区八年级下学期期末语文试题
- 2025版压力性损伤预防和治疗的新指南解读
评论
0/150
提交评论