渗透测试介绍

发表于:2011-4-25 13:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:曾云辉    来源:51Testing软件测试网采编

  渗透测试(penetration test),也称模拟攻击测试,是在经相关方允许的情况下采用常见的和可能的但是可控的、非破坏性的攻击方式对于一定范围内的信息系统进行安全评估的一种方式。

  首先,渗透测试对信息系统而言具有一定的风险(如产生突发流量、系统停止响应甚至重启等),而且耗费时间、具有很大的工作量。另外,区别于恶意攻击,渗透测试是在经相关方允许的情况下进行的测试,具有一定的合法性,不具备破坏性。

  目前渗透测试尚没有正式的标准,但在信息安全这个行业内对渗透测试已经很熟悉了,部分相关厂商、安全服务企业已逐步建立起了自己的渗透测试服务模式,对最终用户来说在接受过各种宣传后对渗透测试也越来越关注。

  1、渗透测试的几个阶段

  区别于简单的漏洞扫描,一次完整的模拟攻击测试一般都包括如下几个阶段:(1)信息收集阶段;(2)枚举和扫描阶段;(3)攻击尝试并获得权限阶段;(4)权限提升阶段;(5)消除踪迹阶段。

  其中阶段(3)和(4)是渗透测试中最重要的两个阶段。

  2、渗透测试涵盖的内容

  区别于简单的系统入侵攻击,渗透测试不仅仅为了获取某台主机上的最高控制权,更是为了对于整个信息系统的相关部分进行安全测试和评估,从而提高系统的整体安全性。

  因此,从内容上渗透测试的对象包括相关系统内的主机系统、应用系统、网络设备、网络系统结构以及相关的基础设施等,从形式上包括有线网络和无线网络、局域网和广域网等。

  3、渗透测试的模式

  白盒测试(White Box):对于信息系统架构、网络系统结构和应用系统模式以及详细配置等情况比较了解,已初步掌握系统存在的一些漏洞和风险,可从系统外部和从系统内部分别进行测试。

  黑盒测试(Black Box):只了解被测试系统的已公开的信息,通常只从系统外部进行测试,测试的效果比较有限。

  灰盒测试(Gray Box):掌握的信息量介于白盒测试和黑盒测试之间。

  4、渗透测试的能力要求

  由于渗透测试涉及到相关系统内的主机系统、应用系统、网络设备、网络系统结构以及相关的基础设施等,相应的也要求测试人员具有一定的、能够适应测试的能力。

  1)测试人员应熟悉OSI七层网络模型和TCP/IP五层参考模型,熟悉常见的网络结构和系统架构。

  2)测试人员应熟悉信息系统内各部件的作用、基本原理及其操作和安全配置,如主机操作系统、网络设备系统、数据库、常见应用系统等。区别于日常的办公系统,在渗透测试中面向的主机对象一般是基于AIX、HP-UX、Solaris等X-nix操作系统的小型机或PC服务器系统。

  3)具有一定应用程序开发和安全编程能力,特别是应熟悉常见的Web应用模式及其架构。目前,基于Web的应用越来越多,更受关注的就是Web网站等基于Web的应用系统,它将成为未来更多渗透测试的对象。

  4)具有较强的系统综合分析和安全技术评估能力,以及熟练使用相关辅助测试工具的能力。

  5)能够实时跟踪最新的漏洞情况,甚至具有自主发现漏洞的能力。

  5、渗透测试的方式

  渗透测试可以人工进行,也可以结合辅助工具进行。但最终的结果应在工具测试的基础上以人工确认测试的结果为准。如Web系统扫描工具,虽然市场上已经出现了多种针对Web应用系统的扫描工具,但有人进行过比较分析,发现这些扫描工具存在较高的误报率。

  目前可用的辅助工具有Metasploit Framework(free)、Immunity CANVAS、Core Impact、N-Stalker Web Application Security Scanner等,而且具有比较易用的图形操作界面。

  6、结束语

  本文简单介绍了渗透测试相关内容,但要进行实际的渗透测试还需要进行详细的测试方案设计、必要的测试工具准备、测试过程中的风险分析及规避等。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号