1一、渗透测试1.1、概述渗透测试主要依据已经发现的安全漏洞,模拟黑客的攻击方法对系统和网络进行非破坏性质的攻击性测试,本次将作为评估重点对浙江省水利厅的应用网站系统每月一次进行全面的渗透测试,从而从深层次发现浙江省水利厅应用系统存在的安全问题。1.2、渗透测试的方法黑客的攻击入侵需要利用目标网络的安全弱点,渗透测试也是同样的道理。它模拟真正的黑客入侵攻击方法,以人工渗透为主,辅助以攻击工具的使用,这样保证了整个渗透测试过程都在可以控制和调整的范围之内。1.3、渗透测试前后系统的状态由于采用可控制的、非破坏性质的渗透测试,因此不会对被评估的系统造成严重的影响。在渗透测试结束后,系统将基本保持一致。1.4、渗透测试过程渗透测试流程图如下图所示:2实施计划确认控制系统是提交渗透测试报告存在远程控制弱点信息收集、分析存在远程普通弱点信息收集、分析获取本地普通权限本地信息收集、分析本地权限提升、控制系统信息收集、分析否是是是否否否渗透测试流程图3预攻击阶段操作简述1)踩点获取目标基本信息踩点可以了解目标主机和网络的一些基本的安全信息,主要有:管理员联系信息,电话号,传真号;IP地址范围;DNS服务器;邮件服务器。相关搜索方法:搜索网页确定目标信息,为以后发动字典和木马入侵做准备;寻找网页源代码找注释和隐藏域,寻找隐藏域中的FORM标记。例如:FORMaction=/Poll/poll.aspmethod=postinputtype=hiddenname=vicevalue=vice/FORM可以发起SQL注入攻击,为以后入侵数据库做准备。相关工具:UNIX下的Wget,Windows下的Teleport等。链接搜索目标网站所在的服务器可能有其他具有弱点的网站,可以进行迂回入侵,而且可以发现某些隐含的信息。搜索方法介绍:通过各种搜索引擎:如GOOGLE。2)查点确定目标的域名和相关的网络信息Whois查询,通过Whois数据库查询可以得到以下的信息:1,注册机构:显示相关的注册信息和相关的Whois服务器;2,机构本身:显示与某个特定机构相关的所有信息;3,域名:显示与某个特定域名相关的所有信息4,网络:显示与某个特定网络或单个IP地址相关的所有信息;5,联系点:显示与某位特定人员相关的所有信息利用ARIN数据库查询某个域名所对应的网络地址分配信息4知道了目标所在的网络,可以进行迂回渗透,寻找薄弱点,进入目标网络,然后再攻击目标。DNS信息查询域名系统允许把一个DNS命名空间分割成多个区,各个去分别保存一个或多个DNS域的名字信息。区复制和区传送:DNS服务器之间是采用区传送的机制来同步和复制区内数据的。区传送的安全问题不在于所传输的域名信息,而在于其配置是否正确。因为有些域名信息当中包含了不应该公开的内部主机和服务器的域名信息。3)网络扫描通过使用漏洞扫描工具和定制的脚本工具这些自动化工具对浙江省水利厅应用系统进行扫描,发现存在的明显安全漏洞。大多数网络攻击者就是使用这种简便快捷的方式来收集被攻击系统的相关信息,从而有针对性对系统进行攻击。4)获取进一步信息从这一步可以得到比之前更多更具体的有用信息,例如:帐户信息等。Windows系统查点技术利用NetBIOS规则,首先介绍NetBIOS,NetBOIS位于TCP/IP之上,定义了多个TCP和UDP端口。TCP方式(1),139:nbsession:NetBOIS会话。例如:netuse\\IP\ipc$/user:.(2),42:WINS:WindowsInternet名字系统(UDP端口也是42)。UDP方式(1)137:nbname:名字查询。例如:nbtstat-AIP//03中显示的不是计算机名就是用户名(2)138:nbdatagram:UDP数据报服务例如:netsend/d:domain-nameHello渗透攻击阶段1)WEB注入5现在的入侵事件,攻击居多,原因也很简单,那就是程序员在编写WEB脚本程序时根本不注重安全因素,导致了上传shell,提升权限之类的严重后果,入侵渗透测试主要通过以下几个方面进行测试:搜索SQL注入点;搜索特定目录和文件,例如:上传程序文件;寻找管理员登陆网页,进行字典或者SQL饶过入侵;寻找WEB程序的源代码,进行漏洞挖掘,主要涉及的漏洞类型有:SQL注入,跨站脚本,文件包含漏洞,目录跳转漏洞,以脚本文件格式保存错误日志漏洞,上传漏洞;2)远程溢出这是当前出现的频率最高、威胁最严重,同时又是最容易实现的一种渗透方法,一个具有一般网络知识的入侵者就可以在很短的时间内利用现成的工具实现远程溢出攻击。对于防火墙内的系统同样存在这样的风险,只要对跨接防火墙内外的一台主机攻击成功,那么通过这台主机对防火墙内的主机进行攻击就易如反掌。3)口令猜测口令猜测也是一种出现概率很高的风险,几乎不需要任何攻击工具,利用一个简单的暴力攻击程序和一个比较完善的字典,就可以猜测口令。对一个系统账号的猜测通常包括两个方面:首先是对用户名的猜测,其次是对密码的猜测。4)本地溢出所谓本地溢出是指在拥有了一个普通用户的账号之后,通过一段特殊的指令代码获得管理员权限的方法。使用本地溢出的前提是首先要获得一个普通用户密码。也就是说由于导致本地溢出的一个关键条件是设置不当的密码策略。多年的实践证明,在经过前期的口令猜测阶段获取的普通账号登录系统之后,对系统实施本地溢出攻击,就能获取不进行主动安全防御的系统的控制管理权限。1.5、渗透测试计划制定渗透测试计划将使得安全扫描将在浙江省水利厅的授权和监督下进行,避免攻击意味和恶意攻击者的乘势利用。同时渗透计划在确定后应控制在一定范围。6渗透测试可以分为黑盒和白盒渗透。黑盒渗透是浙江省水利厅只告诉被渗透目标的域名(或IP),然后由渗透测试方去进行安全渗透测试,白盒渗透是浙江省水利厅提供被渗透目标的域名、IP、系统版本、数据库版本、测试帐号等一系列信息,然后由渗透测试方去进行安全渗透测试。渗透测试也可以分为外部渗透和内部渗透。外部渗透是渗透测试方在互联网上模拟入侵者对浙江省水利厅网站系统进行安全渗透测试,内部渗透是渗透测试方在中浙江省水利厅内部网模拟入侵者和内部人员进行渗透测试。本次测试按照浙江省水利厅的要求,可以用白盒或者黑盒,外部或者内部的形式进行渗透测试。1.6、渗透测试结果输出渗透测试的结果将以报告(《渗透测试报告》)的形式(word)作为风险评估报告的一部分提交给浙江省水利厅,渗透测试可以作为安全威胁分析的一个重要数据来源。渗透测试报告详细描述了渗透测试的结果和过程,并使用文字和抓图的形式来描述渗透测试过程。1.7、系统备份与恢复措施为防止在渗透测试过程中出现的异常的情况,所有被评估系统均应在被评估之前作一次完整的系统备份或者关闭正在进行的操作,以便在系统发生灾难后及时恢复。数据备份后进行恢复演习,检测备份数据和应急恢复流程的有效性。操作系统类:制作系统应急盘,根据不同系统对系统信息,注册表,sam文件,/etc中的配置文件以及其他含有重要系统配置信息和用户信息的目录和文件进行备份,并应该确保备份的自身安全。数据库系统类:对数据库系统进行数据转储,并妥善保护好备份数据。同时对数据库系统的配置信息和用户信息进行备份。网络应用系统类:对网络应用服务系统及其配置、用户信息、数据库等进行备份。1.8、风险与应对措施7渗透测试过程的最大的风险在于测试过程中对业务产生影响,为此我们在本项目采取以下措施来减小风险:在渗透测试中不使用含有拒绝服务的测试策略;渗透测试时间尽量安排在业务量不大的时段或者晚上;渗透测试在实施过程中,会增加被渗透网络和主机的负载(5%以下),对系统性能不会造成影响。但是如果网站程序不够健壮,可能会造成链接耗尽等影响正常业务的情况。在渗透测试过程中如果出现被评估系统没有响应或其他明显错误的情况,应当立即停止测试工作,与浙江省水利厅配合人员一起分析情况,在确定原因后,并正确恢复系统,采取必要的预防措施(比如调整测试策略等)之后,才可以继续进行如果被渗透测试的主机上除了有被渗透测试的网站,还有其他网站,其他网站同样会受到上述影响,请相关人员做好备份等工作;实施人员在实施过程中,当渗透工作有进展的时候,应及时通知浙江省水利厅相关人员当执行对系统影响较大的操作的时候(如:向数据库添加表),应先向浙江省水利厅相关人员申请,得到授权许可后再实施测试者和浙江省水利厅管理员保持良好沟通,随时协商解决出现的各种难题;8二、风险评估2.1、风险评估范围此次风险评估的范围为省社保“金保”业务专网,包括对公众以及对内提供服务的73个业务系统和其所依托的物理环境、网络环境、主机操作系统和数据库系统,以及安全管理情况。2.2、风险评估分析在安全评估服务中,参照GB/T20984-2007安全模型,确定如下的风险评估方法,如下图所示:风险评估模型风险分析中要涉及资产、威胁、脆弱性等基本要素。每个要素有各自的属性,资产的属性是资产价值;威胁的属性是威胁出现的频率;脆弱性的属性是资产弱点的严重程度。风险分析主要内容为:对资产进行识别,并对资产的重要性进行赋值;对威胁进行识别,描述威胁的属性,并对威胁出现的频率赋值;对资产的脆弱性进行识别,并对具体资产的脆弱性的严重程度赋值;根据威胁和脆弱性的识别结果判断安全事件发生的可能性;根据脆弱性的严重程度及安全事件所作用资产的重要性计算安全事件的损失;根据安全事件发生的可能性以及安全事件的损失,计算安全事件一旦发生对组织的影响,即风险值。2.3、风险管理规划9风险评估流程风险评估的准备是整个风险评估过程有效性的保证。组织实施风险评估是一种战略性的考虑,其结果将受到组织业务战略、业务流程、安全需求、系统规模和结构等方面的影响。因此,在风险评估实施前,应做好以下工作准备:确定风险评估的范围:明确风险评估对象是正式进行风险评估的前提,否则无法全面、重点的发现问题;组建适当的评估管理与实施团队:针对本次项目要求指定协调接口人和专人,由省社保和安全评估服务商的顾问团队共同组成风险评估管理和实施团队;选择与组织相适应的具体的风险判断方法:根据本次项目要求,选择并确定10风险分析方法;获得最高管理者对风险评估工作的支持:通过启动会议、沟通会和汇报会等方式不断加强和提升领导对于此项工作的关注和重视。2.4、风险报告的出具我们采用下面的矩阵方法来得到安全风险级别:1.通过以下矩阵定义了威胁可能性和脆弱性等级的对应关系。威胁-脆弱性对应矩阵低等级威胁中等级威胁高等级威胁低等级脆弱性低威胁可能低威胁可能中威胁可能中等级脆弱性低威胁可能中威胁可能高威胁可能高等级脆弱性中威胁可能高威胁可能高威胁可能2.通过以下矩阵提供了资产的风险确定方法。风险等级矩阵低威胁可能中威胁可能高威胁可能低价值资产低风险低风险中风险中等价值资产低风险中风险高风险高价值资产中风险高风险高风险11风险评估模型中,主要是以保护省社保信息资产为核心,因此风险的计算也是围绕信息资产进行的。主要分为两类风险:安全管理类风险、安全技术类风险。其中安全技术类风险又分为物理安全类风险、网络安全类风险、主机安全类风险、应用安全类风险和数据安全类风险。安全管理风险评估是以等级保护为标准,从整个宏观管理层面上对安全风险进行的,和具体的信息资产关联度不高,只对弱点和威胁进行评估,归纳出风险,而不单独和资产进行风险计算。网络安全风险主要对现有的网络安全构架的进行分析,通过网络安全整体构架、安全域的划分、网络可用性、安全设备的监控及信息审计等几个方面评估。根据网络安全构架类风险普遍存在于信息资产中这一特点,因此在这两方面只进行弱点和威胁的评估,归纳出风险,而不单独和信息资产进行风险计算。主机安全风险评估主要是对主机平台进行安全性检查,评估设备所面临风险。考虑到各个平台设备的安全配置管理将统一标准,因此对设备类的风险赋值是以系统平台为对象,对设备存在的威胁和弱点进行风险赋值。根据设备平台类风险普遍存在于信息资产中这一特点