一***测试(penetrationtest)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:***测试是通过模拟恶意***的***方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个***者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。***测试有时是作为外部审查的一部分而进行的。这种测试需要探查系统,以发现操作系统和任何网络服务,并检查这些网络服务有无漏洞。
通常的******包括预***、***和后***三个阶段
预***阶段主要指一些信息收集和漏洞扫描的过程;
***过程主要是利用第一阶段发现的漏洞或弱口令等脆弱性进行***;
后***是指在获得***目标的一定权限后,对权限的提升、后面安装和痕迹清楚等后续工作。
与***的***相比,***测试仅仅进行预***阶段的工作,并不对系统本身造成危害,即仅仅通过一些信息搜集手段来探查系统的弱口令、漏洞等脆弱性信息。为了进行***测试,通常需要一些专业工具进行信息收集。***测试工具种类繁多,涉及广泛,按照功能和***目标分为网络扫描工具、通用漏洞检测、应用漏洞检测三类
***测试还具有的两个显著特点是:
1***测试是一个渐进的并且逐步深入的过程。
2***测试是选择不影响业务系统正常运行的***方法进行的测试。
***测试分类
实际上***测试并没有严格的分类方式,即使在软件开发生命周期中,也包含了***测试的环节,但根据实际应用,普遍认同的几种分类方法如下:
A方法分类
1、黑箱测试
黑箱测试又被称为所谓的“Zero-KnowledgeTesting”,***者完全处于对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、Email及各种公开对外的服务器
2、白盒测试
白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片断,也能够与单位的其它员工(销售、程序员、管理者……)进行面对面的沟通。这类测试的目的是模拟企业内部雇员的越权操作。
3、隐秘测试
隐秘测试是对被测单位而言的,通常情况下,接受***测试的单位网络管理部门会收到通知:在某些时段进行测试。因此能够监测网络中出现的变化。但隐秘测试则被测单位也仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得是否到位。
B目标分类
1、主机操作系统***
对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行***测试。
2、数据库系统***
对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应用系统进行***测试。
3、应用系统***
对***目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进行***测试。
4、网络设备***
对各种防火墙、***检测系统、网络设备进行***测试。