网络渗透测试

原文地址:http://www.cdus.org/bbs/forum.php?mod=viewthread&tid=42305

       渗透测试是一种最老的评估计算机系统安全性的方法。在70年代初期,国防部就曾使用这种方法发现了计算机系统的安全漏洞,并促使开发构建更安全系统的程序。渗透测试越来越多地被许多组织用来保证信息系统和服务的安全性,从而使安全性漏洞在暴露之前就被修复。

       由于恶意代码、黑客、不满员工所造成的网络入侵、数据偷窃和攻击的频率和严重程度会继续增加,所以网络安全漏洞和数据偷窃所造成的风险和代价是极大的。由于企业电子化的兴起及其对安全性的要求,公司网络的远程访问也在增加。事实上,即使网络实现管理的很好,并使用了最新的硬件和软件,也仍然可能受到错误配置或软件缺陷的影响。这可能最终会将敏感信息的访问权限泄漏给入侵者。使用渗透测试工具则能够显著地减少这种情况的发生。
虽然渗透测试的主要目标是发现组织中网络基础架构的安全漏洞;但它也可能有许多次要目标,包括测试组织的安全问题识别和响应能力,测试员工安全知识或测试安全性政策规范等。
执行网络渗透测试的原因
       渗透测试能够通过识别安全问题来帮助一个单位理解当前的安全状况。这使促使许多单位开发操作规划来减少攻击或误用的威胁。
      撰写良好的渗透测试结果可以帮助管理人员建立可靠的商业案例,以便证明所增加的安全性预算或者将安全性问题传达到高级管理层。 
      安全性不是某时刻的解决方案,而是需要严格评估的一个过程。安全性措施需要进行定期检查,才能发现新的威胁。渗透测试和公正的安全性分析可以使许多单位重视他们最需要的内部安全资源。此外,独立的安全审计也正迅速成为获得网络安全保险的一个要求。
       现在符合规范和法律要求也是执行业务的一个必要条件。渗透测试工具可以帮助许多单位满足这些规范要求。
启动一个企业电子化项目的核心目标之一是实现与战略伙伴、提供商、客户和其他电子化相关人员的紧密协作。要实现这个目标,许多单位有时会允许合作伙伴、提供商、B2B交易中心、客户和其他相关人员使用可信连接方式来访问   他们的网络。一个良好执行的渗透测试和安全性审计可以帮助许多单位发现这个复杂结构中的最脆弱链路,并保证所有连接的实体都拥有标准的安全性基线。
       当拥有安全性实践和基础架构,渗透测试会对商业措施之间的反馈实施重要的验证,同时提供了一个以最小风险而成功实现的安全性框架。


       安全测试不同于渗透测试,渗透测试侧重于几个点的穿透攻击,而安全测试是侧重于对安全威胁的建模,系统的对来自各个方面,各个层面威胁的全面考量。安全测试可以告诉您,您的系统可能会来自哪个方面的威胁,正在遭受哪些威胁,以及您的系统已经可抵御什么样的威胁。当然,安全测试涵盖渗透测试的部分内容。
安全测试与渗透测试的区别主要在:
       渗透测试考虑的是以黑客方法,从单点上找到利用途径,证明你有问题,帮助客户提高认识,也能解决急迫的一些问题,但无法也不能去针对系统做完备性的安全测试,所以难以解决系统自身实质性的安全问题,所以提供渗透测试的厂商一般都是自己买什么防护设备,以自己防护设备针对的威胁为主要渗透点,找到你有类似的问题,解决方案就以卖对应的防护设备作为手段,针对具体的威胁,通过防护设备采取被动的防护。而安全测试的厂商,则从整体系统架构,安全编码,安全测试,安全测试覆盖性,安全度量等多个因素去考虑问题,提出的解决方法则是逐步帮助客户引入安全开发过程,提供相应的工具支撑,目标是最后让客户提升业务系统自身实质性安全问题。
安全测试首先会对被测试系统做系统分析,分析其架构,软件体系以及程序部署等等,然后再对被测系统做系统安全分析,在这之后会对系统进行安全建模,明确本系统可能来自的各个潜在威胁,之后需要剖析系统,确认有哪些攻击界面,根据测试方案进行测试。
       安全测试只关注漏洞的可利用性分析,但不关注漏洞如何被真实利用的技术,这当中有几个因素:
成本因素:对攻击者来说,利用漏洞的收益是系统所保护的资产,所以可以投入更多的成本来研究漏洞的利用,包括时间,人员,手段。但是对安全测试来说,整个收益是客户愿意投入的成本,系统所保护的资产远大于系统开发投入,安全投入又只占系统开发投入的百分之三左右,所以从成本角度考虑,安全测试只关注评估漏洞被利用的可能性,而不应该具体去研究漏洞如何被利用且展示给客户。
       视角因素:安全测试是帮助客户降低安全威胁,减少安全漏洞。本身是一种防护技术,尽量发现安全问题并指导客户修复安全问题是关键,沿着的路径是发现安全问题->分析评估安全问题-〉提出修补建议-〉度量安全,而不是以攻击者视角发现安全问题-〉利用安全问题-〉获得非法收益的路径。对防护方最有价值的是发现问题,解决问题,而不是发现问题,利用问题。防护方关注都漏洞是否可被利用确定安全漏洞和修复级别就够了,研究再多的具体攻击利用技术,对操作系统级别的防护是有意义的,但是对普通应用系统的开发与使用者则是无价值的。
假定因素:客户面临的风险不仅来自于外部,也可能来自于攻击者通过客户端主机的渗透(如通过对某员工笔记本挂马再接入内网的方式),还有可能来自于内部。安全要保护全面的安全,我们不能假定攻击者路径就一定处于同渗透测试一样的纯外部严密防护中,也无法假定攻击者通过时间积累社工或自身特性(员工)获取到一些信息。同时攻击利用技术发展到现在,已经和具体应用的特性结合起来,攻击者时刻有可能发现以前我们认为低危,不好利用的漏洞的利用方法。因此安全测试关注点是业务系统在失去所有外部防护之后,自身实现的安全性,关注高覆盖的安全测试和安全度量,而不是单一的渗透测试。
       当然目前,由于用户对安全的理解还存在很多认识误区,还需要慢慢改善。
最近1个项目,用户的目标是希望能业务系统上线之前,通过测试改善安全,用户以前的安全主要是某国际大公司提供流程咨询一套,但难以解决安全问题,因此用户希望引入安全测试来全面提升安全,其实是很符合安全测试目标的,但是在选型之后,给予几家厂商PK的项目则是纯网站渗透测试性的,评价标准也只是在谁最后真实入侵了谁牛的标准,虽然我们也渗透成功,但是出具的报告则是针对某个页面具体的威胁分析,改进建议,没有去放置破坏性实质入侵的东西,用户反倒觉得没其他做渗透测试厂商报告漂亮,抓了WEBSHELL的屏,拿了敏感文件什么的,其实就和安全测试的本意就远了。
       当然既然用户的认识只在这个阶段,也没办法,后面的测试我们就只能以渗透利用的方式去做和出报告了,但我一直在想,用户需要的是提升自身业务系统的安全,继续渗透这套方法,我们难道又要回到卖防护设备被动防护的方式吗?在给微软测试当中,我提交的报告无需去写EXP,除了MDB那个例外,因为微软认为MDB不是安全文件,我给他们说了可以利用来打IIS,但估计我拙劣的英文没让他们明白,最后才以BLUEHAT上的实际演示来证明。其实技术发展到现在,安全漏洞具体怎么利用成为了一门艺术,但是漏洞理论上是否可被利用却是基本可以定性的,只要理论上可以被利用的漏洞,厂商都应该修补,因为我们不能假设攻击者不能通过深入研究达到实质可利用,厂商也没必要花费大量的成本去研究实质可利用。所以微软无需我提交EXP,只要指出是否理论可利用就可以了。
       其实攻击者只要付出研究成本,大多数理论上可被利用的漏洞都是可以达到很高利用程度的,最近给相关部门提交了一个非常严重,影响国内多个重点行业使用的产品漏洞,但对方认为这个漏洞太难利用了,因为有应用自身编码检测要求,否则无法写自己可控内容到文件;没办法,只能花了一晚上时间熬夜逆向分析,最后写出了编码的代码,可以非常容易实施攻击,证实这是个极度高危的安全漏洞。是的,虽然最终把利用代码写出来了,让任何说不能实际利用的人都无话可说,但是,这种成本花销值得吗?厂商会对发现自身安全漏洞支付成本,会对发现的安全漏洞写出可利用攻击来支付成本吗?房屋安全验收员发现了房屋存在空鼓就可以了,而不是非得贴上瓷砖等上2年让墙砖出现开裂、脱落的现象才能给业主证明。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值