【软考软件评测师】第五章节 安全测试测试方法
第五章节 安全测试测试方法
第一部分 知识点集锦
1.常见安全攻击手段并简要说明
- 冒充
就是一个实体假装成一个不同的实体。常与主动攻击形式一起使用,特别是消息的重演与篡改。 - 重演
当一个消息或部分消息为了产生非授权效果而被重复时,出现重演。 - 消息篡改
数据所传送的内容被改变而未被发觉,并导致非授权后果。 - 服务拒绝
当一个实体不能执行它的正常功能,或它的动作妨碍了别的实体执行它们的正常功能的时候,便发生服务拒绝
2.基本的安全性测试方法
功能验证
漏洞扫描
模拟攻击试验
侦听技术
3.XSS攻击
跨站脚本攻击(Cross Site Scripting)是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。
4.防御XSS攻击方法
验证所有输入数据,有效检测攻击;
对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。
5.XSS攻击防御规则
不要在允许位置插入不可信数据
在向HTML元素内容插入不可信数据前对HTML解码
在向HTML常见属性插入不可信数据前进行属性解码
在向HTML JavaScript DATA Values插入不可信数据前,进行JavaScript解码
在像HTML样式属性插入不可信数据前,进行CSS解码
在向HTML URL属性插入不可信数据前,进行URL解码
6.SQL注入
是黑客攻击数据库的一种常用方法,其实就是通过把SQL命令插入到Web表单或页面请求的查询字符串中提交,最终达到欺骗服务器执行恶意的SQL命令,来达到攻击的目的。
对于本题由于将SQL语句中的输入值,使用参数方式传送,而且SQL语句进行预编译,这样用于防止注入式攻击
7.常见的安全防护策略有哪些
1)安全日志
安全日志
安全日志是记录非法用户的登录名称、操作时间及内容等信息,以便于发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为作出主动反应,属于被动防护的策略。
2)入侵检测
入侵检测系统是一种主动的网络安全防护措施,从系统内部和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。一般来说,入侵检测系统还应对入侵行为作出紧急响应。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行检测,从而提供对内部攻击,外部攻击和误操作的实时保护。
3)漏洞扫描
漏洞扫描就是对软件系统及网络系统进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞,同时漏洞扫描技术也是安全性测试的一项必要手段
4)隔离防护
隔离防护是将系统中的安全部分与非安全部分进行隔离的措施,目前采用的技术主要有两种,即隔离网闸和防火墙,隔离网闸主要目的在于实现内网和外面的物理隔离,防火墙主要用于内网和外网的逻辑隔离。
第二部分 案例分析历年真题
2015下案例分析历年真题第五题(20分)
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某互联网企业开发了一个大型电子商务平台,平台主要功能是支持注册卖家与买家的在线交易。在线交易的安全性是保证平台上正常运行的重要因素,安全中心是平台上提供安全保护措施的核心系统 ,该系统的主要功能包括:
(1)密钥管理功能,包括公钥加密体系中的公钥及私钥生成与管理,会话密的协商、生成、更新及分发等。
(2)基础加解密服务,包括基于RSA、ECC及AES 等多密码算法的期本加解密服务。
(3)认证服务,提供基于PKI及用户名/口令的认证机制。
(4)授权服务,为应用提供资源及功能的授权管理和访问控制服务。
现企业测试部门拟对平台的密钥管理与加密服务系统进行安全性测试,以检验平台的安全性。
【问题1】(4分)
给出安全中心需应对的常见安全攻击手段并简要说明。
【问题2】(6分)
针对安全中心的安全性测试,可采用哪些基本的安全性测试方法?
【问题3】(5分)
请分别说明针对密钥管理功能进行功能测试和性能测试各自应包含的基本测试点。
【问题4】(5分)
请分别说明针对加解密服务功能进行功能测试和性能测试各自应包含的基本测试点。
【问题1标准答案】
冒充:就是一个实体假装成一个不同的实体。常与主动攻击形式一起使用,特别是消息的重演与篡改。
重演:当一个消息或部分消息为了产生非授权效果而被重复时,出现重演。
消息篡改:数据所传送的内容被改变而未被发觉,并导致非授权后果。
服务拒绝:当一个实体不能执行它的正常功能,或它的动作妨碍了别的实体执行它们的正常功能的时候,便发生服务拒绝
【问题2标准答案】
功能验证
漏洞扫描
模拟攻击试验
侦听技术
【问题3我的解答】
功能:是否能够正常加解密
性能:加密解密的速度是否可以接受
【问题3标准答案】
功能测试:
是否制定了密钥管理策略。
是否具备密钥生成、密钥发送、密钥存储、密钥查询、密钥撤销、密钥恢复等基本功能。
密钥库管理功能是否完善。
密钥管理中心的系统、设备、数据、人员等安全管理是否严密。
密钥管理中心的审计、认证、恢复、统计等系统管理是否具备。
密钥管理系统与证书认证系统之间是否采用基于身份认证的安全通信协议。
性能测试:
针对按实际需要配置密钥管理系统,利用企业级的并发压力测试工具测试受理点连接数、签发在用证书数目、密钥发放并发请求数是否满足基本业务需求。
测试是否具备系统所需最大量的密钥生成、存储、传送、发布、归档等密钥管理功能。
测试是否支持密钥5年(或用户要求的年限)保存期。
是否具备异地容灾备份。
是否具备可伸缩配置及扩展能力。
关键部分是否采用双机热备份和磁盘镜像。
【问题4标准答案】
功能测试:
是否具备基础加/解密服务功能。
能否为应用提供相对稳定的统一安全服务接口。
能否提供对多密码算法的支持。
随着业务量的逐渐增加,是否可以灵活地增加密码服务模块,实现性能平滑扩展,且不影响上层的应用系统。
性能测试:
RSA算法密钥长度能否达到1024~2048位,ECC算法密钥长度能否达到192位。
如果有必要进行系统速度测试,对应用层的客户端密码设备测试项:公钥密码算法签名速度、公钥密码算法验证速度、对称密钥密码算法加/解密速度,验证是否满足需求。
处理性能如公钥密码算法签名等是否具有扩展能力
2014下案例分析历年真题第三题(12分)
某大型披萨加工和销售商为了有效管理披萨的生产和销售情况,欲开发一套基于Web的信息系统。其主要功能为销售、生产控制、采购、运送、存储和财务管理等。系统采用Java EE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。
【问题1】
设计两个表单项输入测试用例,以测试XSS(跨站点脚本)攻击。系统设计时可以采用哪些技术手段防止此类攻击。
【问题2】
简述图形测试的主要检查点。
【问题3】
简述页面测试的主要方面。
【问题4】
系统实现时,对销售订单的更新所用的SQL语句如下:
PreparedStatement pStmt = connection,prepareStatementC(“UPDATE SalesOrder SET
status=?WHERE OrderID=?;”);
然后通过setString(…);的方式设置参数值后加以执行。
设计测试用例以测试SQL注入,并说明该实现是否能防止SQL注入
【问题1标准答案】
用例1:“alert1(‘dddd’)”
用例2:< IMG SRC=“javascrip\r
\nt:alert(‘XSS’);” > 或<b οnmοuseοver=alert(‘dddd’)>click me
【问题2标准答案】
图形测试,主要检查点如下:
颜色饱和度和对比度是否合适
需要突出的链接颜色是否容易识别
是否正确加载所有的图形
【问题3标准答案】
页面的一致性如何
在每个页面上是否设计友好的用户界面和直观的导航系统
是否考虑多种浏览器的需要
是否建立了页面文件的命名体系
是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等
【问题4标准答案】
测试用例设计可参考:
Pstmt.setString(‘1’ or ‘1’ = ‘1’–,status)
Pstmt.setString(‘2’ or ‘1’ = ‘1’,orderID)
2014下案例分析历年真题第四题(20分)
某大型教育培训机构近期上线了在线网络学校系统,该系统拓扑结构如图4-1所示。
企业信息中心目前拟对该系统用户认证机制进行详细的安全性测试,系统注册用户分为网校学员、教师及管理员三类,其中网校学员采用用户名/口令机制进行认证,教师及管理员采用基于公钥的认证机制。
【问题1】
为防止针对网校学员的口令攻击,请从口令的强度、传输存储及管理等方面,说明可采取哪些安全防护措施。相应地,对于网校学员所采用的口令认证机制进行测试时,请说明从用户名称及用户口令两个方面开展测试时应包含哪些基本的测试点。
【问题2】
为提高系统认证环节安全性,系统在网校教师及管理员登录认证时引入了USB Key,请说明对公钥认证客户端进行安全测试时,USB Key的功能与性能测试应包含哪些基本的测试点。
【问题3】
系统证书服务器主要提供证书审核注册管理及证书认证两项功能,根据系统实际情况,目前只设置人员证书,请说明针对证书服务器的功能与性能测试应包含哪些基本的测试点。
【问题1标准答案】
通过安全策略设置密码的最小长度,设置口令锁定,使用通信加密技术,对存储在数据库中的数据进行加密,设置访问控制等。
对于用户名称的测试关键在于测试用户名称的唯一性:
1)同时存在的用户名称在不考虑大小写的状态下,不能同名。
2)对于关键领域的软件产品和对于安全性较高的软件,应当同时保证使用过的用户在用户删除或者停用后,保留该用户记录,并且新用户不能和该用户同名。
测试用户口令的强度和口令存储的位置和加密强度:
1.最大口令时效
2.最小口令时效
3.口令历史
4.最小口令长度
5.口令复杂度
6.加密选项
7.口令锁定
8.账户复位
【问题2标准答案】
功能测试:
•是否支持AES、RSA等常用加密算法。
•是否提供外部接口以支持用户证书及私钥的导入。
•是否提供外部接口支持将数据传入Key内,经过公钥/私钥计算后导出。
•是否能实现USB Key插入状态实时监测,当USB Key意外拨出时是否能自动锁定用户状态。
•是否使用口令进行保护。
性能测试:
•是否具备私钥不能导出的基本安全特性 Key内加解密算法的执行效率。
•是否满足系统最低要求。
【问题3标准答案】
对证书业务服务系统的功能测试:
证书认证系统是否采用国际密码主管部门审批的签名算法完成签名操作,是否提供证书的签发和管理、证书撤销列表的签发和管理、证书/证书撤销列表的发布以及证书审核注册中心的设立、审核及管理等功能。
按使用对象分类,系统是否能提供人员证书。
是否可以提供加密证书和签名证书。
数字证书格式是否采用X.509 V4。
系统是否提供证书申请、身份审核、证书下载等服务功能。
证书申请、身份审核、证书下载等服务是否都可采用在线或离线两种方式。
系统是否提供证书认证策略及操作策略管理、自身证书安全管理等证书管理服务。
证书业务服务系统性能测试:
检查证书业务服务系统设计的处理性能是否具备可伸缩配置及扩展的能力。
关键部分是否采用双机热备份和磁盘镜像。
是否满足系统的不间断运行、在线故障修复和在线系统升级。
是否满足需求说明中预测的最大数量用户正常访问的需求,并且,是否有3~4倍的冗余,如有必要,需要测试系统的并发压力承受能力
2013下案例分析历年真题第四题(20分)
某企业最近上线了ERP系统,该系统运行的网络环境如图4-1所示。企业信息中心目前拟对该系统相关安全防护体系进行全面的安全性测试,以提供全面的安全测评报告。
【问题1】
企业ERP系统上线后,企业主要业务的日常运作都高度依赖该系统的正常运行,因此ERP系统的稳定性与可靠性对企业至关重要。故障恢复与容灾备份措施是提高系统稳定性与可靠性的重要因素。对于故障恢复与容灾备份措施,参与测试的王工认为应从故障恢复、数据备份和容灾备份等三个方面进行测试。请用300字以内文字,对这三方面的测试内容进行简要说明。
【问题2】
数据库服务器中目前主要存储ERP系统业务数据,后续还需要存储企业网站相关数据,当前ERP系统的用户认证方式包含口令认证方式,相应的用户权限和口令也存储在数据库二维表中。针对上述实际情况,参与测试的李工认为在对数据库权限进行测试时,除数据库账号保护及权限设置相关的常规测试外,还必须对敏感数据加密保护及对数据库访问方式进行相应测试。请用200字以内文字,对敏感数据加密保护和数据库访问方式两个方面的测试内容进行简要说明。
【问题3】
为对抗来自外网或内网的主动攻击,系统通常会采用多种安全防护策略,请给出四种常见的安全防护策略并进行简要解释。结合一种在图4-1中明确标识出的安全防护策略机制,说明针对该机制的安全测试应包含哪些基本测试点
【问题1标准答案】
故障恢复:
整个系统是否存在单点故障;对于关键性应用系统,当任何一台设备失效时,按照预先定义的规则是否能够快速切换;是否采用磁盘镜像技术,实现主机系统到磁盘系统的高速连接。
数据备份:
对于关键的业务,是否具备必要的热备份机制,例如双机热备份、磁盘镜像等;对于所有业务,是否提供磁带备份和恢复机制,保证系统能根据备份策略恢复到指定时间的状态
容灾备份:
可否建立异地容灾备份中心,当主中心发生灾难事件时,由备份中心接管所有的业务;备份中心是否有足够的带宽确保与主中心的数据同步,有足够的处理能力来接管主中心的业务,能否确保快速可靠地与主中心的应用切换。
【问题2标准答案】
加密机制是保护数据安全的重要手段,加密的基本过程就是对原来明文的文件或数据,按某种算法进行处理,使其成为不可读的一段代码——密文,使其只能在输入相应的密钥之后才能显示出明文内容,通过这样的途径来达到保护数据不被非法窃取、阅读的目的。不同加密机制或密码函数的用途、强度是不相同的,一个软件或系统中的加密机制使用得是否合理,强度是否满足当前需求,是需要通过测试来完成的,通常模拟解密是测试的一个重要手段。
数据库权限管理的测试有如下三个方面:
应用软件部署后,数据库管理用户的设置应当注意对账号的保护,超级用户的口令不得为空或默认口令。对数据库的账号和组的权限作相应设置,如锁定一些默认的数据库用户;撤销不必要的权限。
数据库中关于应用软件用户权限和口令存储的相关表格,尽量采用加密算法进行加密。
软件企业在进行软件产品开发时,开发人员通常为了开发方便,在客户端与数据库通信时,均使用超级用户及默认密码访问数据库,这种方式将会带来严重的安全隐患,测试人员可以通过网络侦听的技术,或使用白盒测试方法进行测试,并且应当建议开发者,根据不同程序访问数据库的功能,使用不同的数据库用户进行连接,且必须设置复杂的密码
【问题3标准答案】
常见的安全防护策略主要有安全日志、入侵检测、隔离防护、漏洞扫描等。
安全日志
安全日志是记录非法用户的登录名称、操作时间及内容等信息,以便于发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为作出主动反应,属于被动防护的策略。
入侵检测
入侵检测系统是一种主动的网络安全防护措施,从系统内部和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。一般来说,入侵检测系统还应对入侵行为作出紧急响应。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行检测,从而提供对内部攻击,外部攻击和误操作的实时保护。
漏洞扫描
漏洞扫描就是对软件系统及网络系统进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞,同时漏洞扫描技术也是安全性测试的一项必要手段
隔离防护
隔离防护是将系统中的安全部分与非安全部分进行隔离的措施,目前采用的技术主要有两种,即隔离网闸和防火墙,隔离网闸主要目的在于实现内网和外面的物理隔离,防火墙主要用于内网和外网的逻辑隔离。
防火墙
1、是否支持交换和路由两种工作模式。
2、是否支持对HTTP、FTP、SMTP等服务类型的访问控制。
3、是否考虑到防火墙的冗余设计。
4、是否支持对日志的统计分析功能,同时,日志是否可以存储在本地和网络数据库上。
5、对防火墙本身或受保护网段的非法攻击系统,是否提供多种告警方式以及多种级别的告警。
入侵检测系统
1、能否在检测到入侵事件时,自动执行切断服务、记录入侵过程、邮件报警等动作。
2、是否支持攻击特征信息的集中式发布和攻击取证信息的分布式上载。
3、能否提供多种方式对监视引擎和检测特征的定期更新服务。
4、内置的网络能否使用状况监控工具和网络监听工具。
2012下案例分析历年真题第四题(12分)
某企业为防止自身信息资源的非授权访问,建立了如图4-1所示的访问控制系统。
(1)认证:管理企业的合法用户,验证用户所宣称身份的合法性,该系统中的认证机制集成了基于口令的认证机制和基于PKI的数字证书认证机制;
(2)授权:赋予用户访问系统资源的权限,对企业资源的访问请求进行授权决策;
(3)安全审计:对系统记录与活动进行独立审查,发现访问控制机制中的安全缺陷,提出安全改进建议。
【问题1】
对该访问控制系统进行测试时,用户权限控制是其中的一个测试重点。对用户权限控制的测试应包含哪两个主要方面?每个方面具体的测试内容又有哪些?
【问题2】
测试过程中需对该访问控制系统进行模拟攻击试验,以验证其对企业资源非授权访问的防范能力。请给出三种针对该系统的可能攻击,并简要说明模拟攻击的基本原理。
【问题3】
对该系统安全审计功能设计的测试点应包括哪些?
【问题1我的解答】
权限有无的测试以及权限授权可否的测试
【问题1标准答案】
1)对用户权限体系的合理性评价,其具体测试内容包括:
是否采用系统管理员,业务领导,操作人员三级分离的管理模式;
是否具有唯一性,口令的强度及口令存储的位置和加密强度等。
2)对用户权限分配的合理性评价
用户权限系统本身权限分配的细致程度
特定权限用户访问系统功能的能力测试
【问题2标准答案】
1)冒充攻击
攻击者控制企业某台主机,发现其中系统服务中可利用的用户账号,进行口令猜测,从而假装成特定用户,对企业资源进行非法访问。
2)重演攻击(重放攻击)
攻击者通过截获含有身份鉴别信息或授权请求的有效信息,将该消息进行重放攻击,以达到鉴别自身或者获得授权的目的,实现对企业资源的访问。
3)服务拒绝攻击
攻击者通过向认证服务或授权服务发送大量虚假请求,占用系统带宽并造成关键服务繁忙,从而使得认证授权服务功能不能正常执行,产生服务拒绝。
4)内部攻击
不具有相应权限的系统合法用户以非授权方式进行动作,如截获并存储。
其他业务部门的网络数据流,或对系统访问控制管理信息进行攻击以获得他人权限等。
【问题3标准答案】
能否进行系统数据收集,统一存储集中进行安全审计。
是否支持基于PKI的应用审计
是否支持基于XML等审计数据采集协议
是否提供灵活的自定义审计规则
2011下案例分析历年真题第三题(20分)
在CNCERT/CC (国家计算机网络应急技术处理协调中心)处理的安全事件中,国内政府机构和重要信息系统部门的网页篡改类事件数量增长迅速。2011年6月的某一周,中国境内仅网页被篡改的网站就有660个,其中政府网站105个。网站内容复制容易,转载速度快,后果难以预料,网页如果被篡改,将直接危害该网站的利益,尤其是门户网站作为政府发布重要新闻、重大方针政策、法规和企业信息等的重要渠道,一旦被黑客篡改,将严重损害政府和企业形象。
从网站页面被篡改的角度来看,存在两种攻击的可能,一种是网站被入侵,也就是说网站页面确实被篡改了,另外一种是网站被劫持,这种情况下网站的页面实际上并没有被篡改,但是攻击者劫持了网络访问并发送欺骗页面给来访者,进而造成页面被篡改的表象。
【问题1】
通过入侵从而进行网页篡改的可能途径有哪些?这些途径各对应安全系统防护体系的哪个层次?
【问题2】
针对网页被篡改的问题,从技术层面看有哪些防范措施?
【问题3】
现在出现了一些基于监测与恢复的页面防篡改系统,这类防篡改系统应具备哪些基本功能?
【问题1标准答案】
平台安全:通过操作系统,数据库,网络服务等漏洞获得主机控制权
数据安全:通过猜测或者破解密码获得管理员密码
应用安全:通过Web漏洞和设计缺陷进行攻击入侵
【问题2标准答案】
给服务器打上最新的安全补丁
封闭未用但是开放的网络接口
设置复杂的管理员密码
设置合适的网站权限
安装专业的防火墙和入侵检测系统
合理设计网站程序,并编写安全代码
【问题3标准答案】
自动监控
自动备份和恢复
自动报警
区分合法更新与非法篡改
2010下案例分析历年真题第四题(15分)
某大学暑假期间为教职员工开办了 VPN远程接入服务,员工在校外通过登录界面输入用户名和口令后,就可以访问仅供本校师生使用的各类信息资源。为了实现信息隔离与访问控制,在校园网不同的网络区域之间部署了防火墙等相关设施。
【问题1】
下图是VPN用户与数据库之间的网络拓扑结构图,请指明图中设备1、设备2、设备3、设备4是何种类型的网络设施。
【问题2】
通信加密的目的是什么?通信加密测试的基本方法有哪些?
【问题3】
为防止未授权用户通过反复猜测口令获得VPN使用权,从用户口令管理和网站登录控制两方面说明可以釆取的应对措施
【问题1标准答案】
交换机是内网设备,设备1的防火墙是用来隔离内外网的设备,设备3的防火墙是隔离Web前端和后台数据库的设备。
设备1是防火墙;
设备2是交换机(或集线器);
设备3是防火墙;
设备4是交换机(或集线器)。
【问题2标准答案】
目的:保证数据在传输过程中数据的保密性(机密性)和一致性(完整性);(每答对一个得1分,共2分)
基本方法:验证和侦听。(每答对一个得1分,共2分)
【问题3标准答案】
用户口令管理:口令长度、复杂度(特殊字符)、时效(定期更改);(每答对一个得1分,最多2分)
用户登录控制;多次登录延时、账户锁定、验证码。(每答对一个得1分,最多2分