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

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

Info

Publication number
CN110022311A
CN110022311A CN201910200929.1A CN201910200929A CN110022311A CN 110022311 A CN110022311 A CN 110022311A CN 201910200929 A CN201910200929 A CN 201910200929A CN 110022311 A CN110022311 A CN 110022311A
Authority
CN
China
Prior art keywords
attack
data
node
service
safety test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910200929.1A
Other languages
English (en)
Other versions
CN110022311B (zh
Inventor
樊旭东
詹静
赵勇
高雅琪
韩瑾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910200929.1A priority Critical patent/CN110022311B/zh
Publication of CN110022311A publication Critical patent/CN110022311A/zh
Application granted granted Critical
Publication of CN110022311B publication Critical patent/CN110022311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,基于数据流分析的覆盖云外包数据服务生命周期的数据泄露检测指标生成方法;基于数据泄漏攻击对象攻击树模型的攻击图自动化构建;基于攻击图及XML安全测试描述语言自动化生成XML安全测试用例;基于模板的安全测试脚本自动化生成;本发明基于数据流分析覆盖云外包数据服务生命周期的数据泄露威胁,自动化构建云平台外包数据服务场景下的数据泄露安全指标体系;基于数据泄漏攻击点攻击树模型构建攻击树以及攻击图,提高攻击检测效率;提出基于XML安全测试描述语言,自动化生成可执行安全测试用例脚本。

Description

一种基于攻击图的云外包服务数据泄露安全测试用例自动化 生成方法
技术领域
本发明涉及一种安全测试用例生成方法,尤其涉及一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,属于云计算安全领域。
背景技术
云计算服务提供商提供的弹性计算服务可以为大数据的快速生成和批量分析提供技术保障,与大数据结合已经成为当前发展主流。云用户可以方便的直接选择云外包服务进行进行数据处理,然而,二者的结合也给云数据安全带来新的机遇与挑战。
当前主流的云服务提供者(Cloud Service Provider,CSP,也称为云服务提供商)主要通过计算、网络、存储虚拟化技术向云用户(CloudTenant,CT,也称为云租户)提供IaaS、PaaS、SaaS层服务。典型的云平台外包数据服务场景如下:数据计算服务提供者(DataComputing Service Provider,DCSP)租用CSP提供的IaaS层服务、租用多台虚拟机部署分布式数据计算服务集群PaaS平台、以SaaS模式向数据拥有者(Data Owner,DO)或其它DO许可的用户(这里以DO代称获取计算结果的用户)提供外包数据计算服务。
如图1所示,在典型的外包数据服务中,DCSP使用CSP提供的IaaS服务建立数据服务,然后为DO提供数据计算应用,此时外包数据的生命周期包括:1)DCSP上传计算程序,DO上传数据到数据服务平台,2)DO提交数据计算任务;3)数据计算程序在数据服务平台虚拟机内存中执行,4)DO下载数据计算结果。其中,1)CSP提供IaaS层、PaaS层、SaaS层云服务,具有云平台宿主机的root用户权限,负责控制与管理云平台宿主机操作系统,提供虚拟机给云用户使用;作为云平台管理员(CSP admin),拥有管理和维护云平台下所有组件服务的权限;2)DCSP使用CSP提供云虚拟机提供数据服务,具有虚拟机的root用户权限;DCSP作为数据服务平台管理员,拥有对数据服务平台的管理权限,向DO提供数据计算程序,拥有管理数据计算程序的权限。由于DO的数据由DCSP提供的数据计算服务明文处理,保存在CSP所有的云平台上,因此恶意CSP或DCSP管理员完全能够窃取或篡改DO的数据,导致DO数据面临来自DCSP和CSP特权用户的泄露风险威胁,因此需要研究能够自动检测恶意特权管理员攻击的云外包数据泄露测试方法。
现有云数据服务安全防护方法主要侧重于数据生命周期某一阶段的数据泄露安全风险,并未考虑云外包数据服务场景下的整个数据生命周期。例如,针对数据计算程序执行计算任务时Map阶段输入所导致的隐私数据泄露问题,Huseyin Ulusoy等人提出了细粒度的MapReduce安全策略实施方案,通过控制数据计算过程中的格式化输入内容限制Map阶段的输入,并在Java安全沙盒中运行计算程序,从而保护用户的隐私数据不被泄露;对于计算任务完成后访问数据计算结果所导致的数据泄露风险,Indrajit Roy等人提出的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)执行作业时通知作业执行虚拟机从外包数据服务平台分布式文件系统中下载作业所需数据文件到作业执行虚拟机本地文件系统,如附图3中流程4所示。
对于提交作业过程来说,数据主要经过数据服务平台分布式文件系统以及作业执行虚拟机本地文件系统,因此,数据泄露威胁来自恶意CSP管理员以及DCSP管理员。
5)数据计算程序在作业执行虚拟机内存中运行作业任务,分析DO数据,如附图3中流程5所示。
6)分析完成后上传数据分析结果到分布式文件系统指定输出目录中,如附图3中流程6所示。
7)DO从分布式文件系统中下载获取数据分析结果使用,如附图3中流程7所示。
对于数据执行过程来说,数据处理主要在数据服务平台作业执行虚拟机内存中进行,计算完成后上传数据计算结果到分布式文件系统,因此数据泄露威胁来自恶意CSP管理员以及DCSP管理员。
步骤1.2基于数据流的数据泄露指标体系自动化生成
由步骤1.1中的DO生命周期中的作业数据流可知,按照数据所处不同位置进行分类,分为内存、文件系统以及网络三类。根据数据流经节点类型进行分类,可以分为云平台宿主机、外包数据服务虚拟机两类。通过节点类型与数据所处不同位置进行组合,对攻击位置进一步划分:将内存进一步划分为云平台宿主机内存与外包数据服务虚拟机内存;文件系统进一步划分为云平台宿主机文件系统,外包数据服务平台虚拟机本地文件系统,外包数据服务平台分布式文件系统;网络进一步划分为云平台宿主机网络与外包数据服务虚拟机网络。
按照云平台不同服务模式进行分类,分为IaaS、PaaS、SaaS三种。由步骤1.1可知,按照攻击者角色进行分类,分为CSP以及DCSP两类。不同服务模式下的攻击者角色管控能力不同:对于云平台宿主机内存,云平台宿主机网络、云平台宿主机文件系统,无论是IaaS、PaaS还是SaaS服务模式,均由CSP控制;对于外包数据服务虚拟机内存,外包数据服务虚拟机网络、外包数据服务虚拟机文件系统、外包数据服务分布式文件系统,在IaaS或PaaS服务模式下由CSP和DCSP控制,而在SaaS服务模式下则由CSP控制。
其次,根据不同攻击位置的被攻击对象进行分类,将其分为静态策略与配置文件和动态可执行程序文件。
依据数据泄露方式进行分类,分为直接泄露与间接泄露两种,其中,直接泄露方式是由于内存中运行的可执行程序本身存在恶意行为,在运行时直接读写DO数据;而间接泄露方式则是由于位于文件系统的静态策略与配置文件以及可执行文件被攻击后所导致的组合上层细化的被攻击对象与检测指标类型,生成云外包数据服务场景下的数据泄露检测指标。依据不同服务模式,遍历不同攻击位置被攻击对象,与检测指标组合得到数据泄露指标体系。
步骤2基于数据泄漏攻击对象攻击树模型的攻击图自动化构建
本步骤2将基于步骤1中生成的数据泄露指标体系,结合数据生命周期的不同阶段及数据具体流向,采用攻击树模型来描述数据流经关键点被攻击对象的具体攻击方式,并组合被攻击对象、攻击路径及攻击方式构建攻击图。
步骤2.1攻击树构建
依据步骤1.2中确定的数据泄漏检测指标体系,结合步骤1.1中不同阶段的作业数据流向及数据流经关键点,分析不同阶段被攻击对象的具体攻击子目标或攻击方式,从攻击者的角度出发构建攻击树。基本步骤为:
对步骤1.2生成的所有被攻击对象检测指标,分别以被攻击对象检测指标为根节点,创建只包含根节点的攻击树;
依次获取每一个根节点包含的攻击子目标或攻击方式,根据攻击子目标或攻击方式的逻辑关系,将其作为叶子节点插入到对应根节点攻击树中,作为根节点的孩子节点。从而,构建包含不同逻辑结构的攻击树。
所构建的攻击树由根节点,非叶子节点以及叶子节点构成。其中,根节点表示步骤1中的被攻击对象,叶子节点为具体攻击方式,非叶子节点为实现根节点被攻击对象的攻击子目标。
节点包括两种类型,一种为“与”节点,一种为“或”节点。“与”节点表示所有子节点之间是逻辑“与”关系,即当且仅当实现所有子节点所表示的攻击方式或攻击子目标时,才可以实现父节点;而“或”节点表示所有子节点之间是逻辑“或”关系,当且仅当实现任一子节点表示的攻击方式或攻击目标时,就可以实现父节点。
步骤2.2分阶段攻击图构建。
通过抽象攻击图与攻击树组合构建算法实现攻击图构建过程,包括两个步骤:
步骤2.2.1,生成抽象攻击图。
结合步骤1.1中确定的云外包数据生命周期不同阶段以及被攻击对象,由DO生命周期中的正常数据流分析可知,数据流经路径上的关键点依次为:云平台宿主机文件系统,云平台虚拟网络设备,外包数据服务平台管理虚拟机本地文件系统,外包数据服务平台分布式文件系统,外包数据服务平台任务调度节点虚拟机本地文件系统,外包数据服务平台任务调度节点虚拟机内存。
基于生命周期每一阶段,创建正常状态节点,并通过遍历不同阶段数据流经关键点获取被攻击对象,创建被攻击对象中间节点,将其设置为正常状态节点的邻接节点;
创建异常状态节点,作为被攻击对象中间节点的邻接节点,这样就建立了不同阶段下由正常状态节点出发,依次经过被攻击对象中间节点,最后到异常状态节点的抽象攻击图。
步骤2.2.2,构建实际攻击图。
首先,对每一阶段的抽象攻击图进行深度优先遍历,得到所有被攻击对象中间节点,然后遍历以此被攻击对象中间节点为根节点的攻击树,根据攻击树根节点的孩子节点“与”、“或”关系类型,生成所有被攻击对象的组合攻击方式。
之后使用被攻击对象的组合攻击方式依次替换抽象攻击图中相应被攻击对象中间节点,从而构建包含被攻击对象具体攻击细节的实际攻击图。
步骤3基于攻击图及XML安全测试描述语言自动化生成XML安全测试用例
通过步骤2.2中构建的攻击图,直观描述可能导致数据泄露的攻击方式。而为了能够支持安全测试的可扩展性以及测试过程的自动化,本方法提出了基于XML(ExtensibleMarkup Language,可扩展标记语言)的安全测试描述语言,用于描述测试过程。
采用XML Schema语言描述的XSD文件对XML安全测试文件中包含的场景数据元素与属性字段进行定义,包括三部分数据元素:攻击策略元素(AttackStrategy)、测试策略元素(TestStrategy)以及测试报告元素(TestReport)。
其中,攻击策略元素是由一条或者多条攻击路径(attackPath)元素组成的集合,定义如下:
attackScenesType,attacker,
attackPath=<attackScriptLocation,attackScriptLanguage,>
attackScript,attackPoint,attackDescription
攻击策略元素主要定义了在某种攻击子场景下,攻击者使用场景攻击脚本路径下某一种编程语言实现的攻击脚本对攻击点发起攻击以及攻击过程的描述;
测试策略元素是由一种或者多种测试方法(testMethod)元素组成的集合,定义如下:
testScenesType,tester,
testMethod=<testScriptLocation,testScriptLanguage,>
testScript,testTime
测试策略元素主要定义了在某种攻击后的子场景下,测试者可以使用该场景测试脚本路径下某一种编程语言实现的测试脚本对该场景是否存在某类攻击进行安全测试以及执行的测试次数;
测试报告元素不包含其他子元素,描述测试者进行安全测试的测试日期以及测试报告的存储路径,定义如下:
TestReport=<tester,dir,testDate>
基于攻击图与XML安全测试描述语言,生成XML安全测试用例基本步骤如下:
对步骤2中的攻击图执行深度优先遍历算法,从正常状态节点出发,得到其邻接节点后,依次对所有邻接节点元素进行遍历,得到所有从正常状态节点出发到异常状态节点的攻击路径。
对每一条攻击路径,通过步骤3.1中所定义的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支持的可执行安全测试脚本,完成安全测试脚本的自动化生成过程,用于后续的安全测试。
本发明与现有技术相比,具有以下明显的优势和有益效果:
1)提出了一种基于数据流分析的覆盖云外包数据服务生命周期的数据泄露检测指标生成方法。该方法基于数据服务执行前后作业相关数据流经路径分析,针对不同层次的云服务商权限、数据所处物理位置、被攻击对象,综合分析面临的攻击威胁,能够自动得到全面的云外包数据服务数据泄露检测指标体系。以多层云服务外包场景为例,该场景下的数据泄露检测指标包括14类细化检测指标,与现有数据泄露检测方法相比,增加了攻击者权限和数据所处位置分析,保证了检测指标的全面性。
2)提出了一种基于分阶段高效攻击图遍历的攻击检测方法。该方法基于不同的数据流阶段,组合攻击点、攻击路径及攻击方式构建攻击图,大幅提高攻击图的构建效率,并且能够更好地反映被攻击对象的具体攻击方式。
3)提出了一种能够基于攻击图自动生成测试脚本的XML安全测试描述语言。与现有用于规范测试的自动测试语言(如ATML)相比,该语言能够描述策略实施级别属性(如具体攻击场景、攻击者、攻击点、攻击方法、攻击脚本等),因此能够自动基于攻击图生成可执行的安全测试脚本。
附图说明
图1云平台外包数据服务场景示意图;
图2云外包数据服务数据泄露安全测试用例自动化生成方法流程图;
图3云外包数据服务数据流向及攻击点;
图4云平台外包服务数据泄露检测指标体系;
图5MapReduce程序攻击树示意图;
图6MapReduce程序攻击图示意图;
图7基于XML技术的安全测试用例描述格式示意图;(7-a)为安全测试用例XMLSchema模型;(7-b)为XML安全测试用例示意图。
图8可执行安全测试脚本生成流程图;
图9安全测试脚本生成模板及可执行安全测试脚本示例图;(9-a)为安全测试脚本生成模板示例;(9-b)为可执行安全测试脚本示例。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的说明。
本发明主要以DCSP在OpenStack云平台虚拟机中部署Hadoop分布式数据服务集群为例说明基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法执行过程,但不限于在其他云平台上部署分布式大数据服务平台。具体步骤如下:
1.基于数据流分析的云外包数据服务生命周期的数据泄露检测指标生成方法,具体实施步骤为:
首先,对该场景下的数据流经关键点、数据所处位置、被攻击对象以及攻击角色进行分析,实现云外包数据服务数据泄露检测指标体系自动化构建。
1)由云外包数据服务场景下的DO作业执行过程可知,该场景下的数据生命周期分为4个阶段,分别为:DCSP上传MapReduce数据计算程序,DO上传数据文件到Hadoop数据服务平台;DO提交数据计算任务;数据服务平台虚拟机内存中执行;任务完成后DO下载获取数据计算结果。
2)由DO数据生命周期正常数据流可知,数据流经关键节点分别为:由云平台Host机、虚拟网络设备到Hadoop Master虚拟机,再到Hadoop HDFS;由HDFS到Hadoop Slave虚拟机,最后经过Hadoop Slave虚拟机内存计算返回结果;
3)由数据流经关键点可知,攻击位置可以分为三类,分别为:内存(Memory)、文件系统(FS)与网络(Network),流经节点包括云平台host与Hadoop虚拟机两类。
为此,进一步进行划分:Memory包括云平台host内存,Hadoop虚拟机内存;FS则包括云平台host本地文件系统、Hadoop虚拟机本地文件系统以及HDFS;Network包括云平台host网络以及Hadoop虚拟机网络;
4)对于不同攻击位置,被攻击对象分为5类,分别为:云平台host本地文件系统可攻击对象、Hadoop虚拟机本地文件系统可攻击对象、HDFS可攻击对象以及云平台host内存可攻击对象、Hadoop虚拟机内存可攻击对象。
云平台host本地文件系统可攻击对象包括位于云平台host的可执行程序以及host机中的云平台策略配置文件;
Hadoop虚拟机本地文件系统可攻击对象则包括位于Hadoop虚拟机本地可执行程序以及Hadoop平台策略配置文件;
HDFS可攻击对象则包括作业计算程序以及作业策略配置文件;云平台host内存可攻击对象包括运行在内存中的host操作系统程序以及Openstack云平台组件程序;
云平台host可攻击对象则包括运行于host内存中的操作系统程序、云平台组件运行程序。
Hadoop虚拟机内存可攻击对象则包括运行在内存中的虚拟机操作系统程序,Hadoop平台程序以及MapReduce数据计算程序。
5)由数据生命周期不同阶段参与者可知,主要分为2类角色:CSP、DCSP。DCSP通过租用CSP提供的IaaS层服务资源部署Hadoop数据服务平台,负责管理Hadoop平台并提供MapReduce数据计算程序完成外包数据计算任务。因此,攻击角色主要来自恶意CSP管理员以及恶意DCSP管理员。
根据数据流经关键点(DataFlowKeyPoints)、攻击位置(attackPosition)、不同服务模式(CloudOutsourcedServiceMode)、攻击者角色(attacker)、被攻击对象(attackObject)和数据泄露方式(leakageMethod),可构建云外包Hadoop数据服务场景下的数据泄露指标体系,检测指标生成(generateDetectIndex)算法描述如下:
算法输入为云外包服务模式(CloudOutsourcedServiceMode),值包括三种类型:IaaS,Paas,SaaS,输出为攻击者(attacker)与被攻击对象(attackObjects)和泄露方式组成的检测指标(detectIndex)。由上述算法可知,对于不同的云外包服务模式,所输出的攻击者也会有所不同,由于不同的攻击角色负责的对象不同,因此,最终生成的检测结果中,攻击者所攻击的对象会有不同。对于IaaS或PaaS服务模式,攻击者为恶意CSP以及DCSP;对于SaaS服务模式来说,攻击者为恶意CSP。通过获取不同模式下攻击者的攻击对象,可以对相关攻击者及攻击对象进行相应调整,通过攻击对象与指标生成检测指标。
以DCSP租用CSP提供的IaaS外包服务模式部署Hadoop服务平台举例说明,上述自动生成的测试指标及解释如下:
输入云外包服务模式为IaaS,依据算法该场景下的attacker为恶意CSP管理员(malicious CSP admin)以及恶意DCSP管理员(malicious DCSP admin);
由dataFlow获取DataFlowKeyPoints,在该场景下DataFlowKeyPoints取值为云平台宿主机内存(HostMemory),Hadoop平台虚拟机内存(VMMemory);云平台宿主机文件系统(Hostfs),Hadoop平台虚拟机文件系统(VMfs),Hadoop平台分布式文件系统HDFS;云平台宿主机HostNetwork,VMNetwork。
由DataFlowKeyPoints获取attackPositions,attackPositions为Memory,Neiwork,FS三种,然后遍历attackPositions与DataFlowKeyPoints,依据攻击者所负责攻击对象的不同,与leakageMethod组合输出所有检测指标。
2.攻击图构建。通过组合攻击树生成的具体攻击方式以及包含攻击点的攻击图构建攻击图。以数据计算阶段攻击MapReduce数据计算程序为例,说明攻击图的构建过程,其他阶段攻击图构建过程与此类似。具体实施步骤为:
步骤2.1,构建MapReduce程序攻击树
步骤2.1.1,生成只包含MapReduce程序根节点的攻击树;
步骤2.1.2,获取攻击树中当前叶子节点包含的攻击方法;
步骤2.1.3,判断当前叶子节点的攻击方法是否包含攻击子目标,包括两种情况:
a)如果包含攻击子目标,判断攻击子目标之间的逻辑关系,如果为“与”关系,则创建子目标“与”节点,将其作为叶子结点插入到以当前叶子节点为根节点的攻击树中;如果为“或”关系,则创建子目标“或”节点,将其插入到以当前叶子节点为根节点的攻击树中;继续获取叶子结点子目标包含的攻击方法,重复执行步骤2.1.2-2.1.3,直至所有叶子节点攻击方法获取完毕;
b)如果不包含攻击子目标,则判断攻击方式之间的逻辑关系,如果为“与”关系,则创建攻击方式“与”节点,将其插入到以当前叶子节点为根节点的攻击树中;如果为“或”关系,则创建攻击方式“或”节点,将其插入到以当前叶子节点为根节点的攻击树中;
图5展示了攻击MapReduce程序的攻击树。其中,攻击MapReduce程序包含两个子目标,分别为非法读取数据以及通过网络发送数据。非法读取数据又包括两个子目标,一个为破坏Hadoop平台,一个非法读取DO数据。其中,破坏Hadoop平台、非法读取DO数据是或关系,表示实现非法读取数据只需要完成一个目标即可;非法读取数据与通过网络发送数据之间是与的关系,即在攻击时可以通过调用JAVA执行API增加恶意执行Hadoop平台shell命令,破坏Hadoop平台;或者调用HDFS文件系统读写API非法读写HDFS中的DO数据文件;通过调用JAVA本地文件系统API非法读写本地文件系统的DO数据,最后通过调用网络socket相关API增加恶意网络连接实现将读写的数据发送到攻击者。
步骤2.2,构建抽象攻击图。
步骤2.2.1,获取上述步骤2.1中的数据计算阶段中的被攻击对象,可以得到被攻击对象为MapReduce数据计算程序,创建正常状态节点,设置其邻接节点为攻击MapReduce程序;
步骤2.2.2,创建异常状态节点,设置攻击MapReduce程序邻接节点为异常状态节点。
步骤2.3,基于攻击树与抽象攻击图构建实际攻击图。
基于步骤2.1中的基于攻击点的攻击方式以及步骤2.2中的抽象攻击图,使用基于攻击点的具体攻击方式替换抽象攻击路径中的攻击点,组合步骤2.1的攻击方式、步骤2.2的抽象攻击路径构建实际攻击图,具体构建方式如下:
步骤2.3.1,遍历步骤2.2中的抽象攻击图,读取抽象攻击图正常状态节点,获取其所有邻接节点,存入邻接节点列表中;
步骤2.3.2,判断邻接节点列表是否为空,如果为空,表明当前抽象攻击图为空,结束遍历过程;如果不为空,取出邻接节点列表中第一个元素;
步骤2.3.3,依次获取所有攻击树根节点值,判断当前攻击树根节点值是否与邻接节点列表中第一个元素值一致,存在两种情况:
1)如果一致,则开始遍历当前攻击树,执行步骤2.3.4-2.3.6;
2)如果不一致,则继续获取攻击树根节点值,重复步骤2.3.3,直至所有攻击树根节点遍历完毕。
步骤2.3.4,获取当前根节点的孩子节点,写入孩子节点列表中;
步骤2.3.5,循环遍历孩子节点列表中所有节点,判断节点属于“与”节点,“或”节点中的哪一种,分为两种情况:
1)如果是“与”节点,然后判断该节点是否为叶子节点,
a)如果是叶子节点,则将该节点加入“与”节点列表中;
b)如果不是,则继续遍历该节点的孩子节点,生成新的孩子节点列表,插入到该节点所在原孩子节点列表下标位置,重复执行步骤2.3.5.
2)如果是“或”节点,然后判断该节点是否为叶子节点,
a)如果是叶子节点,则将该节点加入“或”节点列表中,遍历下一个节点;
b)如果不是,则继续遍历该节点的孩子节点,生成新的孩子节点列表,插入到该节点所在原孩子节点列表下标位置,重复执行步骤2.3.5.
步骤2.3.6,判断孩子节点列表中第一个元素节点的类型,分为两种情况生成攻击路径:
1)如果为“或”节点,则先从或节点列表开始遍历,此时分为两种情况:
a)如果“与”节点列表为空,取出所有或节点元素,将其作为正常状态节点的邻接节点,并设置其邻接节点为异常状态节点;
b)如果“与”节点列表不为空,则依次取出或节点列表元素,将其作为正常状态节点的邻接节点,并设置其邻接节点为“与”节点列表中元素,最后设置“与”节点列表中元素的邻接节点为异常状态节点;
2)如果为“与”节点,则先从“与”节点列表开始遍历,此时分为两种情况:
a)如果“或”节点列表为空,取出所有与节点元素,将其作为正常状态节点的邻接节点,并设置其邻接节点为异常状态节点;
b)如果“或”节点列表不为空,则依次取出与节点列表元素,设置正常状态节点的邻接节点为“与”节点列表元素中第一个元素,设置“与”节点列表元素中最后一个元素的邻接节点为异常状态节点;同时依次取出“或”节点列表中元素,设置其为正常状态节点的邻接节点,并设置其元素邻接节点为异常状态节点;
步骤2.3.7,获取邻接节点列表第一个元素的邻接节点,判断此元素邻接节点是否为异常状态节点,此时存在两种情况:
1)如果为异常状态节点,则遍历正常状态节点邻接节点列表中下一个元素,重复执行步骤2.3.3;
2)如果不是异常状态节点,则继续获取其邻接节点,重复执行步骤2.3.3,直至为异常状态节点;
步骤2.3.8,重复执行上述步骤,直至邻接节点列表所有元素遍历完毕。
所建立的攻击图如附图6中所示,由正常状态节点出发,通过攻击MapReduce数据计算程序攻击树的具体攻击方式,到达异常状态的抽象攻击图。其中,正常状态节点表示预期允许的数据计算程序行为操作,而异常状态节点表示被攻击后的异常行为操作。
3.由攻击图生成XML安全测试用例。基于步骤2生成的攻击图与XML安全测试描述语言生成XML安全测试用例的基本流程为:遍历攻击图获取攻击路径,将攻击路径依次转化为XML安全描述语言元素,生成XML安全测试用例。XML安全测试描述语言定义如附图7-a所示,具体实施步骤为:
步骤3.1,对步骤2构建的攻击图,读取攻击图正常状态节点,获取其所有邻接节点,存入邻接节点列表中;
步骤3.2,判断邻接节点列表是否为空,如果为空,表明当前攻击图未生成,结束遍历过程;如果不为空,取出邻接节点列表中第一个元素,获取此元素的邻接节点;
步骤3.3,判断此元素邻接节点是否为异常状态节点,此时存在两种情况:
1)如果为异常状态节点,则将上一节点元素值添加到攻击路径中,并将其设置为被访问状态,使用元素树模块中的Element()生成AttackStrategy元素、TestStrategy元素、TestReport元素,使用SubElement()生成attackPath子元素,,获取上一节点元素的具体值,使用SubElement().text对attackPath子元素下attacker,attackScriptLocation,attackScriptLanguage,attackScript等进行赋值,写入XML安全测试文档中;
2)如果不是异常状态节点,则先将上一个元素节点值添加到攻击路径中,然后继续获取其邻接节点,重复执行步骤3.3,直至为异常状态节点;
步骤3.4,判断正常状态节点第一个邻接节点的邻接节点列表中是否包含未被访问的节点,如果包含,则重复步骤2);如果不包含,则转入步骤3.5;
步骤3.5,删除正常状态节点第一个邻接元素节点,获取下一个邻接元素节点,重复执行步骤3.2-3.4,直至正常状态节点所有邻接节点列表为空为止。
步骤3.6,使用SubElement().text对testStrategy子元素下tester,testScriptLocation,testScriptLanguage,testScript等进行赋值,写入XML安全测试文档中;
步骤3.7,使用SubElement().text对TestReport子元素下tester,dir,testDate等进行赋值,写入XML安全测试文档中。
步骤3.8,通过调用ET.ElementTree().write()方法生成XML安全测试用例。
通过上述步骤就可以将攻击图转化为XML安全测试用例,XML安全测试用例示例如附图7-b所示。附图7-b中展示了云外包数据服务场景下恶意的CSP管理员(malicious cspadmin)通过攻击脚本(attackScript1.py)向攻击点为虚拟网络设备(virtual networkdevice)发起攻击,该攻击脚本实现在虚拟网络设备LinuxBridge上增加了一台恶意虚拟机用以捕获用户数据。
第三方(third-party)测试人员则通过测试脚本(testScript1.py)收集虚拟网络设备Linux Bridge上的策略规则,检测是否存在恶意虚拟机嗅探用户数据,生成测试报告。
4.基于模板的安全测试脚本生成流程图如附图8所示,主要包括以下三个流程:定义可执行安全测试脚本生成模板、解析XML安全测试用例并生成可执行安全测试脚本。具体实施步骤为:
步骤4.1,定义安全测试脚本生成模板。
该模板主要用于后续安全测试脚本的生成及执行,初始模板仅包括脚本开始处的shell解释器声明部分以及相关测试脚本的注释说明部分,如附图9-a所示,
其中,#!/bin/bash表示使用哪一种shell解释器来解释执行脚本程序;第三行与第四行的注释部分文字是对此脚本生成模板的解释说明;
接下来的注释部分则是对测试脚本主体的开始和结束的说明。
步骤4.2,解析XML安全测试用例,生成可执行脚本。
本发明采用元素解析树的方式对步骤3生成的XML安全测试用例进行解析。具体步骤如下:
步骤4.2.1,首先引入python内置的xml.etree.ElementTree模块,调用parse()函数读取XML安全测试用例,将其转化为元素树ET;
步骤4.2.2,使用getroot()方法获取ET的根节点,即XML安全测试用例中最外层的元素节点;
步骤4.2.3,调用findall()函数获取ET树根节点标签元素所包含的AttackStrategy元素节点,循环遍历该元素节点,使用find().text得到attackScript元素、attackScriptLocation以及attackScriptLanguage元素的值,将其转换为attackScriptLanguage attackScriptLocation/attackScript调用语句;
步骤4.2.4,调用findall()函数获取ET树根节点标签元素所包含的TestStrategy元素节点,循环遍历该元素节点,使用find().text得到testScript元素、testScriptLocation以及testScriptLanguage元素的值,将其转换为testScriptLanguagetestScriptLocation/testScript调用语句;
步骤4.2.5,调用findall()函数获取ET树根节点标签元素所包含的TestReport元素节点,循环遍历该元素节点,使用find().text得到tester元素、dir元素以及testDate元素的值,将其作为步骤4.2.4调用语句的输入参数;
步骤4.2.6,将步骤4.2.3与4.2.4中的调用语句写入步骤4.1定义的测试脚本生成模板中;重复执行步骤4.2.3-4.2.5,将所有攻击脚本与测试脚本写入测试脚本生成模板中,直至所有攻击策略与测试策略子元素节点读取完毕;
步骤4.2.7,读取完毕后,生成shell支持的可执行安全测试脚本,输出到XML安全测试用例中测试脚本所在路径。
上述步骤完成之后,就可以由XML安全测试用例生成可执行的安全测试脚本,如附图9-b所示。

Claims (5)

1.一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,其特征在于,该方法包括以下4个步骤:
步骤1基于数据流分析的覆盖云外包数据服务生命周期的数据泄露检测指标生成方法;
本步骤将结合云外包数据服务场景下的DO数据生命周期,分析生命周期中存在的威胁角色及不同服务模式下威胁角色之间的关系,从攻击者视角对正常数据流进行分析,依次按照数据所处不同位置,针对不同层次的服务商以及被攻击对象自动化生成数据泄露检测指标;
步骤2基于数据泄漏攻击对象攻击树模型的攻击图自动化构建
本步骤2将基于步骤1中生成的数据泄露指标体系,结合数据生命周期的不同阶段及数据具体流向,采用攻击树模型来描述数据流经关键点被攻击对象的具体攻击方式,并组合被攻击对象、攻击路径及攻击方式构建攻击图;
步骤3基于攻击图及XML安全测试描述语言自动化生成XML安全测试用例;
通过构建的攻击图,直观描述可能导致数据泄露的攻击方式;而为了能够支持安全测试的可扩展性以及测试过程的自动化,本方法提出了基于XML的安全测试描述语言,用于描述测试过程;
采用XML Schema语言描述的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服务模式,均由CSP控制;对于外包数据服务虚拟机内存,外包数据服务虚拟机网络、外包数据服务虚拟机文件系统、外包数据服务分布式文件系统,在IaaS或PaaS服务模式下由CSP和DCSP控制,而在SaaS服务模式下则由CSP控制;
其次,根据不同攻击位置的被攻击对象进行分类,将其分为静态策略与配置文件和动态可执行程序文件;
依据数据泄露方式进行分类,分为直接泄露与间接泄露两种,其中,直接泄露方式是由于内存中运行的可执行程序本身存在恶意行为,在运行时直接读写DO数据;而间接泄露方式则是由于位于文件系统的静态策略与配置文件以及可执行文件被攻击后所导致的组合上层细化的被攻击对象与检测指标类型,生成云外包数据服务场景下的数据泄露检测指标;依据不同服务模式,遍历不同攻击位置被攻击对象,与检测指标组合得到数据泄露指标体系。
3.根据权利要求2所述的一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,其特征在于,由于云计算能够提供IaaS、PaaS或SaaS三种不同的服务模式:
1)在典型云外包数据服务中,CSP仅提供IaaS服务,由DCSP租用IaaS虚拟机部署分布式数据计算服务集群平台,此时CSP负责提供云平台虚拟机,而DCSP负责管理虚拟机,运行在虚拟机上的数据服务平台及数据计算程序;
2)CSP提供包括数据服务的PaaS服务,由DCSP租用PaaS服务部署数据计算程序,此时CSP负责提供云平台虚拟机,以及运行在虚拟机上的数据服务计算平台,DCSP提供相应的数据计算程序;
3)CSP提供包括数据服务和数据计算应用的SaaS服务,此时CSP与DCSP相当于一个角色,由CSP负责提供云虚拟机,运行在虚拟机上的数据服务计算平台,以及相应的数据计算程序;
综上所述,虽然不同服务模式下的CSP及DCSP对被攻击对象即数据及程序的控制力有所不同,但由于数据流相同,典型云外包数据服务提出的数据泄漏检测指标能够推广用于不同的服务模式,仅需要对相关攻击者及攻击对象进行相应调整。
4.根据权利要求2所述的一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,其特征在于,
DO作业数据流包括如下7个流程:
1)DO通过云平台虚拟网络设备将数据文件上传至外包数据服务平台虚拟机分布式文件系统;
2)DCSP将数据计算程序上传至外包数据服务平台虚拟机本地文件系统;
对于上传数据过程,数据经过云平台宿主机文件系统,云平台虚拟网络设备、数据服务平台管理虚拟机文件系统与分布式文件系统;对于云平台宿主机文件系统以及虚拟网络设备来说,数据泄露威胁来自恶意CSP管理员,对于数据服务平台管理虚拟机文件系统以及分布式文件系统来说,攻击者来自恶意CSP管理员以及DCSP管理员;
3)使用DCSP提供的数据计算程序运行作业,此时生成数据计算程序jar包,作业配置文件,分片元数据文件并上传到分布式文件系统中;
4)执行作业时通知作业执行虚拟机从外包数据服务平台分布式文件系统中下载作业所需数据文件到作业执行虚拟机本地文件系统;
对于提交作业过程来说,数据经过数据服务平台分布式文件系统以及作业执行虚拟机本地文件系统,因此,数据泄露威胁来自恶意CSP管理员以及DCSP管理员;
5)数据计算程序在作业执行虚拟机内存中运行作业任务,分析DO数据;
6)分析完成后上传数据分析结果到分布式文件系统指定输出目录中;
7)DO从分布式文件系统中下载获取数据分析结果使用。
5.根据权利要求2所述的一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法,其特征在于,
步骤2.1攻击树构建
依据步骤1.2中确定的数据泄漏检测指标体系,结合不同阶段的作业数据流向及数据流经关键点,分析不同阶段被攻击对象的具体攻击子目标或攻击方式,从攻击者的角度出发构建攻击树;基本步骤为:
对步骤1.2生成的所有被攻击对象检测指标,分别以被攻击对象检测指标为根节点,创建只包含根节点的攻击树;
依次获取每一个根节点包含的攻击子目标或攻击方式,根据攻击子目标或攻击方式的逻辑关系,将其作为叶子节点插入到对应根节点攻击树中,作为根节点的孩子节点;从而,构建包含不同逻辑结构的攻击树;
所构建的攻击树由根节点,非叶子节点以及叶子节点构成;其中,根节点表示步骤1中的被攻击对象,叶子节点为具体攻击方式,非叶子节点为实现根节点被攻击对象的攻击子目标;
节点包括两种类型,一种为“与”节点,一种为“或”节点;“与”节点表示所有子节点之间是逻辑“与”关系,即当且仅当实现所有子节点所表示的攻击方式或攻击子目标时,才可以实现父节点;而“或”节点表示所有子节点之间是逻辑“或”关系,当且仅当实现任一子节点表示的攻击方式或攻击目标时,就可以实现父节点;
步骤2.2分阶段攻击图构建;
通过抽象攻击图与攻击树组合构建算法实现攻击图构建过程,包括两个步骤:
步骤2.2.1,生成抽象攻击图;
结合确定的云外包数据生命周期不同阶段以及被攻击对象,由DO生命周期中的正常数据流分析可知,数据流经路径上的关键点依次为:云平台宿主机文件系统,云平台虚拟网络设备,外包数据服务平台管理虚拟机本地文件系统,外包数据服务平台分布式文件系统,外包数据服务平台任务调度节点虚拟机本地文件系统,外包数据服务平台任务调度节点虚拟机内存;
基于生命周期每一阶段,创建正常状态节点,并通过遍历不同阶段数据流经关键点获取被攻击对象,创建被攻击对象中间节点,将其设置为正常状态节点的邻接节点;
创建异常状态节点,作为被攻击对象中间节点的邻接节点,这样就建立了不同阶段下由正常状态节点出发,依次经过被攻击对象中间节点,最后到异常状态节点的抽象攻击图;
步骤2.2.2,构建实际攻击图;
首先,对每一阶段的抽象攻击图进行深度优先遍历,得到所有被攻击对象中间节点,然后遍历以此被攻击对象中间节点为根节点的攻击树,根据攻击树根节点的孩子节点“与”、“或”关系类型,生成所有被攻击对象的组合攻击方式;
之后使用被攻击对象的组合攻击方式依次替换抽象攻击图中相应被攻击对象中间节点,从而构建包含被攻击对象具体攻击细节的实际攻击图。
CN201910200929.1A 2019-03-18 2019-03-18 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法 Active CN110022311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910200929.1A CN110022311B (zh) 2019-03-18 2019-03-18 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910200929.1A CN110022311B (zh) 2019-03-18 2019-03-18 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法

Publications (2)

Publication Number Publication Date
CN110022311A true CN110022311A (zh) 2019-07-16
CN110022311B CN110022311B (zh) 2021-09-24

Family

ID=67189685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910200929.1A Active CN110022311B (zh) 2019-03-18 2019-03-18 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法

Country Status (1)

Country Link
CN (1) CN110022311B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110730161A (zh) * 2019-09-09 2020-01-24 光通天下网络科技股份有限公司 网络靶场实现方法、装置、设备、介质及系统
CN111222159A (zh) * 2019-12-30 2020-06-02 中国电子科技集团公司第三十研究所 基于图计算技术的云平台数据泄漏路径识别方法
CN111343161A (zh) * 2020-02-14 2020-06-26 平安科技(深圳)有限公司 异常信息处理节点分析方法、装置、介质及电子设备
CN112511525A (zh) * 2020-11-24 2021-03-16 山西三友和智慧信息技术股份有限公司 一种网站恶意第三方内容检测方法及系统
CN113158184A (zh) * 2021-03-03 2021-07-23 中国人民解放军战略支援部队信息工程大学 基于有限状态自动机的攻击脚本生成方法及相关装置
WO2021152423A1 (en) * 2020-01-28 2021-08-05 International Business Machines Corporation Combinatorial test design for optimizing parameter list testing
CN114265785A (zh) * 2021-12-29 2022-04-01 无锡雪浪数制科技有限公司 基于Charles生成自动化测试脚本的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546639A (zh) * 2012-01-12 2012-07-04 北京航空航天大学 一种面向网络的渗透测试方案自动生成方法
CN103973790A (zh) * 2014-05-09 2014-08-06 中国电子科技集团公司第三十研究所 一种网络中存储的Web应用数据自动销毁的方法
CN103984900A (zh) * 2014-05-19 2014-08-13 南京赛宁信息技术有限公司 Android应用漏洞检测方法及系统
CN105787366A (zh) * 2016-02-16 2016-07-20 上海交通大学 基于组件关系的安卓软件可视化安全分析方法
CN108322306A (zh) * 2018-03-17 2018-07-24 北京工业大学 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法
US20190073227A1 (en) * 2011-07-12 2019-03-07 Tongling Yucheng Software Technology Co., Ltd Service model-oriented software system and operation method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190073227A1 (en) * 2011-07-12 2019-03-07 Tongling Yucheng Software Technology Co., Ltd Service model-oriented software system and operation method thereof
CN102546639A (zh) * 2012-01-12 2012-07-04 北京航空航天大学 一种面向网络的渗透测试方案自动生成方法
CN103973790A (zh) * 2014-05-09 2014-08-06 中国电子科技集团公司第三十研究所 一种网络中存储的Web应用数据自动销毁的方法
CN103984900A (zh) * 2014-05-19 2014-08-13 南京赛宁信息技术有限公司 Android应用漏洞检测方法及系统
CN105787366A (zh) * 2016-02-16 2016-07-20 上海交通大学 基于组件关系的安卓软件可视化安全分析方法
CN108322306A (zh) * 2018-03-17 2018-07-24 北京工业大学 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JING ZHAN,XUDONG FAN: "TPTVer: A Trusted Third Party Based Trusted Verifier", 《CHINA COMMUNICATIONS》 *
LI LIN: "A Privacy-aware Cloud Service Selection Method", 《 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS)》 *
姜百合: "基于Fuzzing技术的云数据泄露漏洞检测", 《武汉大学学报(理学版)》 *
林闯: "云计算安全架构、机制与模型评价", 《计算机学报》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110730161A (zh) * 2019-09-09 2020-01-24 光通天下网络科技股份有限公司 网络靶场实现方法、装置、设备、介质及系统
CN110730161B (zh) * 2019-09-09 2020-08-04 光通天下网络科技股份有限公司 网络靶场实现方法、装置、设备、介质及系统
CN111222159A (zh) * 2019-12-30 2020-06-02 中国电子科技集团公司第三十研究所 基于图计算技术的云平台数据泄漏路径识别方法
CN111222159B (zh) * 2019-12-30 2022-07-05 中国电子科技集团公司第三十研究所 基于图计算技术的云平台数据泄漏路径识别方法
WO2021152423A1 (en) * 2020-01-28 2021-08-05 International Business Machines Corporation Combinatorial test design for optimizing parameter list testing
US11336679B2 (en) 2020-01-28 2022-05-17 International Business Machines Corporation Combinatorial test design for optimizing parameter list testing
CN111343161B (zh) * 2020-02-14 2021-12-10 平安科技(深圳)有限公司 异常信息处理节点分析方法、装置、介质及电子设备
CN111343161A (zh) * 2020-02-14 2020-06-26 平安科技(深圳)有限公司 异常信息处理节点分析方法、装置、介质及电子设备
CN112511525A (zh) * 2020-11-24 2021-03-16 山西三友和智慧信息技术股份有限公司 一种网站恶意第三方内容检测方法及系统
CN112511525B (zh) * 2020-11-24 2022-07-22 山西三友和智慧信息技术股份有限公司 一种网站恶意第三方内容检测方法及系统
CN113158184A (zh) * 2021-03-03 2021-07-23 中国人民解放军战略支援部队信息工程大学 基于有限状态自动机的攻击脚本生成方法及相关装置
CN113158184B (zh) * 2021-03-03 2023-05-19 中国人民解放军战略支援部队信息工程大学 基于有限状态自动机的攻击脚本生成方法及相关装置
CN114265785A (zh) * 2021-12-29 2022-04-01 无锡雪浪数制科技有限公司 基于Charles生成自动化测试脚本的方法

Also Published As

Publication number Publication date
CN110022311B (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN110022311A (zh) 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法
Mouelhi et al. A model-based framework for security policy specification, deployment and testing
Hedin et al. A perspective on information-flow control
Nunes et al. phpSAFE: A security analysis tool for OOP web application plugins
Dragoni et al. Security-by-contract: Toward a semantics for digital signatures on mobile code
Liao et al. SmartDagger: a bytecode-based static analysis approach for detecting cross-contract vulnerability
Duarte et al. An empirical study of docker vulnerabilities and of static code analysis applicability
Armando et al. Enabling BYOD through secure meta-market
Lim et al. Secure namespaced kernel audit for containers
Bertolino et al. Testing of PolPA-based usage control systems
Ahmadpanah et al. Securing node-red applications
Casola et al. Secure software development and testing: A model-based methodology
Drouot et al. Model Federation based on Role Modeling.
Bertolino et al. Testing of PolPA authorization systems
Reeves Autoscopy Jr.: Intrusion detection for embedded control systems
Covaci et al. A new paradigm to address threats for virtualized services
CN109165509B (zh) 软件实时可信度量的方法、设备、系统及存储介质
Benedetti et al. Alice in (software supply) chains: risk identification and evaluation
Mourad et al. Towards an aspect oriented approach for the security hardening of code
Chen et al. Towards analyzing complex operating system access control configurations
Zulkernine et al. Software security engineering: toward unifying software engineering and security engineering
Olivieri et al. On-Chain Smart Contract Verification over Tendermint
Katkalov et al. Model-driven testing of security protocols with secureMDD
Layeb et al. Metrics, platforms, emulators, and testnets for ethereum
Jia et al. Research on security vulnerability detection of smart contract

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant