CN108763067B - 一种软件攻击模式关联关系分析方法 - Google Patents

一种软件攻击模式关联关系分析方法 Download PDF

Info

Publication number
CN108763067B
CN108763067B CN201810460380.5A CN201810460380A CN108763067B CN 108763067 B CN108763067 B CN 108763067B CN 201810460380 A CN201810460380 A CN 201810460380A CN 108763067 B CN108763067 B CN 108763067B
Authority
CN
China
Prior art keywords
attack
attack mode
skipping
atmj
atmi
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.)
Active
Application number
CN201810460380.5A
Other languages
English (en)
Other versions
CN108763067A (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.)
Xinchuanhui Electronic Technology Co ltd
Original Assignee
Xinchuanhui Electronic Technology Co ltd
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 Xinchuanhui Electronic Technology Co ltd filed Critical Xinchuanhui Electronic Technology Co ltd
Priority to CN201810460380.5A priority Critical patent/CN108763067B/zh
Publication of CN108763067A publication Critical patent/CN108763067A/zh
Application granted granted Critical
Publication of CN108763067B publication Critical patent/CN108763067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Abstract

一种软件攻击模式关联关系分析方法,对软件攻击模式的相关性分析提供了一种简单有效手段。首先,基于现有的Petri网建模技术对攻击模式进行描述,得到一种基于Petri网的攻击模式;然后,在此基础上进行攻击模式深度分析,计算每个攻击模式的深度值;最后,选择深度值小于阈值的攻击模式进行相关性分析。本发明可以挖掘出对软件系统危害更大的潜在具有组合关系的攻击模式,进而可以为基于攻击模式的软件安全性测试提供测试依据,最终提高测试效率。本发明克服了传统单一攻击模式的不足,为进行攻击模式组合实施提供了一种有效的方法。

Description

一种软件攻击模式关联关系分析方法
技术领域
本发明属于软件安全性测试领域,具体涉及一种软件攻击模式关联关系分析方法。
背景技术
随着计算机技术的发展,软件产品在军事电子信息系统等安全关键领域的应用越来越广泛,并且成为关键信息交互的重要手段。这种基于软件的信息系统在为各种应用提供极大便利的同时,也带来了安全隐患。在软件水平快速发展的同时,随着面向对象、构件软件、分布式软件以及云计算模式等新技术的兴起,软件的安全性更变得日益严重,并成为制约软件技术发展与应用的一个重要因素。特别是在一些涉及到国家和军事机密的应用场合,软件的安全性更是被认为是软件产品的首要质量属性。
近年来,软件安全性事件层出不穷,涉及的领域也越来越广,造成的危害也越来越大,而且这种趋势的增长速度十分惊人。这种严重的安全问题不仅造成巨额经济损失,也给日常生活和社会安定带来巨大影响。近年来仅我国就发生多起重要网站和数据库遭到黑客攻击事件,导致数百万用户信息的泄漏和随之而来的支付宝、iTunes等有价值账户被劫持,让人们对于互联网交易安全的信心进一步降低。在这种严峻形势下,人们对软件产品的质量提出了更高要求,特别是在一些安全关键领域应用中,软件安全性被认为是软件产品的首要质量属性。
目前,信息安全领域的研究人员把主要精力集中在网络安全技术和信息系统安全框架上,侧重于基于端口扫描的网络攻击防护、网络协议、入侵检测、网络容错和可信计算等方面,而忽略了软件系统自身的安全问题。然而,新的研究显示,近年引发严重安全危机的往往都是软件安全问题(如缓冲区溢出,SQL注入等)。据NIST统计,92%的安全性问题是由于软件自身的缺陷,而非网络等外围设备的缺陷所致。因此为有效提高网络信息安全的水平,除了需要加强网络防护体系和安全管理机制建设外,必须提升软件系统自身的安全质量,以应对各种攻击和恶意代码。在当前的各种软件质量保证技术中,软件测试虽然不能证明软件安全性不存在问题,但在实践中仍然是提高安全性最有效的手段之一。根据国家的规划,软件测试技术将作为保证软件产品安全性的重要手段,深度融入软件开发过程,以降低软件的安全缺陷率。国家863计划、国家自然科学基金和973项目等均将软件安全性测评作为软件领域的重点研究方向。目前有些软件开发机构将研制力量的40%以上投入到软件测试之中;对于某些安全关键软件,其测试费用甚至高达所有其他软件工程阶段费用总和的3至5倍。而这些关键软件由于其自身的应用环境特殊,必须经受更加严格的测试,以保证特殊信息的安全保密性。
然而,现有的软件安全性测试方法通常从软件应该具有的安全性行为出发,验证软件应该具有的安全功能是否正确。为有效检验软件在真实应用环境中的安全性,必须尽可能真实地模拟攻击者所使用的方法和技术对目标系统实施攻击。事实表明,尽管孤立的安全性攻击模式对网络安全的影响力有限,一旦黑客组合式地连续攻击多个关联攻击模式,则很可能给网络带来巨大危害。安全性攻击模式的组合不仅增加了攻击的隐蔽性,而且提高了攻击成功的概率。仅对单个安全性攻击模式进行攻击测试已无法满足当前逆向安全性测试的要求。
发明内容
本发明针对现有技术中的不足,提供一种软件攻击模式关联关系分析方法,目的是克服单个攻击模式的局限、为实施复合性攻击测试提供依据。
为实现上述目的,本发明采用以下技术方案:
一种软件攻击模式关联关系分析方法,其特征在于,包括以下步骤:
步骤一、使用Petri网对待分析攻击模式进行描述,得到基于Petri网的攻击模式;
步骤二、对基于Petri网的攻击模式进行深度分析,选取深度值小于深度阈值的攻击模式,构成待相关性分析的攻击模式集合;
步骤三、对待相关性分析的攻击模式集合中的攻击模式分别进行成对相关性分析。
为优化上述技术方案,采取的具体措施还包括:
所述步骤一中,将攻击模式的有色Petri网模型表示为一个六元组N=<P,T,Pre,Post,C,cd>,其中,P是一个有穷集合,代表攻击资源集合;T是一个有穷集合,并且和P不相交,代表攻击行为集合;C是颜色类的集合,代表攻击资源类型或攻击行为方式;cd:P∪T→C是颜色域的映射;Pre,Post∈β|P|×|T|表示N的向前和向后关联矩阵,使得对于每一对(p,t)∈P×T,Pre[p,t]:cd(t)→Bag(cd(p))和Post[p,t]:cd(t)→Bag(cd(p))是映射,分别代表攻击行为t的攻击前提和攻击结果,p表示攻击资源集合P中的一项攻击资源。
所述步骤二中,设置一个最大攻击深度值作为深度阈值,攻击模式的攻击深度值为攻击模式Petri网模型中最长顺序攻击链的长度。
所述步骤二中,针对基于Petri网模型的待分析攻击模式集合,攻击模式的深度分析过程如下:
步骤2.1、判断集合是否为空,如果为空,则跳转至步骤2.5,否则跳转至步骤2.2;
步骤2.2、选择一个未经深度分析的攻击模式,计算其深度值;
步骤2.3、深度值小于阈值,跳转至步骤2.4,否则跳转至步骤2.1;
步骤2.4、加入待相关性分析的攻击模式集合ATM={ATM1,ATM2,...,ATMn},其中,n表示集合中攻击模式的数量;
步骤2.5、结束。
所述步骤三中,相关性分析过程如下:
步骤3.1、判断待相关性分析的攻击模式集合ATM是否为空,如果为空,跳转至步骤3.7,否则跳转至步骤3.2;
步骤3.2、选择两个未相关性分析的攻击模式ATMi和ATMj,其中,ATMi和ATMj分别表示编号为i,.j的攻击模式;
步骤3.3、判断ATMi和ATMj是否共享资源,如果是,则标记ATMi和ATMj的关联关系为共享关系,跳转至步骤3.6,否则,跳转至步骤3.4;
步骤3.4、判断ATMi攻击结果是否为ATMj攻击前提之一,如果是,则标记ATMi和ATMj的关联关系为串联关系,跳转至步骤3.6,否则,跳转至步骤3.5;
步骤3.5、ATMi和ATMj之间不存在关联关系,标记ATMi和ATMj称为独立关系;
步骤3.6、将经过标记的ATMi和ATMj关联关系加入攻击模式关联关系集合,跳转至步骤3.1;
步骤3.7、结束。
本发明的有益效果是:对软件攻击模式的相关性分析提供了一种简单有效手段。首先,基于现有的Petri网建模技术对攻击模式进行描述,得到一种基于Petri网的攻击模式;然后,在此基础上进行攻击模式深度分析,计算每个攻击模式的深度值;最后,选择深度值小于阈值的攻击模式进行相关性分析。通过这种方法,可以挖掘出对软件系统危害更大的潜在具有组合关系的攻击模式,进而可以为基于攻击模式的软件安全性测试提供测试依据,最终提高测试效率。本发明克服了传统单一攻击模式的不足,为进行攻击模式组合实施提供了一种有效的方法。
附图说明
图1是本发明的流程图。
图2是本发明步骤一和步骤二的流程图。
图3是本发明步骤三的流程图。
图4是ATM1的Petri网的描述形式。
图5是ATM2的Petri网描述形式。
图6是ATM1和ATM2之间的串联关系表示。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
目前已有的攻击关联研究主要是从网络安全评估的角度出发,往往将网络拓扑结构等作为建模的重要部分,着眼于整个网络而非软件自身,因此对软件安全性测试意义有限。本发明研究软件自身潜在安全性缺陷面临的攻击模式间的关联关系,提出一种有效的分析方法,确定攻击模式之间存在的关联关系,为实施更为高效的复合攻击提供依据。
如图1所示的软件攻击模式关联关系分析方法,对待测试程序,选择需要分析关系的攻击模式,得到待分析攻击模式集合,方法的流程如图1所示,包括以下步骤:
一、使用Petri网对待分析攻击模式分别进行描述,得到基于Petri网的攻击模式。
Petri网是现有的一种成熟技术,一个攻击模式的有色Petri网模型可以表示为一个六元组N=<P,T,Pre,Post,C,cd>,P是一个有穷集合(N的库所集合),代表攻击资源;T是一个有穷集合(N的变迁集合),并且和P不相交,代表攻击行为的集合;C是颜色类的集合,代表攻击资源类型或攻击行为方式;cd:P∪T→C是颜色域的映射;Pre,Post∈βP|×|T|是矩阵(网N的向前和向后关联矩阵),使得对于每一对(p,t)∈P×T,Pre[p,t]:cd(t)→Bag(cd(p))和Post[p,t]:cd(t)→Bag(cd(p))是映射,分别代表攻击行为t的攻击前提和攻击结果,其中p表示攻击资源集合P中的一项攻击资源。
二、对基于Petri网描述形式的攻击模式进行深度分析,选取深度值小于阈值的攻击模式,构成待相关性分析的攻击模式集合。
一次软件安全事故中所利用的软件安全性缺陷数是有限的,因此需要设置一个最大攻击深度值作为深度阈值来终止算法搜索。攻击模式的攻击深度值为攻击模式Petri网模型中最长顺序攻击链的长度,本发明中设置攻击模式深度阈值为1。
待分析的攻击模式构成的集合称为待分析攻击模式集合,攻击模式的深度分析过程如图2所示,针对基于Petri网模型的待分析攻击模式集合:
2.1、判断集合是否为空,如果为空,则跳转至步骤2.5,否则跳转至步骤2.2;
2.2、选择一个未经深度分析的攻击模式,计算其深度值;
2.3、深度值小于阈值,跳转至步骤2.4,否则跳转至步骤2.1;
2.4、加入待相关性分析的攻击模式集合ATM={ATM1,ATM2,...,ATMn},其中n表示集合中攻击模式的数量;
2.5、结束。
三、对待相关性分析的攻击模式集合中的攻击模式分别进行成对相关性分析,相关性分析的步骤如图3所示,具体的步骤包括:
3.1判断待相关性分析的攻击模式集合ATM是否为空,如果为空,跳转至步骤3.7,否则跳转至步骤3.2;
3.2、选择两个未相关性分析的攻击模式ATMi和ATMj。其中,ATMi和ATMj分别表示编号为i,j的攻击模式;
3.3、判断ATMi和ATMj是否共享资源,如果是,则标记ATMi和ATMj的关联关系为共享关系,跳转至步骤3.6,否则,跳转至步骤3.4;
3.4、判断ATMi攻击结果是否为ATMj攻击前提之一,如果是,则标记ATMi和ATMj的关联关系为串联关系,跳转至步骤3.6,否则,跳转至步骤3.5;
3.5、ATMi和ATMj之间不存在关联关系,标记ATMi和ATMj称为独立关系;
3.6、将经过标记的ATMi和ATMj关联关系加入攻击模式关联关系集合,跳转至步骤3.1;
3.7、结束。
接下来,结合图4到图6,以ATM1和ATM2为例进一步说明,ATM1和ATM2分别为两个待分析攻击模式,其中ATM1为基于CWE-79跨站脚本缺陷的攻击模式,其Petri网描述形式如图4所示。ATM2为基于CWE-20输入验证不恰当缺陷的攻击模式,其Petri网描述形式如图5所示。
对于上述两个攻击模式,其中库所(P元素)表示为圆或椭圆,变迁(T元素)表示为矩形框,托肯表示为字母简写,弧将每个T元素和其局部环境(即一组P元素)相连,连接方式有“与”连接和“或”连接两种。在图中,P0、P1、P2之间为与连接。
S:被测软件的输入需求;
D:恶意数据;
P:恶意网页;
AI:认证用户;
R1:未授权的访问;
R2:数据丢失;
W1:输入验证不恰当缺陷;
W2:跨站脚本缺陷;
T1:构造输入;
T2:提交输入;
T3:浏览器执行代码。
其中Petri网颜色分别为:
Base={S}
Weakness={CWE-20,CWE-79}
Malicious data={D}
Malicious Web page={P}
Valid User={AI}
Results={R1,R2}
变迁颜色:
T1={S∧D}
T2={(D+W1)∧D}
T3=(P+W2+AI)∧(R1∨R2)}
ATM1和ATM2的深度值均为1,因此可以进行相关性分析。输入验证不恰当是指应用程序对输入内容不进行验证或不充分地验证,当应用程序收到含有不可信的数据,在没有进行适当地验证和转义的情况下就将它发送给一个网页浏览器,就会发生跨站脚本攻击。因此,“没有进行适当验证的不可信数据”就是ATM1和ATM2两个攻击模式的共享节点,因此ATM1和ATM2之间为串联关系,可以表示为如图6所示。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (4)

1.一种软件攻击模式关联关系分析方法,其特征在于,包括以下步骤:
步骤一、使用Petri网对待分析攻击模式进行描述,得到基于Petri网的攻击模式;所述步骤一中,将攻击模式的有色Petri网模型表示为一个六元组N=<P,T,Pre,Post,C,cd>,其中,P是一个有穷集合,代表攻击资源集合;T是一个有穷集合,并且和P不相交,代表攻击行为集合;C是颜色类的集合,代表攻击资源类型或攻击行为方式;cd:P∪T→C是颜色域的映射;Pre,Post∈β|P|×|T|表示N的向前和向后关联矩阵,使得对于每一对(p,t)∈P×T,Pre[p,t]:cd(t)→Bag(cd(p))和Post[p,t]:cd(t)→Bag(cd(p))是映射,分别代表攻击行为t的攻击前提和攻击结果,p表示攻击资源集合P中的一项攻击资源;
步骤二、对基于Petri网的攻击模式进行深度分析,选取深度值小于深度阈值的攻击模式,构成待相关性分析的攻击模式集合;
步骤三、对待相关性分析的攻击模式集合中的攻击模式分别进行成对相关性分析。
2.如权利要求1所述的一种软件攻击模式关联关系分析方法,其特征在于:所述步骤二中,设置一个最大攻击深度值作为深度阈值,攻击模式的攻击深度值为攻击模式Petri网模型中最长顺序攻击链的长度。
3.如权利要求2所述的一种软件攻击模式关联关系分析方法,其特征在于:所述步骤二中,针对基于Petri网模型的待分析攻击模式集合,攻击模式的深度分析过程如下:
步骤2.1、判断集合是否为空,如果为空,则跳转至步骤2.5,否则跳转至步骤2.2;
步骤2.2、选择一个未经深度分析的攻击模式,计算其深度值;
步骤2.3、深度值小于阈值,跳转至步骤2.4,否则跳转至步骤2.1;
步骤2.4、加入待相关性分析的攻击模式集合ATM={ATM1,ATM2,…,ATMn},其中,n表示集合中攻击模式的数量;
步骤2.5、结束。
4.如权利要求3所述的一种软件攻击模式关联关系分析方法,其特征在于:所述步骤三中,相关性分析过程如下:
步骤3.1、判断待相关性分析的攻击模式集合ATM是否为空,如果为空,跳转至步骤3.7,否则跳转至步骤3.2;
步骤3.2、选择两个未相关性分析的攻击模式ATMi和ATMj,其中,ATMi和ATMj分别表示编号为i,j的攻击模式;
步骤3.3、判断ATMi和ATMj是否共享资源,如果是,则标记ATMi和ATMj的关联关系为共享关系,跳转至步骤3.6,否则,跳转至步骤3.4;
步骤3.4、判断ATMi攻击结果是否为ATMj攻击前提之一,如果是,则标记ATMi和ATMj的关联关系为串联关系,跳转至步骤3.6,否则,跳转至步骤3.5;
步骤3.5、ATMi和ATMj之间不存在关联关系,标记ATMi和ATMj称为独立关系;
步骤3.6、将经过标记的ATMi和ATMj关联关系加入攻击模式关联关系集合,跳转至步骤3.1;
步骤3.7、结束。
CN201810460380.5A 2018-05-14 2018-05-14 一种软件攻击模式关联关系分析方法 Active CN108763067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810460380.5A CN108763067B (zh) 2018-05-14 2018-05-14 一种软件攻击模式关联关系分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810460380.5A CN108763067B (zh) 2018-05-14 2018-05-14 一种软件攻击模式关联关系分析方法

Publications (2)

Publication Number Publication Date
CN108763067A CN108763067A (zh) 2018-11-06
CN108763067B true CN108763067B (zh) 2022-03-22

Family

ID=64007071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810460380.5A Active CN108763067B (zh) 2018-05-14 2018-05-14 一种软件攻击模式关联关系分析方法

Country Status (1)

Country Link
CN (1) CN108763067B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491801B (zh) * 2020-10-29 2023-04-18 国电南瑞科技股份有限公司 一种基于关联矩阵的面向对象网络攻击建模方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599855A (zh) * 2008-11-10 2009-12-09 南京大学 基于攻击模式建模的复合攻击关联及攻击场景构建方法
CN103944919A (zh) * 2014-05-06 2014-07-23 浙江大学城市学院 一种面向wlan的无线多步攻击模式挖掘方法
CN104348652A (zh) * 2013-08-06 2015-02-11 南京理工大学常熟研究院有限公司 基于关联分析的系统安全评估方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599855A (zh) * 2008-11-10 2009-12-09 南京大学 基于攻击模式建模的复合攻击关联及攻击场景构建方法
CN104348652A (zh) * 2013-08-06 2015-02-11 南京理工大学常熟研究院有限公司 基于关联分析的系统安全评估方法和装置
CN103944919A (zh) * 2014-05-06 2014-07-23 浙江大学城市学院 一种面向wlan的无线多步攻击模式挖掘方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于攻击建模的软件保护有效性评估方法研究;王妮;《中国硕士学位论文全文数据库》;20120630;参见文中第4章 *

Also Published As

Publication number Publication date
CN108763067A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
Alwan et al. Detection and prevention of SQL injection attack: a survey
Li et al. A survey on web application security
Xu et al. A novel machine learning-based analysis model for smart contract vulnerability
Hu et al. Attack scenario reconstruction approach using attack graph and alert data mining
Baranwal Approaches to detect SQL injection and XSS in web applications
Dharam et al. Runtime monitors for tautology based SQL injection attacks
Sifra Security vulnerabilities and countermeasures of smart contracts: A survey
Ben Jaballah et al. A grey-box approach for detecting malicious user interactions in web applications
CN108763067B (zh) 一种软件攻击模式关联关系分析方法
Gegick et al. On the design of more secure software-intensive systems by use of attack patterns
Kumar et al. Detection and Prevention of SQL Injection attack
Durai et al. A survey on security properties and web application scanner
Veerabudren et al. Security in web applications: A comparative analysis of key SQL Injection Detection Techniques
Sheykhkanloo A pattern recognition neural network model for detection and classification of SQL injection attacks
Gadgikar Preventing SQL injection attacks using negative tainting approach
CN111639033B (zh) 软件安全威胁分析方法与系统
Widjajarto et al. Vulnerability and risk assessment for operating system (OS) with framework STRIDE: Comparison between VulnOS and Vulnix
Bayoglu et al. Polymorphic worm detection using token-pair signatures
Zhu et al. Attacker Traceability on Ethereum through Graph Analysis
CN113449034A (zh) 一种基于区块链网络的智能合约数据安全管理方法、系统及存储介质
Wang et al. Defense method of ruby code injection attack based on instruction set randomization
Wang Analysis of Computer Virus Defense Strategy Based on Network Security
Shi Security risk assessment about enterprise networks on the base of simulated attacks
Liu Construction of Computer Mega Data Security Technology Platform Based on Machine Learning
Song et al. Design of web security penetration test system based on attack and defense game

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 210014 No.2, Yongshun Road, Qinhuai District, Nanjing City, Jiangsu Province

Applicant after: XINCHUANHUI ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: 210000 No. 1, Tianma Road, Qixia District, Nanjing, Jiangsu

Applicant before: XINCHUANHUI ELECTRONIC TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant