网络信息安全 需要不断评估安全威胁

    [晴 February 19, 2008 11:42 | by ]
来源:网络
在完成一个信息安全系统的设计与实施之后,并不代表着信息安全事务的完结。随着新技术、新应用的不断出现,以及所导致的信息技术环境的转变,意味着信息安全工作人员要不断地评估当前的安全威胁,并不断对当前系统中的安全性产生认知。通过动态的安全防护技术才能让企业规避风险、管理风险。

一、计算设施的整体风险评定

  讨论安全评定的前提在于企业已经具有了较为完备的安全策略,这项工作主要检测当前的安全策略是否被良好的执行,从而发现系统中的不安全因素。从本质上讲,这是一个信息系统定期式的“内省”过程。

1. 网络安全评定----典型技术和工具:网络扫描

  当前计算机世界应用的主流网络协议是TCP/IP,而该协议族并没有内置任何安全机制。这意味着基于网络的应用程序必须被非常好的保护,网络安全评定的主要目标就是为修补全部的安全问题提供指导。

  评定网络安全性的首要工作是了解网络拓扑结构,虽然查阅拓扑描述文档可以很好的了解这一点,但是基于文档并不总能反映最新的网络状态,进行一些实际的检测是非常必要的。最简单的,可以通过Trackroute工具进行网络拓扑发现,但是一些网络节点可能会禁止Trackroute流量的通过,这一点要特别注意。

  在了解了网络拓扑之后,应该获知所有计算机的网络地址和机器名。对于可以访问的计算机,还应该了解其正在运行的端口,这可以通过很多流行的端口发现工具实现。当对整个网络的架构获得了足够的认知以后,就可以针对所运行的网络协议和正在使用的端口发现网络层面的安全脆弱点了。通常使用的方法是对协议和端口所存在的安全漏洞逐项进行测试。

2. 平台安全评定---典型技术和工具:漏洞扫描

  操作系统是平台检测的核心,因为任何计算机乃至信息设备都必须基于操作系统才能运行。平台安全评定主要检查所使用的操作系统是否存在已知的安全漏洞以及系统的配置是否与安全策略冲突。

  在安全策略被正式执行之后,系统通常具有一个正式的安全“基线”,但凡系统发生改动都要对这个基线进行更新。安全评定工作需要将当前的系统状态与最新版本的基线进行对比,以发现是否有安全隐患存在。

  举例来说,在建立基线的时候可能为重要系统文件建立了指纹,在执行平台安全评定工作的过程中,需要比照指纹以确认这些文件是否被改变。如果这些文件有了变化可能意味着攻击者对其进行了篡改,而既使这些改变不是攻击者造成的,往往也意味着有安全策略之外的系统补丁更新等事件发生。

  在正常的风险管理机制当中,往往会在系统环境中部署一个代理机制,可以是某个风险管理产品,也可能是某种系统状态监控程序。在系统需要变更及运行状态发生变化时,管理员可以从代理机制获得通知,从而更加实时的对安全风险进行管理。

  这是一种分析系统安全弱点并通过适当的机制对系统及系统上的应用进行保护的方法,可以帮助检查操作系统的各个组件及相关应用程序,以确定最安全的配置方案。配置过程包括从系统中删除不需要的服务、应用和用户,加强对操作系统权限控制。

  安全加固的最终结果是获得一个在自身安全方面扮演积极角色的平台,该平台不仅仅依赖于防火墙等外在的安全保护层次,力求获得自主的防御机制。

3. 数据安全评定----典型技术和工具:备份有效性校验
  
  作为信息系统的核心价值,直接攻击和盗取数据的行为将对用户产生极大的危害。正因为如此,数据系统是极易受到攻击的。对数据库平台来说,应该验证是否能够从远程进行访问,是否存在默认用户名密码,密码的强度是否达到策略要求等等。而除了数据库平台之外,数据管理机制也应该被仔细评估。

  不同级别的备份措施乃至完整的灾难备份机制都应该进行有效的验证,不但要检验其是否存在安全问题,还要确认其有效性。一个好消息是大部分数据管理产品都附带了足够的功能进行安全设定和数据验证,利用这些功能可以很好的完成安全评定工作并有效的与安全策略管理相集成。

4. 应用安全评定---典型技术和工具:渗透测试

  攻击者的一个非常重要目的在于无需授权访问某些应用,而这往往是获得系统权限和数据的跳板。事实上大部分的安全漏洞都来自于应用层面,这使得应用程序的安全评定成为整个工作体系中相当重要的一个部分。

  举例来说,在之前的两年中SQL注入的极大发展意味着用户必须对各种使用相关平台的应用进行详细的验证,以确定需要投入多大的精力处理这方面的风险。在执行网络安全评定的时候,有很多可利用的自动化评估工具,而对于应用层的安全评定则很少有产品和工具可供利用,往往必须手动完成大部分工作。 {page}

  与更加规程化的面向体系底层的安全评定相比,应用安全评定需要工作人员具有丰富的安全知识和坚实的技术技能,这更像是富含随机因素且需要一些灵感的艺术性工作。

二、真理来源于现实

  企业组织每天都会从信息应用环境中获得大量的数据,包括系统日志、防火墙日志、入侵检测报警等。是否能够从这些信息中有效的识别出安全风险,是风险管理中重要一环。目前的技术手段主要被应用于信息的收集、识别和分析,也有很多厂商开发出了整合式的安全信息管理平台,可以实现所有系统模块的信息整合与联动。

1. 安全评估产品的应用

  最初的安全评估产品从本质上来讲是一种扫描器(Scanner),随着扫描范围的不断提升以及扫描功能的不断扩展,这些扫描器程序终于成为一种能够全面评估目标节点安全性的强大工具。

  虽然手动对安全策略文档进行审核非常必要,而依靠管理员的比对工作也可以良好的完成风险评估工作,但是对于拥有成百上千台计算机设备的企业应用环境来说,自动化的安全评估产品是非常必要的。

  通常来说,系统的安全漏洞可以分为本地漏洞和远程漏洞两种,而目前大部分安全评估产品都是以远程方式完成检测的。一般对远程计算机的安全探测需要使用多个工具并采取多个步骤。

  例如,首先通过ping扫射等大范围的扫描工具发现存活目标,然后通过nmap等系统指纹识别工具了解目标所运行的操作系统,然后结合SuperScan等端口扫描程序获取的运行端口信息判断目标系统可能存在的安全漏洞。

  这种方式的优点是可以根据目标情况的不同选择最匹配的工具以获得最精确的结果,但是在判断漏洞情况的时候往往只能依靠知识和经验,而这些独立的工具程序并不会告诉用户哪些端口运行着什么服务以及可能存在什么样的安全漏洞。

  除了能够自动的完成这一系列工作之外,安全评估产品集成的知识库是另一个重要的特性和优点,能够有效的解决上述问题。这个知识库通常拥有相当丰富的信息,而且很多信息条目之间都有所关联,例如可以根据所运行的一些服务的版本为识别操作系统版本提供佐证。

  就是说安全评估产品并不是单纯的检测模块组合,各个检测模块的信息可以交互使用,提高检测的准确率和反馈信息的可用性。通过对目标自动执行几十甚至上百项的探测,安全评估产品返回的结果根据用户的首要目标进行了整合,可以快速的告知用户目标系统的基本信息和漏洞情况。成熟的商业产品往往还就目标计算机的风险等级进行了智能的评估,并在提供漏洞描述的同时给出了修补漏洞的方法和建议。

2. 入侵检测---安全风险监控器

  安全领域的很多专家都提出边界防御已经无法满足今天的要求,为了提高安全防御的质量,除了在网络边界防范外部攻击之外,还应该在网络内部对各种访问进行监控和管理。入侵检测系统对于边界防御和内部控管都颇具价值,也是提高自主防御能力的重要工具之一。

  简单来说,入侵检测系统依赖的作用机制是对安全问题的识别。通过总结出恶意攻击行为的方式和特征,就能够对采集到的信息进行判断,以决定是否有安全问题发生。例如,一个攻击行为可能具有不符合标准的数据包头、违反规定的文件操作、不正常的发生时间,这些都可以被定义为特征而用于入侵检测系统。对于各种外部的入侵行为,入侵检测系统既可以通过识别行为模式的方式进行识别,从而为安全风险的处理提供早期预警。

  入侵检测系统一般分为主机入侵检测和网络入侵检测两种。基于主机的入侵检测系统主要采用模式识别与匹配的方法,检测计算机系统的各种操作是否包含了恶意行为。而基于网络的入侵检测系统则注重于检测计算机之间的信息分组交换。这两种方式各有优点,成熟的入侵检测产品会结合两种技术模式以提供更加严密的管理机制。

  入侵检测系统所获得的信息能够有效的应用于风险评估工作,并直观的展现当前应用环境下发生及尚在潜藏状态的安全威胁。不过由于入侵检测系统具有一定的误警率,所以更适合用于执行粗粒度的安全风险评估。而且这意味着入侵检测技术难以完美的与安全响应机制结合起来,对需要高度自动化的风险管理需求来说如何有效的应用入侵检测技术是一个有待解决的问题。

·密罐隐秘测试

  事实上隐秘测试类似一种增强的黑盒测试,对于受测机构来说该测试处于保密状态,可以将其想象为特定管理部分雇佣了外部团队来进行内部调查。除了不开启特定措施对测试过程进行监控和记录之外,测试工作的进行也不对员工进行通知,甚至不向信息安全管理部门进行说明。 {page}

  这种测试完全的模拟了真实的攻击,可以综合的考察组织信息安全工作的运转情况,对检验信息安全工作人员在安全事件响应和处理方面的成效很有帮助。

·渗透测试范围

  1). 内网测试

  内网测试往往相当于基于主机的渗透测试,通过对一个或多个主机进行渗透,发现某个系统集合的安全隐患。内网测试的另一项作用就是可以避免防火墙系统对测试的干扰,评估攻击者在跳过了边界防火墙限制之后可能的攻击行为。

  2). 外网测试

  黑盒测试和隐秘测试往往都是外网测试,测试人员通过互联网线路对目标网络进行渗透,从而模拟外来攻击者的行为。对于边界防火墙、路由设备、开放服务器等设施的风险评估往往必须通过外网测试才能达成。

  3). 网间测试

  在受测机构的不同网络间执行渗透测试,可以评估子网被突破后会对其它子网造成多大的影响。另外为了对交换机、路由器的安全性进行评估,通常也可以使用网间测试来完成。

·渗透测试注意事项

  在测试之前应该制订完善的计划,否则测试工作很容易殃及池鱼,甚至进入到不可控制的状态。对于测试涉及的范围、时间、可能采用的方法都应该形成计划文档,以对测试工作形成指导和限制。另外,对于测试工作在何种情况下视为完成以及测试完成后的评估工作都应该在计划中有所界定。受测机构和测试团队还应该就测试工作以及测试后续事宜签订明确的协议,以保证双方特别是受测方的合法利益。

  由于渗透测试特别是黑盒和隐秘测试的行动基础是模拟真实的攻击者,所以要特别注意不要对生产环境造成损害。从测试时段来讲,最好在非工作时间以及业务处理不密集的时间进行,事实上这样的时段也是真实攻击者开展工作的时段。

  另外对所涉及的目标系统应该能够被快速恢复,在测试过程中很难保证不对目标系统造成影响,所以备份和恢复机制的预先建立是非常必要的。对于针对拒绝服务攻击的测试应该在真实环境中复制一个系统,而不应对真实系统开展此类测试。

  在测试结束后测试团队要向受测方提交详细的渗透测试报告,而不能只是简单的告知问题所在和使用的方法。一篇优秀渗透测试报告的测试结论要明确,使受测机构能够快速掌握问题的根源。

  在测试报告中要附上测试开始之后的所有操作步骤,包括使用的工具、设置、命令以及目标系统所显示的反馈等等细节信息。在理想的情况下,报告还应该包含解决方案信息,以体现渗透测试的完整价值。主动式的威胁发现

  蜜罐(HoneyPot)是一种供攻击者攻击从而产生价值的安全设施,通过模拟一个真实运作的系统,我们可以获知真实系统可能受到怎样的攻击。与入侵检测和防火墙等产品不同,密罐系统并非为解决特定问题而存在,而是一种面向整个安全架构的工具。

  与日志系统等以审计为目标的系统相比,蜜罐系统的信息采集量要少得多,并且具有极高的含金量。如果没有进行足够的限制,一个入侵检测系统每天产生的日志容量会达到GB级,而一个典型的蜜罐系统每天只产生几十兆的记录。由于不完成生产任务,蜜罐系统的误报和噪声可以控制在一个相当理想的水平,凡是被蜜罐系统记录的信息通常都是非授权行为发生的证据。由于只针对特定流量工作,密罐系统的搭建无需动辄十万的成本投入,一些低性能的硬件就可以满足密罐系统的需要,例如我们看到很多环境中部署着奔腾2级别的密罐系统,而其工作的环境有上千台计算机。

  密罐系统的缺点在于作用域相对狭窄,不像网关防御设备那样可以对所有流量进行过滤和识别,如果密罐没有受到攻击则不会产生任何价值。所以,密罐虽然能够有效的应用于风险管理过程,但并不应作为一种防御设备被使用,而是应该作为主动型的风险发现和评估技术使用。

三、以敌人的方式思考---渗透测试

  渗透测试(Penetration Test)是指尽可能真实的模拟攻击者所使用的方法和技术对目标系统实施攻击,以检验系统在真实应用环境中的安全性。

  很多情况下,单纯的进行策略文档评估和执行自动化安全评估产品往往无法发现一些潜在的安全问题,进行渗透测试工作是非常必要的。这是一个真实的案例,说明了企业Example是如何在例行安全评定中发现了自身安全措施的脆弱,尽管为了信息安全该企业已经投入超过百万。{page}

  Example的管理员按照安全策略和系统基线等文档对当时的应用环境进行了仔细的审核,确认所有安全设施的配置和运行都处于正常状态,而且所有系统都处于基线文档的限制之内。然而一个雇佣的第三方渗透测试团队在一次“黑盒”渗透测试中攻破了Example的服务器系统。

  在测试中渗透工作人员发现Example服务器运行的Web应用的输入验证有问题,可以通过脚本注入手段在服务器上操纵文件,从而最终获得了服务器系统的控制权。经过双方在测试后的详细讨论,Example的工作人员意识到当前的安全措施只对那些不应被访问的应用进行了限制,而对于那些拥有授权的应用则缺乏管理。这个案例也警示在执行风险管理工作的人们,对于应用层安全来说渗透测试是多么的必要。

·渗透测试的分类

  1).黑盒测试

  黑盒测试意味着测试人员是在对目标系统一无所知的状态下进行测试工作,目标系统对测试人员来说就像一个“黑盒子”。除了知道目标的基本范围之外,所有的信息都依赖测试人员自行发掘。

  而目标系统上往往会开启监控机制对渗透过程进行记录,以供测试结束后分析。也就是说虽然黑盒测试的范围比较自由和宽泛,但是仍需要遵循一定的规则和限制。黑盒测试能够很好的模拟真实攻击者的行为方式,让用户了解自己系统对外来攻击者的真实安全情况。

  2).白盒测试

  与黑盒测试不同,白盒测试开始之前测试人员就已经从目标公司获得了足够的初始信息,例如网络地址段、使用的网络协议、拓扑图、应用列表等等。相对来说,白盒测试更多的被应用于审核内部信息管理机制,测试人员可以利用掌握的资料进行内部探查,甚至与企业的员工进行交互。对于发现现有管理机制漏洞以及检验社交工程攻击可能性来说,白盒测试具有非凡的意义。

    3).隐秘测试

  事实上隐秘测试类似一种增强的黑盒测试,对于受测机构来说该测试处于保密状态,可以将其想象为特定管理部分雇佣了外部团队来进行内部调查。除了不开启特定措施对测试过程进行监控和记录之外,测试工作的进行也不对员工进行通知,甚至不向信息安全管理部门进行说明。

  这种测试完全的模拟了真实的攻击,可以综合的考察组织信息安全工作的运转情况,对检验信息安全工作人员在安全事件响应和处理方面的成效很有帮助。

·渗透测试范围

  1).内网测试

  内网测试往往相当于基于主机的渗透测试,通过对一个或多个主机进行渗透,发现某个系统集合的安全隐患。内网测试的另一项作用就是可以避免防火墙系统对测试的干扰,评估攻击者在跳过了边界防火墙限制之后可能的攻击行为。

  2).外网测试

  黑盒测试和隐秘测试往往都是外网测试,测试人员通过互联网线路对目标网络进行渗透,从而模拟外来攻击者的行为。对于边界防火墙、路由设备、开放服务器等设施的风险评估往往必须通过外网测试才能达成。

  3).网间测试

  在受测机构的不同网络间执行渗透测试,可以评估子网被突破后会对其它子网造成多大的影响。另外为了对交换机、路由器的安全性进行评估,通常也可以使用网间测试来完成。

·渗透测试注意事项

  在测试之前应该制订完善的计划,否则测试工作很容易殃及池鱼,甚至进入到不可控制的状态。对于测试涉及的范围、时间、可能采用的方法都应该形成计划文档,以对测试工作形成指导和限制。另外,对于测试工作在何种情况下视为完成以及测试完成后的评估工作都应该在计划中有所界定。受测机构和测试团队还应该就测试工作以及测试后续事宜签订明确的协议,以保证双方特别是受测方的合法利益。

  由于渗透测试特别是黑盒和隐秘测试的行动基础是模拟真实的攻击者,所以要特别注意不要对生产环境造成损害。从测试时段来讲,最好在非工作时间以及业务处理不密集的时间进行,事实上这样的时段也是真实攻击者开展工作的时段。

  另外对所涉及的目标系统应该能够被快速恢复,在测试过程中很难保证不对目标系统造成影响,所以备份和恢复机制的预先建立是非常必要的。对于针对拒绝服务攻击的测试应该在真实环境中复制一个系统,而不应对真实系统开展此类测试。

  在测试结束后测试团队要向受测方提交详细的渗透测试报告,而不能只是简单的告知问题所在和使用的方法。一篇优秀渗透测试报告的测试结论要明确,使受测机构能够快速掌握问题的根源。

  在测试报告中要附上测试开始之后的所有操作步骤,包括使用的工具、设置、命令以及目标系统所显示的反馈等等细节信息。在理想的情况下,报告还应该包含解决方案信息,以体现渗透测试的完整价值。
InfoSecurity | Comments(0) | Trackbacks(0) | Reads(7504)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive