第一篇:信息系统渗透测试原理及模型分析论文
信息系统渗透测试原理及模型分析
Information Systems Penetration Testing Principle And
Model Analysis
姜志坤
摘 要:信息化是当今世界发展的大趋势,是推动经济社会变革的重要力量。大力推进信息化,是覆盖我国现代化建设全局的战略举措,是贯彻落实科学发展观,全面建设小康社会、构建社会主义和谐社会和建设创新型国家的迫切需要和必然选择。如何以信息化提升综合国力,如何在信息化快速发展的同时确保国家信息安全,这已经成为各国政府关心的热点问题。信息安全已经从国家政治、经济、军事、文化等领域普及到社会团体、企业,直到普通百姓,信息安全已经成为维护国家安全和社会稳定的一个重要因素。随着国家信息安全测评工作的推进和深化,对信息系统安全测试的要求也逐步提高,渗透测试作为信息系统安全测试的一项高级别和高难度的测试项目,在信息安全测评中逐渐受到高度重视并得到推广应用。本文通过对目前渗透测试的过程和原理做了详细的分析, 并提出了测试方法和测试模型。
关键字:信息安全 渗透测试 测试项目 测试模型
1.渗透测试概述
作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。但要找到一家合适的具有授权资质的公司实施渗透测试并不容易。
近来防御黑客与病毒的攻击已经成为一种非常困难的工作。保护自己的信息系统不受恶意攻击者的破坏,维护系统安全已经成了企业里非常重要的工作。以金融业为例,某银行部署了多台防火墙,购买入侵检测系统、网络安全审计系统等,也定期进行漏洞扫描,应该很安全,但黑客入侵、储户数据遭窃、网站遭受攻击等安全事件仍层出不穷,也许被黑客入侵的机率只有0.001%,但发生后就是100%。
(一)渗透测试(Penetration Testing)网络定义
定义一:渗透测试是一个在评估目标主机和网络的安全性时模仿黑客特定攻击行为的过程。详细地说,是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标的安全性作深入的探测,发现系统最脆弱环节的过程。
全的认知程度,使所有成员意识到自己的岗位在整个组织的安全中不可或缺的地位,有助于整体安全意识的提升。
(六)渗透测试的作用
渗透测试的作用一方面在于,解释所用测试设备在测试过程中所得到的结果。即使您对信息系统进行漏洞扫描。但也并不能全面地了解漏洞扫描得到的结果,更别提另外进行测试,并证实漏洞扫描系统所得报告的准确性了。
(七)怎么进行渗透测试
除了找到合适工具以及具备资质的组织进行渗透测试外,还应该准确确定测试范围。攻击者会借助社会工程学、偷窃、贿赂或者破门而入等手法,获得有关信息。真正的攻击者是不会仅仅满足于攻击某个企业网络的。通过该网络再攻击其它公司往往是黑客的惯用伎俩。攻击者甚至会通过这种方法进入企业的ISP。
为了从渗透测试上获得最大价值,应该向测试组织提供尽可能详细的信息。同时签署保密协议,这样,您就可以更放心地共享策略、程序及有关网络的其它关键信息。
还要确定被测信息系统,哪些系统需要测试。虽然你不想漏掉可能会受到攻击的某个系统,但可能仍想分阶段把渗透测试外包出去,以便每个阶段专注于网络的不同部分;同样您也可以作为一个大的信息系统来测试,对各个子系统进行关联分析,从而有效地降低系统被攻破的风险。
2.渗透测试原理 2.1 渗透测试原理
渗透测试就是利用网络安全扫描器、专用安全测试工具和富有经验的安全工程师的人工经验对网络中的核心服务器及重要的网络设备,包括服务器、网络设备、防火墙等进行非破坏性质的模拟黑客攻击,侵入系统并获取机密信息并将入侵的过程和细节产生报告给用户。
2.2 渗透测试过程
在一个实际的渗透测试过程中,渗透测试项目的实施一般分为三个阶段:前期准备阶段、渗透测试阶段、后期总结阶段。
(一)前期准备阶段 1)委托书确认
签署授权委托书,并同意测试工程师实施渗透测试。
3.渗透测试分类及方法 3.1测试分类
(一)按信息获取方式分类
从渗透的前期资料准备和信息获得来看,渗透测试/攻击可分为以下3类。1)黑盒(Black Box)渗透
黑盒(Black Box)渗透测试通常是从目标网络的外部进行渗透模拟的,这意味着,除了被测试目标的已知公开信息外,不提供任何其他信息。渗透者完全处于对目标网络系统一无所知的状态,只能通过Web、E-mail等网络对外公开提供的各种服务器,进行扫描探测,从而获得公开的信息,以决定渗透的方案与步骤。
通常来说,黑盒渗透测试用于模拟来自网络外部的攻击行为。2)白盒(White Box)渗透
白盒(White Box)渗透测试与黑盒渗透测试相反,渗透测试者可以通过正常渠道,向请求测试的机构获得目标网络系统的各种资料,包括网络拓扑结构、用户账号、操作系统、服务器类型、网络设备、代码片断等信息。
渗透者可从目标网络系统外部或内部两个地点,进行渗透模拟测试,但是通常而言,这类测试是模拟网络内部人员的越权操作。
3)灰盒(Gray Box)渗透
灰盒(Gray Box)渗透测试介于以上两者之间。
(二)按目标对象分类
从渗透模拟攻击的对象来看,渗透测试又可分为以下几种。1)主机操作系统渗透
对目标网络中的Windows、Linux、UNIX等不同操作系统主机进行渗透测试。本书重点讲述的是对Windows主机操作系统的渗透。
2)数据库系统渗透
对MS-SQL、Oracle、MySQL等数据库系统进行渗透测试,这通常是对网站的入侵渗透过程而言的。
3)网站程序渗透
渗透的目标网络系统都对外提供了Web网页、E-mail邮箱等网络程序应用服务,这是渗透者打开内部渗透通道的重要途径。
1)相关边缘信息收集
在这一步骤中,攻击者会通过网络搜索、实地了解等各种方法,充分地利用网络搜索和社会工程学,采集攻击目标的相关信息。
获取的信息内容和方式包括目标网络系统中的一些边缘信息,如目标网络系统公司的结构、各部门职能、重要机构分支,以及内部员工账号组成、身份识别方式、邮件联系地址、QQ或MSN号码、各种社交网络账号与信息、管理员的网络习惯等。
2)网络信息收集
在这一步骤中,要收集目标网络的各种网络信息,所使用的手段包括Google Hacking、WHOIS查询、DNS域名查询和网络扫描器等。
最终的目的是要描绘出目标网络拓朴结构、公司网络所在区域,子公司IP地址分布,VPN接入地址、各种重要服务器的分布、网络连接设备等信息。
3)端口/服务信息收集
在这一步骤中,利用各种通用的端口服务扫描工具,扫描目标网络中对外提供服务的服务器,查询服务器上开放的各种服务,例如,Web、FTP、MySQL、SNMP等服务。
4)漏洞扫描
在上面的步骤中,获得目标网络各服务器开放的服务之后,即可对这些服务进行重点扫描,扫出其所存在的漏洞。
例如:针对操作系统漏洞扫描的工具有X-Scan、ISS、Nessus、SSS、Retina等;针对Web网页服务的扫描工具有SQL扫描器、文件PHP包含扫描器、上传漏洞扫描工具,以及各种专业全面的扫描系统,如AppScan、Acunetix Web Vulnerability Scanner等(见图3-1);针对数据库的扫描工具有Shadow Database Scanner、NGSSQuirreL,以及SQL空口令扫描器等。
另外,许多入侵者或渗透测试员也有自己的专用扫描器,其使用更加个性化。
(三)纵向提升权限
通过上面的步骤,攻击者可能已成功入侵目标网络系统对外的服务器,或者内部某台主机,此时需要完全获得主机的最高控制权。
虽然此时攻击者已获得了主机的一些控制权限,但是对于进一步的渗透攻击来说还是不够。例如,攻击者入侵了某台Web服务器,上传了Webshell控制网站服务器,然而却没有足够的权限安装各种木马后门,或者运行一些系统命令,此时攻击者就需要提升自己的权限。
纵向权限提升按入侵方式来分,主要可分为以下两类。1)Webshell提权
Webshell提权是渗透入侵中经常遇到的一种情况,攻击者常常会通过Web网站脚本途径入侵网站服务器,并上传Webshell。通过Webshell对主机进行操作时获得的控制权限往往是继承了Web账号权限的,完全不足以对目标主机进行系统级的控制操作。因此攻击者常常会采用各种手段,提升Webshell的操作权限。
2)账号提权
账在权限提升过程中,攻击者通过扫描或密码破解等方式,可能会获取目标主机的系统登录账号,或数据库访问账号等。不过这些账号通常是权限不足,在进行进一步的渗透测试时,可能会没有足够的权限打开一些密码存储文件,无权安装嗅探工具,甚至没有权限执行一些很基本的命令,这时必须进行提权,以获取更高级别的账号控制权。
在进行纵向提权操作步骤中,所采用的提权手段是相似的,都是利用目标主机系统上的系统或软件漏洞进行提权。具体的提权手段包括系统或软件的本地溢出攻击、密码破解、服务替换等,这在Webshell提权中体现得尤为明显。
需要说明的是,如果攻击者采用远程溢出,或者通过木马诈骗运行等方式入侵控制主机,获得的将是最高的系统权限,此时无须进行纵向提权的步骤。
(四)开辟连接通道,突破内网环境限制
在对内网进行渗透入侵之前,攻击者还需要突破各种网络环境限制,例如,内部网络作为Vlan划分隔离,或者在网关设置了防火墙无法进行连接等。
其中最重要的一点就是,如何利用已控制的主机,连接攻击其他内部主机。由于目标网络内的主机是无法直接进行连接的,因此攻击者往往会使用代理反弹连接到外部主机,会将已入侵的主机作为跳板,利用远程终端进行连接入侵控制。
在此过程中,涉及的攻击手段更加多样,如防火墙杀毒软件的突破、代理的建立、账号后门的隐藏破解、3389远程终端的开启和连接等。
图4-1 渗透测试模型
4.2 模型分析
渗透测试模型从信息收集到结果报告的生成过程是全自动的,无人干预,在此过程中,信息收集的结果筛选和各模块之间的参数传递是一个实现上的难题;另外,漏洞及漏洞利用程序的及时更新也是渗透测试软件的一个关键技术。
(一)信息收集的结果筛选和各模块之间的参数传递
参考文献
[1] An Overview of Penetration Testing [R].The MIS Corporate Defence 2001 [2] Internet Penetration[EB/OL] http://www.xiexiebang.com/ 2002 [3] VPN Penetration Test[R].Network Intelligence, Penetration Test Team.2004 [4] 渗透测试操作实务[EB/OL] http://www.xfocus.net/ 2005 [5] 温鹏 滕大鹏 仲治国 七剑黑客入门工具实例演练100 山东电子音像出版社 2005.10 [6] 肖遥 网络渗透攻击与安防修练 电子工业出版社 2009.4
第二篇:基于UML的信息系统需求分析模型
基于UML的信息系统需求分析模型
班级:085姓名:邓玉龙学号:082301009
4摘要:针对目前常用的需求分析方法存在的弊端,提出了一种基于UML的信息系统需求分析模型,该模型提供了一个基于UML信息系统需求分析框架及其应用过程。实践表明,该模型对信息系统开发具有较好的适应性。
需求分析是软件开发的关键环节,需求分析结果的好坏直接决定软件开发的成败[11,如何选择一种高效的需求分析方法,直接影响待开发软件的质量。本文在简要介绍UML的基础上,针对常用需求分析算法存在的不足,提出了一种基于UML的信息系统需求分析模型,实践表明,该模型能有效提高软件开发的效率和待开发软件的质量。UML概述
UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视化,说明并构造系统模型并建立各种所需的文档,是一种定义良好、易于表达、功能强大且普遍适用的建模语言。UML对软件工程的发展做出了杰出的贡献13]。UML支持从需求分析开始的软件开发的全过程。‘UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。UML采用一整套成熟的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语 义差异,保障分析的正确性。
2常用需求分析方法及其不足
信息系统实质上是实际业务系统的一种计算机模型,因此,信息系统的开发实质上就是要建立业务模型与计算机模型系统之间的映射关系。一个综合性的信息系统要支持组织内各级多个部门的管理,结构复杂、规模庞大。因此,要想开发出一套高效的系统,首先要进 行系统的需求分析,根据需求过程中工作性质的不同,信息系统需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审四个阶段。但是,在实际需求分析过程中,由于信息系统所涉及的信息量非常庞大,以致在需求定义中常常忽略某个环节或环节间的必要联系,从而出现产品质量低下、开发周期漫长或遗漏关键功能等问题。目前比较常用的需求分析方法主要有数据流分析法、原型分析法和基于用例的分析法三种。
(1)数据流分析法(DFA)
数据流分析是建立系统模型的一种主要需求分析方法,它采用分解的策略,将软件系统抽象为一系列的逻辑加工单元,单元接收输入数据流,加工后使之变换成输出数据流,从而表示出软件系统的处理内容和任务。但是随着信息技术的发展和企业业务过程的日益庞大复杂,信息系统复杂多变,易出错,难维护。
(2)原型分析法
原型法是指在系统尚不完善时就呈现给用户,不断修改改善,在完善过程中逐渐了解需求,但原型法也存在如下缺陷⋯:①原型的设计和修改工作量大,增加了系统的开发成本;②由于用户不关-fi,或不理解原型的概念最初需求,并用UML活动图对以用户业务流程为核心的初始用户需求进行描述。
(3)用例模型的创建:分析步骤(2)所得活动图中每个活动的参与者,找出该活动中与之相对应的动作,二者形成一个用例。通过确定系统边界和分析活动的转移,删除多余的用例,合并相同的用例,填补遗漏的用例;采用活动图的泳道技术对用例进行集成,形成一个完整的用例模型。
(4)动态模型、静态模型的创建:分析步骤(2)所得活动图中每个活动所涉及到的对象及对象之间的关系,根据活动的改变而引起对象状态的变化和对象的交互,创建相应的对象图、状态图和交互图(顺序图、协作图);应用顺序图对步骤(2)所得活动图中的每个活动进行分析,发掘新的需求,完善描述初始用户需求的活动图;通过顺序图对步骤(3)所得用例模型中的每个用例进行处理,创建相应的类图。
3基于UML的信息系统需求分析模型的应用
基于UML的信息系统需求分析模型对MIS系统的开发具有较好的适应性,结合具体实践,本节以运动会信息管理系统的开发为例,说明该模型在MIS系统开发中的应用。
(1)捕获初始需求:通过大量调研,给出该系统的初始需求描述:运动会信息管理系统要实现运动员报名、各类人数统计、竞赛日程设定、初秩序册生成、检录和成绩处理、新秩序册生成、团体分统计、破纪录人数统计等功能。
(2)创建用例模型:通过对每个活动的参与者的分析,所获得运动会信息管理系统的整用例模型
(3)创建动态模型、静态模型:通过对“比赛成绩处理”活动所涉及到的对象、对象之间的关系分析,获取的比赛成绩处理顺序图,其他活动Ⅷ页序图的获取与此类似。基于UML的需求分析模型以简单的图形建模语言UML为基础,为人员交流提供了统一的平台,消除了语言理解分歧;该模型涵盖了领域知识学习、建模方法培训、系统需求分析构造等环节,并从实施的角度考虑了角色构成及其职责分配,使各类人员能够更好地交流与合作,为得到完善的需求分析打下了坚实的基础。通过MIS的开发实践表明,该模型不但能缩短软律开发的周期,而且减少了软件开发的风险,有效提高了开发软件的质量。
第三篇:Web网站渗透测试论文
---------------
装 订 线---------------
XXX职业技术学院 毕业设计(论文)
题目: Web网站渗透测试技术研究
系
(院)信息系 专业班级 计算机网络 学
号 1234567890 学生姓名 XXX 校内导师 XXX 职
称 讲师 企业导师 XXX 职
称 工程师 企业导师
XXX
职
称
工程师
摘 要: Web网站渗透测试技术研究
随着网络技术的发展和应用领域的扩张,网络安全问题越来越重要。相对于传统的系统安全,Web网站的安全得到了越来越多的重视。首先,越来越多的网络业务不再用专门的客户机/服务器模式开发,而是运行在Web网站上用浏览器统一访问;其次,和比较成熟的操作系统安全技术比较,Web网站的安全防护技术还不够完善,当前黑客也把大部分注意力集中在Web渗透技术的发展上,使Web网站安全总体上面临相当严峻的局面。
为了确保Web网站的安全,需要采用各种防护措施。在各种防护措施中,当前最有效的措施是先自己模拟黑客攻击,对需要评估的网站进行Web渗透测试,找到各种安全漏洞后再针对性进行修补。
本文在对Web网站渗透测试技术进行描述的基础上,配置了一个实验用Web网站,然后对此目标网站进行了各种黑客渗透攻击测试,找出需要修补的安全漏洞,从而加深了对Web安全攻防的理解,有利于以后各种实际的网络安全防护工作。
关键词:
网络安全;Web网站;渗透测试
Web site penetration testing technology research
Abstract:
With the expansion of the network technology development and applications, network security issues become increasingly important.Compared with the traditional system security, Web security has got more and more attention.First, more and more network applications no longer develop with specialized client / server model, but run on the Web site and accessed by browser;Secondly, operating system security technology is relatively safe, but secure Web site protection technology is still not perfect, so the most of the current hackers’ attention focused on the development of Web penetration technology, the Web site is facing serious security situation in general.To ensure the security Web site, you need to use a variety of protective measures.In a variety of protective measures, the most effective measure is to own hacking simulation, the need to assess the Web site penetration testing, to find a variety of security vulnerabilities before specific repair.Based on the Web site penetration testing techniques described, the configuration of an experimental Web site, then this target site penetration of various hacker attack test, identify areas that need patching security holes, thereby deepening of Web security offensive understanding, there is conducive to future practical network security protection work.Keywords:
Network Security, Web sites, penetration testing
目录
第一章 概述................................................................................................1
1.1 网络安全概述..........................................................................................1 1.2 Web网站面临的威胁...............................................................................1 1.3 Web渗透测试概述...................................................................................2
第二章 Web渗透测试方案设计...................................................................4
2.1 渗透测试网站创建..................................................................................4 2.2 渗透测试工具选择..................................................................................4 2.3渗透测试方法...........................................................................................5
第三章 Web渗透测试过程...........................................................................6
3.1 扫描测试Web网站..................................................................................6 3.2 寻找Web安全漏洞..................................................................................7 3.3 SQL注入攻击测试...................................................................................9 3.4 XSS跨站攻击测试.................................................................................13 3.5 网马上传攻击测试................................................................................17
第四章 Web网站防护.................................................................................23
4.1 网站代码修复........................................................................................23 4.2 其它防护措施........................................................................................24
总 结.........................................................................................................25 参考文献.....................................................................................................25
第一章 概述
1.1 网络安全概述
随着网络技术的发展,网络已经越来越多地渗透到当前社会生活的方方面面,网上电子商务、电子政务、电子金融等业务日益普及,网络上的敏感数据也越来越多,自然对网络安全提出了更高的要求。
根据一般的定义,网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。要做到这一点,必须保证网络系统软件、应用软件、数据库系统具有一定的安全保护功能,并保证网络部件,如终端、调制解调器、数据链路的功能仅仅能被那些被授权的人访问。
在现实世界中,由于网络相关的各种软硬件安装、配置、管理上面基本不可能做到没有任何缺陷和漏洞,所以可以说不存在绝对的网络安全。尤其在当下网络技术逐渐普及扩散的情境下,防范各种形式的黑客攻击是网络资源管理者必须严肃考虑的问题。
根据黑客攻击的类型,大致可以分为两种,一种是直接针对操作系统本身或应用软件的安全漏洞进行的攻击,传统的注入端口扫描、弱口令爆破、缓冲器溢出都属于这种类型的攻击,如果攻击成功往往可以直接远程控制目标系统,因此一旦出问题危害极大,但针对这种攻击的防范技术也比较成熟,采用最新的安全操作系统、强大的防火墙和IDS入侵检测系统可以将绝大部分入侵企图拒之门外。另外一种就是针对动态Web网站进行的攻击,它不像针对系统的攻击那样直接,成功后能在目标系统上进行的操作有限,往往还需要进行提权等后续工作,但目前Web网站本身设计上的安全防护水平普遍不高,针对Web网站的防范措施目前也还不够成熟,所以有安全问题的Web网站非常多,Web网站的攻防也是现在安全技术领域的研究热点。
1.2 Web网站面临的威胁
传统上,网络应用业务采用C/S(客户机和服务器)模式,即开发出安装在普通客户计算机上的递交申请业务模块和安装在高性能服务器上的响应请求业务模块,这样做的好处是性能高,响应速度快,但缺点是需要为每个业务专门开发不同的服务端和客户端,开发和学习的成本也高,所以现在的趋势是将所有的服务模块都放到Web网站上,而客户机统一使用浏览器去访问Web网站去实现业务功能。
用Web网站形式开发网络业务有不少优点,首先是客户端统一为浏览器、降低了这方面的学习成本,另一方面,Web网站的主流开发语言(ASP、PHP、JSP等)是动态脚本语
言,比起用C/C++、Java等语言开发C/S程序,难度有所降低,有利于快速开发出所需的项目。但是从安全方面考虑,由于Web网站牵涉到的一些网络协议先天的不足,以及由于网络技术发展太快,网站复杂程度随着需求扩展不断膨胀,而网站开发程序员的水平和安全意识往往没有跟上,导致Web网站非常容易出现各种安全漏洞,使黑客能够对其进行各种形式的攻击,常见的Web安全漏洞主要有SQL注入和XSS跨站攻击等。SQL注入
SQL注入(SQL injection)是发生在Web应用程序和后台数据库之间的一种安全漏洞攻击,它的基本原理是:攻击者精心构建一个包含了SQL指令的输入数据,然后作为参数传递给应用程序,在应用程序没有对输入数据做足够的检查的情况下,数据库服务器就会被欺骗,将本来只能作为普通数据的输入当成了SQL指令并执行。
数据库是动态网站的核心,包含了很多网站相关的敏感数据,例如管理员的账号和密码等,所以一旦数据库的信息被SQL注入非法查询,这些敏感信息就会被泄露,导致严重后果。此外,SQL注入还可能被用于网页篡改、网页挂马,更为严重的是,有些数据库管理系统支持SQL指令调用一些操作系统功能模块,一旦被SQL注入攻击甚至存在服务器被远程控制安装后门的风险。XSS跨站攻击
简单地说,XSS也是由于Web应用程序对用户的输入过滤不严而产生,攻击者利用XSS漏洞可以将恶意的脚本代码(主要包括html代码和JavaScript脚本)注入到网页中,当其他用户浏览这些网页时,就会触发其中的恶意脚本代码,对受害者进行诸如Cookie信息窃取、会话劫持、网络钓鱼等各种攻击。
与主动攻击Web服务器端的SQL注入攻击不同,XSS攻击发生在浏览器客户端,对服务器一般没有直接危害,而且总体上属于等待对方上钩的被动攻击,因此XSS这种安全漏洞虽很早就被发现,其危害性却曾经受到普遍忽视,但随着网络攻击者挖掘出了原来越多的XSS漏洞利用方式,加上Web2.0的流行、Ajax等技术的普及,使得黑客有了更多机会发动XSS攻击,导致近年来XSS攻击的安全事件层出不穷,对XSS攻防方面研究的重视程度明显提高。
当然,Web网站面临的安全威胁还有很多,并且随着网络技术和网络业务的发展而不断更新,例如CSRF跨站请求伪造、界面操作劫持等。
1.3 Web渗透测试概述
由于各种安全漏洞,因特网上的Web网站面临黑客攻击的风险,因此必须采取措施进行防护工作。传统防火墙因为必须放行Web服务的端口(一般是80端口),所以对SQL注 2
入、XSS跨站攻击之类入侵手段没有防护效果,现在也出现了一些专门用于保护Web网站的安全设备,例如WAF防火墙、安全狗等,但这些设备并不是万能的,往往容易被高水平的入侵者绕过。最有效的措施还是进行Web渗透测试。
渗透测试时安全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试能够直观的让管理人员知道自己网络所面临的问题。
Web渗透测试主要是对Web应用程序和相应的软硬件设备配置的安全性进行测试。进行Web渗透测试的安全人员必须遵循一定的渗透测试准则,不能对被测系统进行破坏活动。Web安全渗透测试一般是经过客户授权的,采取可控制、非控制性质的方法和手段发现目标服务器、Web应用程序和网络配置中存在的弱点。
通过Web渗透测试后,即可有针对性地对Web网站上的安全漏洞进行修补,最大程度地加固系统,确保安全。
第二章 Web渗透测试方案设计
2.1 渗透测试网站创建
为了研究Web渗透测试技术,我们需要一个测试用的Web网站,由于法律的限制,我们不能直接去攻击互联网上的Web网站,所以需要自己创建一个实验测试用Web网站,这样不但合法,而且还有利于测试完成后做修补加固和代码审核工作。
测试Web网站可以创建在本地,也可以创建到自己购买的虚拟空间或云主机上,为了方便起见,这里选择在云平台上的一台Windows 2003虚拟机系统上创建Web网站。
ASP、ASP.NET、PHP和JSP网站需要不同的环境,包括选用Apache、IIS、Nginx或者Weblogic中哪个Web服务器,数据库也有Access、Microsoft SQL Server、MySQL以及Oracle等多种选择。至于网站的源代码,可以自己开发,但一般更常见是到互联网上去搜寻开源的Web项目下载,例如中国站长网等,可以根据需求自己对网站源代码进行适当的裁剪修改,也更好达到渗透测试目的。
如图2-1所示,这里选用了IIS+ASP方案创建了一个测试用Web网站。
图2-1 创建Web网站
2.2 渗透测试工具选择
对Web网站进行渗透测试的工作是在一台能访问Web网站的攻击机上实施的,这些测试工作有些可以直接用手工操作,不过如果有适当的工具帮助,往往可以大幅度地提高渗 4
透测试的成功率和效率,因此选择一套渗透测试用的工具软件是必备的工作,这些工具一般包括端口扫描器、网站目录扫描器、网站后台扫描器、网站漏洞扫描器、SQL注入工具、XSS利用工具、转码工具、加解密工具等等。
如图2-2所示,在本地攻击机上安装了一些常用的渗透测试工具。
图2-2 渗透测试工具
2.3渗透测试方法
准备好测试用Web网站和渗透测试工具后,即可在攻击机上开始进行Web渗透测试工作,方法是模拟真正黑客的入侵过程,综合利用各种工具和手段,获取目标Web网站甚至网站所在服务器上的权限,从而挖掘出网站的各种安全漏洞,为后面的安全加固提供依据。当然,这需要很高的技术水平和熟练的操作,没有多年的经验积累是很难在各种情景下都能完成任务的,在下一章,我们就以一个比较简单的,漏洞比较明显的Web网站为例演示一下比较典型的Web渗透测试过程。
第三章 Web渗透测试过程
3.1 扫描测试Web网站
如图3-1所示,渗透测试首先应该先用Nmap之类的端口扫描工具扫描一下目标网站所在的服务器,了解开放的端口服务,目标可能的操作系统类型等信息。这里可以看到,目标服务器的80号端口是开放的,所以Web服务应该是正常的。
图3-1 端口扫描
然后用浏览器打开网站验证,如图3-2所示:
图3-2 Web网站浏览
3.2 寻找Web安全漏洞
我们可以用一些自动化的网站扫描工具去检测网站的常见漏洞,也可以用纯手工的方式进行检测,如图3-3和3-4所示,在网页URL后面添加“and 1=1”和“and 1=2”,发现网站返回的情况不同!说明这里存在着SQL注入漏洞。
图3-3 SQL注入测试
图3-4 SQL注入测试
如图3-5所示,在地址栏后面添加“ “> ”,弹窗窗口出现,证明这里存在反射型XSS漏洞。
图3-5 反射型XSS 如图3-
6、3-7和3-8所示,在留言板里发表包含“ ”的帖子内容,弹窗窗口出现,证明这里存在存储型XSS漏洞。
图3-6 留言板
图3-7 XSS留言
图3-8 存储型XSS 3.3 SQL注入攻击测试
在上一节已经找到Web网站的SQL注入漏洞的基础上,我们利用此漏洞去猜解网站后台数据库中的账号和密码,既可以用工具也可以用手工方式,这里为方便起见选用注入工具,如图3-9和3-10所示,很快猜解出账号和密码。
图3-9 工具扫描SQL注入漏洞
图3-10 注入找到后台账号密码
从密码的形式可以看出不是明文而是原始密码的MD5散列码,MD5是单向散列函数,本来是不能破解的,不过如果密码原文比较简单,也可能用暴力破解的方式找到原密码,如图3-
11、3-12和3-13所示。
图3-11 破解MD5
图3-12 破解成功
图3-13 破解出密码原文
有了账号和密码后,扫描网站的管理后台地址,如图3-14所示。
图3-14 扫描出管理后台
如图3-15和3-16所示,用前面注入猜解和破解获取的账号和密码登录,成功进入Web网站的管理后台界面。
图3-15 登录管理后台
图3-16 进入管理后台
3.4 XSS跨站攻击测试
前面已经通过手工方式探测到网站存在XSS漏洞,XSS漏洞属于一种比较被动的安全漏洞,不能用来直接攻击服务器,而是一部用来攻击其他客户端,具体利用的方法和形式很多,下面是利用XSS漏洞窃取管理员cookie的步骤。
图3-17 XSS利用平台网站
如图3-17所示,XSS漏洞攻击者自己创建一个具有XSS漏洞利用功能的网站,然后为自己创建一个项目,生成具有窃取cookie功能的代码,如图3-18所示:
图3-18 XSS利用代码
现在攻击者可以设法利用各种欺骗手段让其他Web网站用户执行XSS代码,这里利用存储型XSS漏洞,由攻击者在留言板上发表包含XSS利用代码的内容插入网站数据库,如图3-19所示。
图3-19 将代码插入目标Web网站
如图3-20所示,一旦Web网站的管理员在登录状态下查看了留言板,XSS利用代码就 14
在后台隐蔽执行了。
图3-20 管理员被攻击
此时攻击者回到XSS网站,会发现自己的项目中返回了数据,如图3-21所示。
图3-21 攻击者收到cookie
如图3-22所示,攻击者窃取到了Web网站管理员的cookie信息。
图3-22 窃取到的cookie值
如图3-23和3-24所示,有了窃取到的cookie信息,再借助一些cookie修改工具,可以不输入密码直接进入管理后台界面。
图3-23 cookie修改工具
图3-24 窃取cookie进入管理界面
3.5 网马上传攻击测试
前面利用SQL注入漏洞拿到管理账户和密码后可以非法进入后台管理界面,但到这来一般并不能做多少事,用后台权限篡改新闻挂黑页是很无聊的事情,常见的做法是想办法将网页木马上传到网站获取Webshell得到网站所在服务器的某些权限,然后有需要和可能再设法提权。
如图3-25所示,在Web网站管理后台里找到一个能够上传自己图片的地方,然后选择上传文件,如图3-26和3-27所示,直接上传asp格式的网马是通不过检查的,所以上传一个伪装成图片文件的小马,结果成功上传,并被自动重命名,如图3-28和3-29所示。
图3-25 上传图片
图3-26 选择文件
图3-27 上传网马图片
图3-28 上传成功
图3-29 上传文件位置和名称
现在网马内容上传上去了,但文件后缀名不对,所以不能访问执行,所以需要再利用类似如图3-30所示的备份漏洞,将上传的文件的后缀名成功改回asp。
图3-30 备份改名
现在可以直接访问上传成功的网马,如图3-31所示是小马的效果,利用它在上传一个功能齐全的大马,如图3-32和3-33所示。
图3-31 访问网马
图3-32 上传大马
图3-33 访问大马
现在可以直接访问大马网页文件,如图3-34所示,登录成功后即得到类似图3-35所示的Webshell界面,根据权限可以对Web网站所在的服务器进行操作,如果有其他系统和软件漏洞,还可以设法提权,获取对服务器的完全控制权。
图3-34 网马登录
图3-35 获取Webshell
第四章 Web网站防护
4.1 网站代码修复
经过Web渗透测试,我们发现了网站的安全漏洞及其严重后果,下一步自然就是部署安全防护措施,堵塞漏洞。
对Web网站后台代码进行阅读审核后,可知正是因为网站查询数据库的SQL语句缺少必要的过滤措施才导致了SQL注入、XSS等安全漏洞。修补漏洞的最好办法是用安全编码方式彻底重写所有相关代码,如果没有这个条件,添加一些过滤代码也是比较好的办法,例如图4-1所示,在数据库连接文档中添加了对用户提交值中非法参数的检测。
图4-1 过滤代码
添加过滤代码后,黑客如果再企图对Web网站进行诸如SQL注入之类的攻击,就会被拦截而归于失败,如图4-2所示。
图4-2 SQL注入被拦截
需要注意的是,黑名单式的过滤代码并不是万能的,往往会被更高水平的黑客攻击绕过,所以还应根据攻防技术的发展及时更新,并结合其他安全防范措施。
4.2 其它防护措施
因为现在的Web网站功能越来越多,也越来越复杂,相应的黑客攻击技术也在不断发展,所以往往不是单一的安全防护措施就能有效抵御各种渗透攻击,而需要综合采用各种措施,一方面尽可能将所有的安全漏洞堵住,另一方面可以争取做到即使黑客攻破了某个安全措施,也会被其他安全措施拦截,将损失降低到最小。
目前比较常用的Web安全防范措施有:尽量选用高版本的操作系统Web服务器,设置高强度的密码,给网站目录设置最小的必要权限,加装Web防火墙和杀毒软件监控网页木马等。
最后需要指出,Web渗透和防护技术还处在快速发展阶段,所以没有一劳永逸的安全,必须不断学习,与时俱进。
总 结
网络安全是当前的一个技术研究热点,Web安全又是网络安全中的一个核心问题。Web渗透测试则是强化Web网站安全的重要技术手段,它是在获得授权的情况下,模拟真实的黑客攻击手段对目标Web站点进行入侵测试,因此能够最大程度挖掘出Web网站的安全漏洞,为Web安全防护提供有效依据。
本文是在真实网络环境里自己搭建了一个Web网站,然后自己对其进行渗透测试,研究Web安全相关攻防技术。限于水平,创建的Web网站和攻防所用的技术都比较简单,没有涉及当前最新的Web网站漏洞测试,但仍然比较完整地展示了Web网站渗透测试和防护的过程,为以后进一步学习和工作打下良好基础。
参考文献
[1] 陈小兵,范渊,孙立伟.Web渗透技术及实战案例解析 [M].北京:电子工业出版社,2012.4 [2] 王文君,李建蒙.Web应用安全威胁与防治 [M].北京:电子工业出版社,2013.1 [3] 吴翰清.白帽子讲Web安全 [M].北京:电子工业出版社,2012.3 [4] 鲍洪生.信息安全技术教程 [M].北京:电子工程出版社,2014.3 25
第四篇:信息系统项目管理师 案例分析和论文整理材料
《信息系统项目管理师案例分析指南》总结内容
一、整体管理
1、记忆内容
【1】 项目计划应包括的主要内容(1):
(1)项目总计划:
范围计划、工作范围定义、活动定义、资源需求、资源计划、活动排序、费用估算、进度计划以及费用计划
(2)项目辅助计划:
质量计划、沟通计划、人力资源计划、风险计划、采购计划
【2】 项目干系人应重点关注(2):
客户、用户、项目投资人、项目经理、高层管理人员、反对项目的人和施加影响者
【3】 如何进行项目干系人分析(2):
1)识别项目干系人
2)分析项目干系人的重要程度 3)进行项目干系人的支持度分析
4)针对不同的项目干系人,特别是重要的项目干系人,给出管理项目干系人关系的建议,并予以实施
【4】 可行性研究步骤(3):
(1)确定项目规模和目标(2)研究正在运行的系统(3)建立新系统的逻辑模型(4)导出和评价各种方案(5)推荐可行性方案(6)编写可行性研究报告(7)递交可行性研究报告
【5】 可行性研究报告内容(3):
(1)引言
(2)可行性研究的前提(3)对现有系统的分析(4)所建议的系统
(5)可选择的其他系统的方案(6)投资及效益分析
(7)社会因素方面的可行性(8)结论
【6】 项目评估报告内容(3):
(1)项目概况(2)评估目标(3)评估依据(4)评估内容
(5)评估机构与评估专家(6)评估过程(7)项目评估意见
(8)存在或遗漏的重大问题(9)潜在的风险(10)评估结论(11)进一步的建议
【7】 项目启动的主要活动(4):
(1)识别项目的需求(2)解决方案的确定
(3)对项目进行可行性分析(4)项目立项
(5)项目章程的确定
【8】 可行性分析的基本内容(6):
(1)技术可行性分析(或称搭建系统原型等)(2)经济可行性分析(或称投资可行性分析)(3)运行环境可行性分析
(4)其他方面的可行性分析(如法律可行性,社会可行性等方面的可行
性分析)
2、问题总结
【1】(1)(项目计划)分层次计划,多沟通,实事求是 【2】(2)(干系人分析)分析干系人,寻求部门支持,多沟通,承建方责任过重(推广工作应该以甲方主导,乙方辅助)
【3】(4)(项目启动,项目经理的角色)要求提前完工可使用的方法:加班,增加人力资源(不推荐),关键路径
【4】(5)(资源冲突)“猜测”原因的方法:从外部找,从自身找,意外的原因(领导抢走资源的可能原因,外部:权利、更重要的项目;内部:忽视、绩效不好;意外:重要干系人内定项目暂停或下马)
【5】(6)(可行性研究)风险分类:项目风险,技术风险,商业风险
问题解决:停止,咨询,改进或替代(“无线通”吃官司)
二、范围管理
1、记忆内容
【1】 范围管理的基本内容(1)
(1)确定项目的需求(2)定义规划项目的范围(3)范围管理的实施(4)范围的变更控制管理(5)范围核实
【2】 创建WBS的主要作用(2)
(1)防止应该做的工作被遗漏掉,也防止镀金
(2)方便与项目团队沟通,项目成员很容易找到自己负责部分在整个项
目中的位置
(3)防止不必要的变更
(4)提供一个基本的资源(人员和成本)估算依据(5)帮助获取团队认同和创建团队
【3】 创建WBS应把握的原则(2)
(1)在各层次上把持项目的完整性,避免遗漏必要的组成部分(2)一个工作单元只能从属于某个上层单元,避免交叉从属(3)相同层次的工作单元应用相同性质
(4)工作单元应能分开不同责任者和不同工作内容(5)便于满足项目管理计划、控制的管理需要
(6)最低层工作应该具有可比性。是可管理的,可定量检查的(7)应包括项目管理工作(因为是项目具体工作的一部分),包括分包
出去的工作
【4】 需求开发,需求管理,范围管理的联系和区别(3)
(1)通过需求开发来获取项目的需求,在此基础上确定项目的范围,进
行项目范围管理
(2)需求管理是对已批准的项目需求进行全生命周期的管理,其过程包
括需求管理定义、需求管理流程、制定需求管理计划、管理需求和实施建议等
(3)对于项目需求,可以根据需求的紧急程度、项目本身和甲乙双方的实际情况,分步或分期满足。确定每期应满足的需求后,本期的范围管理就有了基础
(4)需求管理处理需求的变更,需求的变更会引起项目范围的变更
【5】 启动阶段范围管理的内容(5)
(1)分阶段实施的实施策略
(2)组建包括用户经理和用户业务经理、关键用户在内的项目组织结构(3)充分的需求分析调研,在此基础上编制用户需求说明书
【6】 计划阶段范围管理的内容(5)
(1)制订范围计划(2)范围定义
【7】 各阶段执行中范围管理的内容(5)
(1)项目例会制度
(2)项目周报和月报制度(3)项目监理制度
2、问题总结
【1】(3)(需求开发,需求管理,范围管理):明确范围需求,变更不规范,范围模糊,新法规风险 【2】(4)(范围管理)销售和技术,部门的矛盾
三、时间管理
1、记忆内容
【1】 工期分三种(1)
(1)计算工期:根据网络计划时间参数计算而得到的工期(2)要求工期:任务委托人所提出的指令性工期
(3)计划工期:根据要求工期和计算工期所确定的作为实施目标的工期
【2】 优先压缩的对象(1)
直接费用率之和最小的工作组合
【3】 网络计划的优化(1)
网络计划的优化包括工期优化、费用优化(成本优化)和资源优化
【4】 甘特图与网络图各自的作用(5)
甘特图法可以比对个工作的计划进度和实际进度,能十分清楚地了解计划执行的偏差以便对偏差进行处理
网络图法能够充分提示各工作项目之间互相制约和互相依赖的关系,从中找出关键路径,进行重点控制
【5】 影响进度的主要因素(6)
(1)工程质量的影响:质量指标的不明确、不切实际的质量目标、质量
不合格,都将对工程进度产生大的影响
(2)设计变更的影响:设计的变更通常会引发质量、投资的变化,加大
工程建设难度,因而影响进度计划
(3)资源投入的影响:人力、部件和设备不能按时、按质、按量供应(4)资金的影响:如果建设单位不能及时给足预付款,或是由于拖欠阶
段性工程款,都会影响承建单位资金的周转,进而殃及进度
(5)相关单位的影响:项目建设单位、设计、实施单位、设备供应单位、资金供应单位、监督管理信息系统工程建设的政府部门等都可能对项目的进度带来直接或间接的影响
(6)可见的或不可见的各种风险因素的影响:风险因素包括政治上的、经济上的、和技术上的变化等。项目经理要加强风险管理,对发生的风险事件给予恰当处理,有控制风险、减少风险损失及其对进度产生影响的措施
(7)承建单位管理水平的影响:承建单位的施工方案不恰当、计划不周详、管理不完善,解决问题不及时等,都会影响工程项目的施工进度
【6】 加快进度的方法(7)(1)赶工:例如加班,充分利用周六、周日和晚上等非工作时间段,但
要注意调动项目成员的积极性,增加绩效考核,也要和用户进行沟通,以确保用户的积极配合,特别是在用户提供工作场地的情况下
(2)快速跟进:调整部分工作的顺序关系,使用网络图和关键路径分析
等进度计划工具,尽可能将一些工作并行进行
(3)增加优质资源:一个经验丰富的成员加盟,会明显加快项目的进度。
但要注意增加资源的负面影响,一个新手的加入是需要一定得学习时间的,可能还需要其他成员的指导,占用其他成员的时间,人员增加导致沟通渠道的增加,也会占用更多的沟通时间
(4)提高资源利用率:加强沟通和监控。充分发挥每一个成员的作用,用积极的绩效考核方法,提升每个成员的技能水平和绩效
(5)外包和缩小项目范围:将一些非关键的工作外包出去,使项目成员
将精力集中在关键工作上,也可以将项目范围缩小,先完成核心工作,将其他工作放在项目二期工程中来实现。这需要征求用户的同意和用户进行充分沟通
【7】 特定情形下的工期估算方法(8)
(1)明确定义项目的WBS(2)升级项目-------“类比估算法”(3)新增模块--------“德尔菲法”
(4)WBS足够细化后-----------“参数估算”、“三点估算”
【8】 跟踪项目进度的方法(8)
(1)基于WBS和工时估算制定活动网络图,制定项目工作计划(2)建立对项目工作的监督和测量机制
(3)确定项目的里程碑,并建立有效的评审机制
(4)对项目中发现的问题,及时采取纠正和预防措施,并进行有效的变
更管理
(5)使用有效的项目管理工具,提升项目管理的工作效率
2、问题总结
【1】(3)(AON)试题中未表达自由时差,计算关键路径要枚举每一条路径
四、成本管理
1、记忆内容
【1】 挣值分析处理措施(4)
进度拖延:提高效率,赶工、工作并行等方式追赶进度
进度提前:提高效率,减少人员成本,加强人员培训和质量控制 成本超支:加强成本监控 成本节约:加强质量控制
【2】 对工期优化的理解:
工期优化就是压缩计算工期,以达到要求工期的目标,或在一定约束条件下使工期最短的优化过程。工期优化是指采用某种方法使工程总费用与工程进度达到最佳经济效果
【3】 类比估算在什么情况下最可靠
(1)与以往项目的实质相似,而不只是在表面上相似(2)进行估算的个人或集体具有所需的专业知识
2、问题总结
---
五、质量管理
1、记忆内容
【1】 质量管理计划的内容(1)
质量管理计划包括三方面的内容:
(1)质量政策:由项目干系方的决策部门提出的关于质量的期望及方针(2)质量目标:项目管理质量和项目交付成果应达到的各种指标
(3)质量管理活动:项目重要的质量管理活动,如质量管理工作流程等 可以归纳如下:
(1)质量责任与人员分工(或职责)(2)组织结构
(3)程序与过程(或项目的各个过程及其依据的标准)
(4)质量控制的方法、工具与重点(或质量评审、质量保证方法)(5)质量管理所需的资源(6)验收标准
【2】 如何实施质量保证(1)
(1)制定质量标准(2)制订质量控制流程(3)建立质量保证体系
【3】 质量控制和质量保证的区别联系(1)
(1)质量计划是质量控制与质量保证的共同依据
(2)达到质量要求是质量控制欲质量保证的共同目的(目标)(3)质量保证的输出时下一阶段质量控制的输入
(4)一定时间内质量控制的结果也是质量保证的质量审计对象。质量保
证的成果又可以指导下一阶段的质量工作,包括质量控制和质量改进
(5)质量保证一般是每隔一定时间如阶段末进行的,主要通过系统的质
量审计来保证项目的质量(或质量保证是按质量管理计划正确地做)
(6)质量控制是实时监控项目的具体结果,以判断他们是否符合相关质
量标准,制订有效方案,以消除产生质量问题的原因(或质量控制检查是否做得正确并纠错)
【4】 质量概念(2)
质量包括项目交付成果和项目管理成果,是相对于用户需求的概念。它是 对范围所圈定的标准所需要达到的程度而进行的规定。同一成果对不同用户来讲,质量不同。另外,质量强调在一定时间范围内满足需求
【5】 文档的作用(2)
(1)桥梁和交流作用:是项目成员对系统看法达成一种共识
(2)明晰干系人责任:文档都有相应的责任人,另外对问题进行回溯时
也可以做到有据可依
(3)方便对系统进行理解:尤其是对于维护人员来讲,理解系统往往关
系到系统维护的效率和成败
(4)进行质量管理:对项目中的各种不可见指标进行量化 除此之外,系统的使用手册还是用户在使用过程中的指导
【6】 提高信息系统项目质量的方法(2)
(1)通过强有力的领导,从上至下贯彻质量观念(2)建立组织项目管理体系
(3)建立组织级的项目质量管理系统
(4)建立项目级的激励制度,并设法和鼓励全员参与管理(5)着力提高项目实施过程中产生的各种文档的质量
(6)用规范的成熟度模型来指导自身的组织和体系结构建设
(7)掌控好成本与质量的关系,在有限的成本下尽量通过良好的管理来
实现更高的质量
(8)形成质量改进的习惯。质量改进要成为一个组织内部的一种习惯和
规程,真正发挥质量改进的作用
【7】 项目建设中的干系人有哪几个方面(3)
(1)系统的建设方:是需求的来源,是质量的最终验证方
(2)系统的承建方:项目质量目标在承建方的各项活动中得到实现,是
质量的实现者
(3)系统的监理方:监理是执行监督作用的第三方,站在技术的角度对
承建方的各项工作进行考核考查
(4)项目的维护方:是系统建成后对系统进行修改和升级的单位,质量
中的一部分是为维护方负责的
(5)项目的投资方:项目的投资方处于对其投资安全性的考虑,对项目的质量进行问责,项目质量管理人员必须取得其信任和支持
【8】 质量文件和质量计划的内容(3)
项目质量文件包括以下内容:(1)质量保证大纲(2)技术文件(3)质量工作计划(4)质量成本分析
项目质量计划一般由以下几个方面组成
(1)输入要素:质量政策与方针、功能列表、交付成果描述(2)处理:借助利益成本分析、基准和各种流程图进行(3)输出:质量管理计划、具体操作说明、检查用表格
【9】 质量控制的概念(4)
质量控制是项目质量管理的一部分,主要是对项目结果进行评估,以判断其是否符合质量目标,并对不符合的情况找出原因进行分析。
【10】 质量控制的方法和工具(4)
质量控制工具主要有以下几个方面:
(1)数据统计法:调查表、直方图、散布图、排列图、因果图、控制图(2)语言描述法:关联图、系统图、KJ、矩阵图、矩阵数据分析、过程
决策程序和箭条图
(3)过程能力法:过程能力指数(4)动态控制法:控制图(5)合格控制法
【11】 什么是质量保证,基本内涵(5)
质量保证包括两方面的内容:
(1)使用户对项目质量建立信任的外部质量保证
(2)对承建方内部中高层领导保证有对目前各工作的信任
【12】 质量保证的作用(5)
(1)是保证质量的一个重要环节
(2)为持续的质量改进提供基础和方法(3)为项目干系人提供对于质量的信任(4)是项目质量管理的一个重要内容
(5)与质量控制共同构成质量的跟踪和保证
【13】 信息系统监理的作用、四控三管一协调(6)
信息系统监理是指已经在政府工商管理部门注册的,具有信息系统监理资质的单位,接受建设方的委托,依照相关法律法规、行业与技术标准及监理合同,对信息系统建设实施的整个过程进行监督管理的过程 信息系统监理的作用主要表现在以下几个方面:(1)为业主提供技术上的参考和咨询
(2)站在技术的角度对承建方的操作进行监督(3)保证项目交付成果的质量和项目管理的成果(4)协调各方面的关系
“四控三管一协调”所指的内容如下:
(1)四控:质量控制、变更控制、投资控制、进度控制(2)三管:信息管理、安全管理、合同管理
(3)一协调:协调业主、承建方、设备和材料的供应商等之间的关系
【14】 监理的变更流程(6)
(1)业主的技术人员提出变更,并形成文档,由业主的信息化项目负责
人进行审查,并签字确认(2)把变更请求提交给监理方,由监理方对变更进行初审,对于造成该
需求变更的原因基本上是不可抗因素,因此该变更也就应当被批准的
(3)监理方召集业主和承建方高层领导对变更进行商讨,变更被批准后,要拿出具体的变更实施方案,并做好成本预算、进度安排和响应调整
(4)开始变更的实施,监理方对变更的实施进行监督
(5)变更完成后,对变更的效果进行审查,并组织变更报告,向各方进
行通报
2、问题总结
【1】(1)(质量管理)没有制订质量管理计划、仅提供测试报告、沟通不全面误导用户
【2】(3)(质量管理)会前不准备、质量工作启动会前三方需到场
【3】(4)(质量控制)公司陷入“救火队”的原因:
(1)交付成果本身有缺陷
(2)交付成果没有实现预定的功能需求
(3)对用户的需求分析提炼精度不够,没有挖掘到部分重要的需求(4)随着时间和环境的变化,客户产生了新的需求
(5)由于文档的不完备,一方面导致用户不能解决一些使用问题,另
一方面还使得维护工作的效率提不高
归根结底,是以前项目不注意质量管理问题
【4】(5)(监理与质量管理)监理方未接触、领导未介入
六、人力资源管理
1、记忆内容
【1】 典型系统集成需要的角色
(1)管理岗位:如项目经理
(2)工程岗位:如系统分析师、系统架构师、软件设计师、程序员、测
试工程师、界面(媒体)设计师、网络工程师和实施人员
(3)行业专家
(4)辅助支持岗位:文档管理员、系统管理员和会议秘书
【2】 项目经理应承担的角色,应具备的知识和技能
(1)作为项目经理,需要承担管理者和项目领导者的角色
(2)项目经理应具备管理能力和一定的专业技能,包括广博的知识,如
项目管理知识、IT知识、客户行业知识;并有丰富的项目管理经历和经验;良好的领导能力和协调能力;良好的沟通和表达能力
【3】 如何运用Y型管理风格管理团队
应用Y型风格时,对外应争取更多的资源,改善工作环境,落实奖励制度; 对内适当放权、授权,鼓励和激励团队成员努力工作。不断为团队成员搭建良好的工作平台和环境,使团队成员更容易成功和获得成就感 归纳如下:
(1)Y型的管理风格,要与切实可行的规章制度(或措施、机制)相结
合,与领导的管理风格相一致(或相适应)
(2)加强对项目团队成员的培训(教育)
(3)强调激励与约束并重,进化自己的管理风格
【4】 人员流失的影响和防止方法
项目中人员流失对于项目的影响非常大,严重的人员流失肯呢过导致项目的失败,防止人员流失的办法有事前预防和事后弥补
【5】 人员被猎走对公司和项目的影响
对公司:IT行业的性质决定了所有的工作都由人来完成,人是IT企业最重要的资源 对项目:核心人员被猎,造成项目团队成员资源负荷增加,项目压力变大,技术难关无法攻破,团队成员无人能接替核心人员的工作等影响,甚至可能导致项目的失败或者项目团队的解体
2、问题总结
【1】(1)(人力资源管理,组建项目团队,项目经理)“编程高手”、缺乏管理经验、未转换角色、缺乏培训跟踪监控(“传帮带”)
【2】(2)(项目经理,沟通)没有“传帮带”、不重视培养项目经理缺乏培训、对项目经理缺少指导监督、没有解决冲突沟通机制、缺乏绩效管理机制
【3】(3)(新技术培训,招聘,Y型管理)奖励政策争取领导同意,Y型风格结合规章制度,协调领导管理风格,对员工进行培训,配备有经验的人员
【4】(4)(人力资源管理)角色要求问题,成员沟通不足,为兑现奖励承诺,绩效考核不合理,人员流失后弥补工作不到位
【5】(5)(不同派别的冲突)未能解决冲突,未能行使强制力,不具备专家全力,不上报而加入一方
注:项目经理的5种权力:合法的权力、强制力、专家权力、奖励权力、潜示权力
【6】(6)(过度开放的管理)未发现超负荷,未建立变更,对成员缺乏跟踪交流和沟通,超负荷不重视
【7】(7)(X型措施不当)未能制定X措施、缺乏沟通和交流、未识别资源超负荷、高层缺乏沟通
【8】(8)(员工被猎)防止员工被猎:了解(外派员工情况)、客户(是否缺人)、轮换、沟通、奖励
七、沟通管理
1、记忆内容
【1】 如何提高例会的效率
(1)明确会议目的
(2)确定会议议程和时间安排(3)明确参会人员(4)明确会议地点
(5)指定会议主持人(一般为会议发起人)(6)会前须分发会议资料到参会人员(7)会议结束后必须有会议记录(8)认真执行会议结论
【2】 除了面对面会议以外的促进有效沟通的方法
(1)对项目团队成员进行沟通需求和沟通风格分析(2)对不同的沟通需求和沟通风格采用不同的沟通方式
(3)可以通过电话、电子邮件、即时通信软件和办公自动化软件等工具
进行沟通
(4)可以使用非正式的沟通方式,如非正式面谈等(5)对于正式的沟通应形成记录,并落实执行(6)可以引入一些标准的沟通模板(7)注意冲突管理
【3】 承建方如何与监理方协同
(1)承建方应对监理角色正确认识,不把监理放在对立的位置上,应该
把监理方当作共同实现同一目标的伙伴
(2)承建方和监理方都应该采用项目管理的方法,承建方应主动配合和
协助监理工作
(3)对于项目中的里程碑和中间结果评审,承建方应邀请监理参加(4)承建方和监理应周期性沟通,避免对立(5)对于突发事件,双方应该互相协调
【4】 如何制定有多个承包商的沟通管理计划
(1)做好项目干系人分析和沟通需求分析
(2)发挥总承包商的领头作用和监理方的协调作用(3)对公用资源进行可用性分析,引入资源日志(4)制订冲突解决方案(5)使用项目管理信息系统
(6)健全项目管理制度并监管执行
【5】 如何做才能更好地与客户进行沟通
(1)制订完善的沟通管理计划
(2)在和客户沟通之前学习和项目相关的背景知识(3)用经验和技巧引导客户对需求进行明细化(4)对超出需求范围的需求或不合理的需求,应有技巧地说服客户(5)使用多种方式和客户进行沟通
【6】 如何制定沟通计划
(1)识别项目干系人
(2)对项目干系人的信息需求和沟通风格进行分析
(3)针对不同的信息需求和沟通风格,使用正确的沟通技术(4)注意信息的同步问题
(5)监督信息是否获得正确理解,并在各分包商中不会有歧义
2、问题总结
【1】(1)(例会、沟通)缺乏分析,会议无规程,会议无记录,会议结论未执行,沟通方式单一,无冲突管理
【2】(2)(监理,客户,多方沟通)承包商不跟踪监督,不与客户沟通,没有现场管理制度,总承包商和分承包商责任不清,客户获取信息失真,客户资金管理问题,监理不到位
【3】(3)(需求变更,沟通)沟通单一,客户不重视项目重要性,客户表达不清,项目成员不会沟通,未进行需求评审
【4】(5)(需求不明确)未事先了解项目背景,客户不善表达,项目经理沟通不强
【5】(6)(高效沟通)沟通计划不健全,信息分发不到位,沟通风格不可接受,不同步有歧义
【6】(7)(有效的信息分发)信息准确性不验证,不了解供应商背景,未制订信息发布规则制度,团队成员沟通单一,没有建立信息分发规则,对共用设备未建立使用管理制度
八、风险管理
1、记忆内容
【1】 风险的分类
(1)项目风险(2)技术风险(3)商业风险
1)市场风险 2)策略风险 3)销售风险 4)管理风险 5)预算风险
【2】 处理繁多的风险时,采用哪种方法有利
IT咨询规划 可在IT规划的基础上,对风险进行充分的预测、分析评估其影响、采取合理的措施与方法进行量化管理,通过有效而规划执行风险管理办法进行风险的管理
【3】 实施风险管理应注意哪些问题
(1)技术方面必须满足需求,应尽量采用商品化技术,降低系统开发风
险
(2)开销应尽量控制在预算范围之内(3)开发进度应尽量控制在计划之内
(4)应尽量与用户沟通,不要做用户不知道的事情
(5)充分估计到可能出现的风险,注意倾听其他开发人员的意见(6)及时采纳减少风险的建议
【4】 技术风险的应对措施
(1)与用户和其他项目组技术人员沟通,确定项目需要哪些开发技术(2)与项目组成员沟通,了解他们的技术背景和开发能力(3)与公司管理层沟通协调,确保新增的技术人员能按时到位(4)在项目开发前,采用外部培训和内部交流等方式进行技术培训(5)在项目开发中,针对出现的技术难题要有应对措施,如请专家指导、技术攻关或外包
(6)在项目后期,及时总结技术开发经验,按标准形成文档,以供项目
维护和其他项目使用
【5】 决策树分析的优点
决策树分析是定量风险分析技术,用于风险管理的定量风险分析过程
在项目风险管理中应用决策树分析的主要优点是强制考虑每个结果的可能性
【6】 什么是权变措施
权变措施是对负面风险事件没有计划到的响应,权变被用于风险监视和控制,是在风险事件发生前没有定义好的风险响应
【7】 管理储备的用途
管理储备被用于在其发生前不能知道的任意风险
2、问题总结
--------
九、采购管理
1、记忆内容
【1】 泄密行为是否合法
不合法
侵犯了商业秘密和知识产权
如签订《保密合同》还要承担违约责任
【2】 各阶段范围管理解决方案
1、合同谈判阶段
(1)取得明确的工作说明书或更细化的合同条款
(2)在合同中明确双方的权力和义务,尤其是关于变更问题(3)采取措施,确保合同签约双方对合同的理解是一致的
2、计划阶段
(1)编制项目范围说明书(2)创建项目的工作分解结构(3)制订项目的范围管理计划
3、执行阶段
(1)在项目执行过程中加强对已分解的各项任务的跟踪和记录(2)建立与项目干系人进行沟通的统一渠道(3)建立整体变更控制的规程并执行(4)加强对项目阶段性成果的评审和确认
4、项目全生命周期范围变更管理
(1)在项目管理体系中应该包含一套严格、实用、高效的变更程序(2)规定对用户的范围变更请求,应正式提交变更申请,并经双方
项目经理审核后,根据不同情况,做出相应的处理
【3】 外包的形式
(1)活动外包(2)服务外包(3)内包(4)合包(5)利益关系
【4】 外包管理的流程
1)自制外购分析(确定“采购”、“外包开发”、“自主研发”,对需要外
包开发成立外包管理小组,具体步骤如下)
2)开发方式选择 3)选择承包商
i.竞标邀请 ii.评估候选承包商的综合能力 iii.确定承包商 4)签订外包合同 5)监控外包开发过程 6)成果验收
i.验收准备 ii.成果审查 iii.验收测试
2、问题总结 【1】(2)(招标投标)撤回的投标文件也应该宣读;评标委员会应随机确定除非特殊项目
【2】(3)(合同与范围的关系)合同不清晰;甲方变更不统一;缺乏变更接受拒绝准则;干系人分析不到位;范围不一致;没有全生命周期的范围控制
【3】(5)(招投标)补充文件不得拒收
【4】(6)(外包管理)外包应取得甲方同意,外包应通过监理方来审核外包单位资质
十、变更管理
1、记忆内容
【1】 变更的基本流程
(1)变更申请。应记录变更的提出人、日期、申请变更的内容等信息(2)变更评估。对变更的影响范围、严重程度、经济和技术可行性进行
系统分析
(3)变更决策。由具有相应权限的人员或机构决定是否实施变更(4)变更实施。由管理者指定的工作人员在受控状态下实施变更。(5)变更验证。由配置管理人员或受到变更影响的人对变更结果进行评
价,确定变更结果和预期是否相符、相关内容是否进行了更新、工作产物是否符合版本管理的要求
(6)沟通存档。将变更后的内容通知可能会受到影响的人员,并将变更
记录汇总归档。如提出的变更在决策时被否决,其初始记录也应予以保存
【2】 变更控制问题应如何处理
(1)对变更进行明确的授权(2)对变更进行必要的审核(3)对变更的影响进行评估
(4)让客户确认是否接受变更的代价
(5)要等客户确认变更后,再组织实施变更的相关工作
(6)对项目组和客户进行宣传和培训,让所有成员都理解变更控制的重
要意义
【3】 项目需求变更流程
对于项目需求变更流程,可以从两个方面来说明,一是基本步骤,二是跟踪变更
管理变更的步骤如下(1)提出变更请求(2)变更分析(3)变更评审(4)制定变更计划(5)变更需求的开发(6)变更结果评审(7)维护变更
跟踪需求变更的问题如下(1)谁提出变更
(2)什么时候提出变更(3)变更的内容是什么(4)为什么变更(5)变更处理意见(6)变更执行结果
【4】 监理机构如何使项目朝正确方向发展
(1)按照项目“四控三管一协调”的要求,在项目实施过程中出现了不利
或被动的情况,就要主动提出工程变更的建议
(2)客观地对待承建单位提出的变更申请
(3)信息系统监理单位要以领域专家的角度,来解决项目目前出现的问
题,防范未来将出现的问题
不管在什么环境下,信息系统监理单位和监理工程师都必须尽职尽责,尽最大的可能使项目朝着正确的方向发展
【5】 配置管理的主要工作
(1)制订配置管理计划。确定方针,分配资源,明确责任,计划培训,确定干系人,制订配置识别准则,制订基线计划,制订配置库备份计划,制订变更控制流程,制订审批计划
(2)配置项识别。识别配置项,分配唯一标识,确定配置项特征,记录
配置项进入时间,确定配置项拥有者职责,进行配置项登记管理
(3)建立配置管理系统。建立分级配置管理机制,存储和检索配置项,共享和转换配置项进行归档、记录、保护和权限设置
(4)基线化。获得授权,建立或发布基线,形成文件,使基线可用。(5)建立配置库。建立动态库,受控库和静态库
(6)变更控制。包括变更的记录、分析、批准、实施、验证、沟通和存
档
(7)配置状态统计。统计配置项的各种状态
(8)配置审计。包括功能配置审计和物理配置审计
2、问题总结
【1】(1)(变更管理)随意签合同;没有建立变更制度;开发人员随意答应变更;变更请求未评估;变更实施未考虑影响;变更后未验证;未存档
【2】(2)(合同变更)合同签署后新增项目是合同外项目;工程量减少,结算量减少,属于设计变更;合同外新增项目单价另议
【3】(3)(变更失控)没有明确授权;变更未审核;变更的影响未评估;没有让客户确认是否接受变更的代价 【4】(5)(分包中的变更)总监理工程师的部分重要工作不能替代
【5】(7)(配置管理,版本管理)缺乏整体管理和整体问题分析;缺乏整体变更控制流程;缺乏干系人沟通;缺乏配置管理;缺乏整体版本管理;缺乏单元测试和集成测试
十一、综合案例
1、记忆内容
【1】 监理过程中对承建单位质量保证体系进行监督和检查的主要内容
(1)是否制订明确的质量计划
(2)是否建立和健全专职质量管理机构
(3)是否实现管理业务标准化,管理流程程序化(4)是否配备必要的资源条件
(5)是否建立一套灵敏的质量信息反馈系统
2、问题总结
【1】(1)(收尾,合同管理,过程控制,沟通管理)合同缺乏清晰描述、验收标准、售后承诺;实施过程中,递交绩效报告,客户阶段签字;售后服务承诺;合作氛围不良,缺乏信任
【2】(3)(启动、变更、评审、项目管理体系)技术部门未参与售前工作;未收集以往的经验教训;未建立完善的内部评审机制;未实行有效的变更管理机制;加强对项目团队成员和相关人员的项目管理培训
PM九大知识域以外的内容总结
一、立项与招投标管理
1、可行性研究的内容
(1)技术可行性分析(2)经济可行性分析(3)运行环境可行性分析
(4)其他方面可行性分析(法律可行性分析、社会可行性分析)
2、可行性研究三阶段
(1)初步可行性研究(2)详细可行性研究(3)可行性研究报告
3、可行性研究七步骤
(1)确定项目规模和目标(2)研究正在运行的系统(3)建立新系统的逻辑模型(4)导出和评价各种方案(5)推荐可行性方案(6)编写可行性研究报告(7)递交可行性研究报告
4、项目论证围绕三方面
(1)市场需求(2)开发技术(3)财务经济
5、项目论证三阶段
(1)机会研究
(2)初步可行性研究(3)详细可行性研究
二、项目配置管理
1、文档种类
(1)按重要性和质量要求分类
1)非正式文档 2)正式文档
(2)从项目周期角度分类
1)开发文档 2)产品文档 3)管理文档
2、配置管理的主要任务
(1)制定项目配置管理计划
确定配置标识规则 实施变更控制 报告配置状态 进行配置审核
进行版本管理和发行管理
3、版本控制流程
1)创建配置项
2)修改处于“草稿”状态的配置项 3)技术评审或领导审批 4)正式发布
5)变更,修改处于正式发布状态的配置项必须按照配置控制流程进行
4、变更管理流程
1)提出与接收变更申请 2)对变更进行初审 3)变更方案论证
4)项目变更控制委员会(CCB)审查
5)对否决的变更申请进行记录并通知相关人员,对批准的变更申请发出变更通知并开始实施 6)对变更实施进行监控 7)对变更效果进行评估
三、组织级项目管理
(一)项目组合管理的重要过程
1、项目组合管理的重要过程:(1)项目选择(2)优先级排列
方法:决策表技术、财务分析、DIPP分析
2、DIPP分析 DIPP = EMV/ETC DIPP = 项目的期望货币值/估算到完成时的成本
DIPP是项目未来产生的收益与花费的成本之比,越接近项目结束DIPP越高
DIPP<1 成本超支
DIPP越高,则资源利用率越高,越值得优先考虑
(二)组织级项目管理成熟度模型(OPM3)
1、OPM3三个组成要素
知识,评估,改进
2、最佳实践三个维度
(1)过程组:启动,计划,执行,控制,收尾(2)(3)(4)(5)(6)(2)知识领域:项目管理,大型项目管理,项目组合管理(3)过程改进的阶段:标准化,可测量,可控制,持续性改进
(三)项目管理办公室(PMO)
PMO的主要功能和作用(1)日常性职能
i.建立组织内项目管理的支撑环境 ii.培养项目管理人员 iii.提供项目管理的指导和咨询 iv.组织内多项目的管理和监控(2)战略性职能
i.项目组合管理 ii.提高组织项目管理能力
(四)大型及复杂项目管理
1、大型及复杂项目特征
(1)项目周期较长
(2)项目规模较大,目标构成复杂(3)项目团队构成复杂
(4)大型项目经理的日常职责更集中于管理职责,面临“间接管理”的挑战
2、大型及复杂项目计划过程
先进行过程计划,再进行活动计划
3、大型及复杂项目的项目计划
包括四方面(括号内为工具和方法):(1)范围(WBS)
(2)进度(甘特图、关键路径、PERT估算)(3)成本(资源计划)(4)质量(质量计划)
4、大型及复杂项目的两个主要阶段
(1)需求定义阶段(2)需求实现阶段
5、大型及复杂项目的实施控制过程
(1)最关键环节:获取项目的实施绩效
进度、成本不易失真 范围、质量易失真
(2)项目控制过程的三个重要因素
i.绩效跟踪 ii.外部变更请求
iii.变更控制
(3)变更控制流程
类似于一般项目管理,CCB往往是项目的最高控制机构之一
四、需求管理
1、需求工程活动分为两大类
需求开发、需求管理
2、需求开发主要活动
(1)需求获取(2)需求分析(3)需求定义(4)需求验证
3、CMMI中的需求管理流程
(1)制定需求管理计划(2)求得对需求的理解(3)求得对需求的承诺(4)管理需求变更
(5)维护对需求的双向跟踪性(6)识别项目工作与需求的不一致
五、外包管理
1、主要的外包形式
活动外包、服务外包、内包、合包、利益关系
2、外包管理的一般流程
1)开发方式决策 2)选择承包商 3)签订外包合同 4)监控外包开发过程 5)成果验收
3、通过外包可实现的目标
(1)降低成本(2)提高服务质量(3)提高竞争力(4)获得先进技术
(5)将有限的资源用于战略性活动(6)增加企业价值(7)规模经济效应(8)分散风险
4、外包风险
(1)与客户联系减少(2)服务质量降低
(3)重要数据流入竞争对手手中(4)预期的成本节约无法达成(5)企业内部知识流失
第五篇:软件工程-渗透测试
火龙果整理 uml.org.cn
渗透测试技术
目录
1.1渗透测试概念.....................................................................................................................2 1.2渗透测试原理.....................................................................................................................2 1.3渗透测试目标.....................................................................................................................2 1.4渗透测试特点.....................................................................................................................3 1.5渗透测试流程和授权.........................................................................................................4
1.5.1渗透测试流程..........................................................................................................4 1.5.2渗透测试授权..........................................................................................................4 1.6渗透测试方法.....................................................................................................................5
1.6.1测试方法分类..........................................................................................................5 1.6.2信息收集..................................................................................................................5 1.6.3端口扫描..................................................................................................................6 1.6.4权限提升..................................................................................................................6 1.6.5不同网段/Vlan之间的渗透....................................................................................6 1.6.6溢出测试..................................................................................................................6 1.6.7SQL注入攻击..........................................................................................................7 1.6.8检测页面隐藏字段..................................................................................................7 1.6.9跨站攻击..................................................................................................................7 1.6.10WEB应用测试.......................................................................................................7 1.6.11代码审查................................................................................................................8 1.6.12第三方软件误配置................................................................................................8 1.6.13Cookie利用............................................................................................................8 1.6.14后门程序检查........................................................................................................8 1.6.15VOIP测试..............................................................................................................8
火龙果整理 uml.org.cn 1.6.16其他测试................................................................................................................9 1.7常用渗透测试工具.............................................................................................................9
1.7.1应用层工具............................................................................................................10 1.7.2系统层工具............................................................................................................10 1.7.3网络层工具............................................................................................................10 1.7.4其他方法和工具....................................................................................................11 1.8渗透测试风险规避措施...................................................................................................11
1.1渗透测试概念
渗透测试(Penetration Test), 是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。
web网络渗透测试:主要通过对目标系统信息的全面收集、对系统中网路设备的探测、对服务器系统主机的漏洞扫描、对应用平台及数据库系统的安全性扫描及通过应用系统程序的安全性渗透测试等手段来完成对整个web系统的安全性渗透检测。该渗透测试是一个完整、系统的测试过程,涵盖了网络层面、主机层面、数据层面以及应用服务层面的安全性测试。
1.2渗透测试原理
渗透测试主要依据CVE(Common Vulnerabilities & Exposures公共漏洞和暴露)已经发现的安全漏洞,以及隐患漏洞。模拟入侵者的攻击方法对应用系统、服务器系统和网络设备进行非破坏性质的攻击性测试。
1.3渗透测试目标
渗透测试利用各种安全扫描器对网站及相关服务器等设备进行非破坏性质的模拟入侵者攻击,目的是侵入系统并获取系统信息并将入侵的过程和细节总结编写成测试报告,由此确定存在的安全威胁,并能及时提醒安全管理员完善安全策略,降低安全风险。
人工渗透测试和工具扫描可以很好的互相补充。工具扫描具有很好的效率和速度,但是存在一定的误报率,不能发现高层次、复杂的安全问题;渗透测试对测试者的专业技能要
火龙果整理 uml.org.cn 求很高(渗透测试报告的价值直接依赖于测试者的专业技能),但是非常准确,可以发现逻辑性更强、更深层次的弱点。
1.4渗透测试特点
入侵者的攻击入侵需要利用目标网络的安全弱点,渗透测试也是同样的道理。测试人员模拟真正的入侵者入侵攻击方法,以人工渗透为主,辅助以攻击工具的使用,以保证整个渗透测试过程都在可以控制和调整的范围之内,同时确保对网络没有造成破坏性的损害。
由于采用可控制的、非破坏性质的渗透测试,因此不会对被评估的客户信息系统造成严重的影响。在渗透测试结束后,客户信息系统将基本保持一致。
火龙果整理 uml.org.cn 1.5渗透测试流程和授权 1.5.1渗透测试流程
1.5.2渗透测试授权
测试授权是进行渗透测试的必要条件。用户应对渗透测试所有细节和风险的知晓、所有过程都在用户的控制下进行。
火龙果整理 uml.org.cn 1.6渗透测试方法 1.6.1测试方法分类
根据渗透目标分类: 主机操作系统渗透:
对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统进行渗透测试。 数据库系统渗透:
对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2等数据库应用系统进行渗透测试。 应用系统渗透:
对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的www.xiexiebang.com 信息收集的方法包括主机网络扫描、操作类型判别、应用判别、账号扫描、配置判别等等。模拟入侵攻击常用的工具包括Nmap、Nessus、X-Scan等,操作系统中内置的许多工具(例如telnet)也可以成为非常有效的模拟攻击入侵武器。
1.6.3端口扫描
通过对目标地址的TCP/UDP端口扫描,确定其所开放的服务的数量和类型,这是所有渗透测试的基础。通过端口扫描,可以基本确定一个系统的基本信息,结合测试人员的经验可以确定其可能存在,以及被利用的安全弱点,为进行深层次的渗透提供依据。
1.6.4权限提升
通过收集信息和分析,存在两种可能性,其一是目标系统存在重大弱点:测试人员可以直接控制目标系统,然后直接调查目标系统中的弱点分布、原因,形成最终的测试报告;其二是目标系统没有远程重大弱点,但是可以获得远程普通权限,这时测试人员可以通过该普通权限进一步收集目标系统信息。接下来,尽最大努力获取本地权限,收集本地资料信息,寻求本地权限升级的机会。这些不停的信息收集分析、权限升级的结果将构成此次项目整个渗透测试过程的输出。
1.6.5不同网段/Vlan之间的渗透
这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan进行渗透。这类测试通常可能用到的技术包括:对网络设备和无线设备的远程攻击;对防火墙的远程攻击或规则探测、规避尝试。信息的收集和分析伴随着每一个渗透测试步骤,每一个步骤又有三个组成部分:操作、响应和结果分析。
1.6.6溢出测试
当测试人员无法直接利用帐户口令登陆系统时,也会采用系统溢出的方法直接获得系统控制权限,此方法有时会导致系统死机或从新启动,但不会导致系统数据丢失,如出现死机等故障,只要将系统从新启动并开启原有服务即可。一般情况下,如果未授权,将不会进行此项测试!
火龙果整理 uml.org.cn 1.6.7SQL注入攻击
SQL注入常见于应用了SQL 数据库后端的网站服务器,入侵者通过提交某些特殊SQL语句,最终可能获取、篡改、控制网站服务器端数据库中的内容。此类漏洞是入侵者最常用的入侵方式之一。
1.6.8检测页面隐藏字段
网站应用系统常采用隐藏字段存储信息。许多基于网站的电子商务应用程序用隐藏字段来存储商品价格、用户名、密码等敏感内容。恶意用户通过操作隐藏字段内容达到恶意交易和窃取信息等行为,是一种非常危险的漏洞。
1.6.9跨站攻击
入侵者可以借助网站来攻击访问此网站的终端用户,来获得用户口令或使用站点挂马来控制客户端。
1.6.10WEB应用测试
Web脚本及应用测试专门针对Web及数据库服务器进行。根据最新的统计,脚本安全弱点为当前Web系统,尤其是存在动态内容的Web系统比较严重的安全弱点之一。利用脚本相关弱点轻则可以获取系统其他目录的访问权限,重则将有可能取得系统的控制权限。因此对于含有动态页面的Web、数据库等系统,Web脚本及应用测试将是必不可少的一个环节。在Web脚本及应用测试中,可能需要检查的部份包括:
检查应用系统架构,防止用户绕过系统直接修改数据库; 检查身份认证模块,用以防止非法用户绕过身份认证; 检查数据库接口模块,用以防止用户获取系统权限; 检查文件接口模块,防止用户获取系统文件; 检查其他安全威胁;
火龙果整理 uml.org.cn 1.6.11代码审查
对受测业务系统站点进行安全代码审查的目的是要识别出会导致安全问题和事故的不安全编码技术和漏洞。这项工作虽然可能很耗时,但是必须进行,代码审查测试工作包括如下工作但不仅限于此:
审查代码中的XSS脚本漏洞; 审查代码中的 SQL 注入漏洞; 审查代码中的潜在缓冲区溢出;
审查识别允许恶意用户启动攻击的不良代码技术; 其他软件编写错误及漏洞的寻找及审查。
1.6.12第三方软件误配置
第三方软件的错误设置可能导致入侵者利用该漏洞构造不同类型的入侵攻击。
1.6.13Cookie利用
网站应用系统常使用cookies 机制在客户端主机上保存某些信息,例如用户ID、口令、时戳等。入侵者可能通过篡改cookies 内容,获取用户的账号,导致严重的后果。
1.6.14后门程序检查
系统开发过程中遗留的后门和调试选项可能被入侵者所利用,导致入侵者轻易地从捷径实施攻击。
1.6.15VOIP测试
在对受测网络进行渗透测试时,将会进行VoIP业务的安全测试,所有影响数据网络的攻击都可能会影响到VoIP网络,如病毒、垃圾邮件、非法侵入、DoS、劫持电话、偷听、数据嗅探等,因此,首先会对VoIP网络进行安全测试,接着对VoIP服务器进行测试,这些服务器常常是恶意攻击者的靶子,因为它们是任何一个VoIP网络的心脏。服务器存在的致命弱点包括其操作系统、服务及它所支持的应用软件,可能都会存在安全漏洞。要将黑客对服务
火龙果整理 uml.org.cn 器的攻击降至最小程度,就要对VoIP网络及其服务器、软终端进行全面的安全测试,以查找安全隐患,协助用户技术人员修补这些漏洞。
1.6.16其他测试
在渗透测试中还需要借助暴力破解、网络嗅探等其他方法,目的也是为获取用户名及密码。
1.7常用渗透测试工具
可能使用到的命令和工具包括: 命令:
Google搜索和攻击;
DNS工具:例如:Whois,nslookup, DIG等等;
各种测试命令;
在线网络数据库:Ripe, Afrinic, APNIC, ARIN LACNIC 工具:
主流商业扫描器:ISS Internet Scanner、NEUUS、Core Impact、NSfocus极光扫描器. 黑客常用端口扫描器:如:NMAP、Superscan„ SNMP Sweepers(Solarwinds)„
Website mirror tools(HTTrack, teleport pro)„
无线网络扫描工具(Netstumbler, Kissmet, Wellenreiter, Airsnort) WEB漏扫工具AppScan,wvs, WebInspect, Nstalker、nikto、google hack 溢出工具:Metasploit 破解工具:John the Ripper、THC Hydra、L0phtcrack、Aircrack、Airsnort、Pwdump Sniffer工具:Wireshark、Kismet、Tcpdump、Cain and Abel Ettercap、NetStumbler
火龙果整理 uml.org.cn 1.7.1应用层工具
Acunetix Web Vulnerability Scanner(漏洞扫描工具)
这是一款网络漏洞扫描工具。通过网络爬虫测试网站安全,检测流行的攻击 ,如跨站点脚本、sql 注入等。在被入侵者攻击前扫描购物车、表格、安全区域和其他Web应用程序。
1.7.2系统层工具
SSS6.0扫描器汉化版
Shadow Security Scanner v6.67.58,02月09日发布,俄罗斯安全界非常专业的安全漏洞扫描软件,具有安全扫描,口令检查,操作系统检查等强大功能,支持在线升级。
ISS漏洞扫描器
ISS(国际互联网安全系统公司)是在信息安全领域中专门致力于反黑客攻击的专业公司。目前它的主要产品有四大系列:Real Secure(实时入侵监测器)、Internet Scanner(互联网扫描器)、System Scanner(系统扫描器)、Database Scanner(数据库扫描器)。其中Real Secure和Internet Scanner是其拳头产品,Database Scanner是其独有的专用数据库防黑安全产品。
nmap端口扫描工具
nmap是目前为止最广为使用的国外端口扫描工具之一。它可以很容易的安装到Windows和unix操作系统中,包括mac os x(通过configure、make、make install等命令)然后对主机和网络设备进行端口扫描,以寻找目标主机的漏洞。
1.7.3网络层工具
SolarWinds Engineer’s Edition 是一套非常全面的网络工具库,包括了网络恢复、错误监控、性能监控和管理工具等。除了包含Professional PLUS Edition中所有的工具外,Engineer’s Edition还增加了新的Swich Port Mapper工具,它可以switch上自动执行Layer 2和Layer 3恢复。此工程师版包含了Solarwinds MIB浏览器和网络性能监控器(Network Performance Monitor),以及其他附加网络管理工具。
火龙果整理 uml.org.cn 1.7.4其他方法和工具
Whois命令——是一种Internet目录服务,whois提供了在Internet上一台主机或者某个域的所有者信息,如管理员的姓名、地址、电话号码等,这些信息通常保存在Internlc的数据库内。一旦得到了Whois记录,从查询的结果还可以得知primary和secondary域名服务器的信息。
Nslookup——一种DNS的排错工具,可以使用nslookup命令把你的主机伪装成secondaryDNS服务器,如果成功便可以要求从主DNS服务器进行区域传送,如果传送成功,可以获得大量有用的信息。
Traceroute——用于路由追踪,判断从你的主机到目标主机经过了哪些路由器、跳计数、响应时间、路由器通断情况等,大多数的操作系统自带了自己版本的traceroute程序。
端口扫描程序——专用的对网络端口进行扫描的工具,定义好IP地址范围和端口后就可以开始扫描。
网络侦查和服务器侦查程序——通过该种程序可以侦查出网络上已经开启的端口。如PingPro的工作是是通过监控远程工程调用服务。
以及测试人员自行编译的渗透测试工具等等。
1.8渗透测试风险规避措施
渗透测试过程中可能对业务产生影响,可以采取以下措施来减小风险: 在渗透测试中不使用含有拒绝服务的测试策略。 渗透测试时间尽量安排在业务量不大的时段或者晚上。
在渗透测试过程中如果出现被评估系统没有响应的情况,应当立即停止测试工作,与用户相关人员一起分析情况,在确定原因后,并待正确恢复系统,采取必要的预防措施(比如调整测试策略等)之后,才可以继续进行。
测试人员会与用户网站系统和安全管理人员保持良好沟通。随时协商解决出现的各种难题。
测试方自控:由渗透测试方对本次测透测试过程中的三方面数据进行完整记录:操作、响应、分析,最终形成完整有效的渗透测试报告提交给用户。
火龙果整理 uml.org.cn
一、基于网站的渗透
1、名称:Acunetix Web Vulnerability Scanner 6(有收费和免费两种版本)
功能:网站漏洞扫描器。
平台:Windows
2、名称:IBM Rational AppScan 7.8
功能:网站漏洞扫描器。
平台:Windows
3、名称:Jsky
功能:网站漏洞扫描器。
平台:Windows
4、名称:DTools
功能:阿D的多功能入侵工具,带扫描、植马等。
平台:Windows
5、名称:wepoff
功能:网站漏洞扫描器。
平台:Linux / Unix
6、名称:Domain3.6
功能:网站旁注工具。
平台:Windows
7、名称:casi
功能:PHP+MYSQL注射工具。
平台:Windows
8、名称:HP WebInspect 7.7
功能:网站漏洞扫描器。
平台:Windows
9、名称:php_bug_scanner
功能:PHP程序漏洞扫描器。
平台:Windows
10、名称:多线程网站后台扫描工具
功能:扫描网站后台管理登陆地址。
平台:Windows
11、名称:NStalker
功能:网站爬虫。
平台:Windows
12、名称:挖掘鸡 v6.5
功能:挖掘搜索引擎关键字。
平台:Windows
13、名称:cookie注入工具
功能:cookies注入辅助工具。
平台:Windows
火龙果整理 uml.org.cn
14、名称:httpup
功能:通用HTTP上传程序。
平台:Windows
二、基于系统的渗透
1、名称:nmap
功能:系统端口扫描器。
平台:Windows
2、名称:Nessus
功能:系统漏洞扫描器。
平台:Windows
3、名称:X-Scan
功能:系统漏洞扫描器。
平台:Windows
4、名称:SuperScan
功能:系统端口扫描器。
平台:Windows
5、名称:SSS
功能:SSS扫描器。
平台:Windows
6、名称:NetCat
功能:瑞士军刀。
平台:Windows
7、名称:Apache Tomcat Crack
功能:Tomcat弱口令扫描器。
平台:Windows
8、名称:iisputscanner 功能:中间件扫描器。平台:Windows
9、名称:Metasploit framework
功能:渗透辅助工具。
平台:Windows
10、名称:Encoder 功能:编码转换。平台:Windows
11、名称:awstats 功能:日志分析工具。平台:Windows
12、名称:logclear 功能:日志清除工具。平台:Windows
13、名称:黑刀超级字典生成器
功能:密码生成。
火龙果整理 uml.org.cn平台:Windows
14、名称:溯雪
功能:破解网站、邮箱、BBS登陆密码。平台:Windows
15、名称:MD5crack 功能:MD5密码破解工具包。平台:Windows
16、名称:webbench 功能:压力测试工具,可用于DDOS。平台:Linux/Unix
17、名称:netstumbler 功能:无线网络攻击工具。平台:Windows
18、名称:wifizoo 功能:无线网络攻击工具。平台:Linux/Unix
19、名称:arpsniffer 功能:局域网嗅探抓包。平台:Windows 20、名称:ethereal 功能:局域网嗅探抓包。平台:Windows
21、名称:SnifferPro 功能:局域网嗅探抓包。平台:Windows
22、名称:WinSock Expert 功能:网站上传抓包。平台:Windows
23、名称:logclear 功能:日志清除工具。平台:Windows
24、名称:ByShell、DG远控、PcShare、TeamViewer 功能:远程控制工具。平台:Windows
三、基于数据库的渗透
1、名称:DSQLTools
功能:啊D 的SQL注入工具。
平台:Windows
2、名称:nbsi3.0
功能:MSSQL注入工具。
火龙果整理 uml.org.cn
平台:Windows
3、名称:mysqlweak
功能:Mysql数据库弱口令扫描器。
平台:Windows
4、名称:pangolin
功能:数据库注入工具。
平台:Windows
5、名称:db2utils
功能:DB2漏洞利用工具。
平台:Linux / Unix
6、名称:oscanner
功能:Oracle扫描工具。
平台:Windows
7、名称:oracle_checkpwd_big
功能:Oracle弱口令猜解工具。
平台:Windows