保证网银安全 安全测试、渗透测试都不能少
发布时间:2012-09-19   作者:启明星辰

摘要:启明星辰公司的专家认为:安全测试是保障网上银行系统安全性的重要手段之一。安全测试重点关注检验应用系统安全需求定义及安全功能实现的情况,确保安全需求与安全功能测试的全面性。

 

对于网上银行系统来说,常规的应用系统故障并不是其最大的安全隐患,网上银行系统中的用户信息泄露和资金被盗才是最需要保障的安全风险。

 

研究表明,相当数量的安全问题都是由于软件自身的安全漏洞引起的。软件漏洞的产生,既有内因也有外因。内因方面:设计人员在架构阶段没有明确用户对安全性方面的需求,在设计上也没有对安全性考虑周全,因此,使得软件本身存在着缺陷和漏洞。外因方面,软件的运行环境不安全,容易被植入恶意代码,遭到黑客攻击,利用软件漏洞传播已成为时下恶意代码最为常用的手段之一。

 

如何保障网上银行安全

 

网上银行是银行非常重要的业务应用系统,如何应对网上银行系统所面临的威胁与安全隐患,保障网上银行系统正常运行,业务连续性,保护客户信息、数据和资金安全。启明星辰公司的专家认为:安全测试是保障网上银行系统安全性的重要手段之一。


我国监管机构在《商业银行信息科技风险管理指引》和《国家等级保护要求》中,都明确指出金融机构必须构建一个完整的开发安全管理体系,以实现对信息系统整个生命周期的控制。这个体系应该是一个从需求分析、设计、编码、测试到上线全生命周期的安全管理体系。


安全测试则是重点关注检验应用系统安全需求定义及安全功能实现的情况,确保安全需求与安全功能测试的全面性。应用系统在正式上线前应对安全性进行测试,验证应用系统的安全性是否符合安全设计及安全需求,从而加强应用系统全面安全性保障,尽量在上线前解决安全漏洞,降低修补成本与损失。


网上银行系统安全测试技术


安全测试是对系统安全进行检验,以验证系统符合安全需求定义和质量标准的过程,针对安全策略、安全功能、安全实现准则,对应用系统进行全方位的安全测试。

 

安全测试的目标是:全面提升系统安全质量,尽可能降低修补成本与损失,加强系统全面安全性保障。

 

安全测试流程包括:

 

——安全需求分析阶段。分析产品和系统的环境,确定安全需求,安全度量的标准以及满足安全需求的安全功能。

 

——威胁模型分析阶段。通过威胁建模,分析产品和系统的攻击界面,数据流内容,对应的威胁,确定安全测试层,需要满足的全局安全策略以及特定缓解措施。

 

——测试内容分析阶段。通过数据流传递和内容分析,确定安全测试使用的数据样本、来源、覆盖范围以及安全测试使用的方法,形成安全测试方案。

 

——安全测试准备阶段。准备测试环境、测试工具、测试用例。

 

——安全测试实施阶段。实施安全测试,包括对安全功能、全局安全策略、安全实现的测试。分析安全漏洞,提供修复方案,并实施修复回归测试。

 

——安全报告阶段。分析和度量安全性,提供安全测试分析报告,提供安全过程改进的安全建议。

 

安全测试方法包括:

 

——白盒测试,包括:文档审阅、代码审计、功能验证

 

——黑盒测试,包括:渗透测试、逆向分析、模糊测试


安全测试内容见下表

 

 

测试项
测试描述
服务器安全配置
WEB服务器软件漏洞、WEB服务器配置文件、WEB服务器访问权限配置。
常见WEB安全漏洞
通过GET/POST方法测试WEB应用程序常见漏洞,如:SQL注入、XSSCSRF、文件上传、重放攻击等。
普通\敏感信息泄露
页面泄露的用户信息,错误页面泄露的路径,配置和数据库信息,服务器端敏感文件泄露(临时,备份,数据库文件)。
密钥管理
密钥生成、密钥分发、密钥存取和密钥销毁是否符合安全要求。
鉴别与认证
用户与正确的安全属性(比如:身份、组、角色、安全或完整性级别)相关联,需要标识和鉴别。
用户管理
应用系统用户管理、权限管理应充分利用操作系统和数据库的安全性;应用软件运行时须有完整的日志记录。
密码管理
不允许以明文方式保存用户密码或系统使用的各类密码。口令不允许以明码的形式显示在输出设备上,强制口令有安全策略限制。
失效时间
应用系统应支持操作失效时间的配置,当操作员在所配置的时间内没有对界面进行任何操作则该应用自动失效。
安全审计
应用系统应提供完善的审计功能,保证系统关键记录的完整性、可用性、保密性。
源代码管理
应用程序的源代码不允许放在运行主机上,并具有版本控制能力。
中间件
中间件配置,中间件常见安全漏洞。
中间人攻击
利用中间人攻击,尝试嗅探、篡改数据。
通道加密
通道加密协议安全属性。

 

 
安全测试与渗透测试的区别


安全测试不同于渗透测试,渗透测试侧重于多点的穿透攻击,而安全测试是侧重于对安全威胁的建模,系统地对来自各个方面、各个层面的威胁进行全面考量。


渗透测试考虑的是模拟黑客攻击方法,从多点上找到利用途径,证明安全问题,帮助客户提高认识,解决急迫的一些问题,但无法针对系统做完备性的安全测试,所以难以解决系统自身实质性的安全问题。


二者的区别在于:


——出发点差异。渗透测试是以成功入侵系统,证明系统存在重大安全隐患为出发点;而安全测试则是以发现系统所有可能的安全隐患为出发点。

 

——视角差异。渗透测试是以攻击者的角度思考问题,安全测试则是站在防护者角度思考问题,尽量发现所有可能被攻击者利用的安全隐患,并指导进行修复。

 

——覆盖性差异。渗透测试关注几个点作为测试的目标,而安全测试是分析系统架构与安全实现等,并找出系统所有可能面临的攻击情况后进行的具有完备性的测试。

 

——成本差异。安全测试需要对系统的功能、系统所采用的技术以及系统的架构等进行分析,所以较渗透测试需要投入更多的时间和人力。

文章来源:启明星辰
  • 公司总部 | 分支机构 | 法律声明 | 投资者关系 | 400-624-3900 800-810-6038
  • © 启明星辰1996-2015 版权所有 京ICP备05032414号 京公网安备110108003435号