收藏 分销(赏)

毕业论文设计设计--信息系统渗透测试原理及模型分析论文.doc

上传人:可**** 文档编号:2137819 上传时间:2024-05-18 格式:DOC 页数:13 大小:172KB
下载 相关 举报
毕业论文设计设计--信息系统渗透测试原理及模型分析论文.doc_第1页
第1页 / 共13页
毕业论文设计设计--信息系统渗透测试原理及模型分析论文.doc_第2页
第2页 / 共13页
毕业论文设计设计--信息系统渗透测试原理及模型分析论文.doc_第3页
第3页 / 共13页
毕业论文设计设计--信息系统渗透测试原理及模型分析论文.doc_第4页
第4页 / 共13页
毕业论文设计设计--信息系统渗透测试原理及模型分析论文.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、信息系统渗透测试原理及模型分析Information Systems Penetration Testing Principle And Model Analysis姜志坤摘 要:信息化是当今世界发展的大趋势,是推动经济社会变革的重要力量。大力推进信息化,是覆盖我国现代化建设全局的战略举措,是贯彻落实科学发展观,全面建设小康社会、构建社会主义和谐社会和建设创新型国家的迫切需要和必然选择。如何以信息化提升综合国力,如何在信息化快速发展的同时确保国家信息安全,这已经成为各国政府关心的热点问题。信息安全已经从国家政治、经济、军事、文化等领域普及到社会团体、企业,直到普通百姓,信息安全已经成为维护国家

2、安全和社会稳定的一个重要因素。随着国家信息安全测评工作的推进和深化,对信息系统安全测试的要求也逐步提高,渗透测试作为信息系统安全测试的一项高级别和高难度的测试项目,在信息安全测评中逐渐受到高度重视并得到推广应用。本文通过对目前渗透测试的过程和原理做了详细的分析, 并提出了测试方法和测试模型。关键字:信息安全 渗透测试测试项目 测试模型1.渗透测试概述作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。但要找到一家合适的具有授权资质的公司实施渗透测试并不容易。近来防御黑客与病毒的攻击已经成为一种非常困难的工作。保护自己的信息系统不受恶意攻击者的破坏,维护系统安全已经成了企业里非常重要

3、的工作。以金融业为例,某银行部署了多台防火墙,购买入侵检测系统、网络安全审计系统等,也定期进行漏洞扫描,应该很安全,但黑客入侵、储户数据遭窃、网站遭受攻击等安全事件仍层出不穷,也许被黑客入侵的机率只有0.001%,但发生后就是100%。(一)渗透测试(Penetration Testing)网络定义定义一:渗透测试是一个在评估目标主机和网络的安全性时模仿黑客特定攻击行为的过程。详细地说,是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标的安全性作深入的探测,发现系统最脆弱环节的过程。定义二:渗透测试是主动评估信息安全措施的过程。可通过多种方法做到这一点,而最常用的方法是主动

4、地对安全措施进行分析,找出其设计缺陷、技术盲点和漏洞;然后对其做一个全面的报告,呈递给行政、管理和技术部门。定义三:渗透测试就是以黑客的角度,由企业外部或在企业内部对目标网络环境作深入的安全探测,并预先找出企业脆弱的环节。渗透测试是由一组安全人员执行,利用弱点扫描软件或其他的工具,从外部或内部网络收集系统的相关信息,并探查出逻辑性更强、更深层次的漏洞,然后渗透到企业内部取得资产,最后提交一份渗透测试报告,完整的记录整个测试过程与细节,证实企业哪些系统有风险、哪些产品设定没做好,并协助企业进行制定更完善的安全防御措施。换句话说,渗透测试是安全稽核的一部分,由安全专家仿真黑客的攻击模式,测试信息系

5、统的安全强度,让企业在黑客攻击前,就做好预防工作。(二)渗透测试定义渗透测试是指测试人员在得到用户授权许可后,在不影响其业务应用的前提下,尽可能完整的地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络、应用系统、主机操作系统、数据库管理系统等进行渗透检测,从而发现系统存在的安全漏洞和隐患等脆弱性环节,并在适当条件下进行验证的安全测试过程。(三)渗透测试是专业服务 渗透测试是为了证明信息系统的防御按照预期计划正常运行而提供的一种机制。不妨假设,您的公司定期更新安全策略和程序,实时给系统打补丁,并采用了入侵检测系统、安全审计系统和漏洞扫描系统等设备,以确保对信息系统的有效监控。如果你早已做到了这些

6、,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查您信息系统的网络安全策略及服务器操作系统安全加固等情况,换句话说,就是给您的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络信息系统安全测评的专业机构。 (四)外部审查的一部分渗透测试需要探查信息系统,以发现操作系统和任何网络服务的不安全因素。您可以使用一些简单的漏洞扫描设备完成这些任务,但往往专业人士用的并不仅仅是一些测试设备,相反他们会自己去编写一些实用的测试脚本作为辅助,有效地帮助您找到系统的安全隐患。(五)渗透测试目的明确当前系统的安全状况、摸清攻击者可能利用的弱点。确定网络中存在的漏洞,才可以设计一套应对方案。渗

7、透测试可以协助用户发现组织系统安全的最薄弱环节,协助了解目前降低风险的首要任务,让管理人员非常直观的了解当前系统所面临的问题,增强对信息安全的认知程度,使所有成员意识到自己的岗位在整个组织的安全中不可或缺的地位,有助于整体安全意识的提升。(六)渗透测试的作用渗透测试的作用一方面在于,解释所用测试设备在测试过程中所得到的结果。即使您对信息系统进行漏洞扫描。但也并不能全面地了解漏洞扫描得到的结果,更别提另外进行测试,并证实漏洞扫描系统所得报告的准确性了。 (七)怎么进行渗透测试 除了找到合适工具以及具备资质的组织进行渗透测试外,还应该准确确定测试范围。攻击者会借助社会工程学、偷窃、贿赂或者破门而入

8、等手法,获得有关信息。真正的攻击者是不会仅仅满足于攻击某个企业网络的。通过该网络再攻击其它公司往往是黑客的惯用伎俩。攻击者甚至会通过这种方法进入企业的ISP。 为了从渗透测试上获得最大价值,应该向测试组织提供尽可能详细的信息。同时签署保密协议,这样,您就可以更放心地共享策略、程序及有关网络的其它关键信息。 还要确定被测信息系统,哪些系统需要测试。虽然你不想漏掉可能会受到攻击的某个系统,但可能仍想分阶段把渗透测试外包出去,以便每个阶段专注于网络的不同部分;同样您也可以作为一个大的信息系统来测试,对各个子系统进行关联分析,从而有效地降低系统被攻破的风险。 2. 渗透测试原理2. 1 渗透测试原理渗

9、透测试就是利用网络安全扫描器、专用安全测试工具和富有经验的安全工程师的人工经验对网络中的核心服务器及重要的网络设备,包括服务器、网络设备、防火墙等进行非破坏性质的模拟黑客攻击,侵入系统并获取机密信息并将入侵的过程和细节产生报告给用户。2. 2 渗透测试过程在一个实际的渗透测试过程中,渗透测试项目的实施一般分为三个阶段:前期准备阶段、渗透测试阶段、后期总结阶段。(一)前期准备阶段1)委托书确认签署授权委托书,并同意测试工程师实施渗透测试。2)渗透目标确定测试工程师需要就详细的渗透测试范围和测试对象与用户进行沟通,并书面达成一致,进行渗透测试时,应严格按照测试范围和测试对象进行,以避免测试范围的“

10、蔓延”而破坏关键业务数据。3)确定渗透测试人员根据渗透测试要求,渗透测试方应确定好渗透测试人员的名单、渗透测试人员的详细介绍,并得到被测方书面认可。4)制定渗透测试方案测试工程师应根据渗透测试的范围及测试对象,制定一份详细的渗透测试方案。方案中必须说明测试范围和对象、测试时间、测试人员、测试工具、渗透测试过程中存在的风险等详细情况,方案应经过用户审核和批准。5)风险规避措施在进行渗透测试之前,应事先实施风险规避措施。用户应先做好系统的备份和恢复准备工作,以便在发生不可预知的风险后能快速恢复系统的正常运行。(二)渗透测试阶段1)渗透测试工作环境安排用户和测试工程师应共同协商进行渗透测试工作环境的

11、安排,保障测试工程师应有比较独立和安静的工作环境。2)实施渗透测试测试工程师根据方案所规定的测试流程和测试内容实施具体的渗透测试活动。3)渗透测试过程监控按准备阶段选择的监控方式,在准备好的监控环境下对正在实施的渗透测试活动进行监控,同时监控被测试目标的工作状态。4)渗透测试过程沟通在渗透测试过程中,测试工程师应主动就渗透测试的进展情况、测试活动及测试中发现的异常或非预期情况与用户进行沟通,以便用户及时检查测试目标的工作状态是否正常。(三)后期总结阶段在完成渗透测试后,需要对渗透测试数据进行整理、汇总和分析,根据发现的安全漏洞和安全隐患指出被测目标的问题所在,然后提出相应的整改建议,并最终完成

12、渗透测试报告的编制。3. 渗透测试分类及方法3. 1测试分类(一)按信息获取方式分类从渗透的前期资料准备和信息获得来看,渗透测试/攻击可分为以下3类。1)黑盒(Black Box)渗透黑盒(Black Box)渗透测试通常是从目标网络的外部进行渗透模拟的,这意味着,除了被测试目标的已知公开信息外,不提供任何其他信息。渗透者完全处于对目标网络系统一无所知的状态,只能通过Web、E-mail等网络对外公开提供的各种服务器,进行扫描探测,从而获得公开的信息,以决定渗透的方案与步骤。通常来说,黑盒渗透测试用于模拟来自网络外部的攻击行为。2)白盒(White Box)渗透白盒(White Box)渗透测

13、试与黑盒渗透测试相反,渗透测试者可以通过正常渠道,向请求测试的机构获得目标网络系统的各种资料,包括网络拓扑结构、用户账号、操作系统、服务器类型、网络设备、代码片断等信息。渗透者可从目标网络系统外部或内部两个地点,进行渗透模拟测试,但是通常而言,这类测试是模拟网络内部人员的越权操作。3)灰盒(Gray Box)渗透灰盒(Gray Box)渗透测试介于以上两者之间。(二)按目标对象分类从渗透模拟攻击的对象来看,渗透测试又可分为以下几种。1)主机操作系统渗透对目标网络中的Windows、Linux、UNIX等不同操作系统主机进行渗透测试。本书重点讲述的是对Windows主机操作系统的渗透。2)数据库

14、系统渗透对MS-SQL、Oracle、MySQL等数据库系统进行渗透测试,这通常是对网站的入侵渗透过程而言的。3)网站程序渗透渗透的目标网络系统都对外提供了Web网页、E-mail邮箱等网络程序应用服务,这是渗透者打开内部渗透通道的重要途径。4)网络设备渗透对各种硬件防火墙、入侵检测系统、路由器和交换机等网络设备进行渗透测试。此时,渗透者通常已入侵进入内部网络中。(三)按网络环境分类按照渗透者发起渗透攻击行为所处的网络环境来分,渗透测试可分为下面两类。1)外网测试通常来说,进行渗透攻击测试的目标都是大型的网络系统。这些网络系统由内部的一台台主机与网络设备所组成,其内部是一个局域网络,从Inte

15、rnet上无法直接连接访问。所谓外网测试,就是指渗透测试人员完全处于目标网络系统之外的外部网络,在对内部状态一无所知的情况下进行的渗透测试。渗透者需要突破外部网关服务器和保护内网的防火墙,从而进入内网之中。2)内网测试内网测试指的是由内部网络发起的渗透测试,此时渗透测试人员已处于内网之中,渗透控制的难度相对已减少了许多。各种信息收集与渗透实施更加方便,渗透者的目标是完全地控制整个内部网络系统。3. 2测试方法一般来说,攻击者的渗透入侵过程分为如左图所示的几个阶段和步骤,每个阶段和步骤使用不同的攻击手段。(一)外网信息收集、分析与制订入侵方案从外网发起的黑盒渗透攻击,由于对目标网络系统一无所知,

16、渗透攻击者首先需要收集足够的入侵信息资料,然后在此基础上制订渗透攻击方案。信息的收集是非常重要的,它决定了攻击者是否能准确地定位目标网络系统安全防线上的漏洞,攻击者所收集的一切信息,无非是为了找到安全大坝上的那些小小的蚁穴。信息收集主要分为以下几类。1)相关边缘信息收集在这一步骤中,攻击者会通过网络搜索、实地了解等各种方法,充分地利用网络搜索和社会工程学,采集攻击目标的相关信息。获取的信息内容和方式包括目标网络系统中的一些边缘信息,如目标网络系统公司的结构、各部门职能、重要机构分支,以及内部员工账号组成、身份识别方式、邮件联系地址、QQ或MSN号码、各种社交网络账号与信息、管理员的网络习惯等。

17、2)网络信息收集在这一步骤中,要收集目标网络的各种网络信息,所使用的手段包括Google Hacking、WHOIS查询、DNS域名查询和网络扫描器等。最终的目的是要描绘出目标网络拓朴结构、公司网络所在区域,子公司IP地址分布,VPN接入地址、各种重要服务器的分布、网络连接设备等信息。3)端口/服务信息收集在这一步骤中,利用各种通用的端口服务扫描工具,扫描目标网络中对外提供服务的服务器,查询服务器上开放的各种服务,例如,Web、FTP、MySQL、SNMP等服务。4)漏洞扫描在上面的步骤中,获得目标网络各服务器开放的服务之后,即可对这些服务进行重点扫描,扫出其所存在的漏洞。例如:针对操作系统漏

18、洞扫描的工具有X-Scan、ISS、Nessus、SSS、Retina等;针对Web网页服务的扫描工具有SQL扫描器、文件PHP包含扫描器、上传漏洞扫描工具,以及各种专业全面的扫描系统,如AppScan、Acunetix Web Vulnerability Scanner等(见图3-1);针对数据库的扫描工具有Shadow Database Scanner、NGSSQuirreL,以及SQL空口令扫描器等。另外,许多入侵者或渗透测试员也有自己的专用扫描器,其使用更加个性化。图3-1 Acunetix Web Vulnerability Scanner入侵渗透检测工具5)制订渗透方案这一过程中,

19、在获取了全面的网络信息并查询到远程目标网络中的漏洞后,攻击者就可以开始制订渗透攻击的方案了。入侵方案的制订,不仅要考虑到各种安全漏洞设置信息,更重要的是利用网络管理员心理上的安全盲点,制订攻击方案。(二)打开进入内网的突破口在从外网渗透入内网的入侵过程中,如何打开内网的通道,是内网渗透的突破口。前期的各种信息扫描工作,无非也是为了获得各种漏洞信息,以便能顺利进入目标网络之中,进一步扩大攻击,完全控制目标网络。渗透攻击者可以结合上面扫描获得的信息,确定自己的突破方案。例如,针对网关服务器进行远程溢出,或者是从目标网络的Web服务器入手,也可以针对网络系统中的数据库弱口令进行攻击,或者采用各种欺骗

20、方法将木马程序诈骗进目标网络之中运行。打开内网突破口,常用的攻击手法有:利用系统或软件漏洞进行的远程溢出攻击,系统与各种服务的弱口令攻击,系统或服务账号的密码暴力破解,以及Web脚本入侵、木马攻击等。最常用的两种手段是Web脚本攻击和木马欺骗。这是由于在当前的网络环境中,网络管理员通常对外网网关服务器做好了各种安全设置保护工作,直接的远程溢出或对账号进行攻击,成功率基本上是很低的,而Web服务器上所用的网站程序往往存在许多脚本代码漏洞,攻击者很容易就可以入侵控制网站。同时许多网络的安全设置往往是外严内松,在网关上安全设置非常严格,但是内部主机的安全防护却非常薄弱,因此攻击者也有可能通过邮件、通

21、信工具或挂马等方式,将木马程序绕过网关的各种安全防线,发送到内部诈骗执行,直接获得内网主机的控制权。(三)纵向提升权限通过上面的步骤,攻击者可能已成功入侵目标网络系统对外的服务器,或者内部某台主机,此时需要完全获得主机的最高控制权。虽然此时攻击者已获得了主机的一些控制权限,但是对于进一步的渗透攻击来说还是不够。例如,攻击者入侵了某台Web服务器,上传了Webshell控制网站服务器,然而却没有足够的权限安装各种木马后门,或者运行一些系统命令,此时攻击者就需要提升自己的权限。纵向权限提升按入侵方式来分,主要可分为以下两类。1)Webshell提权Webshell提权是渗透入侵中经常遇到的一种情况

22、,攻击者常常会通过Web网站脚本途径入侵网站服务器,并上传Webshell。通过Webshell对主机进行操作时获得的控制权限往往是继承了Web账号权限的,完全不足以对目标主机进行系统级的控制操作。因此攻击者常常会采用各种手段,提升Webshell的操作权限。2)账号提权账在权限提升过程中,攻击者通过扫描或密码破解等方式,可能会获取目标主机的系统登录账号,或数据库访问账号等。不过这些账号通常是权限不足,在进行进一步的渗透测试时,可能会没有足够的权限打开一些密码存储文件,无权安装嗅探工具,甚至没有权限执行一些很基本的命令,这时必须进行提权,以获取更高级别的账号控制权。在进行纵向提权操作步骤中,所

23、采用的提权手段是相似的,都是利用目标主机系统上的系统或软件漏洞进行提权。具体的提权手段包括系统或软件的本地溢出攻击、密码破解、服务替换等,这在Webshell提权中体现得尤为明显。需要说明的是,如果攻击者采用远程溢出,或者通过木马诈骗运行等方式入侵控制主机,获得的将是最高的系统权限,此时无须进行纵向提权的步骤。(四)开辟连接通道,突破内网环境限制在对内网进行渗透入侵之前,攻击者还需要突破各种网络环境限制,例如,内部网络作为Vlan划分隔离,或者在网关设置了防火墙无法进行连接等。其中最重要的一点就是,如何利用已控制的主机,连接攻击其他内部主机。由于目标网络内的主机是无法直接进行连接的,因此攻击者

24、往往会使用代理反弹连接到外部主机,会将已入侵的主机作为跳板,利用远程终端进行连接入侵控制。在此过程中,涉及的攻击手段更加多样,如防火墙杀毒软件的突破、代理的建立、账号后门的隐藏破解、3389远程终端的开启和连接等。(五)内网信息扫描与收集当攻击者完全控制网关或内部的某台主机,并且拥有了对内网主机的连接通道时,就可以对目标网络的内部系统进行渗透入侵了。在对内部网络进行渗透攻击前,同样需要进行各种信息的扫描和收集工作。此步骤采用的手段与步骤1重复,使用相同的手段尽可能地获得内网的各种信息,包括获取内网网络分布结构信息,从而确定内网中最重要的关键服务器,然后对重要的服务器进行各种扫描,寻找其漏洞,以

25、确定进一步的入侵控制方案。(六)内网横向权限提升进入内网后虽然获得了当前主机的最高系统控制权限,然而当前的主机在整个内部网络中的身份,可能仅仅是一台无关紧要的客服主机,因此攻击者要获取整个网络的控制权,就必须提升自己在网络中的权限。在内网提升权限时,往往需要考虑到内网中的网络结构,确定合理的提权方案。例如,对于小型的局域网,可以采用嗅探的方式获得域管理员的账号密码,也可以直接采用远程溢出的方式获得远程主机的控制权限。对于大型的内部网络,攻击者可能还需要攻击内部网网络设备,如路由器、交换机等。内网横向权限提升时,所用到的攻击手段,依然是远程溢出、嗅探、密码破解、ARP欺骗、会话劫持和远程终端扫描

26、破解连接等。(七)渗透成功在获得内网管理员或任意的控制权后,整个网络就在攻击者的掌握之中了,攻击者可以任意窃取机密资料进行破坏。至此,渗透入侵完成。4. 渗透测试模型及分析4. 1 测试模型渗透测试模型是一个整合渗透测试技术和方法的原型系统。该系统可以提供渗透测试各个步骤的各种功能,检验被测对象网络和计算环境的安全性和抗攻击能力,发掘被测对象网络系统中从物理层到应用层各个层面的脆弱性。本人通过深入的学习和研究,吸取前人的经验成果,总结出渗透测试模型如图4-1所示:图4-1 渗透测试模型4. 2 模型分析渗透测试模型从信息收集到结果报告的生成过程是全自动的,无人干预,在此过程中,信息收集的结果筛

27、选和各模块之间的参数传递是一个实现上的难题;另外,漏洞及漏洞利用程序的及时更新也是渗透测试软件的一个关键技术。(一)信息收集的结果筛选和各模块之间的参数传递渗透测试首先要对被测网络系统进行全面扫描和漏洞的探查,即进行网络勘查、端口扫描、系统识别、无线网漏洞测试、服务探测(网站信息、Mail信息、名字服务、防病毒木马)、溢出搜寻,得到的结果很多,需要整理出对漏洞测试有用的信息。这些信息的筛选是一个较为复杂的过程。信息的不一致性,信息体现的漏洞严重程度判定及与软件漏洞库中漏洞的相关性判定都会给信息的整理带来一定难度。模块之间的参数传递主要是指信息收集模块的信息向漏洞测试模块与结果报告模块的参数传递

28、,漏洞测试模块的结果信息向结果报告模块的参数传递,漏洞测试模块将在被测网络系统中可能产生的记录信息向日志清除模块的参数传递。软件实现中,信息收集以对各测试对象的扫描为主,将扫描出的主要漏洞及其与漏洞库中漏洞的对应关系传递给漏洞攻击模块,漏洞攻击模块调用相应的漏洞利用程序进行漏洞的渗透测试。(二)漏洞及漏洞利用程序更新网络系统中的各项应用纷繁复杂,仅仅操作系统,每天都会有新的漏洞出现,各种应用软件系统的漏洞更是层出不穷。渗透测试软件系统的优劣很大程度上取决于漏洞数量及质量,质量的好坏是指软件是否能够紧跟当前各类软件系统的最新漏洞,能否及时更新漏洞测试工具。5. 结束语渗透测试的对象较为复杂,渗透

29、测试的技术方法较多,将这些技术和方法有机的组织起来,才能完成一次有效而全面的渗透测试。目前,很多安全服务商都提供渗透测试服务,提供服务的形式多种多样,在进行渗透测试时使用的工具多为网络上流行的常用免费安全软件,如NMAP、XSCAN等,有些使用商业软件,如ISS公司的Scanner系列扫描器、CORE Security Technologies的IMPACT和Immunity的CANVAS等。如果一个渗透测试系统可以提供渗透测试的各个步骤的相应功能,使各步骤的实施和各功能的运行有机结合,并大大优化信息的收集提取和结果的评估,使用这样的软件进行渗透测试,将会较大程度地提高渗透测试的准确程度和专业水平。- 13 -参考文献1 An Overview of Penetration Testing R. The MIS Corporate Defence 20012 Internet PenetrationEB/OL 20023 VPN Penetration TestR. Network Intelligence, Penetration Test Team. 20044 渗透测试操作实务EB/OL 20055 温鹏 滕大鹏 仲治国 七剑黑客入门工具实例演练100 山东电子音像出版社 2005.106 肖遥 网络渗透攻击与安防修练 电子工业出版社 2009.4

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服