一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法技术

技术编号:21634273 阅读:20 留言:0更新日期:2019-07-17 12:52
本发明专利技术公开了一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,基于数据流分析的覆盖云外包数据服务生命周期的数据泄露检测指标生成方法;基于数据泄漏攻击对象攻击树模型的攻击图自动化构建;基于攻击图及XML安全测试描述语言自动化生成XML安全测试用例;基于模板的安全测试脚本自动化生成;本发明专利技术基于数据流分析覆盖云外包数据服务生命周期的数据泄露威胁,自动化构建云平台外包数据服务场景下的数据泄露安全指标体系;基于数据泄漏攻击点攻击树模型构建攻击树以及攻击图,提高攻击检测效率;提出基于XML安全测试描述语言,自动化生成可执行安全测试用例脚本。

An Automated Test Case Generation Method for Cloud Outsourcing Service Data Leakage Based on Attack Graph

【技术实现步骤摘要】
一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法
本专利技术涉及一种安全测试用例生成方法,尤其涉及一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,属于云计算安全领域。
技术介绍
云计算服务提供商提供的弹性计算服务可以为大数据的快速生成和批量分析提供技术保障,与大数据结合已经成为当前发展主流。云用户可以方便的直接选择云外包服务进行进行数据处理,然而,二者的结合也给云数据安全带来新的机遇与挑战。当前主流的云服务提供者(CloudServiceProvider,CSP,也称为云服务提供商)主要通过计算、网络、存储虚拟化技术向云用户(CloudTenant,CT,也称为云租户)提供IaaS、PaaS、SaaS层服务。典型的云平台外包数据服务场景如下:数据计算服务提供者(DataComputingServiceProvider,DCSP)租用CSP提供的IaaS层服务、租用多台虚拟机部署分布式数据计算服务集群PaaS平台、以SaaS模式向数据拥有者(DataOwner,DO)或其它DO许可的用户(这里以DO代称获取计算结果的用户)提供外包数据计算服务。如图1所示,在典型的外包数据服务中,DCSP使用CSP提供的IaaS服务建立数据服务,然后为DO提供数据计算应用,此时外包数据的生命周期包括:1)DCSP上传计算程序,DO上传数据到数据服务平台,2)DO提交数据计算任务;3)数据计算程序在数据服务平台虚拟机内存中执行,4)DO下载数据计算结果。其中,1)CSP提供IaaS层、PaaS层、SaaS层云服务,具有云平台宿主机的root用户权限,负责控制与管理云平台宿主机操作系统,提供虚拟机给云用户使用;作为云平台管理员(CSPadmin),拥有管理和维护云平台下所有组件服务的权限;2)DCSP使用CSP提供云虚拟机提供数据服务,具有虚拟机的root用户权限;DCSP作为数据服务平台管理员,拥有对数据服务平台的管理权限,向DO提供数据计算程序,拥有管理数据计算程序的权限。由于DO的数据由DCSP提供的数据计算服务明文处理,保存在CSP所有的云平台上,因此恶意CSP或DCSP管理员完全能够窃取或篡改DO的数据,导致DO数据面临来自DCSP和CSP特权用户的泄露风险威胁,因此需要研究能够自动检测恶意特权管理员攻击的云外包数据泄露测试方法。现有云数据服务安全防护方法主要侧重于数据生命周期某一阶段的数据泄露安全风险,并未考虑云外包数据服务场景下的整个数据生命周期。例如,针对数据计算程序执行计算任务时Map阶段输入所导致的隐私数据泄露问题,HuseyinUlusoy等人提出了细粒度的MapReduce安全策略实施方案,通过控制数据计算过程中的格式化输入内容限制Map阶段的输入,并在Java安全沙盒中运行计算程序,从而保护用户的隐私数据不被泄露;对于计算任务完成后访问数据计算结果所导致的数据泄露风险,IndrajitRoy等人提出的Airavat将强制访问控制和差分隐私技术相结合,有效阻止了数据运算结果中用户的隐私数据被非法访问和泄漏的风险。另一方面,现有安全测试方法主要应用于移动应用及web服务测试中,无法较好适用于云外包数据服务场景下的数据泄露安全测试。例如黄祖源等人提出的一种移动应用自动化安全测试平台;何可等人针对web系统实现阶段可能违背预期安全设计引入安全漏洞的问题,基于UML活动图建模设计级别的攻击场景提出的可执行的安全测试用例自动化生成方法。最后,现有的测试描述语言对攻击策略实施过程与测试过程描述粒度较粗,不支持由安全策略自动生成可执行测试脚本。例如,匡硕等人结合策略安全管理技术,提出了一种基于XML的安全策略描述语言,定义了授权、职责、认证三种基础策略以及组、角色、关联三种复合策略,用于描述和管理不同安全实体应满足的安全策略,但不能从攻击的角度考虑可能违背安全策略的具体方法,也不支持生成可执行的安全测试用例对其描述的安全策略进行测试。
技术实现思路
本专利技术拟解决云外包服务数据泄露安全场景下的测试用例自动化生成问题。具体而言,基于数据流分析覆盖云外包数据服务生命周期的数据泄露威胁,自动化构建云平台外包数据服务场景下的数据泄露安全指标体系;基于数据泄漏攻击点攻击树模型构建攻击树以及攻击图,提高攻击检测效率;提出基于XML安全测试描述语言,自动化生成可执行安全测试用例脚本。本专利技术采用如下技术手段实现:一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,包括以下4个步骤,如附图2所示:步骤1基于数据流分析的覆盖云外包数据服务生命周期的数据泄露检测指标生成方法;本步骤将结合云外包数据服务场景下的DO数据生命周期,分析生命周期中存在的威胁角色及不同服务模式下威胁角色之间的关系,从攻击者视角对正常数据流进行分析,依次按照数据所处不同位置,针对不同层次的服务商以及被攻击对象自动化生成数据泄露检测指标。步骤1.1云外包数据服务场景下数据生命周期、数据流及威胁角色权限分析;图1展示了典型的云外包数据生命周期,即DCSP使用CSP提供的IaaS服务建立数据服务,然后为DO提供数据计算应用。但由于云计算能够提供IaaS、PaaS或SaaS三种不同的服务模式,将图1推广到不同的服务模式中,发现云外包数据面临的攻击者角色会有一些不同:1)在典型云外包数据服务中,CSP仅提供IaaS服务,由DCSP租用IaaS虚拟机部署分布式数据计算服务集群平台,此时CSP负责提供云平台虚拟机,而DCSP主要负责管理虚拟机,运行在虚拟机上的数据服务平台及数据计算程序;2)CSP提供包括数据服务的PaaS服务,由DCSP租用PaaS服务部署数据计算程序,此时CSP负责提供云平台虚拟机,以及运行在虚拟机上的数据服务计算平台,DCSP提供相应的数据计算程序;3)CSP提供包括数据服务和数据计算应用的SaaS服务,此时CSP与DCSP相当于一个角色,由CSP负责提供云虚拟机,运行在虚拟机上的数据服务计算平台,以及相应的数据计算程序。综上所述,虽然不同服务模式下的CSP及DCSP对被攻击对象即数据及程序的控制力有所不同,但由于数据流相同,典型云外包数据服务提出的数据泄漏检测指标能够推广用于不同的服务模式,仅需要对相关攻击者及攻击对象进行相应调整。DO作业数据流包括如下7个流程:1)DO通过云平台虚拟网络设备将数据文件上传至外包数据服务平台虚拟机分布式文件系统,如附图3中流程1所示。2)DCSP将数据计算程序上传至外包数据服务平台虚拟机本地文件系统,如附图3中流程2所示。对于上传数据过程,数据经过云平台宿主机文件系统,云平台虚拟网络设备、数据服务平台管理虚拟机文件系统与分布式文件系统。对于云平台宿主机文件系统以及虚拟网络设备来说,数据泄露威胁主要来自恶意CSP管理员,对于数据服务平台管理虚拟机文件系统以及分布式文件系统来说,攻击者来自恶意CSP管理员以及DCSP管理员。3)使用DCSP提供的数据计算程序运行作业,此时生成数据计算程序jar包,作业配置文件,分片元数据文件并上传到分布式文件系统中,如附图3中流程3所示。4)执行作业时通知作业执行虚拟机从外包数据服务平台分布式文件系统中下载作业所需数据文件到作业执行虚拟机本地文件系统,本文档来自技高网
...

【技术保护点】
1.一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,其特征在于,该方法包括以下4个步骤:步骤1基于数据流分析的覆盖云外包数据服务生命周期的数据泄露检测指标生成方法;本步骤将结合云外包数据服务场景下的DO数据生命周期,分析生命周期中存在的威胁角色及不同服务模式下威胁角色之间的关系,从攻击者视角对正常数据流进行分析,依次按照数据所处不同位置,针对不同层次的服务商以及被攻击对象自动化生成数据泄露检测指标;步骤2基于数据泄漏攻击对象攻击树模型的攻击图自动化构建本步骤2将基于步骤1中生成的数据泄露指标体系,结合数据生命周期的不同阶段及数据具体流向,采用攻击树模型来描述数据流经关键点被攻击对象的具体攻击方式,并组合被攻击对象、攻击路径及攻击方式构建攻击图;步骤3基于攻击图及XML安全测试描述语言自动化生成XML安全测试用例;通过构建的攻击图,直观描述可能导致数据泄露的攻击方式;而为了能够支持安全测试的可扩展性以及测试过程的自动化,本方法提出了基于XML的安全测试描述语言,用于描述测试过程;采用XML Schema语言描述的XSD文件对XML安全测试文件中包含的场景数据元素与属性字段进行定义,包括三部分数据元素:攻击策略元素AttackStrategy、测试策略元素TestStrategy以及测试报告元素TestReport;其中,攻击策略元素是由一条或者多条攻击路径attackPath元素组成的集合,定义如下:...

【技术特征摘要】
1.一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,其特征在于,该方法包括以下4个步骤:步骤1基于数据流分析的覆盖云外包数据服务生命周期的数据泄露检测指标生成方法;本步骤将结合云外包数据服务场景下的DO数据生命周期,分析生命周期中存在的威胁角色及不同服务模式下威胁角色之间的关系,从攻击者视角对正常数据流进行分析,依次按照数据所处不同位置,针对不同层次的服务商以及被攻击对象自动化生成数据泄露检测指标;步骤2基于数据泄漏攻击对象攻击树模型的攻击图自动化构建本步骤2将基于步骤1中生成的数据泄露指标体系,结合数据生命周期的不同阶段及数据具体流向,采用攻击树模型来描述数据流经关键点被攻击对象的具体攻击方式,并组合被攻击对象、攻击路径及攻击方式构建攻击图;步骤3基于攻击图及XML安全测试描述语言自动化生成XML安全测试用例;通过构建的攻击图,直观描述可能导致数据泄露的攻击方式;而为了能够支持安全测试的可扩展性以及测试过程的自动化,本方法提出了基于XML的安全测试描述语言,用于描述测试过程;采用XMLSchema语言描述的XSD文件对XML安全测试文件中包含的场景数据元素与属性字段进行定义,包括三部分数据元素:攻击策略元素AttackStrategy、测试策略元素TestStrategy以及测试报告元素TestReport;其中,攻击策略元素是由一条或者多条攻击路径attackPath元素组成的集合,定义如下:攻击策略元素定义了在某种攻击子场景下,攻击者使用场景攻击脚本路径下某一种编程语言实现的攻击脚本对攻击点发起攻击以及攻击过程的描述;测试策略元素是由一种或者多种测试方法testMethod元素组成的集合,定义如下:测试策略元素定义了在某种攻击后的子场景下,测试者使用该场景测试脚本路径下某一种编程语言实现的测试脚本对该场景是否存在某类攻击进行安全测试以及执行的测试次数;测试报告元素不包含其他子元素,描述测试者进行安全测试的测试日期以及测试报告的存储路径,定义如下:TestReport=<tester,dir,testDate>基于攻击图与XML安全测试描述语言,生成XML安全测试用例基本步骤如下:对步骤2中的攻击图执行深度优先遍历算法,从正常状态节点出发,得到其邻接节点后,依次对所有邻接节点元素进行遍历,得到所有从正常状态节点出发到异常状态节点的攻击路径;对每一条攻击路径,通过定义的AttackStrategy元素去描述每一条攻击路径对应的攻击策略,包括attackScriptLanguage,attackScriptLocation,attackScript内容;依据定义的TestStrategy元素描述测试策略,包括testScriptLanguage,testScriptLocation,testScript内容,同时依据定义的TestReport元素描述tester,dir,testDate内容,待攻击图遍历完毕之后,创建XML文件,最终生成XML安全测试用例;步骤4基于模板的安全测试脚本自动化生成为了保证自动生成的安全测试脚本可执行且符合shell语言定义的语法格式,本方法通过自定义测试脚本生成模板生成符合要求的可执行安全测试脚本;根据shell语言的基本语法格式,所定义的脚本生成模板内容包括该脚本使用的shell解释器以及相关注释说明;其次,为了生成可执行安全测试脚本还需要提取XML安全测试用例中的相关数据,通过使用ET元素解析树的方式来解析XML格式的安全测试用例,基本步骤为:首先通过xml.etree.ElementTree模块,将XML格式的安全测试用例转化ET树;对元素树进行遍历,首先获取XML安全测试用例中AttackStrategy元素对象,依次获取attackPath子元素对象,将attackPath下的attackScript、attackScriptLanguage、attackScriptLocation元素值组合并进行语法转换;同样对TestStrategy子元素testStrategy下的testScript、testScriptLanguage、testScriptLocation元素值以及TestReport中的tester,dir,testDate值组合并进行语法转换后,写入到初始安全测试脚本生成模板中;最后输出shell支持的可执行安全测试脚本,完成安全测试脚本的自动化生成过程,用于后续的安全测试。2.根据权利要求1所述的一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,其特征在于,步骤1.1云外包数据服务场景下数据生命周期、数据流及威胁角色权限分析;典型的云外包数据生命周期,即DCSP使用CSP提供的IaaS服务建立数据服务,然后为DO提供数据计算应用;对于数据执行过程来说,数据处理在数据服务平台作业执行虚拟机内存中进行,计算完成后上传数据计算结果到分布式文件系统,因此数据泄露威胁来自恶意CSP管理员以及DCSP管理员;步骤1.2基于数据流的数据泄露指标体系自动化生成由步骤1.1中的DO生命周期中的作业数据流可知,按照数据所处不同位置进行分类,分为内存、文件系统以及网络三类;根据数据流经节点类型进行分类,分为云平台宿主机、外包数据服务虚拟机两类;通过节点类型与数据所处不同位置进行组合,对攻击位置进一步划分:将内存进一步划分为云平台宿主机内存与外包数据服务虚拟机内存;文件系统进一步划分为云平台宿主机文件系统,外包数据服务平台虚拟机本地文件系统,外包数据服务平台分布式文件系统;网络进一步划分为云平台宿主机网络与外包数据服务虚拟机网络;按照云平台不同服务模式进行分类,分为IaaS、PaaS、SaaS三种;由步骤1.1可知,按照攻击者角色进行分类,分为CSP以及DCSP两类;不同服务模式下的攻击者角色管控能力不同:对于云平台宿主机内存,云平台宿主机网络、云平台宿主机文件系统,无论是IaaS、PaaS还是SaaS服...

【专利技术属性】
技术研发人员:樊旭东詹静赵勇高雅琪韩瑾
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1