17.1 事件响应管理
任何安全方案都以预防事件发生作为一个主要目标。
但是一旦有事件发生,机构必须有能力做出响应,限制或遏制事件的发展。
事件响应的主要目标是将机构受到的影响降至最低限度。
17.1.1 事件的定义
机构通常在安全策略或事件响应计划中定义计算机安全事件的含义。
这个定义往往用一两句话表述,其中包括被机构划归为安全事件的常见清况的例子,例如:
•任何未遂的网络入侵;
•任何未遂的拒绝服务攻击;
•对恶意软件的任何检测发现;
•对数据的任何未经忮权访问;
•对安全策略的任何违背行为。
17.1.2 事件响应步骤
有效的事什响应管理分若干步骤或阶段进行。
图17.1显示了CISSP目标概述的涉及事件响应管理的7个步骤。
事件响应是一种持续开展的活动,“总结教训"阶段的结果用来改进检测方法或帮助防止事件重复发生。
这里有一点必须强调,事件响应并不包含对攻击者的反击。
对他人发起攻击经常会适得其反,而且往往是违法的。
如果一名技术人员识别出攻击者后对其发起攻击,极可能导致攻击者的攻击行为变本加厉。
换言之,这时的攻击者可能认为反击是个人行为,往往会疯狂报复。
此外,攻击者还可能藏匿在一名或多名无辜受害者的背后。
攻击者常常会借助欺骗手段隐藏自己的身份,或者通过僵尸网中的僵尸发起攻击。
反击所打击的很可能是一名无辜的受害者,而非攻击者本人。
1. 检测
IT环境中有许多方法可用来检测潜在事件。
下面列出检测潜在事件的许多常用方法,其中还说明了这些方法报告事件的方式。
•入侵检测和预防系统发现值得注意的问题后会向管理员发出警报。
•反恶意软件程序在检测到恶意软件时常常会弹出一个窗口发出警告。
•许多自动化工具定期扫描审计日志,以找出预先定义好的情况,例如有人在使用特殊权限。
它们检测到特定事态后,通常会向管理员发出警报。
•最终用户有时会检测非常规活动,发现问题后联系技术人员或管理员以求得帮助。
当用户报告自己无法访问网络资源或无法更新系统的情况时,就是在向IT人员发出警报:可能有异常事件发生。
需要注意,仅因为IT专业人员收到自动化工具发出的警报或用户发出的抱怨,并不总是意味着已有事件发生。
入侵检测和预防系统时常会发出假警报,而最终用户的抱怨也往往源于自己的简单操作错误。
IT人员需对这些事态进行调查才能判断是否真有事件发生。
许多IT专业人员属于事件现场急救员。
他们最先到达现场,懂得如何将典型IT问题与安全事件区分开来。
他们与那些掌握了高超技能和能力,可在现场提供医疗援助并在必要清况下将患者送往医疗设施的医疗救护人员十分相似。
医疗救护人员接受过的特殊训练可帮助他们判断轻伤与重伤的区别。
此外,他们还知道遇到严重伤情时应该如何处理。
与此相似,IT专业人员需要经过特殊训练才能判断需要解决的典型问题与需要提升处理级别的安全事件之间的区别。
IT人员对事态进行调查并判断这是一起安全事件后,将进入下一步骤:响应。
许多情况下,进行初步调查的人员需提升事件的级别,以调动其他IT专业人员介入。
2. 响应
检测并证明确有事件发生的下一步是响应。
响应行动会因事件严重程度的不同而各异。
许多机构设立有专门的事件响应小组有时也叫计算机事件响应小组(CIRT),或计算机安全事件响应团队(CSIRT)。
机构会在有重大安全事件发生时启用这个小组,而对于小事件,则一般不会兴师动众。
正式的事件响应计划阐明谁有权在什么情况下启用这个小组。
小组成员接受过有关事件响应以及机构事件响应计划的培训。
小组成员通常协助对事件进行调查、评价损害、收集证据、报告事件和执行恢复规程。
他们还参与补救和总结教训阶段的工作,帮助分析造成事件发生的根本原因。
机构对事件响应的速度越快,把损害限制在有限范围的机会越大。
另一方面,如果事件持续发展若干小时乃至几天,有可能造成更大损害。
假如有一名攻击者正在尝试访问一个客户数据库。
快速的响应可以阻止攻击者得到任何有意义的数据。
然而,如果对数据库的访问畅通无阳地持续好几小时或好几天,攻击者将能把整个数据库都拷贝出来。
调查结束后,管理层可能会决定起诉事件责任人。
出于这一原因,在调查过程中保护好可以充当证据的所有数据至关重要。
只要存在起诉责任人的可能性,小组成员都要采取额外措施保护证据,以确保进行司法起诉时有证据可供使用。
3. 抑制(Mitigation)
抑制措施旨在遏制事件的发展。有效事件响应的主要目的之一是限制事件的影响或范围。
例如,一台受感染计算机通过它的网卡(NIC)向外发送数据时,技术入员可以禁用网卡或断开网卡的电缆。
有时,这一做法涉及切断一个网络与其他网络之间的连接,以把问题遏制在一个网络之内。
问题被隔离开之后,安全人员便可在不必担心问题传播到网络其余部分的情况下妥善解决问题。
有时,响应人员会在不让攻击者知道攻击已被发现的情况下采取措施抑制事件。
这样做可以使安全人员得以监视攻击者的行动并确定攻击范围。
4. 报告
报告是指在本单位通报所发生的事件并将情况上报机构外的相关部门和官员。
虽说没有必要将一次微不足道的恶意软件感染上报本单位首席执行官(CEO),但机构高管确实需要对严重安全破坏事件知情。
举个例子,2017年发生的WannaCry勒索软件攻击仅用一天时间就感染了150多个国家的超过23万台计算机。
这个恶意软件显示一条消息:“糟糕,你的文件被加密了"。
据报道,这个攻击感染了英国的部分国家医疗服务系统(NHS),迫使一些医疗服务只能转入紧急状态运行。
IT人员逐步了解攻击的影响后,开始将情况上报主管,而这些报告极可能在攻击发生的当天就送到执行官手里。
对于机构外面发生的一些事件,机构往往也有合法的报告要求。
大多数国家(以及许多小一些的司法辖区,包括州和市)都制定了法规遵从法律来治理安全破坏事件,尤其针对信息系统内保存的敏感数据。
这些法律通常都包含事件报告要求,特别是安全破坏事件暴露消费者数据的情况。
尽管法律因地区的不同而各异,但它们的宗旨都是寻求保护个人记录和信息的隐私,保护消费者的身份以及为财务实践规范和公司治理建立标准。
每家机构都有责任了解哪些法律适用于自身,并遵守这些法律。
许多司法辖区为保护个人身份信息(PII)制定了专门的法律。
如果数据破坏事件暴露了个人身份信息,机构必须马上报告。
不同的法律有不同的报告要求,但大多数法律都要求将事件通知受害者本人。
换言之,如果对系统的一次攻击导致攻击者掌握有关你的个人身份信息,系统拥有者有责任把这次攻击以及攻击者访问了哪些数据的情况通知你。
机构在响应严重安全事件的过程中,应该考虑把事件报告给执法部门。
在美国,这可能意味着通知联邦调查局、地方检察官办公室和/或州和地方司法机关。
在欧洲,机构可将事件报告给国际刑警组织(INTERPOL)或根据事件本身和所处地区把情况报告给其他某个实体。
这些执法机构将能协助开展调查,而它们收集的数据将有助于防止其他机构将来被相同攻击所害。
许多事件未被报告,是因为人们没有把它们看作是事件。而这往往是人员缺乏培训的结果。
显而易见的解决办法是确保所有人员都接受相关培训。
培训应该教会人员如何识别事件,发生事件后应该如何初步应对以及应该如何报告事件。
5. 恢复
调查人员从系统收集了所有适当证据后,下一步是恢复系统,或使其返回完全正常工作状态。
对于小事件来说,这会非常简单,或许只需要重启系统就可以了。
但是一次重大事件可能会要求彻底重建系统。重建系统包括从最近的备份中恢复所有数据。
在将一个遭到破坏的系统从头重建时,必须确保系统配置恰当,安全性至少要达到遭遇事件之前的水平。
如果机构制定了有效的配置管理和变更管理方案,这些方案将提供必要文件,可保证重建的系统得到适当的配置。
有些事项需要双重复查,其中包括访问控制列表(ACL),目的是确保:
禁用或移除不需要的服务和协议,安装了所有最新补丁,用户账号经修改已不再是缺省状态,以及所有遭破坏的地方都得到了修复。
6. 补救(Remediation)
在补救阶段,安全人员首先对事件进行分析研究,努力搞清究竟是什么因素造成事件发生,然后采取措施防止事件再次出现。
根本原因分析通过剖析事件来判断事件起因。
例如,如果攻击者通过一个网站成功访问了一个数据库,安全人员需要检查系统的所有元素,据此判断攻击者得以成功的因素。
如果根本原因分析找出一个可以抑制的漏洞,这一阶段将就如何改进系统提出建议。
若属Web服务器没有打上最新补丁,攻击者得以远程控制服务器的情况,补救行动可能需要执行一项补丁管理方案。
若属网站应用程序未采用适当输入验证技术,造成SQL 注入攻击得逞的情况,补救行动可能需要更新应用程序,使其具备输入验证功能。
若属数据库就驻留在Web服务器内而未被安放到一台后端数据库服务器上的情况,则补救行动可能需要新培一道防
火墙,然后把数据库迁移到这道防火墙后面的服务器中。
7. 总结教训
在总结教训阶段,安全人员回顾事件发生和响应的整个过程,以确定是否可以从中总结什么经验教训。
事件响应小组将介入这一阶段工作,而了解事件情况的其他员工也将参与其中。
安全人员在回顾事件响应的过程中寻找响应行动中需要改进的方面。
例如,如果响应小组耗费很长时间才把事件遏制住,则分析研究要尝试找出原因。
或许是因为人员没有接受过适当培训,缺乏有效响应事件的知识和专业技能。
他们最初接到通知时,可能没有意识到事件已经发生,从而任凭攻击过长时间肆虐。
现场急救人员可能非但没有意识到需要保护证据,反而在响应过程中无意间毁掉了证据。
这一阶段的输出结果可以反馈给事件管理的检测环节。
例如,管理员可能意识到,攻击是躲过检测悄悄展开的,增强检测能力势在必行,于是建议改进入侵检测系统。
事件响应小组总结了经验教训之后,通常要编制一份报告。
小组可能会根据总结过程的发现建议改进规程、增加安全控制,乃至更改策略。
管理层将决定采纳哪些建议,并对因为自己没有采纳某项建议而依然存在的风险负责。
17.2 落实检测和预防措施
17.2.1 基本预防措施
尽管没有哪种方法可以单独挡住所有攻击,但是毕竟有一些基本措施可帮助你抵御许多类型攻击的侵扰。
保持系统和应用程序即时更新。
供应商会定期发布补丁来纠正产品中的bug和安全缺陷,但是这些补丁只有用到系统和应用程序中才会发挥作用。
补丁管理可确保系统和应用程序即时更新相关补丁。
移除或禁用不需要的服务和协议。
如果系统不需要某项服务或协议,该服务或协议就不应该运行。
一项服务或协议若没有在系统上运行,攻击者自然也无从恶意利用它的漏洞。
一台Web服务器把所有可用服务和协议全部运行起来,便是一个极端的例子。
这台服务器极易受针对其中任何服务和协议的潜在攻击侵扰。
使用入侵检测和预防系统。
入侵检测和预防系统观察活动、尝试检测攻击并发出警报。
它们往往能够拦截或阻止攻击。
使用最新版本反恶意软件程序。
病毒和蠕虫
使用防火墙。
防火墙可预防许多不同类型的攻击。
基于网络的防火墙保护整个网络,基于主机的防火墙保护单个系统。
执行配置管理和系统管理流程。
配置和系统管理流程有助于确保以某种安全方式部署系统,使系统在整个生命周期始终保持在一种安全状态。
17.2.2 了解攻击
安全专业人员需要充分了解各种常见攻击方法,只有这样,才能采取前摄性措施预防攻击,
在有攻击发生时把它们识别出来以及对攻击做出适当响应。
1. 僵尸网
僵尸网在今天已成为一种常见现象。僵尸网中的计算机就像是机器人(被称作傀儡,有时也叫僵尸)。
多个僵尸在一个网络中形成一个僵尸网,官们会依照攻击者的指令做任何事情。
僵尸牧人通常是一个犯罪分子,他通过一台或多台指挥控制服务器操控佃尸网中的所有计算机。
僵尸牧人在服务器上输入命令,僵尸则通过指挥控制服务器接收指令。
僵尸经编程可被设定为定期联系服务器,或保持休眠状态,直至到达一个既定的具体日期和时间,或者对某种事态做出
响应,比如检测到特定通信流的时候。
僵尸牧人通常会在僵尸网中指示僵尸发起涉及面很广的各种攻击、发送垃圾邮件和钓鱼邮件,或者将僵尸网出租给其他犯罪分子。
计算机往往会在感染了某种恶意代码或恶意软件之后被拉进僵尸网。
计算机一且受到感染,通常会放任僵尸牧人远程访问系统并安装其他恶意软件。
某些情况下,僵尸会安装用于搜索文件的恶贲软件,搜索对象包括口令或攻击者感兴趣的其他信息,或者安装用于捕捉用户击键动作的键盘记录器。
僵尸牧人经常向僵尸发出指令,引导它们发动攻击。
一个僵尸网由4万多台计算机组成已是常态,过去甚至还活跃过控制了数百万个系统的僵尸网。
有些僵尸牧人控制着不止一个僵尸网。
有许多方法可以用来保护系统不被拉进僵尸网,采用纵深防御战略,实现多层次安全保护才是最好的办法。
由于系统通常受恶意软件感染之后才会被拉进僵尸网,所以,确保将系统和网络置于最新反恶意软件程序的保护之下至关重要。
一些恶意软件利用了操作系统和应用程序中没有打上补丁的缺陷,因此,保持系统即时更新补丁有助于保护它们。
然而,攻击者不断推出的新恶意软件可以绕过反恶意软件程序——情况至少暂时是这样。
他们甚至发现了目前还没有补丁可用的漏洞。
对用户开展教育是抵御僵尸网感染的一种极其重要的手段。
从世界范围来看,攻击者几乎在不间断地往外发送恶意钓鱼邮件。
有些钓鱼邮件包含恶意附件,用户一旦打开,系统就会被拉进僵尸网。
有些钓鱼邮件则包含指向恶意网站的链接,这些网站试图给用户下载恶意软件或企图诱骗用户下载恶意软件。
还有些钓鱼邮件则试图骗取用户的口令,攻击者随后利用这些收集来的口令潜入用户的系统和网络。
许多恶意软件感染是基于浏览器的,用户上网浏览时,系统便会受到感染。
保持浏览器及其插件即时更新是一种重要的安全实践规范。
此外,大多数浏览器都内置了强大的安全性能,这些性能是不应禁用的。
例如,大多数浏览器都支持用沙箱隔离Web应用程序,但是有些浏览器具有禁用沙箱的能力。
你若是这么做了,浏览器的性能虽然可以略有提高,但也会带来巨大风险。
2.拒绝服务攻击
拒绝服务(DoS)攻击阻止系统处理或响应对资源和对象的合法访问或请求。
DoS攻击的一种常见形式是向服务器传送大量数据包,致使服务器不堪处理重负而瘫痪。
其他形式的DoS攻击侧重于利用操作系统、服务或应用程序的已知缺点或漏洞。
对漏洞的恶意利用往往令系统崩溃或CPU百分之百占用。
无论攻击的实际构成是什么,任何使受害者无法开展正常活动的攻击,都属于DoS攻击。
DoS 攻击可导致出现系统崩溃、系统重启、数据损毁、服务被拦截等多种清况。
DoS 攻击的另一种形式是分布式拒绝服务(DDoS)攻击。
多个系统同时攻击一个系统的情况就是DDoS攻击。
例如,一群攻击者针对一个系统协同发动攻击。
不过,当今更常见的情况是,攻击者首先入侵多个系统然后以这些系统为攻击平台对受害者发起攻击。
攻击者通常利用僵尸网发动DDoS攻击。
分布式反射型拒绝服务(DRDoS)攻击是DoS 的一种变异形式。它借助一种方法来反射攻击。
换句话说,它并不直接攻击受害者,而是操纵通信流或网络服务,致使攻击从其他来源反射回受害者。
域名系统(DNS) 中毒攻击(第12 章)和Smurf 攻击(稍后介绍)就是例子。
3. SYN 洪水攻击
SYN洪水(flood)攻击是一种常见DoS攻击形式。它破坏传输控制协议(TCP)用来启动通信会话的标准的三次握手。
通常,客户端向服务器发送一个SYN(同步)包,服务器向客户端回应一个SYN/ACK(同步/确认)包,客户端随后将ACK(确认)包返回给服务器。
这样形成的三次握手可建立一个通信会话,供这两个系统用于传输数据,直到会话被FIN(结束)或RST(复位)包终止。
然而在SYN洪水攻击中,攻击者发出多个SYN 包,但是绝不用ACK包完成连接。
这就好比一个恶作剧者伸出手来表示要跟别人握手,但是当别人做出回应,伸手迎上来时,他却突然把手收回来,把对方晾在当场。
图17.2 演示了一个例子。在该例中,一个攻击者发出了3个SYN 包,而服务器对每个SYN包都做出了回应。
服务器在等待ACK包的过程中为每次请求都保留了系统资源。
服务器通常最长等待ACK 包3分钟,然后才会放弃尝试中的会话——不过管理员可调整这个时间。
3个不完整会话倒不会带来什么大问题。然而,攻击者会向受害者发送成于上万个SYN包。
每个不完整会话都会消耗资源,直到某个时刻,受害者不堪重负,无法再对合法请求做出回应。
攻击以这样的方式消耗可用的内存和处理能力,致使受害者系统漫如蜗牛或者干脆崩溃。
攻击者经常让每个SYN包都带一个不同的源地址,以这样的方式假造源地址。
这种做法使系统很难通过源IP地址来阻止攻击者。
攻击者还协调行动,同时对一个受害者发难,形成DDoS攻击。
限制许可开放会话的数量并不能起到有效防护的作用,因为系统一旦达到极限,便会拦截来自合法用户的会话请求。
而在服务器上增加许可会话的数量反过来又会导致攻击消耗更多系统资源,只给服务器留下有限的RAM和处理能力。
利用SYN cookie是阻止这种攻击的一种方法。
这些小记录只消耗极少系统资源。系统收到一个ACK时,会检查SYN cookie并建立一个会话。
防火墙往往像入侵检测和预防系统一样,配有检查SYN攻击的机制。
阻止这种攻击的另一手段是缩短服务器等待ACK的时间。
默认的等待时间通常是3分钟,但在正常操作中,合法系统发送ACK包的时间绝少有用到3分钟的。
通过缩短时间,会有半数开放会话被更快速地从系统内存刷出。
4. Smurf 和Fraggle 攻击
Smurf 和Fraggle 攻击都属于DoS攻击。
Smurf 攻击是洪水攻击的另一种类型,但是它用来淹没受害者的是Internet控制消息协议(ICMP)回声包而非TCP SYN 包。
具体来说,它是用受害者IP 地址充当源IP地址的欺骗性广播ping请求。
ping用ICMP 检查与远程系统的连接。
正常情况下, ping 向一个系统发送一个回声请求,而该系统用一个回声回复回应。
但在Smurf 攻击中,攻击者以广播形式把回声请求发送给网络上的所有系统并假造源IP 地址。
所有这些系统都会用回声回复应答假造的IP 地址,从而用通信流把受害者淹没。
Smurf 攻击通过路由器发送定向广播,形成一个放大网(也叫Smurf 放大器)。
放大网上的所有系统随后都攻击受害者。
然而, 1999年发布的RFC 2644 修改了路由器的标准默认值,使路由器不再转发定向广播通信流。
如果管理员依照RFC 2644 的要求正确配置路由器,网络就不能成为放大网。
这会把Smurf 攻击限制在一个网络之内。
此外,在防火墙、路由器乃至许多服务器上禁用ICMP 也是常见做法,可以防止借助ICMP 的任何类型攻击。
在标准安全实践规范被广泛采用的今天,Smurf 攻击己几乎绝迹。
Fraggle 攻击与Smurf 攻击相似。
但Fraggle 攻击所利用的不是ICMP, 而是在UDP 端口7和端口19 上使用UDP 数据包。
Fraggle 攻击利用欺骗性受害者IP地址广播UDP数据包,结果造成网络上的所有系统都向受害者发送通信流,情形与Smurf 攻击一样。
5. ping 洪水
ping 洪水攻击用ping 请求淹没受害者。
这种攻击在以DDoS 攻击形式通过一个僵尸网内的僵尸发起时,会非常奏效。
如果成于上万个系统同时向一个系统发送ping 请求,这个系统会在回应这些ping 请求的过程中忙乱不堪,根本抽不出时间去响应合法请求。
当前,应对这种攻击的一种常用办法是拦截ICMP通信流。
运行中的入侵检测系统可在攻击过程中检测出ping 洪水,然后修改环境参数,把ICMP 通信流拦住。
6. 死亡之ping
死亡之ping 攻击使用了超大ping 数据包。
ping 包通常只有32 或64 位,但不同的操作系统还允许使用其他大小的ping 包。
死亡之ping 攻击将ping 包的大小改到64KB 以上,超出许多系统的处理能力。
一个系统收到的ping 包若大于64KB, 必然会出问题。
某些情况下,系统会崩溃而在其他情况下,系统会出现缓冲区溢出错误。
由于补丁和更新包消除了漏洞,死亡之ping 攻击如今已很难得逞。
7.泪滴
在泪滴攻击中,攻击者以一种方式将通信流分割成碎片,使系统无法将数据包重新组合到一起。
大数据包通过网络发送时,通常会被分解成较小的片段,接收系统收到后再将数据包片段重新组合成原始状态。
然而,泪滴攻击会把这些数据包打碎,致使系统无法恢复。
旧系统遇到这种情况时只能崩溃,但是补丁解决了这个问题。
尽管当前的系统已不再惧怕泪滴攻击,但是这着实突出了保待系统即时更新的重要性。
此外,入侵检测系统可以查出畸形数据包。
8. LAND 攻击
攻击者把受害者的IP 地址既用作源IP 地址也用作目标IP 地址,以这种方式向受害者发送欺骗性SYN 包,从而形成LAND 攻击。
LAND 攻击诱骗系统不断回复自己,最终导致系统冻结、崩溃或重启。
这种攻击在1997 年被首次发现,后来又出现过几次,攻击不同的端口。
保持系统即时更新,以及过滤通信流,直出源地址和目标地址相同的通信流,可帮助抵御LAND攻击。
9. 零日利用
零日利用是指利用别人还不知道的漏洞的攻击。
不过,安全专业人员还会在不同语境下使用这个词,根据语境的不同,词义略有差异。
下面列举几个例子:
攻击者最先发现漏洞。
攻击者发现一个新漏洞后可以轻而易举利用它,因为他是唯一知道这个漏洞的人。
在这个时间点,供应商对漏洞并不知情,自然还没有开发或发布补丁。
这是零日攻击的普通定义。
供应商掌握漏洞的清况。
供应商了解漏洞后,评估威胁的严重性并按优先重点开发补丁。
软件补丁可能非常复杂,要求必须进行广泛测试,以确保补丁不会引起其他问题。
供应商可能会在严重威胁出现的几天之内就开发并发布补丁,而对于他们认为没那么严重的问题,可能会用几个月时间开发和发布补丁。
在这段时间利用这种漏洞的攻击通常叫作零日利用,因为公众还对漏洞不知情。
供应商发布补丁。
补丁被开发出来并发布后,打上补丁的系统将不再惧怕这种恶意利用。
然而,机构往往要花时间来评估和测试补丁,然后才把补丁用于系统,从而供应商发布补丁与管理员采用补丁之间形成一段时间差。
微软通常在每个月的第二个星期二发布补丁,这一天被叫作“周二补丁日”。
攻击者往往尝试以逆向工程手段解析补丁,然后在第二天利用补丁,这一天被叫作“周三利用日”。
于是有人把在供应商发布补丁后第二天发动的攻击叫作零日攻击。
不过,这种说法并不普遍。相反,大多数安全专业人员把这种攻击视为对未打补丁系统的攻击。
用于保护系统免遭零日攻击侵扰的方法包括许多基本预防措施。
机构要确保系统不运行不需要的服务和协议,以缩小系统的受攻击面;
启用基于网络和基于主机的防火墙,以限制潜在的恶意通信流;
并用入侵检测和预防系统来帮助检测和拦截潜在攻击。
此外,蜜罐和填充单元也可帮助管理员观察攻击清况,它们还能揭示使用零日利用手段的攻击。
10. 恶意代码
恶意代码是指在计算机系统上执行有害、未经授权或未知活动的任何脚本或程序。
恶意代码以多种形式存在,其中包括病毒、蠕虫、木马、内含破坏性宏的文档和逻辑炸弹。
恶意代码也常被叫作恶意软件。攻击者针对几乎所有类型计算设备或联网设备不断编写和修改恶意代码。
传播病毒的方法在不断进化。几年前,最流行的方法是通过系统间人工传递的软盘传播。
后来,最流行的方法变成以附件或嵌入式脚本的形式通过电子邮件传播,直到今天,这种方法依然十分盛行。
许多专业人士认为,“偷渡式下载“是使用得最普遍的方法之一。
偷渡式下载(drive-by download)是在用户不知情的情况下把代码下载并安装到用户系统上。
攻击者篡改网页上的代码,用户访问时,代码在用户的系统上下载并安装恶意软件,不需要用户知情或同意。
攻击者有时破坏合法网站,给网站添加恶意代码,使之携带偷渡式下载程序。
攻击者还会自已经营恶意网站,通过网络钓鱼或重新定向手段把用户引到恶意网站。
大多数偷渡式下载都利用了未打补丁系统中的漏洞,因此,保持系统即时更新可以抵御偷渡式下载。
攻击者有时还借助“恶意广告“传播恶意软件。他们冒充合法公司,而且还花钱在合法网站上打广告。
用户点击这种广告后,会被重新定向到一个恶意站点,而这样的网站通常会尝试执行偷渡式下载。
安装恶意软件的另一种流行方法是使用按次数付费安装法。
犯罪分子付钱委托网站运营商管理他们的恶意软件,这些软件通常是一种假反恶意软件程序(也叫流氓软件)。
网站运营商对每次从其网站发起的软件安装收费。
付费标准差异很大,但一般来说,在美国的计算机上成功完成安装花钱更多。
尽管绝大多数恶意软件都是以互联网为媒介传输的,但也有一些恶意软件通过USB 闪有盘传播到系统。
用户一旦将USB 闪存盘插入系统,许多病毒马上就能开始检测。
病毒随后感染驱动器。而当用户把这个闪存盘插到另一个系统时,恶意软件便会感染新系统。
11. 中间人攻击
一名恶意用户在进行通信的两个端点之间从逻辑上占据一个位置的情况,就是发生了中间人(MITM)攻击。
中间人攻击分两种类型。
一种类型是复制或嗅探两个通信参与方之间的通信流,这基本上属于第14 章描述的嗅探攻击。
另一种类型是攻击者将自己定位在通信线路上,充当通估的存储转发或代理机制,如图17.3 所示。
客户端和服务器都认为双方是直接连接在一起的。
然而,其实是攻击者在捕获并转发这两个系统之间的所有数据。
攻击者可收集登录凭据和其他敏感数据,还能更改两个系统之间交换消息的内容。
中间人攻击的技术要求远高于许多其他攻击,因为攻击者既要在客户端面前装扮服务器,还要在服务器面前装扮客户端。
中间人攻击往往需要多重攻击配合。
例如,攻击者篡改路由信息和DNS值,获取并安装加密证书,经破解后进入加密隧道,
或者伪造地址解析协议(ARP)查找一这些都是中间人攻击的组成部分。
系统即时更新补丁可以阻止一些中间人攻击。
入侵检测系统通常检测不出中间人或劫持攻击,但能检测到通信链路上发生的异常活动并就可疑活动发出警报。
许多用户经常借助虚拟专用网(VPN)来规避这些攻击。
有些VPN 由员工所在机构建立并管理,但也有许多VPN 是商业性经营的,任何人都能使用,通常需要付费。
12. 蓄意破坏
员工蓄意破坏是指员工对自己供职的机构实施破坏的一种犯罪行为。
如果员工对机沟资产足够了解、有充分访问权限操纵环境的关键方面,同时又内心深感不满,便会变成一种风险。
当员工怀疑自己会被无正当理由解职,或员工被解职后访问权依然保留时,最容易出现员工蓄意破坏的情况。
这是为什么解聘一名员工时不可拖泥带水,应尽快禁用该员工账号访问权的另一重要理由。
防止员工蓄意破坏的其他预防措施还包括加大审计力度、监测异常或未经授权活动、确保员工与经理沟通顺畅以及适当补偿和承认员工做出的贡献。
13. 间谍活动
间谍活动指收集机构专有、秘密、私有、敏感或机密信息的恶意行为。
攻击者开展间谍活动,往往是为了将信息泄露或出卖给竞争对手或其他感兴趣的组织(例如外国政府)。
攻击者可能是心怀不满的员工,某些情况下,可能是被机构之外某些人威逼利诱的员工。
间谍活动也可能由安插在机构中的职业间谍实施,目的是为秘密的大雇主窃取情报。
有时,间谍活动还会发生在远离工作场所的地方,比如在会议或活动中,由专人针对员工的移动资产下手。
抵御间谍活动的对策是严格控制对所有非公开数据的访问、对新应聘者进行彻底审查以及有效跟踪所有员工的活动。
许多报道的间谍案件可以追溯到由国家资助的高级持续威胁(APT) 。
检测这些攻击的方法之一是实施出口监测,即监测从网络流出的通信流。
17.2.3 入侵检测和预防系统
攻击者在不断改进他们的攻击手段,所以攻击往往会随着时间的推移而改变。
同样,检测和预防方法为适应新的攻击也在不断改进。
机构通常利用入侵检测系统(IDS)和入侵预防系统(IPS)来检测和预防攻击。
攻击者绕过或挫败安全机制访问机构资源时,就是发生了入侵。
入侵检测是一种特殊监测形式,它监控记录下来的信息和实时事件,以检测表明出现潜在事件或入侵的异常活动。
入侵检测系统(IDS) 自动检查日志和实时系统事件,以检测入侵企图和系统故障。
由于入侵预防系统(IPS)包含检测能力,你常常看到人们称之为入侵检测和预防系统(IDPS) 。
IDS 是检测许多DoS 和DDoS 攻击的有效方法。
它们可识别来自外部连接的攻击,例如来自互联网的攻击,以及内部传播的攻击,如恶意蠕虫。
IDS 发现可疑事件后,会立即发出警报。
某些情况下,它们还可为阻止攻击而改变环境。
IDS 的主要目的是提供一种可对入侵做出及时和准确响应的方法。
入侵预防系统(IPS)包含IDS 的所有功能,但也可采取额外措施来阻止或预防入侵。
如果需要,管理员可禁用IPS 的这些额外性能,而这实际上使其成为一个IDS 。
你常会看到IDS 和IPS 合并成入侵检测和预防系统(IDPS) 的情况。
例如,NIST SP 800-94“入侵检测和预防系统指南“全面论述了入侵检测和入侵预防这两种系统,
但为了简沽起见,文件通篇都用IDPS 来统称IDS和IPS。
在本章中,我们描述了IDS用来检测攻击的方法、它们响应攻击的方式以及可供使用的IDS类型。
然后,我们会在适当的地方添加有关IPS的信息。
1. 基于知识检测和基于行为检测
IDS通过监测网络通信流和检查日志来主动监视可疑活动。
例如,IDS可通过传感器或代理监测网络中的路由器和防火墙。
这些设备都设置了记录活动的日志,传感器可将这些曰志条目转发给IDS进行分析。
一些传感器将所有数据都发送给IDS, 而其他传感器会先把条目检查一遍,然后根据管理员对传感器的配置只发送特定日志条目。
IDS评估数据,可通过两种常用方法检测恶意行为:基于知识检测和基于行为检测。
简单来说,基于知识检测使用了与反恶意软件程序所用签名定义类似的签名。
基于行为检测不使用签名,而将活动与正常表现基线进行对比,从中找出异常行为。
许多IDS把这两种方法结合到一起使用。
基于知识检测。
基于知识检测也叫基于签名检测或模式匹配检测,是最常用的检测方法。
它使用了IDS 供应商开发的一个已知攻击数据库。
例如,一些自动化工具可用来发起SYN 洪水攻击,而这些工具所具有的模式和特点已被签名数据库定义。
实时通信流被拿来与数据库对比, IDS 一旦发现有校式或特点匹配,便会发出瞥报。
基于知识IDS 的主要缺点是它只对已知的攻击方法有效。
对于新开发的攻击方式,哪怕是略有改动的已知攻击, IDS往往识别不出来。
IDS的基于知识检测类似于反病毒软件程序使用的基于签名检测。
反恶意软件程序配备了一个已知恶意软件数据库,它会对照数据库检查文件,以找出匹配的对象。
与反恶意软件程序必须定期更新反恶意软件程序供应商提供的新签名一样, IDS数据库必须定期用新攻击签名更新。
大多数IDS 供应商都提供自动更新签名的方法。
基于行为检测。
第二类检测是基于行为检测,也叫统计入侵检测、异常检测和基于启发检测。
基于行为检测以在系统上创建一个正常活动和事件基线起步。
一旦它积累了足够的基线数据来确定正常活动,便可检测出表明可能出现恶意入侵或事件的异常活动。
这条基线通常建立在一个有限时段的基础上,例如一个星期。
网络修改时,基线也而要更新。否则,IDS会将实则正常的行为识别为异常,向你报警。
有些产品会持续监测网络,以掌握更多正常活动,并根据观察结果更新基线。
基于行为的IDS用基线、活动统计数据和启发式评估技术将当前活动与以前的活动进行比较,以找出潜在事件。
许多基于行为的IDS 还能像基于状态检查的防火墙(第11 章论及)根据网络通信流的状态或上下文检查通信流那样进行状态包分析。
异常分析提升了IDS 的能力,使其得以识别和响应通信流量或活动的突然增加、多次失败登录尝试、
正常工作时间以外的登录或程序活动,或者错误或故障消息的突然增加。
所有这些情况都可能表明,一次未被基于知识检测系统识别出来的攻击正在悄悄进行。
基于行为的IDS 可贴上专家系统或伪人工智能系统的标签,因为它可学习事件并对事件做出假设。
换句话说, IDS 可像人类专家一样,通过对比已知事件评估当前事件。
提供给基于行为的IDS的有关正常活动和事件的信息越多,它检测异常的准确性越高。
基于行为的IDS 的一大突出优势,是它能检测出还没有签名、尚不能被基于签名方法检测到的较新攻击。
基于行为的IDS的主要缺点:经常会发出大量假警报一也叫假报或假阳性。
在正常操作过程中,用户和系统在正常操作过程中的活动模式于差万别,这使系统很难准确划定正常活动与异常活动的界限。
2.SIEM (Security Information And Event Management, SIEM)系统
许多IDS 和IPS 将收集来的数据发送给安全信息和事件管理系统。
SIEM 系统也可从网络中的许多其他来源收集数据。
它可实时监测通信流,还能对潜在攻击进行分析并发出通知。
此外,它还可长期存储数据,供安全专业人员对数据进行分析。
SIEM 通常包含多种功能。由于它可从不同设备收集数据,所以具有关联和聚合功能,可将数据转换成有用信息。
SIEM 中的高级分析工具可分析数据并根据既定规则发出警报和/或触发响应。
这些警报和触发通常是与IDS 和IPS 发出的警报分开的,但也可能出现一定程度重叠。
3. IDS 响应
尽管基于知识的IDS 和基于行为的IDS 以不同方式检测事件,但它们都使用警报系统。
IDS检测到一个事件后会触发警报。然后,它会以一种被动或主动的方法做出响应。
被动响应会记录事件并发出通知。而主动响应除了记录事件和发出通知之外,还会更改环境以阻止活动。
被动响应。
通知可通过电子邮件、文本或短信或弹窗消息发送给管理员。
有些情况下,警报可以生成一份报告,详细描述事件发生之前的活动,如果需要,日志还可向管理员提供更多信息。
许多24 小时运行的网络运维中心(NOC)设有中央监控屏,可供主控室内每名人员进行观察。
例如,一面墙上有多个大屏幕监视器,分别提供NOC 不同元素的数据。
IDS 警报可显示在其中一个屏幕上,确保人员掌握发生的事件。
这些即时通知有助于管理员对不良行为快速做出有效响应。
主动响应。
主动响应可通过几种不同方法修改环境。
典型的响应包括修改ACL 以拦截基于端口、协议和源地址的通信流,甚至包括切断特定电缆线段的所有通信。
例如,如果IDS 检测到来自一个IP 地址的SYN 洪水攻击,IDS可通过更改ACL拦截来自该IP地址的所有通信流。
与此类似,如果IDS 检测到来自多个IP 地址的ping 洪水攻击,它可通过更改ACL 拦截所有ICMP 通信流。
IDS 还可拦截可疑或行为不良用户对资源的访问。
安全管理员可提前配置这些主动响应,并根据环境中不断变化的需求对这些响应进行调整。
4. 基于主机的IDS 和基于网络的IDS
IDS 通常分为基于主机和基于网络两种类型。
基于主机的IDS(Host-based IDS, HIDS)监测一台计算机或主机。
基于网络的IDS(Network-based IDS, NIDS)通过观察网络通信流模式监测网络。
另一个不太常用的类别是基于应用的IDS, 这是基于网络的IDS 的一种特殊类型。
基于应用的IDS 监测两个或多个服务器之间的特定应用程序的通信流。
例如,基于应用的IDS 可以监测一台Web 服务器与数据库服务器之间的通信流,以找出可疑活动。
基于主机的IDS。
HIDS监测一台计算机上的活动,其中包括进程调用以及系统、应用程序、安全措施和垫于主机防火墙日志记录的信息。
它检查事件的详细程度往往超过NIDS, 升能精确定位被攻击破坏的具体文件。它还可跟踪攻击者用过的进程。
HIDS优于NIDS的一点是,HIDS 能检测到NIDS检测不出来的主机系统异常情况。
例如,RIDS可检测到入侵者潜入系统时注入并远桯控制的感染。
你可能注意到,HIDS 在计算机上的作用听起来与反恶意软件程序很像。事实也确实如此。
许多HIDS 包含反恶意软件能力。
尽管许多供应商建议给所有系统安装基于主机的IDS, 但是由于HIDS 存在一些缺陷,很少有人这么做。
相反,许多机构选择只在关键服务器上安装HIDS ,以达到提升保护级别的目的。
HIDS 的部分缺陷涉及成本和易用性。
与NIDS 相比,HIDS 的管理成本更高,因为它们要求管理员关照每个系统,而NIDS 通常支持从中管理。
HIDS不能检测其他系统受到的网络攻击。
此外,它往往需要消耗大量系统资源,从而降低主机系统的性能。
尽管我们往往可限制HIDS对系统资源的使用,但这又可能导致它漏过某次主动攻击。
此外,HIDS 更容易被入侵者发现和禁用,并且它们的日志是保留在系统上的,致使日志很容易被成功的攻击篡改。
基于网络的IDS。
NIDS 监测并评估网络活动,从中找出攻击或异常事件。
一个NIDS 可通过远程传感器监测一个大型网络,由传感器在关键网络位置收栠数据后把数据发送给中央管理控制台和/或SIEM。
这些传感器可对路由器、防火墙、支持端口映射的网络交换机及其他类型网络分流器实施监测。
中央控制台通常安装在一台经过强化可抵御攻击的专用计算机上。
这种做法可减少NIDS的漏洞,可令NIDS 在几乎不可见状态下运行,加大了攻击者发现和禁用它的难度。
NIDS 对网络整体性能的负面影响很小,若把它部署在一个专用系统上,它将不会影响其他任何计算机的性能。
在流量很大的网络上,一个NIDS 可能跟不上数据流的速度,但我们可增加NIDS 来平衡负载。
NIDS 通常可通过执行反向地址解析协议(RARP)或反向域名系统(DNS)查找来发现攻击源。
然而,由于攻击者经常通过僵尸网中的僵尸假造1P 地址或发起攻击,因此需要通过额外的探查来确定攻击的真实来源。
这是一个艰苦的过程,超出了IDS 的能力范围。不过,通过一定程度的探查还是有可能发现假IP 地址的来源的。
NIDS 不知道攻击是否影响了特定系统、用户账号、文件或应用程序。
例如, NIDS 可能会发现,一次缓冲区溢出恶意利用是通过网络发送的,但它并不一定知道这次恶意利用是否成功渗透进一个系统。
不过,管理员可在收到警报后检查相关系统。
此外,调查人员还可以在审计踪迹的过程中借助NIDS 日志来了解到底发生了什么。
5. 入侵预防系统(IPS)
入侵预防系统是一种特殊类型的主动响应IDS, 可赶在攻击到达目标系统之前将其检测出来并加以拦截。
它有时也被人叫作入侵检测和预防系统(IDPS) 。
IDS 与IPS 之间的明显差别在于IPS 是安放在承载通信流的线路上的,如图17.4 所示。
换句话说,所有通信流都必须从IPS 经过,而IPS 可以选择允许哪些通信流通过,以及经分析后把哪些通信流拦截下来,从而阻止攻击到达目标。
与此相反,不是安放在线路上的主动IDS 只能在攻击到达目标之后才能把它查出来。
这样的主动IDS 可在攻击发动起来后采取措施阻止它,但不能预防攻击。
与其他任何IDS一样, IPS可使用基于知识检测和/或基于行为检测。
此外,它还可像IDS一样记录活动并向管理员发出通知。
17.2.4 具体预防措施
尽管入侵检测和预防系统对保护网络大有助益,管理员还是会用额外的安全控制来加强保护力度。
下面将把其中几种安全控制作为额外的预防措施加以介绍。
1. 蜜罐/蜜网
“蜜罐“是为充当陷阱引诱入侵者入内而创建的单个计算机。
“蜜网”则是两个或多个连接在一起假装网络的蜜罐。
它们的外表和动作都像合法系统,但是不承载任何对攻击者有实际价值的数据。
管理员经常对蜜罐进行配置,用漏洞吸引入侵者攻击蜜罐。
蜜罐不打补丁,或者有管理员故意留下安全漏洞。
蜜罐的目的是引起入侵者的注意,使他们远离承载着宝贵资源的合法网络。
合法用户不会访问蜜罐,所以访问蜜罐的很可能就是未经授权的入侵者。
除了让攻击者远离生产环境外,蜜罐还提供机会让管理员在不影响生产环境的情况下观察攻击者的活动。
有时,蜜罐在设计上可以拖延入侵者足够长时间,使自动IDS 得以检测出入侵并尽量多地收集有关入侵者的信息。
攻击者花在蜜罐上的时间越长,可供管理员用来调查攻击和识别入侵者的时间就越多。
一些安全专业人员,例如从事安全研究的人员,把蜜罐视为有效抵御零日利用的有效手段,
因为他们可以把攻击者的行动看得一清二楚。
管理员经常在虚拟系统上管理蜜罐和蜜网,因为这会使蜜罐和蜜网遭受攻击之后重建起来要简单得多。
例如,管理员可在完成蜜罐配置后拍一张蜜罐虚拟机快照。如果攻击者修改了环境管理员可将计算机恢复到他们拍快照时的状态。
管理员使用虚拟机(VM)时应该密切监测蜜罐和蜜网。
攻击者往往能够测出自己正处于一个虚拟机中,他们可能会尝试以虚拟机逃脱攻击的方式来突破虚拟机。
蜜罐的使用带来了诱惑与诱捕的问题。
如果入侵者不需要经过蜜罐主人刻意诱导就能发现蜜罐,机构可将蜜罐当作诱惑设备合法使用。
在互联网上设置一个系统,让它的安全漏洞全部敞开,活跃的服务都便于已知攻击恶意利用,便是一种诱惑(enticement)。
受诱惑的攻击者自行决定是否采取非法或未经授权行动。
而诱捕(enticement)是非法的,当蜜罐主人主动诱导访客进入网站,然后指控他们未经授权入侵的时候,便是发生了诱捕。
换句话说,如果你诱骗或鼓励某人进行非法或未经授权行动,你就是在诱捕。
不同的国家有不同的法律,了解当地法律对诱惑和诱捕有什么规定至关重要。
(1) 了解伪缺陷
“伪缺陷”是指有意植入系统,旨在引诱攻击者的假漏洞或看起来很薄弱的环节。
蜜罐系统常用伪缺陷来假冒已知操作系统漏洞。
寻求利用已知缺陷的攻击者偶然遇到伪缺陷时,可能会认为自已成功渗透进了一个系统。
比较复杂的伪缺陷机制实际上是在模拟入侵,使攻击者相信自己获得了对系统的额外访问权限。
然而,在攻击者摸索这个系统的过程中,监测和预警机制会被触发并向管理员发出威胁警报。
(2) 了解填充单元
填充单元系统类似于蜜罐,但是它以另一种方法进行入侵隔离。
当IDPS检测到入侵者时,入侵者会被自动转移到填充单元。
填充单元具有真实网络的外观和感觉,但攻击者无法进行任何恶意活动,也无法从填充单元访问任何机密数据。
填充单元是一个模拟环境,用假数据来保持入侵者的兴趣,这一点与蜜罐很像。
但是IDPS把入侵者转移到一个填充单元中,而对于这种变化,入侵者毫不知清。
相比之下,攻击者是自行选择直接攻击蜜罐,而不被转移到蜜罐中的。
管理员严密监视填充单元,用它们来检测和观察攻击。
安全专业人员可以用填充单元来检测攻击方法和收集可用于起诉攻击者的证据。
填充单元如今已很少被业界使用,但是考试中依然可能会有这方面的考题。
2. 警示
警示向用户和入侵者宣传基本安全方针策略。警示通常指出,任何在线活动都将接受审计,
处于监测之下;警示往往还会提醒用户,哪些是受限活动。
多数情况下,警示必须措辞严谨,经得起从法律角度的推敲,因为这些警示能够合法地将用户与一系列允许的行动、行为和流程
捆绑到一起。
能以某种方式登录系统的未经授权者也会看到警示。
对于这种情况,警示就是电子版“禁止入内“标志在有警示明确阐明,未经授权访问被严令禁止,
任何活动都将处于监测之下并记录在案的情况下,大多数入侵和攻击都可被送上法庭接受指控。
3. 反恶意软件
抵御恶意代码的最重要保护手段是使用带最新签名文件并具备启发式能力的反恶意软件程序。
攻击者定期推出新的恶意软件,往往还修改现有恶意软件以对抗反恶意软件程序的检测。
反恶意软件程序供应商跟踪这些变化并开发新的签名文件,用以检测新的和经过修改的恶意软件。
几年前,反恶意软件供应商建议每周更新一次签名。
而如今,大多数反恶意软件程序都能在不需要用户介入的情况下一天检查几次更新。
许多机构以多管齐下的方式拦截恶意软件和检测任何进入的恶意软件。
具备内容过沽能力的防火墙(或专用内容过滤设备)通常部署在互联网与内部网络之间的边界上,用于过滤任何类型恶意代码。
专用反恶意软件程序安装在电子邮件服务器上,可检测和过滤通过电子邮件传递的任何类型恶意代码。
另外,每个系统都安装了检测和拦截恶意软件的反恶意软件程序。
机构经常用一个中央服务器来部署反恶意软件程序、下载更新后的定义并将这些定义推送给客户端。
在每个系统上安装反恶意软件程序的多管齐下方式除了过沽互联网内容以外,还有助于保护系统免受任何来源的感染。
例如,每个系统的最新反恶意软件程序可以检测和拦截任何员工USB 闪存盘上的病毒。
反恶意软件供应商通常建议任何系统上只安装一种反恶意软件应用程序。
系统若是安装多种反恶意软件应用程序,它们可能会相互干扰,有时还会导致系统问题。
此外,多种扫描程序挤在一起,还会消耗过多系统资源。
严格遵守最小特权原则也会大有裨益。用户在系统上没有管理权限,不能安装可能是恶意的应用程序。
病毒感染系统后,往往会假扮已登录的用户。如果这个用户权限有限,病毒的能力就会受到限制。
此外,随着新应用程序不断加入,与恶意软件相关的漏洞也在增加。
每个新增的应用程序都为恶意代码提供了另一个潜在攻击点。
教育用户了解恶意代码的危险性、攻击者欺骗用户安装恶意代码的手段以及自己可以怎样限制风险是另一种保护方法。
很多时候,用户只要不点击链接或不打开电子邮件附件,就可以避免感染。
用户通过教育了解了这些类型的攻击后,落入圈套的可能性会大大降低。
尽管许多用户接受过有关这些风险的教育,网络钓鱼电子邮件依然充斥互联网,不断涌入用户的收件箱。
攻击者乐此不疲发送网络钓鱼邮件的唯一原因,是依然不断有用户上当。
4. 白名单和黑名单
使用白名单和黑名单是一种有效的预防措施,可阻止用户运行未经授权应用程序。
它们还能帮助防止恶意软件感染。
白名单用一份列表标识得到授权可在系统上运行的应用程序,
而黑名单则用一份列表标识没有得到授权,不可在系统上运行的应用程序。
白名单不包含恶意软件程序并将阻止恶意软件运行。
有些白名单标识用散列算法创建散列的应用程序。
但是,如果应用程序感染了病毒,病毒会有效改变散列值,因此这种白名单也会阻止受感染应用程序运行。
iPhone 和iPad 上运行的苹果iOS 是白名单的一种极端体现。
用户只能安装苹果App Store里的应用。
苹果公司的人员审批App Store 里的所有应用,行为不端的应用会被马上移除。
虽然用户可以舍弃安全性而越狱他们的iOS 设备,但是大多数用户都不会这么做,部分原因是这会导致设备丧失保修服务。
如果管理员知道需要阻止哪些应用程序,黑名单是一个不错的选择。
例如,如果管理层希望确保用户不在系统上玩游戏,管理员可以启用工具来阻止这些游戏。
5. 防火墙
防火墙通过过滤通信流保护网络。
基本防火墙根据IP 地址、端口和一些带协议编号的协议过滤通估流。
防火墙执行ACL 规则,允许特定通信流通过,以隐式拒绝规则结束。
隐式拒绝规则拦截前一规则不放行的所有通信流。
例如,防火墙可允许HTTP 和HTTPS 通信流分别使用TCP 端口80 和443, 以此放行HTTP 和HTTPS 通信流(第11章)。
ICMP 使用了编号为1的协议,因此防火墙可允许带1号协议的通信流通过,以此放行ping通信流。
与此类似,防火墙允许带50 号协议的IPsec 封装安全载荷(ESP)通信流和带51 号协议的IPsec 身份验证(AH)通信流通过,以此放行这些通信流。
第二代防火墙增加了额外的过滤功能。
例如,应用层网关防火墙可根据特定应用需求过滤通信流,而电路级网关防火墙则根据通信电路过滤通信流。
第三代防火墙(也叫状态检查防火墙和动态包过滤防火墙)根据通信流在流量中的状态过滤通信流。
下一代防火墙集多种过滤功能于一身,形成一种统一威胁管理(UnifiEd Threat Management,UTM)设备。
它包含防火墙的传统功能,例如包过滤和状态检查,同时还能执行包检查技术,这使它可识别并拦截恶意通信流。
下一代防火墙可对照定义文件和/或臼名单和黑名单过沁恶意软件。它还包含入侵检测和或入侵预防功能。
6. 沙箱
沙箱为应用程序提供安全边界,可防止应用程序与其他应用程序交互。
反恶意软件应用程序借助沙箱技术测试未知应用程序。
如果一个应用程序有可疑表现,沙箱技术可防止该应用程序感染具他应用程序或操作系统。
应用程序开发人员常常用虚拟化技术测试应用程序。
他们首先创建一个虚拟机,将具与主机和网络隔离开来。
然后,他们可以在这个沙箱环境中测试应用程序,而不会影响虚拟机以外的任何东西。
与此类似,许多反恶意软件程序供应商借助沙箱这种虚拟化技术观察恶意软件的行为。
7. 第三方安全服务
有些机构将安全服务外包给第三方,即本单位以外的个人或机构。
其中可能包括许多不同类型的服务,例如审计、渗透测试等。
某些怕况下,机构必须向外部实体保证,第三方服务提供者违守具体安全要求。
例如,处理重要信用卡交易的机构必须遵守支付卡行业数据安全标沿(PCIDSS) 。
这些机构经常外包一些服务,而PCIDSS 要求机构确保服务提供者也满足PCIDSS 的要求。
换言之, PCIDSS 不允许机构将自己的责任外包。
一些软件即服务(Saas)供应商通过云提供安全服务。
举例来说, Barracuda Networks 包含类似于下一代防火墙和UTM 设备的基于云解决方案。
例如,他们的Web 安全服务充当Web 浏览器的代理。
管理员配置代理设置以访问基于云的系统,并根据机构的需要执行Web 过滤。
与此类似,他们还有一个基于云的电子邮件安全网关,可执行入站垃圾邮件和恶意软件过滤。
它还可以检查出站通信流,确保这些通信流符合某家机构的数据丢失预防策略。
8. 渗透测试
“渗透测试”是可供机构用来应对攻击另一种预防措施。
渗透测试(经常简写为pentest)模拟真实攻击,以求确定攻击者可用哪些技术手段来绕过应用程序、系统、网络或机构的安全控制。
渗透测试的内容可能包括漏洞扫描、端口扫描、包嗅探、DoS 攻击和社会工程技术。
安全专业人员应尽量避免因渗透测试造成系统运行中断。
渗透测试是侵入性的,会对系统的可用性产生影响。
因此,安全专业人员必须得到机构高管的书面批准,才可开展测试。
定期进行渗透测试是评估机构所用安全控制效果的好办法。
渗透测试可以揭示,哪些方面补丁没打够或安全参数设定不充分,
哪些方面在形成(或暴露出)新的漏洞,哪些方面安全策略效果不佳或者干脆没有落实策略。
这些弱点都有可能被攻击者恶意利用。
渗透测试通常包含旨在找出弱点的漏洞扫描或漏洞评价。
此外,会进一步尝试利用这些弱点。
例如,漏洞扫描器可能发现,一个配备了后端数据库的网站没有使用输入验证技术,因此极易遭受SQL 注入攻击。
这时,渗透测试可能利用一次SQL 注入攻击来访问整个数据库。
与此类似,漏洞评估可能发现员工没有接受过社会工程攻击方面的教育,
渗透测试可能会通过社会工程手段来尝试访问安全区或从员工那里获取敏感信息。
以下是渗透测试所要达到的几个目的:
•确定一个系统能在多大程度上忍受攻击。
•识别员工实时检测和响应攻击的能力。
•识别可用来降低风险的额外控制。
(1) 渗透测试的风险
渗透测试面临的一大危险是有些方法会导致系统运行中断。
例如,如果漏洞扫描发现基于互联网的服务器面对缓冲区溢出攻击十分脆弱,
渗透测试可尝试利用这个漏洞,而这有可能导致服务器宕机或重启。
理想状态是,渗透测试应该在造成任何实际损害之前停下来。
然而非常不幸,测试人员在开始执行测试步骤之前,往往并不清楚哪些步骤会造成损害。
例如,进行模糊测试的人员向应用程序或系统发送无效或随机数据,以探究会得到什么响应。
模糊测试人员可能会发送一个会导致缓冲区溢出并锁闭应用程序的数据流,但是测试人员在开始模糊测试之前,并不知道会发生这种情况。
经验丰富的渗透测试人员可将测试造成损害的风险降至最低,但是他们并不能消除这种风险。
只要可能,测试人员应该在测试系统上进行渗透测试,而不是拿生产系统冒险。
例如,测试应用程序时,测试人员可在一个隔离环境(例如沙箱)里运行和测试应用程序。
即便测试导致损坏,也只会影响测试系统,不会波及工作网络。
这里的挑战在于,测试系统往往提供不了生产环境的真实场景。
测试人员倒是能够测试不与测试环境中其他系统交互的简单应用程序。
然而,大多数需要接受测试的应用程序并不简单。
使用测试系统时,渗透测试人员往往需要用一份声明来限定自己所进行的分析,
表明测试是在测试系统上完成的,因此结果有可能无法提供对生产环境的有效分析。
(2) 渗透测试需要得到许可
渗透测试只有经过机构高管的认真考虑和批准之后才可进行。
许多安全人员坚待认为,这种批准必须是书面形式的,并且详细说明了风险。
未经批汛的安全测试可能会导致生产力损失并触发应急响应小组开展行动。
对于恶意违反IT 环境安全规定的员工,可根据现行法律予以处罚。
与此类似,如果内部员工在没有得到授权的情况下对系统执行非正式未经授权测试,
机构可将其行为视为非法攻击,而不是在进行渗透测试。
这些员工很可能失去工作,甚至可能面临法律后果。
(3) 渗透测试采用的技术
机构雇用外部专家来执行渗透测试是一种常见做法。
机构可以控制向这些测试人员提供哪些信息,而给测试人员的相关知识详细到什么程度,决定了他们可以进行何种类型测试。
零知识团队进行的黑盒测试。
除了域名、公司地址等公开信息外,零知识团队对目标场地一无所知。
这就好像是他们把目标看作是一个黑盒子,在开始探测之前,对盒子里有什么东西毫不知情。
零知识团队发起的攻击极像真正的外部攻击,因为有关环境的所有信息都必须从头获得。
全知识团队进行的白盒测试。
全知识团队可以全权访问目标环境的所有方面。
他们知道系统安装了哪些补丁和升级包,以及所有相关设备的确切配置。
如果目标是一个应用程序,他们可以访问源代码。
全知识团队执行白盒测试(有时也叫水晶盒测试或透明盒测试)。
业界普遍认为白盒测试在定位漏洞方面效率更高也更经济,因为发现漏洞所花费的时间更少。
部分知识团队进行的灰盒测试。
对目标有一定程度了解的部分知识团队进行灰盒测试,但是他们未被授予访问所有信息的权限。
他们可能会得到关于网络设计和配置细节的信息,这样,他们可专注于针对特定目标的攻击和漏洞。
负责保护受测目标的常规安全管理人员算得上是全知识团队。
然而他们并不是进行渗透测试的最佳人选。对于某些安全主体,他们在理解、预估或能力上往往存在盲点或空白。
如果他们真的清楚有一个漏洞可能会被人恶意利用,他们或许早就建议采取控制措施,将漏洞的危害降至最低了。
全知识团队知道怎样才符得上安全,因此仅依靠错误假设,他们是无法适当测试每种可能的。
零知识或部分知识测试人员不太可能犯这样的错误。
从专业漏洞扫描器、渗透测试装置,到攻击者在互联网上共享的地下工具,应有尽有。
几种开放源和商业化工具(如Metasploit)也很容易搞到手,安全专业人员和攻击者都在使用这些工具。
社会工程技术经常用于渗透测试。
测试人员可以根据测试的目的,借助这些技术手段突破机构的物理边界或诱使用户泄露信息。
这些测试有助于确定,员工在技巧娴熟的社会工程师面前有多脆弱,以及他们对防范这类攻击的安全策略有多熟悉。
(4) 保护报告
渗透测试人员将提交一份记录了测试结果的报告,这份报告应该像敏感信息一样得到保护。
报告将概述具体漏洞以及利用这些漏洞的方式。它通常还包含有关如何弥补漏洞的建议。
如果这些结果在机构采纳建议开始行动之前落到攻击者手里,攻击者便可利用报告中的详细信息发起攻击。
同样重要的是要认识到,渗透测试团队提出的建议未必会被机构采纳。
机构管理层可以选择采纳建议来抑制风险,但是如果认为按建议执行控制的成本超出合理范围,也可选择接受风险。
换旬话说,一年前的报告阐明的某一具体漏洞可能到现在也还没有弥补。
但是这份已经提交了一年的报告应该像昨天才完成的报告一样受到保护。
(5) 道德黑客行动
道德黑客行动经常被当作渗透测试的别名。
所谓道德黑客,是指那些了解网络安全以及破坏质络安全的方法,但又不会为个人利益而使用这些知识的人。
相反,道德黑客借助这些知识来帮助机构了解他们的漏洞并采取行动防止恶意攻击发生。
一个有道德的黑客永远不会突破法律底线。
17.3 日志记录、监测和审计
日志记录、监测和审计规程可帮助机构预防事件,并在有事件发牛的时候做出有效响应。
以下几节将介绍日志记录和监测,以及用于评价访问控制效果的各种审计方法。
17.3.1 日志记录和监测
日志记录机制把事件记录到各种日志中并对这些事件进行监测。
日志记录与监测结合到一起使用,机构将可跟踪、记录和审查活动,从而形成一个全面问责体系。
这有助于机构发现可能会对系统的保密性、完整性或可用性产生负面影响的不良事件。
而在事件发生后开始重建系统时,日志记录还可用来识别曾经发生过的事情,有时甚至可用来起诉事件负责人。
1. 日志记录技术
“日志记录”是将有关事件的信息写进日志文件或数据库的过程。
日志记录捕捉体现了系统上所发生的活动的事件、变化、消息和其他数据。
日志通常会记录一些细节,比如发生了什么,什么时候发生的,在哪里发生的,谁做的,有时候还有是怎么发生的。
当你需要掌握最近发生事件的信息时,日志是一个好起点。
例如,图17.5 显示了Microsoft 系统中的事件查看器,其中展开了一个被选中的日志条目。
该日志条目显示,一个名为Darril Gibson 的用户访问了一个名为“PayrollData (Confidential).xlsx",位于文件夹“C:\Payroll" 中的文件。
日志条目还表明,用户是在11 月10 日下午4 点05分访问文件的。
只要身份验证和鉴别流程安全可靠,这条日志就足以追究Darril访问文件的责任。
另一方面,如果机构没有采用安全身份鉴别流程,用户很容易被别人冒名顶替,Darril可能会被错误指控。
而这进一步显示出对作为问责先决条件的安全身份验证和鉴别流程的需求。
2. 常见日志类型
日志分多种不同类型。下面简短介绍IT 环境中常见的几种日志。
安全日志。
安全日志记录对文件、文件夹、打印机等资源的访问。
例如,它们可以记录用户访问修改或删除文件的时间。
许多系统可自动记录对关键系统文件的访问,但是要求管理员在用日志来记录访问活动之前,首先要为其他资源启用审计机制。
例如,管理员可能会为专利数据配置日志,但不会为网站上公布的公共数据配置日志。
系统日志。
系统日志记录系统事件,例如系统何时启动或关闭,或服务何时启动或关闭。
如果攻击者能够关闭系统并用CD 光盘或USB 闪存盘重新引导系统,他们就可从系统中窃取数据,而不会留下访问数据的任何记录。
与此类似,如果攻击者能够关闭一项监测系统活动的服务,那么他们就能访问系统而没有日志把他们的行为记录在案。
检测系统何时重启或服务何时关闭的日志,可以帮助管理员发现潜在的恶意活动。
应用日志。这些日志记录有关具体应用程序的信息。应用程序开发人员可以选择应用日志记录哪些内容。
例如,数据库开发人员可选择记录任何人访问具体数据对象(如表格或视图)的时间。
防火墙日志。
防火墙日志可记录与到达防火墙的任何通信流相关的事件。
这其中包括防火墙放行的通信流和防火墙拦截的通信流。
这些日志通常记录关键数据包信息,例如源和目标IP地址,以及源和目标端口,但不记录数据包的实际内容。
代理日志。
代理服务器可提高用户访问互联网的效率,还可控制允许用户访问那些网站。
代理日志具备记录详细信息的能力,比如具体用户访问了哪些网站以及他们在这些网站逗留了多长时间。
代理日志还可在用户试图访问已被明文禁止访问的站点时把他们的行为记录下来。
变更日志。
变更日志记录系统的变更请求、批准和实际变更,这是变更管理总流程的一个组成部分。
变更日志可人工创建,也可从一个内部网页创建,以日志形式记录与变更相关的人员活动。
变更日志可用于跟踪得到批准的变更。它们还可为灾难恢复计划提供帮助。
例如,灾难发生后,管理员和技术人员可根据变更日志把系统恢复到最后的已知状态,其中包括所有已
经实施的变更。
日志记录通常是操作系统以及大多数应用程序和服务本身就具备的性能。
这给管理员和技术人员配置系统以把特定类型事件记录在案带来很大方便。
特权账号(例如管理员账号和根用户账号)发生的事件也应包含到任何日志计划中。
这有助于防止心怀歹意的内部人员发动攻击,而记录下来的活动可在需要时用来起诉相关责任人。
3. 保护日志数据
机构的内部人员可根据日志来重建事件发生之前和事件发展过程中的事态,但前提是日志没有被人篡改。
如果攻击者可以修改日志,他们会抹掉自己的活动,有效地让数据值变得无效。
日志文件可能因此而不再包含准确信息,可能不再被接受为起诉攻击者的址据。
请务必牢记,保护日志文件不受未经授权访问和未经授权修改侵扰至关重要。
通常的做法是将日志文件拷贝到一个中央系统(例如SIEM) 中保护起来。
即便攻击篡改或损坏了原始文件,安全人员依然可以利用文件副本查询事件的来龙去脉。
给日志文件规定许可权,限制对文件的访问,是保护日志文件的一种手段。
机构往往制定严格策略,强制性要求备份日志文件。此外,这些策略还规定了保留日志文件的时间。
例如,机构可能会将归档日志文件保留1年、3 年或其他任何长度时间。
有些政府法规要求机构无限期保留日志档案。
将日志设置为只读、分配许可权和执行物理安全控制等安全控制可以保护日志档案不被人未经授权访问和修改。
当日志不再需要使用时,必须将其销毁。
美国国家标准与技术研究院(NIST)就IT 安全发布了大量文件,其中包括联邦信息处理标准(FIPS) 出版物。
FIPS 200 《联邦信息和信息系统最低安全要求》规定了审计数据的最低安全要求:
•按监测、分析、调查和报告违法活动(以及未经授权或不当信息系统活动)所需要的程度,创建、保护和保留信息系统审计记录。
•确保单个信息系统用户的活动可被唯一跟踪至这些用户本身,从而可就用户的行为追究责任。
4. 监测的作用
监测可令机构受益良多,其中包括加强问责制、帮助开展调查和排除基本故障。下面将对此进行深入描述。
(1) 审计踪迹
“审计踪迹”是在将有关事件和事发清况的信息保存到一个或多个数据库或日志文件中时创建的记录。
它们提供系统活动的记录,可重建安全事件发生之前和事件发展过程中的活动。
安全专业人员从审计踪迹提取事件信息,用于证明罪责、反驳指控或其他用途。
审计踪迹允许安全专业人员正序或倒序检查和跟踪事件。
这种灵活性对于跟踪问题、性能故障、攻击、入侵、安全破坏、编码错误和其他潜在违反策略情况会有很大帮助。
使用审计踪迹是执行检测性安全控制的一种被动形式。
它们有点儿像闭路电视监控系统(CCTV)或保安人员,起着威慑作用。
当员工知道自己处于监视之下,行为会被记录在案时,他们就不太可能进行非法、未经授权或恶意的活动了——至少在理论上是这样。
有些犯罪分子会因为行事鲁莽或愚昧无知而在日志中留下自己的行踪。
然而,越来越多的高级攻击者会拿出时间来定位和删除有可能把他们的活动记录下来的日志。
这已成为许多高级持续威胁的标准做法。
审计踪迹还是用于起诉犯罪分子的证据的基本信息。
它们可提供资源、系统和资产状态的前后对比图,从而有助于确定系统的一次变动或更改究竟是用户、操作系统(OS)或软件的运行结果,还是由其他原因(例如硬件故障)造成的。
由于审计踪迹中的数据具有很高价值,因此确保日志在保护下不被人篡改或删除至关重要。
(2) 监测和问责
监测是一项必要功能,可确保行事主体(例如用户和员工)能对自己行为和活动负责。
用户亮出自己的身份(如用户名)并证明这个身份(通过身份验证),而审计踪迹在用户登录后的整个时间里记录他们的活动。
监测和检查审计踪迹日志为追究这些用户的责任提供了机会。
这直接敦促用户约束自己的行为和遵守机构的安全策略。
用户不太可能明知有日志在记录自己的IT活动,还挺而走险,试图绕过安全控制或进行未经授权或受限制的活动。
一旦出现触犯或违反安全策略的情况,应立即确定违规的源头。如果能够确定责任人,则
应根据本机构的安全策略追究责任人的责任。案情如果严重,甚至可能解雇或起诉责任人。
法律往往会对如何实行监测和问责提出具体要求,其中包括2002 年“萨班斯-奥克斯利法
案”“医疗保险流通与责任法案”(HIPAA)和许多机构都必须遵守的欧盟隐私法律。
(3) 监测和调查
审计踪迹可令调查人员能够在事件发生很久以后重建事件。
审计踪迹可记录访问权滥用、越权违规、未遂入侵和各种类型攻击。
检测到安全违规后,安全专业人员可在仔细检查审计踪迹的基础上重建事件发生之前、事件发展过程中和事件发生之后的清况和系统状态。
确保日志打上准确时间戳并确保这些时间戳在整个环境中保待一致,是需要高度重视的问题。
一种常见方法是建立一台内部网络时间协议(NTP)服务器,由该服务器与一个可信时间源(例如一个公共NTP 服务器)同步。
这样一来,其他系统就都能与这台内部NTP服务器同步了。
NIST经办着几个支持身份验证的时间服务器。
一台NTP 服务器被适当配置后, NIST服务器会用经过身份验证的加密时间消息做出响应。
身份验证可以保证,响应来自一个NIST服务器。
(4) 监测和问题识别
审计踪迹可就所记录的事件为管理员提供有用的细节。
除恶意攻击外,审计踪迹还记录系统故障操作系统bug 和软件错误。
有些日志文件甚至可在应用程序或系统崩溃的瞬间捕获内存内容。
这些信息可帮助查明事件发生的原因并将其作为一次可能的攻击清除。
例如,如果系统由于内存问题而崩溃,崩溃转储文件可帮助就问题的起因做出诊断。
把日志文件用于这一目的具实就是识别问题。
问题被识别出来以后,解决问题的过程还会涉及继续跟踪被日志文件揭示的信息。
5. 监测技术
“监测”是指检查日志信息以找出特定内容的过程。
这个过程可人丁进行,也可利用工具自动实现。
监测对于检测主体的恶意行为以及图谋的入侵和系统故障是不可缺少的。
它可以帮助重建事件、提供起诉证据和创建分析报告。
我们必须明白,监测是一个持续的过程。
持续的监测可确保把所有事件全部记录在案,供日后在需要的时候用于调查。
许多机构还在事件或疑似事件的响应过程中增加了日志记录,旨在收集更多攻击者情报。
“日志分析”是一种详细和系统化的监测形式;
这种监测形式通过分析日志信息找出趋势和模式以及异常、未经授权、非法和违反策略的活动。
日志分析并不一定是对某一事件的响应,而是一项定期执行的任务,从中可找出潜在问题。
人工分析日志时,管理员只需要打开日志文件并查找相关数据即可。
这项工作可能吼乏味又耗时。例如,为某一具体事件或ID 代码搜索10 个不同的归档日志可能需要耗费大量时间,
即便是使用内置搜索工具也是如此。
许多情况下,日志可产生大量信息,致使重要细节被浩繁的数据淹没,
管理员因此才会经常通过自动化工具来分析日志数据。
例如,入侵检测系统(IDS)主动监测多个日志,以实时检测和响应恶意入侵。
IDS 可帮助检测和跟踪外部攻击者发起的攻击、向管理员发送警报并记录攻击者对资源的访问。
现有多家供应商出售运行管理软件,用于在整个网络中主动对系统进行安全、健康和性能监测。
这些软件可以自动查找表明有攻击或未经授权访问等问题出现的可疑或异常活动。
(1) 安全信息和事件管理
许多机构用一种中央应用程序来自动监测网络上的系统。
可用来描述这些工具的有好几个名称,其中包括安全信息和事件管理(SIEM)、安全事件管理(SEM)和安全信息管理(SIM) 。这些工具可在全机构范围内对系统上发生的事件进行实时分析。
它们包含安装在远程系统上的代理,用于监测被称为警报触发因素的特定事件。
触发因素出现时,代理会将事件报回中央监测软件。
例如, SIEM 可监测一组电子邮件服务器。
每当一台电子邮件服务器记录一个事件时, SIEM代理将检查这个事件,以确定它是否值得关注。
如果值得, SIEM 代理把这个事件转发给中央SIEM 服务器,并根据事件的具体情况向管理员发出警报。
例如,如果电子邮件服务器的发送队列开始备份,SIEM 应用程序可在问题恶化之前检测出问题并向管理员报警。
大多数SIEM都是可配置的,允许机构内部人员规定值得关注并需要转发给SIEM服务器的项目。
SIEM 可为几乎所有类型服务器或网络设备设置代理,某些情况下,它们监测网络通信流以进行流量和趋势分析。
这些工具还可从目标系统收集所有日志并借助数据挖掘技术检索相关数据。
安全专业人员随后可以据此创建报告并分析数据。
SIEM 往往包含精细的关联引擎。
这些引擎是一种软件组件,可收集和聚合数据,从中找出共同属性。
它们随后通过高级分析工具找出异常并向安全管理员示警。
有些监测工具还可用于库存和状态目的。
例如,工具可查询现有的所有系统并记下详细信息,如系统名称、IP 地址、操作系统、己打的补丁、更新和已安装的软件。这些工具随后可根据机构的需要为任何系统创建报告。
例如,它们可识别有多少活跃系统,找出没有打上补丁的系统并给安装了未经授权软件的系统做上标记。
软件监测可监视未经批准软件的未遂或成功安装情况、未经授权软件的使用情况或得到批准的软件的未经授权使用情况。
这会降低用户无意中安装病毒或木马的风险。
(2) 抽样
“抽样”也叫“数据提取“,是指从庞大数据体中提取特定元素,构成有意义的整体表述或归纳的过程。
换句话说,抽样是数据压缩的一种形式,它允许安全人员只在审计踪迹中查看一小部分数据样本,便可从中收集到有价值的信息。
统计抽样利用精确的数学函数从大量数据中提取有意义的信息。
这类似于民意测验专家在没有采访人口中每一个人的情况下,了解大量人口的观点时所采用的那种科学手段。
不过,抽样始终存在着抽样数据并不是数据整体的准确体现的风险,但统计抽样可以标明误差范围。
(3) 剪切级
剪切是一种非统计抽样。它只选择超过“剪切级”的事件,而剪切级是预先定义好的一个事件阈值。
在事件达到这个阙值之前,系统忽略事件。
例如,失败的登录尝试在任何系统中都是常事,因为用户随时都可能输错一两次口令。
剪切级不会在每次遇到失败的登录尝试时都发出警报,
相反,可设置成:若30 分钟内检测到5次失败的登录尝试即可发出警报。
许多账号锁闭控制使用了类似的剪切级。它们不会在一次登录失败后就锁闭账号。
相反,它们计算登录失败的次数,只有当失败登录尝试达到既定阈值时,才会锁闭账号。
剪切级广泛用于审计事件的过程,旨在为常规系统或用户活动建立一条基线。
监测系统只在基线被超出时才发出异常事件警报。
换句话说,剪切级使系统忽略常规事件,只在检测到严重入侵模式时才发出警报。
一般而言,非统计抽样是任意抽样,或由审计员自行决定的抽样。
它并不精确体现整体数据,而且忽略没有达到剪切级阙值的事件。
然而,当非统计抽样被用来聚焦特定事件时,它会非常有效。
此外,与统计抽样相比,非统计抽样成本更低,也更容易实现。
(4) 其他监测工具
虽然日志是与审计使用的主要工具,但是可供机构使用的一些其他工具也值得在这里提一提。
例如,闭路电视监控系统(CCTV)可自动将事件记录到磁带上以供日后查看。
安全人员还可实时监视CCTV, 以找出不良、未经授权或非法活动。
这个系统可单独工作,也可与保安人员配套使用,而保安人员本身也处于CCTV 的监测下,会因自己的任何非法或不道德行为而被追究责任。
其他工具还包括击键监测、通信流分析监测、趋势分析监测和预防数据丢失的监测。
击键监测。
"击键监测”是记录用户在物理键盘上的击键动作的行为。
这种监测通常通过技术手段完成,例如一种硬件设备或一种叫作键盘记录器的软件程序。
但也可通过录像机进行直观监视。击键监测主要被攻击者用于恶意目的。
但在极端悄况下和高度受限环境中,机构也可能会通过击键监测来审计和分析用户活动。
击键监测经常被比作窃听。有关击键监测是否应该像电话窃听一样受到限制和控制的问题存在着一些争议。
许多使用击键监测的机构通过雇佣协议、安全策略或登录区警示标志告知授权和未经授权用户存在这种监测。
通信流分析和趋势分析。“
通信流分析”和“趋势分析”是检查数据包流动而非数据包实际内容的监测形式。
这种监测有时也叫网流监测。
它可推断出大量信息,例如主通信路由、备份通信路由、主服务器的位置、加密通信流的来源、网络支持的通信流流量、通信流的典型流向、迎信频率等。
这些技术手段有时会揭示可疑的通信流模式,比如一名员工的账号向他人发送了大量电子邮件。
这可能表明,该员工的系统已成为僵尸网的一部分,正在被攻击者远程控制。
同样,通信流分析可以检测,是否有不遵守职业操守的内部人员通过电子邮件把内部信息转发给未经授权方。
这些类型事件往往会留下可检测的签名。
17.3.2 出口监测
”出口监测"拒对外出通信流进行监测,以防数据外泄即未经授权将数据发送到机构之外。
防止数据外泄的几种常用方法包括使用数据丢失预防技术、寻求尝试隐写术以及通过水印检测未经授权的数据流出。
高级攻击者(例如得到国家资助的高级持续威胁)通常会加密后才把数据从网络向外发送。
这种做法可挫败一些试图检测数据外泄的常用工具。
而那些监测从网络发出的加密数据量的工具,也有可能被击败。
1. 数据丢失预防
数据丢失预防(Data Loss Prevention, DLP)系统旨在检测和阻止数据外泄企图。
这些系统能够扫描未经加密的数据,从中找出关键词和数据模式。
例如,假设一个机构把数据分成机密、专有、私有、敏感等几个类别。
DLP 系统可以扫描文件,从中查找这些单词并把它们检测出来。
模式匹配DLP 系统寻找特定的模式。
例如,美国社会保障号的模式是nnn-nn-nnnn(三个数字,一个破折号,两个数字,一个破折号和四个数字)。
DLP 可以查找并检测这种模式。管理员可以配置DLP 系统,根据自己的需要查找任何模式。
DLP 系统主要分两类:基于网络的DLP 和基于端点的DLP 。
基于网络的DLP。
基于网络的DLP 扫描所有外出数据,从中查找特定数据。
管理员会把它安置在网络边缘以便扫描准备离开机构的所有数据。如果有用户发送内含受哏数据的文件,
DLP 系统会把它检测出来并阻止它离开机构。
DLP 系统将向管理员发出警报,例如通过电子邮件。
基于端点的DLP 。
基于端点的DLP 可扫描保存在系统上的文件,也可扫描发送给外部设备(例如打印机)的文件。
例如,机构的基于端点DLP 可防止用户把敏感数据拷贝到USB 闪存盘或把敏感数据发送给打印机。
管理员会配置DLP, 使其用适当关键词扫描文件,而DLP 检测到内含这些关键词的文件后,将阻止复制或打印作业。
管理员还可对基于端点的DLP 系统进行配置,用于定期扫描含特定关键词或模式的文件(例如在文件服务器上),甚至可用于扫描未经授权文件类型(例如MP3 文件)。
DLP 系统通常具有进行深层检查的能力。
例如,如果用户将文件嵌入压缩后的zip 文件中,DLP 系统仍可检测出关键词和模式。
不过DLP 系统不具备解密数据的能力。
在过去,基于网络DLP 系统原本是可阻止几起重大破坏事件发生的。
举例来说,在2014年索尼公司遭受的攻击中,攻击者泄露了索尼员工的敏感未加密数据,信息量超过25GB, 其
中包括社会保障号、医疗和工资信息。
如果攻击者在检索数据前没有给数据加密, DLP 系统可能早已检测到攻击者想把数据传出网络的企图了。
然而需要指出,高级持续威胁通常在将通信流传出网络之前对其进行加密。
2. 隐写术
“隐写术”(steganography)是将一条消息嵌入一份文件的做法。
例如,人们可在一个图片文件中修改几个位,用来嵌入一条消息。
图片上的这点变化不会被一般入察觉,但知情人却能从中把消息提取出来。
如果原始文件和你怀疑有消息隐藏其中的另一份文件都在你手里,则检测出隐写内容完全可能。
你可用一种散列算法,例如安全散列算法3(SHA-3)给这两个文件创建散列。
如果两个散列值相同,文件中没有隐藏消息。
但如果两个散列值不同,则表明有人修改过第二个文件。犯罪取证分析技术或许能够检索出这条消息。
在部署了出口监测机制的背杲下,机构可定期捕获很少有改动的内部文件的散列。
例如,JPEG 和GIF 之类的图形文件通常都是固定不变的。
如果安全专业人员怀疑某个心怀歹意的内部员工在这些文件中嵌入了额外的数据并将其电邮到机构之外,他们可将原始文件的散列与恶意内部员工发送出去的文件的散列进行比较。
如果二者的散列值不同,表明两个文件不同,发送出去的文件很可能包含隐藏消息。
3. 水印
水印(watennarking)是将图像或图案不显眼地镶嵌到纸张上的做法。
这项技术常用在货币上,以挫败制造假币的企图。
同样,机构也常常把水印用到文档中。例如,作者可以用水印给敏感文档打上适当的分类标记,例如“机密”或“专有"。其他人使用这份文件或文件打印副本的时候,分类标记一目了然。
从出口监测的角度看, DLP 系统可检测未加密文件中的水印。
DLP 系统从这些水印中识别出敏感数据后,会阻止传输并向安全人员发出警报。
这可防止文件传出机构。
水印现在有了一种先进的执行技术:数字水印。数字水印是隐藏在数字文件中的标记。
例如,一些电影制片厂给发送到不同发行商的电影拷贝加上数字标记。
每个拷贝上的标记各不相同,制片厂据此跟踪哪个发行商收到了哪个拷贝。
如果有发行商发行了这部电影的盗版拷贝,制片厂马上就能识别出是哪个发行商干的勾当。
17.3.3 效果评价审计
许多机构都制定强力、有效的安全策略。
但是,仅仅策略到位并不意味着员工都知道或会遵守这些策略。
很多时候,机构会希望通过审计整个环境来评价安全策略和相关访问控制的执行效果。
“审计”是指对环境进行系统化检查或审查,以确保法规得到遵守并查出异常情况、未经授权事件乃至犯罪行为。
审计可证明,部署在环境中的安全机制能为环境提供适当安全保护。
测试流程可确保,机构人员遵守安全策略或其他规定的要求,所采用的安全解决方案不存在明显漏洞或缺陷。
审计员负责测试和证明,机构制定了执行安全策略或法规的流程和规程,这些规程可适当满足机构的安全需要。
审计员还证明,机构人员在遵守这些流程和规程。总之,整个审计工作在审计员主持下展开。
1. 检查审计
安全的IT 环境在很大程度上依靠审计,由审计发挥检测性安全控制的作用,发现和弥补漏洞。
访问控制语境下有两项重要审计:访问审查审计和用户权限审计。
明确规定审计审查频率并始终按这个频率进行审计审查至关重要。
机构通常根据风险确定进行安全审计或安全审查的频率。
安全人员评估本机构存在的漏洞和面临的威胁,以确定总体风险水平。
这有助于机构证明审计费用的合理性,并帮助机构确定他们需要进行审计的频率。
与规划和维护安全的许多其他方面一样,安全审计也常常被视为“应尽关心”的关键要素。
如果机构高管没有依照规定执行定期安全审查,则利益相关人可以就安全破坏或策略违规造成的任何资产损失追究机构高管的责任。
不进行审计,难免会让人觉得管理层没有尽到应尽的职责。
2. 访问审查审计
许多机构定期进行访问审查和审计,以确保对象访问和账户管理工作将安全策略落到实处。
这些审计证明,用户并不拥有过多权限,账户受到了适当管理。
这确保安全流程和规程已制定出台,得到机构人员严格遵守并发挥了预期作用。
举例来说,对高价值数据的访问应该仅限于需要使用它们的用户可以进行。
访问审查审计将证明,数据已被分类,用户清楚数据属于什么类别。
此外,访问审查审计还将确保任何有权授予数据访问权的人员都知道哪些条件赋予用户访问数据的资格。
例如,如果一名服务台专业人员能够授予机密数据访问权,则该服务台专业人员需要知道,用户必须具备什么条件才有资
格获得这种级别的访问权限。
访问审查审计对账户管理工作的检查可以确保,相关账号会依照最佳实践规范和安全策略的规定被禁用和删除。
例如,一名员工被解职后,他的账号应该尽快禁用。
典型的解职规程策略通常包含以下要素:
•进行离职谈话时至少有一名证人在场。
•在离职谈话过程中取消账号访问权。
•员工身份标牌以及智能卡等其他物理证件在进行离职谈话期间或之后马上收回。
•被解职员工在离职谈话结束后立即由保安人员送出工作场所。
访问审查证明,机构制定有一项策略且策略得到员工遵守。
员工接受离职谈话后如果还继续有权访问网络,将可轻而易举实施破坏。
例如,管理员即便在原始账号被禁用的情况下,也可以另创一个管理员账号,用这个账号来访问网络。
3. 用户权限审计
“用户权限”是指用户被授予的权利。用户需要得到权利和权限(特权)才能完成自己的工作,但是他们所需要的只是有限的权限。
从用户权限的角度看,最小特权原则可确保用户只拥有执行任务所不可缺少的权限,不会更多。
尽管访问控制力求强制推行最小特权原则,但有时,用户还是会被授予过多权限。
用户权限审查可在用户拥有过多权限,违反了与用户权限相关的安全策略的时候把情况检测出来。
4. 特权群组审计
许多机构通过划分群组来执行基于角色的访问控制模型。
对拥有高级权限的群组(例如管理员组)的成员进行资格上的限制非常重要。
确保群组成员只在必要时才使用他们的高权限账号也同样重要。
审计可以帮助确定人员是否遵守了这些策略。
(1) 高权限管理员组
许多操作系统都有特权组,例如Administrators 组。
Administrators 组通常会被授予可在系统上行使的全部权限,一个用户账号被划入Administrators 组后,该用户将拥有这些权限。
考虑到这一点,用户权限审查通常要对任何特权群组(包括不同的管理员组)的成员资格进行审查。
有些群组拥有极高权限,即便在有数万名用户的机构,也只限于极少数的几个人有资格成为群组成员。
例如, Microsoft 域中包含一个叫作Enterprise Admins 的组。
这个组里的用户有权在Microsoft forest(几个相关域的集合体)内的任何域做任何事情。
这个组掌握的权力之大,以至于往往仅限于两三名高级管理员有资格成为它的成员。
对该组成员资格的监测和审计可以找出未经授权的添加者。
利用自动化方法监测特权账号的成员资格,使添加未经授权用户的企图自动归于失败是完全可能的。
审计日志也会把这种添加操作记录下来,而权限审查可以检查这类事件。
审计员可通过检查审计踪迹来确定究竟是谁在试图添加未经授权账号。
机构人员还可新增提升了权限的组。例如,管理员可为1T 部门的一些用户创建一个ITAdmins 组。
管理员会根据这些IT 部门管理员的工作要求授予该组适当特权并把IT 部门管理员的账号放进这个ITAchnins 组。
只有1T 部门的管理员才可成为这个组的成员,用户权限审计可证明,这个组里并没有其他部门的用户。
这是检测权限蔓延的一种方法。
(2) 两个管理员账号
许多机构要求管理员保持两个账号。一个供他们日常活动使用,另一个有额外的特权,用于管理工作。
这样可降低与特权账号相关的风险。
例如,如果恶意软件借着一名用户登录趁机感染系统,恶意软件往往可冒用这个用户账号的权限。
如果用户登录时使用的是特权账号,恶意软件便可开始借助高级权限肆虐。
但是,如果管理员只有10%的时间用管理员账号执行管理操作,那么管理员用管理员账号登录时发生感染的潜在风险会大为降低。
审计可以验证管理员对特权账号的使用是否恰当。
例如,机构可以估计,在一个典型的工作日里,管理员大概只有10%的时间需要使用特权账号,其余时间只需要使用常规账号即可。
对日志进行的分析可显示这个估计是否准确,以及管理员是否遵守了这个规则。
如果管理员不断使用管理员账号,而极少使用常规用户账号,审计可将此标记为明显违反策略的行为。
17.3.4 安全审计和审查
安全审计和审查有助于确保机构适当执行安全控制。访问审查审计(论述见本章前文)评价访问控制的效果。
这些审查确保账户得到适当管理,没有过多权限,并在必要时被禁用或删除)。
从安全操作域的角度看,安全审计有助于确保管理控制到位。以下是一些常见检查项目:
补丁管理。
补丁管理审查确保有补丁可用之后尽快对其进行评估。它还确保机构遵循既定规程来评估、测试、审批、部署和验证补丁。
漏洞扫描报告在任何补丁管理审查或审计中都极具价值。
漏洞管理。
漏洞管理审查评审确保漏洞扫描和评价依照既定准则定期进行。
例如,机构可能有一份策略文件规定至少每周进行一次漏洞扫描,审查将验证,这项工作是否在按要求进行。
此外,审查还将验证,扫描发现的漏洞是否已被解决和抑制。
配置管理。
系统可通过定期接受审计来确保原始配置始终未变。
通常可用脚本工具来检查系统具体配置并确定何时发生了变更。
此外,对于许多配置参数,还可以启用日志将配置变更记录在案。
配置管理审计可以在日志中检查任何更改并验证它们是否得到授权。
变更管理。
变更管理审查可确保变更依照机构变更管理策略的规定执行。
其中通常包括对系统运行中断事件进行检查以确定原因。
未经授权变更导致的系统运行中断事件是变更管理方案需要改进的明显迹象。
17.3.5 报告审计结果
根据审计结果生成的报告会因机构的不同而采用不同的格式。
然而即便如此,报告应该阐明几个基本或中心概念:
•审计的目的;
•审计的范围;
•审计发现或揭示的结果。
除了这几个基本概念外,审计报告往往还包含环境特有的细节,例如时间、日期和接受审计的系统清单。
报告还可包含涉及而很广的内容,其中主要集中在以下几点:
• 问题、事件和情况;
•标准、准则和基线;
•原因、理由、影响和效应;
•建议的解决方案和防护措施。
审计报告应该结构清晰、设计简洁、陈述客观。虽然审计员经常会在报告中写进自己的意见或建议,但他们应该在报告中把这些内容明确标注出来。
实际发现应该基于事实以及在审计过程中从审计踪迹和其他来源收集到的证据。
1. 保护审计结果
审计报告包含敏感信息,应该给它们分配一个分类标签,只允许拥有足够权限的人员接触。
这其中包括机构高级执行官以及参与编制报告或负责解决报告所提问题的安全人员。
审计员有时会为其他人员单独编制审计报告,但报告中包含的数据有限。
这份经过修改的报告只提供与目标对象相关的细节。例如,机构高管不需要掌握审计报告的所有细节。
因此,提交给机构高层领导的审计报告要短小精湛,更多的是对审计发现的概述或总结。
为负责纠正问题的安全管理员编制的审计报告则应非常详细,包含关于报告所涉事件的所有可用信息。
另一方面,有审计人员正在开展审计工作的清况往往需要通告全机构,
目的是让所有员工都了解机构高层领导积极采取措施维护安全的态度。
2. 分发审计报告
审计员完成审计报告后,会依照安全策略文件的规定将报告分发给指定接收方。接收者通常需要正式签收。
如果审计报告包含有关严重安全违规或性能问题的信息,报告将提交给更高层领导,供他们审查报告内容、发出通知并指派响应人员解决问题。
3. 使用外部审计人员
许多机构选择雇用外部安全审计人员进行独立审计。
此外,一些法律法规也要求由外部方进行审计。
外部审计所表现出来的客观程度是内部审计无法达到的,它们会以一种全新的外部视角来审视内部策略、实践规范和规程。
外部审计人员会被授予访问公司安全策略的权限,并得到授权可对IT 和物理环境的适当方面进行检查。
因此,审计人员必须是一个可信实体。
审计活动的目标是得出一份最终报告,详细说明审计发现并在适当清况下就应对措施提出建议。
外部审计需要用一段时间才能完成,有时甚至需要几周或几个月。
在审计过程中,审计人员可以发布临时报告。
临时报告是提交给机构的一份书面或口头报告,阐明观察到的任何安全弱点或策略/规程的失配情况,需要机构马上密切关注。
每当遇到紧迫问题或情况,等不及最终审计报告出台的时候,审计人员会提交临时报告。
审计人员完成调查后,通常会召开一个退出会议。
在这个会议上,审计人员会陈述和讨论自己的发现并与受影响方探讨解决问题的办法。
然而,审计人员在退出会议结束并离开受雇机构之后,才会向机构提交最终审计报告。
这种做法将使最终审计报告免受办公室政治和高压强迫的影响。
机构收到最终审计报告后,内部审计员还要对报告进行审查,根据报告内容向机构高管提出建议。
机构高管负责决定采纳哪些建议并指派内部人员具体落实。