网络安全之业务安全测试浅析

2019 年 9 月 5 日 计算机与网络安全

一次性付费进群,长期免费索取教程,没有付费教程。

微信群回复公众号:微信群QQ群460500587

 教程列表  见微信公众号底部菜单 |   本文底部有推荐书籍 

微信公众号:计算机与网络安全

ID:Computer-network


信息和互联带来的不仅仅是便利和高效,大量隐私、敏感和高价值的信息数据和资产,成为恶意攻击者攻击和威胁的主要目标,从早期以极客为核心的黑客黄金年代,到现在利益链驱动的庞大黑色产业网络安全已经成为任何个人、企业、组织和国家所必须面对的重要问题。


随着“互联网+”的发展,经济形态不断地发生演变。众多传统行业逐步地融入互联网并利用信息通信技术以及互联网平台进行着频繁的商务活动,这些平台(如银行、保险、证券、电商、P2P、O2O、游戏、社交、招聘、航空等)由于涉及大量的金钱、个人信息、交易等重要隐私数据,成为了黑客攻击的首要目标,而因为开发人员安全意识淡薄(只注重实现功能而忽略了在用户使用过程中个人的行为对Web应用程序的业务逻辑功能的安全性影响)、开发代码频繁迭代导致这些平台业务逻辑层面的安全风险层出不穷(业务逻辑漏洞主要是开发人员业务流程设计的缺陷,不仅限于网络层、系统层、代码层等。比如登录验证的绕过、交易中的数据篡改、接口的恶意调用等,都属于业务逻辑漏洞)。目前业内基于这些平台的安全风险检测一般都采用常规的渗透测试技术(主要基于owasp top 10),而常规的渗透测试往往忽视这些平台存在的业务逻辑层面风险,业务逻辑风险往往危害更大,会造成非常严重的后果。


一方面随着社会及科技的发展,购物、社交、P2P、O2O、游戏、招聘等业务纷纷具备了在线支付功能。如电商支付系统保存了用户手机号、姓名、家庭住址,甚至包括支付的银行卡号信息、支付密码信息等,这些都是黑客感兴趣的敏感信息。相比SQL注入漏洞XSS漏洞、上传、命令执行等传统应用安全方面的漏洞,现在的攻击者更倾向于利用业务逻辑层面存在的安全问题。这类问题往往容易被开发人员忽视,同时又具有很大的危害性,例如一些支付类的逻辑漏洞可能使企业遭受巨大的财产损失。传统的安全防护设备和措施主要针对应用层面,而对业务逻辑层面的防护则收效甚微。攻击者可以利用程序员的设计缺陷进行交易数据篡改、敏感信息盗取、资产的窃取等操作。现在的黑客不再以炫耀技能为主要攻击目的,而主要以经济利益为目的,攻击的目的逐渐转变为趋利化。


另一方面,如今的业务系统对于传统安全漏洞防护的技术和设备越来越成熟,基于传统安全漏洞入侵也变得越来越困难,增加了黑客的攻击成本。而业务逻辑漏洞可以逃逸各种安全防护,迄今为止没有很好的解决办法。这也是为什么黑客偏好使用业务逻辑漏洞进行攻击的一个原因。


1、业务安全测试概述


业务安全测试通常是指针对业务运行的软、硬件平台(操作系统数据库中间件等),业务系统自身(软件或设备)和业务所提供的服务进行安全测试,保护业务系统免受安全威胁,以验证业务系统符合安全需求定义和安全标准的过程。这里所涉及的业务安全主要是系统自身和所提供服务的安全,即针对业务系统中的业务流程、业务逻辑设计、业务权限和业务数据及相关支撑系统及后台管理平台与业务相关的支撑功能、管理流程等方面的安全测试,深度挖掘业务安全漏洞,并提供相关整改修复建议,从关注具体业务功能的正确呈现、安全运营角度出发,增强用户业务系统的安全性。


传统安全测试主要依靠基于漏洞类型的自动化扫描检测,辅以人工测试,来发现如 SQL 注入XSS、任意文件上传、远程命令执行等传统类型的漏洞,这种方式往往容易忽略业务系统的业务流程设计缺陷、业务逻辑、业务数据流转、业务权限、业务数据等方面的安全风险。过度依赖基于漏洞的传统安全测试方式脱离了业务系统本身,不与业务数据相关联,很难发现业务层面的漏洞,企业很可能因为简单的业务逻辑漏洞而蒙受巨大损失。


2、业务安全测试模型


如图1所示,业务安全测试模型要素如下。

图1  业务安全测试模型

前台视角:业务使用者(信息系统受众)可见的业务及系统视图,如平台的用户注册、充值、购买、交易、查询等业务。


后台视角:管理用户(信息系统管理、运营人员)可见的业务及系统视图,如平台的登录认证、结算、对账等业务。


业务视角:业务使用者(信息系统受众)可见的表现层视图,如 Web 浏览器、手机浏览器展现的页面及其他业务系统用户的UI界面。


系统视角:业务使用者(信息系统受众)不可见的系统逻辑层视图。


为了全面测试客户业务系统,在进行业务安全分析的时候,不能拘泥于以上测试模型,在面对不同用户的不同业务的时候,通过深入了解用户业务特点、业务安全需求,应切实地根据客户业务系统的架构,从前/后视角、业务视角与支撑系统视角划分测试对象,根据实际情况选择白灰盒或黑盒的手段进行业务安全测试。


对于支撑系统的子系统,其调用关系有时不是简单的顺序调用,中间可能涉及重复、乱序调用的情况,需要具体系统具体分析。


对于前台的业务视角,在做白盒测试前,应通过用户访谈切实了解其每一个业务模块调用了哪些支撑系统模块,熟悉其调用顺序。


对于前台的业务视角,以手动用例测试结合安全分析工具为主。对于能够提供使用环境的管理后台业务视角,以手动用例测试结合安全分析工具为主,不能提供使用环境的管理后台业务视角测试以访谈为主。对于支撑系统视角的测试,以访谈为主。

3、业务安全测试流程


业务安全测试流程总体上分为七个阶段,前期工作主要以测试准备和业务调研为主,通过收集并参考业务系统相关设计文档和实际操作,与相关开发人员沟通、调研等方式熟悉了解被测系统业务内容和流程,然后在前期工作的基础上,根据业务类型进行业务场景建模,并把重要业务系统功能拆分成待测试的业务模块,进而对重要业务功能的各个业务模块进行业务流程梳理,之后对梳理后的业务关键点进行风险识别工作,这也是业务测试安全最重要的关键环节,最终根据风险点设计相应的测试用例,开展测试工作并最终输出测试报告。具体业务安全测试流程如图2所示。

图2  业务安全测试流程图

流程一:测试准备


准备阶段主要包括对业务系统的前期熟悉工作,以了解被测试业务系统的数量、规模和场景等内容。针对白盒性质的测试,可以结合相关开发文档去熟悉相关系统业务;针对黑盒测试,可通过实际操作还原业务流程的方式理解业务。


流程二:业务调研


业务调研阶段主要针对业务系统相关负责人进行访谈调研,了解业务系统的整体情况,包括部署情况、功能模块、业务流程、数据流、业务逻辑以及现有的安全措施等内容。根据以往测试实施经验,在业务调研前可先设计访谈问卷,访谈后可能会随着对客户业务系统具体情况了解的深入而不断调整、更新问卷(黑盒测试此步骤可忽略)。


流程三:业务场景建模


针对不同行业、不同平台的业务系统,如电商、银行、金融、证券、保险、游戏、社交、招聘等业务系统,识别出其中的高风险业务场景进行建模。以电商系统为例,如图3所示为业务场景建模模型图。

图3  电商系统业务场景建模

流程四:业务流程梳理


建模完成后需要对重要业务场景的各个业务模块逐一进行业务流程梳理,从前台和后台、业务和支撑系统等4个不同维度进行分析,识别各业务模块的业务逻辑、业务数据流和功能字段等。


业务模块的流程梳理主要遵循以下原则:


区分业务主流程和分支流程,业务梳理工作是围绕主流程进行分析的,而主流程一定是核心业务流程,业务流程重点梳理的对象首先应放在核心主流程上,务必梳理出业务关键环节;


概括归纳业务分支流程,业务分支流程往往存在通用点,可将具有业务相似性的分支流程归纳成某一类型的业务流程,无须单独对其进行测试;


识别业务流程数据信息流,特别是业务数据流在交互方双方之间传输的先后顺序、路径等;


识别业务数据流功能字段,识别数据流中包含的重要程度不等的信息,理解这些字段的含义有助于下阶段风险点分析。


如图4所示是针对某电商类网站的用户登录功能的业务流程梳理图。

图4  相关业务流程图

通过业务流程的各个阶段梳理出业务流程各个关键环节点,如图5所示。

图5  业务环节梳理结果图

流程五:业务风险点识别


在完成前期不同维度的业务流程梳理工作后,针对前台业务应着重关注用户界面操作每一步可能的逻辑风险和技术风险;针对后台业务应着重关注数据安全、数据流转及处理的日志和审计。


业务风险点识别应主要关注以下安全风险内容。


(1)业务环节存在的安全风险


业务环节存在的安全风险指的是业务使用者可见的业务存在的安全风险,如注册、登录和密码找回等身份认证环节,是否存在完善的验证码机制、数据一致性校验机制、Session 和 Cookie 校验机制等,是否能规避验证码绕过、暴利破解和 SQL注入漏洞


(2)支持系统存在的安全风险


支持系统存在的安全风险,如用户访问控制机制是否完善,是否存在水平越权或垂直越权漏洞系统内加密存储机制是否完善,业务数据是否明文传输。系统使用的业务接口是否可以未授权访问/调用,是否可以调用重放、遍历,接口调用参数是否可篡改等。

(3)业务环节间存在的安全风险


业务环节间存在的安全风险,如系统业务流程是否存在乱序,导致某个业务环节可绕过、回退,或某个业务请求可以无限重放。业务环节间传输的数据是否有一致性校验机制,是否存在业务数据可被篡改的风险。


(4)支持系统间存在的安全风险


支持系统间存在的安全风险,如系统间数据传输是否加密、系统间传输的参数是否可篡改。系统间输入参数的过滤机制是否完善,是否可能导致 SQL 注入XSS跨站脚本和代码执行漏洞


(5)业务环节与支持系统间存在的安全风险


业务环节与支持系统间存在的风险,如数据传输是否加密、加密方式是否完善,是否采用前端加密、简单MD5编码等不安全的加密方式。系统处理多线程并发请求的机制是否完善,服务端逻辑与数据库读写是否存在时序问题,导致竞争条件漏洞系统间输入参数的过滤机制是否完善。


具体业务风险点识别示例如图6所示。

图6  业务风险点识别

流程六:开展测试


对前期业务流程梳理和识别出的风险点,进行有针对性的测试工作。


流程七:撰写报告


最后是针对业务安全测试过程中发现的风险结果进行评价和建议,综合评价利用场景的风险程度和造成影响的严重程度,最终完成测试报告的撰写。


4、业务安全测试要点


总结了十大业务安全测试关键点,如图7所示。

图7  业务安全测试关键点


微信公众号:计算机与网络安全

ID:Computer-network


【推荐书籍】

登录查看更多
0

相关内容

黑客(Hacker,台湾译作「骇客」)广义上指在计算机科学,编程以及设计领域有高度理解力的人。 然而,人们通常对黑客一词的理解都是取其狭义的涵义,即信息安全领域的黑客: 未经许可入侵他人系统并窃取数据信息等的可以视为 黑帽黑客,也可取侩客 cracker 的涵义。
而主要从事安全检测,系统调试,技术研究的安全从业者可称为 白帽黑客
还有一种存在称为「脚本小子」,往往冒充黑客也常被人误认为是「黑客」,其实是利用一些现有的工具或者程序达到入侵或破解等目的,然而其知识储备以及对技术的理解力却完全不符合广义黑客的标准,甚至不及狭义黑客标准。
【干货书】现代数据平台架构,636页pdf
专知会员服务
250+阅读 · 2020年6月15日
最新《智能交通系统的深度强化学习》综述论文,22页pdf
大数据安全技术研究进展
专知会员服务
90+阅读 · 2020年5月2日
【德勤】中国人工智能产业白皮书,68页pdf
专知会员服务
295+阅读 · 2019年12月23日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
133+阅读 · 2019年12月12日
【白皮书】“物联网+区块链”应用与发展白皮书-2019
专知会员服务
91+阅读 · 2019年11月13日
大数据安全技术浅析
计算机与网络安全
14+阅读 · 2019年4月24日
ZigBee 网络安全攻防
计算机与网络安全
13+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
金融风控背后的技术综述
七月在线实验室
44+阅读 · 2019年2月28日
网络舆情分析
计算机与网络安全
18+阅读 · 2018年10月18日
网络安全态势感知
计算机与网络安全
25+阅读 · 2018年10月14日
【区块链】区块链是什么?20问:读懂区块链
产业智能官
8+阅读 · 2018年1月10日
威胁情报浅析
计算机与网络安全
7+阅读 · 2017年11月15日
网络安全态势感知浅析
计算机与网络安全
16+阅读 · 2017年10月13日
安全牛发布《威胁情报市场指南》报告
安全牛
11+阅读 · 2017年7月10日
Arxiv
6+阅读 · 2020年2月15日
Arxiv
19+阅读 · 2019年11月23日
VIP会员
相关VIP内容
【干货书】现代数据平台架构,636页pdf
专知会员服务
250+阅读 · 2020年6月15日
最新《智能交通系统的深度强化学习》综述论文,22页pdf
大数据安全技术研究进展
专知会员服务
90+阅读 · 2020年5月2日
【德勤】中国人工智能产业白皮书,68页pdf
专知会员服务
295+阅读 · 2019年12月23日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
133+阅读 · 2019年12月12日
【白皮书】“物联网+区块链”应用与发展白皮书-2019
专知会员服务
91+阅读 · 2019年11月13日
相关资讯
大数据安全技术浅析
计算机与网络安全
14+阅读 · 2019年4月24日
ZigBee 网络安全攻防
计算机与网络安全
13+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
金融风控背后的技术综述
七月在线实验室
44+阅读 · 2019年2月28日
网络舆情分析
计算机与网络安全
18+阅读 · 2018年10月18日
网络安全态势感知
计算机与网络安全
25+阅读 · 2018年10月14日
【区块链】区块链是什么?20问:读懂区块链
产业智能官
8+阅读 · 2018年1月10日
威胁情报浅析
计算机与网络安全
7+阅读 · 2017年11月15日
网络安全态势感知浅析
计算机与网络安全
16+阅读 · 2017年10月13日
安全牛发布《威胁情报市场指南》报告
安全牛
11+阅读 · 2017年7月10日
Top
微信扫码咨询专知VIP会员