CN115470126B - 软件安全漏洞模式数据库构建与软件渗透测试方法 - Google Patents

软件安全漏洞模式数据库构建与软件渗透测试方法 Download PDF

Info

Publication number
CN115470126B
CN115470126B CN202211078079.0A CN202211078079A CN115470126B CN 115470126 B CN115470126 B CN 115470126B CN 202211078079 A CN202211078079 A CN 202211078079A CN 115470126 B CN115470126 B CN 115470126B
Authority
CN
China
Prior art keywords
software security
vulnerability
ontology
software
security vulnerability
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
CN202211078079.0A
Other languages
English (en)
Other versions
CN115470126A (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.)
China Electronic Product Reliability and Environmental Testing Research Institute
Original Assignee
China Electronic Product Reliability and Environmental Testing Research Institute
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 China Electronic Product Reliability and Environmental Testing Research Institute filed Critical China Electronic Product Reliability and Environmental Testing Research Institute
Priority to CN202211078079.0A priority Critical patent/CN115470126B/zh
Publication of CN115470126A publication Critical patent/CN115470126A/zh
Application granted granted Critical
Publication of CN115470126B publication Critical patent/CN115470126B/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/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种软件安全漏洞模式数据库构建方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式;解析多个软件安全漏洞样本,获取软件安全漏洞模式的要素集合;提取软件安全漏洞模式数据库构建请求中携带的需求字段,生成本体构成元素集,从而构建第一软件安全漏洞模式本体;对软件安全漏洞模式进行分类,构建软件安全漏洞模式本体库;根据软件安全漏洞模式本体库,构建第一安全风险分析本体库。采用本方法能够支持高效渗透测试。另外,本申请还提供了一种可以实现高效渗透测试的软件渗透测试方法、装置、计算机设备、存储介质和计算机程序产品。

Description

软件安全漏洞模式数据库构建与软件渗透测试方法
技术领域
本申请涉及软件安全漏洞研究技术领域,特别是涉及一种软件安全漏洞模式数据库构建方法、装置、计算机设备、存储介质和计算机程序产品;另外,还涉及一种软件渗透测试方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着信息安全技术的不断发展,软件安全漏洞领域也逐渐成为了一个热点话题,软件安全漏洞是一类可被潜在的攻击者利用,绕过授权,访问计算机系统或执行操作的软件缺陷。
目前对于软件安全漏洞研究的很大一部分集中在漏洞库的构建上,虽然通过构建的漏洞库能够快速而有效地鉴别、发现和修复软件产品安全漏洞。但目前漏洞库也仍然存在标准不同、缺少关联关系、数量繁多、质量水平参差不齐的问题,导致安全漏洞的管理、用户的使用以及两个漏洞库之间的信息共享变得非常困难,然而传统渗透测试对测试人员知识及经验较为依赖,需要测试人员积累很多相关知识和经验,所以漏洞库之间信息缺乏一致性、难以共享的缺陷也对应用在渗透测试上造成了障碍。
发明内容
基于此,有必要针对上述技术问题,提供一种支持高效渗透测试的软件安全漏洞模式数据库构建方法、装置、计算机设备、计算机可读存储介质和计算机程序产品;另外还提供一种可以实现高效渗透测试的软件渗透测试方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种软件安全漏洞模式数据库构建方法。所述方法包括:
响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,所述软件安全漏洞模式包括多个软件安全漏洞样本,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例;
解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合;
提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体,所述本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间;
基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库;
基于所述软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,所述第一软件安全风险分析本体库是对所述软件安全漏洞模式本体库中的漏洞进行安全风险分析构建得到的。
第二方面,本申请还提供了一种软件安全漏洞模式数据库构建装置。所述装置包括:
响应模块,用于响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,所述软件安全漏洞模式包括多个软件安全漏洞样本;
解析模块,用于解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例;
本体构建模块,用于提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体,所述本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间;
本体库构建模块,用于基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库;
风险分析模块,用于基于所述软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,所述第一软件安全风险分析本体库是对所述软件安全漏洞模式本体库中的漏洞进行安全风险分析构建得到的。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,所述软件安全漏洞模式包括多个软件安全漏洞样本;
解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例;
提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体,所述本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间;
基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库;
基于所述软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,所述第一软件安全风险分析本体库是对所述软件安全漏洞模式本体库中的漏洞进行安全风险分析构建得到的。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,所述软件安全漏洞模式包括多个软件安全漏洞样本;
解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例;
提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体,所述本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间;
基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库;
基于所述软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,所述第一软件安全风险分析本体库是对所述软件安全漏洞模式本体库中的漏洞进行安全风险分析构建得到的。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,所述软件安全漏洞模式包括多个软件安全漏洞样本;
解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例;
提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体,所述本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间;
基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库;
基于所述软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,所述第一软件安全风险分析本体库是对所述软件安全漏洞模式本体库中的漏洞进行安全风险分析构建得到的。
上述软件安全漏洞模式数据库构建方法、装置、计算机设备、存储介质和计算机程序产品,首先,响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,软件安全漏洞模式包括多个软件安全漏洞样本,再对多个软件安全漏洞样本进行解析,来获取软件安全漏洞模式的要素集合,能使多个软件安全漏洞里的要素集中到一个统一的模式里。其次,提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,生成本体构成元素集,并基于本体构成元素集,构建第一软件安全漏洞模式本体,本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间,本体的构建能够解决由于知识共享障碍而导致的二义性问题,便于共享。然后基于软件安全漏洞模式的要素集合对软件安全漏洞模式进行分类,根据第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库,基于软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,构建好的第一软件安全风险分析本体库以及第一软件安全漏洞模式本体支持软件高效进行渗透测试。
第六方面,本申请还提供了一种软件渗透测试方法,所述方法包括:
响应软件渗透测试请求,获取渗透测试信息;
根据所述渗透测试信息,构建第二软件安全漏洞模式本体;
基于所述第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,所述预设软件安全风险分析本体库采用如上述软件安全漏洞模式数据库构建方法生成;
根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试;
其中,所述根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试包括:
基于所述第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;
根据所述风险类型、所述攻击点以及所述攻击面,确定攻击路径;
根据所述攻击路径,获取事件链以及攻击链;
根据所述第二软件安全漏洞模式本体,获取漏洞利用链;
根据所述事件链、所述攻击链以及所述漏洞利用链,确定漏洞分析的三层模型,所述漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链;
基于所述漏洞分析的三层模型,进行软件渗透测试。
第七方面,本申请还提供了一种软件渗透测试装置。所述装置包括:
信息收集模块,用于响应软件渗透测试请求,获取渗透测试信息;
本体构建模块,用于根据所述渗透测试信息,构建第二软件安全漏洞模式本体;
风险评估模块,用于基于所述第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,所述预设软件安全风险分析本体库采用如上述软件安全漏洞模式数据库构建方法生成;
渗透测试模块,用于根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试;
其中,所述根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试包括:
基于所述第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;
根据所述风险类型、所述攻击点以及所述攻击面,确定攻击路径;
根据所述攻击路径,获取事件链以及攻击链;
根据所述第二软件安全漏洞模式本体,获取漏洞利用链;
根据所述事件链、所述攻击链以及所述漏洞利用链,确定漏洞分析的三层模型,所述漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链;
基于所述漏洞分析的三层模型,进行软件渗透测试。
第八方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应软件渗透测试请求,获取渗透测试信息;
根据所述渗透测试信息,构建第二软件安全漏洞模式本体;
基于所述第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,所述预设软件安全风险分析本体库采用如上述软件安全漏洞模式数据库构建方法生成;
根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试;
其中,所述根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试包括:
基于所述第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;
根据所述风险类型、所述攻击点以及所述攻击面,确定攻击路径;
根据所述攻击路径,获取事件链以及攻击链;
根据所述第二软件安全漏洞模式本体,获取漏洞利用链;
根据所述事件链、所述攻击链以及所述漏洞利用链,确定漏洞分析的三层模型,所述漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链;
基于所述漏洞分析的三层模型,进行软件渗透测试。
第九方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应软件渗透测试请求,获取渗透测试信息;
根据所述渗透测试信息,构建第二软件安全漏洞模式本体;
基于所述第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,所述预设软件安全风险分析本体库采用如上述软件安全漏洞模式数据库构建方法生成;
根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试;
其中,所述根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试包括:
基于所述第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;
根据所述风险类型、所述攻击点以及所述攻击面,确定攻击路径;
根据所述攻击路径,获取事件链以及攻击链;
根据所述第二软件安全漏洞模式本体,获取漏洞利用链;
根据所述事件链、所述攻击链以及所述漏洞利用链,确定漏洞分析的三层模型,所述漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链;
基于所述漏洞分析的三层模型,进行软件渗透测试。
第十方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应软件渗透测试请求,获取渗透测试信息;
根据所述渗透测试信息,构建第二软件安全漏洞模式本体;
基于所述第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,所述预设软件安全风险分析本体库采用如上述软件安全漏洞模式数据库构建方法生成;
根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试;
其中,所述根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试包括:
基于所述第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;
根据所述风险类型、所述攻击点以及所述攻击面,确定攻击路径;
根据所述攻击路径,获取事件链以及攻击链;
根据所述第二软件安全漏洞模式本体,获取漏洞利用链;
根据所述事件链、所述攻击链以及所述漏洞利用链,确定漏洞分析的三层模型,所述漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链;
基于所述漏洞分析的三层模型,进行软件渗透测试。
上述软件渗透测试方法、装置、计算机设备、存储介质和计算机程序产品,首先响应软件渗透测试请求,获取渗透测试信息,再根据渗透测试信息,构建第二软件安全漏洞模式本体,基于第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,预设软件安全风险分析本体库是采用软件安全漏洞模式数据库构建方法生成的,最后根据第二软件安全漏洞模式本体以及第二软件安全风险分析本体库进行软件渗透测试,实现不同分析人员间的软件安全漏洞和风险分析知识的共享及经验的固化,提高测试成功率。
附图说明
图1为一个实施例中软件安全漏洞模式数据库构建方法的应用环境图;
图2为一个实施例中软件安全漏洞模式数据库构建方法的流程示意图;
图3为一个实施例中软件安全漏洞模式要素集合的示意图;
图4为一个实施例中软件安全漏洞模式本体概念空间结构示意图;
图5为一个实施例中软件安全漏洞模式数据库构建装置的结构框图;
图6为一个实施例中软件渗透测试方法的流程示意图;
图7为另一个实施例中软件渗透测试方法的流程示意图;
图8为一个实施例中漏洞分析的三层模型示意图;
图9为一个实施例中数控系统进行渗透测试的流程框架图;
图10为一个实施例中以数控系统软件安全漏洞为核心的概念以及相互关系的软件安全漏洞模式本体示意图;
图11为一个实施例中软件缺陷、软件异常、软件安全漏洞和软件故障的关系示意图;
图12为一个实施例中软件渗透测试装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的软件安全漏洞模式数据库构建方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102发送软件安全漏洞模式数据库构建请求至服务器104,服务器104响应软件安全漏洞模式数据库构建请求,获取并解析多个软件安全漏洞样本的软件安全漏洞模式,从而得到软件安全漏洞模式的要素集合,提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,生成本体构成元素集,并基于本体构成元素集,构建第一软件安全漏洞模式本体,基于软件安全漏洞模式的要素集合对软件安全漏洞模式进行分类,构建软件安全漏洞模式本体库,基于软件安全漏洞模式本体库,构建第一安全风险分析本体库,软件安全漏洞模式本体库和第一安全风险分析本体库都存放在服务器104中;进一步地,在进行软件渗透测试时,终端102发送软件渗透测试请求至服务器104,服务器104响应软件渗透测试请求,获取渗透测试信息,根据渗透测试信息,构建第二软件安全漏洞模式本体,基于第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,预设软件安全风险分析本体库采用如上述的软件安全漏洞模式数据库构建方法生成,根据第二软件安全漏洞模式本体以及第二软件安全风险分析本体库进行软件渗透测试,服务器104可以将软件渗透测试结果反馈至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种软件安全漏洞模式数据库构建方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S100,响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,软件安全漏洞模式包括多个软件安全漏洞样本。
其中,软件安全漏洞是在软件的具体实现或系统安全策略上存在的缺陷,从而使攻击者能够在未授权的情况下访问或破坏系统,它是受限制的计算机、组件、应用程序或其他联机资源的无意中留下的不受保护的入口点。软件安全漏洞模式是指产生于软件生存期各阶段内及阶段间,在某种场景中反复出现,可被处于非授权状态的人员或组织利用以违反系统的安全准则或影响系统的安全属性/质量六性的特定缺陷文档(文档规约与源代码)的表现形式,这种缺陷表现形式在特定的场景中具有一般性和共性,并能够通过某种手段被修正。软件安全漏洞样本是用来对多个软件安全漏洞进行统计,以此估计总体的特征。
具体地,终端102发送软件安全漏洞模式数据库构建请求至服务器104,服务器104响应软件安全漏洞模式数据库构建请求,基于软件安全漏洞生存期和软件安全漏洞产生模型的各阶段在某种场景反复出现,可被处于非授权状态的人员或组织利用以违反系统的安全准则或影响系统的安全属性/质量六性的多个软件安全漏洞样本来获取软件安全漏洞模式。
S200,解析多个软件安全漏洞样本,获取软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例。
S300,提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,生成本体构成元素集,并基于本体构成元素集,构建第一软件安全漏洞模式本体,本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间。
其中,本体构成元素集是软件安全漏洞模式本体构成元素的全集,本体构成元素集Element Set={C,H,I,R,Ops,DPs,PR,PC,M,A}。其中C表示本体概念类,H表示本体概念层次,I表示本体概念实例,R表示本体概念关联,Ops表示对象属性,DPs表示数据属性,PR表示属性约束,PC表示属性特征,M表示不同层次本体间映射,A表示公理。本体是指一种形式化的对于共享概念体系明确而又详细的说明,实际上是对特定领域之中某套概念及其相互之间关系的形式化表达。软件安全漏洞模式本体则是根据软件安全漏洞模式获得的,对软件安全漏洞模式的概念及其概念间相互关系的形式化表达。概念空间是指人脑对物体在空间内的存在形式产生的间接的、概括的反映,本申请中概念空间是软件安全漏洞模式本体的概念空间。
具体地,服务器104通过提取软件安全漏洞模式数据库构建请求中携带的需求字段,需求字段包括:本体概念类、本体概念层次、本体概念实例、本体概念关联、对象属性、数据属性、属性约束、属性特征、不同层次本体间映射、公理。通过将软件安全漏洞模式的要素集合以及工程经验要素作为本体概念类,再通过本体概念类以及本体概念类层次关系、关联关系以及概念空间来获取需求字段中所需要的内容,生成本体构成元素集,由于本体构成元素集即为软件安全漏洞模式本体构成元素的全集,因此可通过本体构成元素集来构建软件安全漏洞模式本体,本体构成元素集可以表征软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间。
S400,基于软件安全漏洞模式的要素集合对软件安全漏洞模式进行分类,根据第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库。
其中,本体库是指描述同一类事物的本体的集合。软件安全漏洞模式本体库是对同一类软件安全漏洞模式的集合。
具体地,服务器104基于软件安全漏洞模式的要素集合对软件安全漏洞模式进行分类,再根据软件安全漏洞模式本体来获取分类后的软件安全漏洞模式每一类的软件安全漏洞模式对应的要素集合,通过要素集合来获取同一类软件安全漏洞模式本体库。
S500,基于软件安全漏洞模式本体库,构建第一安全风险分析本体库。
其中,安全风险分析本体库是基于软件安全漏洞模式本体库,从风险管理角度,运用科学的方法和手段,系统地分析待评估系统所面临的威胁及其存在的脆弱性,评估安全事件一旦发生可能造成的危害程度,提出有针对性的抵御威胁的防护对策和整改措施。
具体地,将软件安全漏洞模式本体库中的漏洞类型和安全风险分析结合在一起,对软件安全漏洞模式本体库中的漏洞进行安全风险分析,构建基于软件安全漏洞模式本体库的安全风险分析本体库。
上述软件安全漏洞模式数据库构建方法中,首先,响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,软件安全漏洞模式包括多个软件安全漏洞样本,再对多个软件安全漏洞样本进行解析,来获取软件安全漏洞模式的要素集合,能使多个软件安全漏洞里的要素集中到一个统一的模式里。其次,提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,生成本体构成元素集,并基于本体构成元素集,构建第一软件安全漏洞模式本体,本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间,本体的构建能够解决由于知识共享障碍而导致的二义性和不一致性的问题,有利于共享。然后基于软件安全漏洞模式的要素集合对软件安全漏洞模式进行分类,根据第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库,基于软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,构建好的第一软件安全风险分析本体库以及第一软件安全漏洞模式本体支持软件高效进行渗透测试。
在一个实施例中,解析多个软件安全漏洞样本,获取软件安全漏洞模式的要素集合包括:
S220,解析多个软件安全漏洞样本,获取软件安全漏洞模式构成元素集合。
其中,软件安全漏洞模式构成元素集合包括:场景、漏洞表现形式、解决方案、时间、CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)值、漏洞引入阶段、漏洞修复阶段以及实例。
具体地,服务器104基于软件安全漏洞生存期和软件安全漏洞产生模型,通过对多个软件安全漏洞样本进行解析获取软件安全漏洞模式的定义,并从使用者视角和开发者视角两方面给出软件安全漏洞模式的构成元素:场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例。
更进一步地,开发者视角给出的软件安全漏洞模式的构成元素是时间、漏洞引入阶段、解决方案(实例),CVSS值;开发者视角给出的软件安全漏洞模式的构成元素是时间、漏洞修复阶段、场景(实例)、漏洞表现形式、CVSS值。
S240,基于软件安全漏洞模式构成元素集合,获取软件安全漏洞模式构成元素集合的细化集合。
其中,细化是指对软件安全漏洞模式里的每一个构成元素进行深入解析,获取构成软件安全漏洞模式每个构成元素的取值集合。
具体地,服务器104基于得到的软件安全漏洞模式构成元素集合,对每个构成元素进行细化,获取软件安全漏洞模式每个构成要素的取值集合。
S260,根据软件安全漏洞模式构成元素集合、以及软件安全漏洞模式构成元素集合的细化集合,获取软件安全漏洞模式的要素集合。
其中,软件安全漏洞模式的要素集合是指软件安全漏洞模式包括的所有要素取值集合,包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合。
具体地,基于获得的软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,将软件安全漏洞模式的构成元素集合以及构成元素集合的细化集合统称为软件安全漏洞模式的要素集合,软件安全漏洞模式的要素集合如图3所示。
本实施例中,软件安全漏洞模式通过融合了使用者、开发者双方视点,深入考虑到对应问题域的差异造成的知识鸿沟导致知识共享的障碍,因此融合后可在一定程度上消除二义性和不一致性,有利于双方共享。
在一个实施例中,提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,生成本体构成元素集,并基于本体构成元素集,构建第一软件安全漏洞模式本体包括:
S310,提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,进行概念类选取,建立本体概念类间的层次关系,概念类间的层次关系包括父类子类关系以及整体部分关系。
其中,概念类指的是一种事物或对象。父类子类关系是指继承关系,继承可以使得子类具有父类的属性和方法或重新定义、追加属性和方法等。整体部分关系是指部分是整体中的某个或某些要素,要获得整体必须穷尽所有部分。
具体地,终端102发送软件安全漏洞模式数据库构建请求至服务器104,服务器104响应软件安全漏洞模式数据库构建请求,对软件安全漏洞模式数据库构建请求中携带的需求字段进行提取,再对软件安全漏洞模式的要素集合中需要的要素以及由工程经验获取的要素作为本体概念类,进行概念类选取,建立本体概念类间的层次关系,层次关系包括父类子类关系以及整体部分关系等。
S320,基于本体概念类间的层次关系,获取本体概念类间的关联关系。
其中,本体概念类间的关联关系有Subtask(子任务)、has(具备)、fulfills(履行)等多种类型。
具体地,基于本体概念类间的层次关系图,给出了软件安全漏洞模式本体概念类间的关联关系。
S330,基于本体概念类间的层次关系以及关联关系,构建软件安全漏洞模式本体概念空间。
具体地,基于本体概念类间的层次关系以及关联关系,可以构建软件安全漏洞模式本体概念空间,软件安全漏洞模式本体概念空间如图4所示,其中三角箭头为父类子类关系,菱形箭头为整体部分关系,虚线为依赖关系。
S340,根据软件安全漏洞模式本体概念空间,生成本体构成元素集。
具体地,根据软件安全漏洞模式本体概念空间,可以获得本体构成元素集所需要的本体概念类、本体概念层次、本体概念实例、本体概念关联、对象属性、数据属性、属性约束、属性特征、不同层次本体间映射、公理等多种元素,生成本体构成元素集。
S350,根据本体构成元素集,构建第一软件安全漏洞模式本体。
具体地,本体构成元素集即为软件安全漏洞模式本体构成元素的全集,所以获取了本体构成元素集,就可以构建第一软件安全漏洞模式本体。
本实施例中,通过软件安全漏洞模式本体的构造,能够解决二义性和不一致性问题,使得渗透测试所依据的知识更加完备,能够更好地支持渗透测试。
在一个实施例中,基于软件安全漏洞模式的要素集合对软件安全漏洞模式进行分类,根据第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库包括:
S420,基于要素集合的漏洞表现形式对软件安全漏洞模式进行分类。
具体地,由图3可得,基于要素集合的漏洞表现形式,按源代码漏洞、字节或对象代码漏洞、设计错误三种表现形式对软件安全漏洞模式进行分类。
S440,基于第一软件安全漏洞模式本体获取分类后的软件安全漏洞模式的要素集合内的对应实例,构建实例集合,实例集合即为软件安全漏洞模式本体库。
具体地,基于第一软件安全漏洞模式本体,由于软件安全漏洞模式本体库是对同一类软件安全漏洞模式的集合,获取分类后的软件安全漏洞模式的要素集合内的对应实例,获取的实例集合即为软件安全漏洞模式本体库。
本实施例中,通过软件安全漏洞模式进行分类,能够更高效地构建软件安全漏洞模式本体库。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的软件安全漏洞模式数据库构建方法的软件安全漏洞模式数据库构建装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个软件安全漏洞模式数据库构建装置实施例中的具体限定可以参见上文中对于软件安全漏洞模式数据库构建方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种软件安全漏洞模式数据库构建装置,包括:响应模块100、解析模块200、本体构建模块300、本体库构建模块400和风险分析模块500,其中:
响应模块100,用于响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,软件安全漏洞模式包括多个软件安全漏洞样本。
解析模块200,用于解析多个软件安全漏洞样本,获取软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例。
本体构建模块300,用于提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,生成本体构成元素集,并基于本体构成元素集,构建第一软件安全漏洞模式本体,本体构成元素集用于表征第一软件安全漏洞本体概念类层次关系、关联关系以及概念空间。
本体库构建模块400,用于基于软件安全漏洞模式的要素集合对软件安全漏洞模式进行分类,根据第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库。
风险分析模块500,用于基于软件安全漏洞模式本体库,构建第一软件安全风险分析本体库。
在其中一个实施例中,解析模块200具体用于:解析多个软件安全漏洞样本,获取软件安全漏洞模式构成元素集合;基于软件安全漏洞模式构成元素集合,获取软件安全漏洞模式构成元素集合的细化集合;根据软件安全漏洞模式构成元素集合、以及软件安全漏洞模式构成元素集合的细化集合,获取软件安全漏洞模式的要素集合。
在其中一个实施例中,本体构建模块300具体用于:提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据需求字段以及要素集合,进行概念类选取,建立本体概念类间的层次关系,概念类间的层次关系包括父类子类关系以及整体部分关系;基于本体概念类间的层次关系,获取本体概念类间的关联关系;基于本体概念类间的层次关系以及关联关系,构建软件安全漏洞模式本体概念空间;根据软件安全漏洞模式本体概念空间,生成本体构成元素集;根据本体构成元素集,构建第一软件安全漏洞模式本体。
在其中一个实施例中,本体库构建模块400具体用于:基于要素集合的漏洞表现形式对软件安全漏洞模式进行分类;基于第一软件安全漏洞模式本体获取分类后的软件安全漏洞模式的要素集合内的对应实例,构建实例集合,实例集合即为软件安全漏洞模式本体库。
上述软件安全漏洞模式数据库构建装置以及软件渗透测试中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图6所示,提供了一种软件渗透测试方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S600,响应软件渗透测试请求,获取渗透测试信息。
其中,渗透测试是指一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估,是为了证明网络防御按照预期计划正常运行而提供的一种机制。
S700,根据渗透测试信息,构建第二软件安全漏洞模式本体。
具体地,根据渗透测试信息,得到构建软件安全漏洞模式本体需要的要素集合,根据要素集合,构建软件安全漏洞模式本体。
S800,基于第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,预设软件安全风险分析本体库采用如上述软件安全漏洞模式数据库构建方法生成。
具体地,预设软件安全风险分析本体库是通过响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,并解析多个软件安全漏洞样本,获取软件安全漏洞模式的要素集合,构建软件安全漏洞模式本体,根据软件安全漏洞模式构建软件安全漏洞模式本体库,根据软件安全漏洞模式本体库构建软件安全风险分析本体库的,再基于第二软件安全漏洞模式本体从预设的软件安全风险分析本体库中提取第二软件安全风险分析本体库。
S900,根据第二软件安全漏洞模式本体以及第二软件安全风险分析本体库进行软件渗透测试。
上述软件渗透测试方法中,首先响应软件渗透测试请求,获取渗透测试信息,再根据渗透测试信息,构建第二软件安全漏洞模式本体,基于第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,预设软件安全风险分析本体库是采用软件安全漏洞模式数据库构建方法生成的,最后根据第二软件安全漏洞模式本体以及第二软件安全风险分析本体库进行软件渗透测试,实现在不同分析人员间的软件安全漏洞以及风险分析知识的共享及经验的固化,提高测试成功率。
在一个实施例中,如图7所示,根据第二软件安全漏洞模式本体以及第二软件安全风险分析本体库进行软件渗透测试包括:
S910,基于第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面。
其中,风险类型按风险的来源对风险所作的分类,包括:硬件风险、访问风险、数据风险、系统风险、接入风险等。攻击点是指软件环境中可以被未授权用户输入或提取数据而受到攻击的点位。攻击面是一个给定的计算机或网络系统,可以被未授权用户访问和利用的漏洞总和。
具体地,渗透测试中基于软件安全风险分析本体库进行安全风险分析的主要内容包括:确定风险类型、确定攻击点和攻击面。
S920,根据风险类型、攻击点以及攻击面,确定攻击路径。
具体地,攻击路径是攻击向量被攻击时发生的事件链的可视化呈现,对风险类型、攻击点和攻击面进行分析后,可以得到渗透测试的攻击路径。
S930,根据攻击路径,获取事件链以及攻击链。
其中,事件链是指多个安全事件形成的链条。攻击链是一种攻击模型,可以用于分析可能的攻击面,并允许设计对策以减轻它们对组织造成的威胁。
具体地,根据软件安全漏洞模式本体概念类层次中攻击路径所包含的“侦察”、“资源开发”、“初始入口”、“命令执行”、“持久化”、“权限提升”、“防御绕过”、“获取凭证”、“发现”、“横向移动”、“基础信息收集”、“命令和控制”、“渗透”和“影响”组成的集合中的若干个元素,可以获得攻击链。事件链则由对攻击阶段进行分解获得的多个安全事件构成。
S940,根据第二软件安全漏洞模式本体,获取漏洞利用链。
其中,漏洞利用链是将多个漏洞来组合利用以危害目标的网络攻击方式。
具体地,根据软件安全漏洞模式本体的本体概念类:场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例,可以获取漏洞利用链。
S950,根据事件链、攻击链以及漏洞利用链,确定漏洞分析的三层模型,漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链。
其中,事件链属于事件表示层,攻击链属于行为动作层,漏洞利用链属于漏洞技术层。
具体地,一个安全事件对应一条攻击链,一条攻击链对应多条漏洞利用链,根据事件链、攻击链以及漏洞利用链的对应关系,可以确定漏洞分析的三层模型,漏洞分析的三层模型如图8所示,基于漏洞分析的三层模型进行威胁分析可将不同抽象层次的概念及其关联聚于一个模型中,更有利于渗透测试的实施。
S960,基于漏洞分析的三层模型,进行软件渗透测试。
具体地,软件渗透测试的总体流程框架如图9所示。软件渗透测试最后需要获取测试对象、问题编号、测试时间、测试人、URL/IP(uniform resource locator/InternetProtocol,统一资源定位系统/网际互连协议)、软件安全漏洞类型、软件安全漏洞描述、软件安全漏洞等级、风险评估、修复措施、修复结果等。
本实施例中,通过三层模型来进行软件渗透测试,有利于形成一个可追溯的流程,找到软件的脆弱点,并根据脆弱点进行分析修复。
在一个实施例中,以数控系统软件安全漏洞为核心的概念以及相互关系的软件安全漏洞模式本体图如图10所示。
在一个实施例中,对数控系统进行安全风险分析得到的数控系统安全风险分析结果如表1所示:
表1数控系统安全风险分析结果
Figure GDA0004158048600000211
Figure GDA0004158048600000221
在一个实施例中,软件缺陷、软件异常、软件安全漏洞和软件故障的关系如图11所示,基于软件安全漏洞可以获取漏洞利用链。其中,软件安全漏洞由软件安全漏洞模式进行刻画。
在一个实施例中,采用布尔注入漏洞模式来获取漏洞利用链包括:
布尔注入漏洞模式通常在详细设计或编码阶段引入,表现形式对应CWE-89(SQL注入),模式构成要素表示如下:①场景:可通过漏洞利用链表示。②漏洞表现形式:SQL注入。③解决方案:将漏洞利用链中的任意一环切断。④时间:根据漏洞暴露时间、漏洞修复时间以及软件版本号实际填写。⑤CVSS值:高。⑥实例:按照SQL语句进行查询,可以合法获得数据库的版本号信息或其他信息,这可能会被攻击者利用以进行攻击活动。
上述实例的场景,可用漏洞利用链来进行表示,漏洞利用链为source→node1→node2→node3→node4→node5→sink。该实例中解决方案为node1、node2、node3、node4以及node5任意一处切断漏洞利用链。其中,source是源头,node1、node2、node3、node4以及node5是节点,sink是目的点。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的软件安全漏洞模式数据库构建方法的软件安全漏洞模式数据库构建装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个软件安全漏洞模式数据库构建装置实施例中的具体限定可以参见上文中对于软件安全漏洞模式数据库构建方法的限定,在此不再赘述。
在另一个实施例中,如图12所示,提供了一种软件渗透测试装置,包括:信息收集模块600、本体构建模块700、风险评估模块800和渗透测试模块900,其中:
信息收集模块600,用于响应软件渗透测试请求,获取渗透测试信息。
本体构建模块700,用于根据渗透测试信息,构建软件漏洞模式本体。
风险评估模块800,用于基于软件漏洞模式本体从预设软件安全风险分析本体库中提取软件安全风险分析本体库,预设软件安全风险分析本体库采用如上述任意一项的软件安全漏洞模式数据库构建方法生成。
渗透测试模块900,用于根据软件漏洞模式本体以及软件安全风险分析本体库进行软件渗透测试。
在其中一个实施例中,渗透测试模块900具体用于:基于软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;根据风险类型、攻击点以及攻击面,确定攻击路径;根据攻击路径,获取事件链以及攻击链;根据软件安全漏洞本体,获取漏洞利用链;根据事件链、攻击链以及漏洞利用链,确定漏洞分析的三层模型,漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层;基于漏洞分析的三层模型,进行软件渗透测试。
上述软件安全漏洞模式数据库构建装置以及软件渗透测试中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储软件安全漏洞模式本体库以及安全风险分析本体库数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种软件安全漏洞模式数据库构建以及软件渗透测试方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种软件安全漏洞模式数据库构建方法,其特征在于,所述方法包括:
响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,所述软件安全漏洞模式包括多个软件安全漏洞样本;
解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例;
提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体,所述本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间;
基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库;
基于所述软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,所述第一软件安全风险分析本体库是对所述软件安全漏洞模式本体库中的漏洞进行安全风险分析构建得到的。
2.根据权利要求1所述的方法,其特征在于,所述解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合包括:
解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式构成元素集合;
基于所述软件安全漏洞模式构成元素集合,获取所述软件安全漏洞模式构成元素集合的细化集合;
根据所述软件安全漏洞模式构成元素集合、以及所述软件安全漏洞模式构成元素集合的细化集合,获取所述软件安全漏洞模式的要素集合。
3.根据权利要求1所述的方法,其特征在于,所述提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体包括:
提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,进行概念类选取,建立本体概念类间的层次关系,所述概念类间的层次关系包括父类子类关系以及整体部分关系;
基于所述本体概念类间的层次关系,获取本体概念类间的关联关系;
基于所述本体概念类间的层次关系以及关联关系,构建软件安全漏洞模式本体概念空间;
根据所述软件安全漏洞模式本体概念空间,生成本体构成元素集;
根据所述本体构成元素集,构建第一软件安全漏洞模式本体。
4.根据权利要求1所述的方法,其特征在于,所述基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库包括:
基于所述要素集合的漏洞表现形式对所述软件安全漏洞模式进行分类;
基于所述第一软件安全漏洞模式本体获取所述分类后的软件安全漏洞模式的要素集合内的对应实例,构建实例集合,所述实例集合即为软件安全漏洞模式本体库。
5.一种软件渗透测试方法,其特征在于,所述方法包括:
响应软件渗透测试请求,获取渗透测试信息;
根据所述渗透测试信息,构建第二软件安全漏洞模式本体;
基于所述第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,所述预设软件安全风险分析本体库采用如权利要求1-4任意一项所述的软件安全漏洞模式数据库构建方法生成;
根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试;
其中,所述根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试包括:
基于所述第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;
根据所述风险类型、所述攻击点以及所述攻击面,确定攻击路径;
根据所述攻击路径,获取事件链以及攻击链;
根据所述第二软件安全漏洞模式本体,获取漏洞利用链;
根据所述事件链、所述攻击链以及所述漏洞利用链,确定漏洞分析的三层模型,所述漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链;
基于所述漏洞分析的三层模型,进行软件渗透测试。
6.一种软件安全漏洞模式数据库构建装置,其特征在于,所述装置包括:
响应模块,用于响应软件安全漏洞模式数据库构建请求,获取软件安全漏洞模式,所述软件安全漏洞模式包括多个软件安全漏洞样本;
解析模块,用于解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式的要素集合,所述软件安全漏洞模式的要素集合包括软件安全漏洞模式构成元素集合以及软件安全漏洞模式构成元素集合的细化集合,所述软件安全漏洞模式构成元素集合包括场景、漏洞表现形式、解决方案、时间、CVSS值、漏洞引入阶段、漏洞修复阶段以及实例;
本体构建模块,用于提取软件安全漏洞模式数据库构建请求中携带的需求字段,根据所述需求字段以及所述要素集合,生成本体构成元素集,并基于所述本体构成元素集,构建第一软件安全漏洞模式本体,所述本体构成元素集用于表征第一软件安全漏洞模式本体概念类层次关系、关联关系以及概念空间;
本体库构建模块,用于基于所述软件安全漏洞模式的要素集合对所述软件安全漏洞模式进行分类,根据所述第一软件安全漏洞模式本体以及分类后的软件安全漏洞模式,构建软件安全漏洞模式本体库;
风险分析模块,用于基于所述软件安全漏洞模式本体库,构建第一软件安全风险分析本体库,所述第一软件安全风险分析本体库是对所述软件安全漏洞模式本体库中的漏洞进行安全风险分析构建得到的。
7.根据权利要求6的装置,其特征在于,所述解析模块还用于解析所述多个软件安全漏洞样本,获取所述软件安全漏洞模式构成元素集合;基于所述软件安全漏洞模式构成元素集合,获取所述软件安全漏洞模式构成元素集合的细化集合;根据所述软件安全漏洞模式构成元素集合、以及所述软件安全漏洞模式构成元素集合的细化集合,获取所述软件安全漏洞模式的要素集合。
8.一种软件渗透测试装置,其特征在于,所述装置包括:
信息收集模块,用于响应软件渗透测试请求,获取渗透测试信息;
本体构建模块,用于根据所述渗透测试信息,构建第二软件安全漏洞模式本体;
风险评估模块,用于基于所述第二软件安全漏洞模式本体从预设软件安全风险分析本体库中提取第二软件安全风险分析本体库,所述预设软件安全风险分析本体库采用如权利要求1-4任意一项所述的软件安全漏洞模式数据库构建方法生成;
渗透测试模块,用于根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试;
其中,所述根据所述第二软件安全漏洞模式本体以及所述第二软件安全风险分析本体库进行软件渗透测试包括:
基于所述第二软件安全风险分析本体库,进行安全风险分析,获取风险类型、攻击点以及攻击面;
根据所述风险类型、所述攻击点以及所述攻击面,确定攻击路径;
根据所述攻击路径,获取事件链以及攻击链;
根据所述第二软件安全漏洞模式本体,获取漏洞利用链;
根据所述事件链、所述攻击链以及所述漏洞利用链,确定漏洞分析的三层模型,所述漏洞分析的三层模型包括事件表示层、行为动作层以及漏洞技术层,所述事件表示层包括所述事件链,所述行为动作层包括所述攻击链,所述漏洞技术层包括所述漏洞利用链,所述漏洞分析的三层模型中一条所述事件链对应一条所述攻击链,一条所述攻击链对应多条所述漏洞利用链;
基于所述漏洞分析的三层模型,进行软件渗透测试。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202211078079.0A 2022-09-05 2022-09-05 软件安全漏洞模式数据库构建与软件渗透测试方法 Active CN115470126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211078079.0A CN115470126B (zh) 2022-09-05 2022-09-05 软件安全漏洞模式数据库构建与软件渗透测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211078079.0A CN115470126B (zh) 2022-09-05 2022-09-05 软件安全漏洞模式数据库构建与软件渗透测试方法

Publications (2)

Publication Number Publication Date
CN115470126A CN115470126A (zh) 2022-12-13
CN115470126B true CN115470126B (zh) 2023-06-20

Family

ID=84368738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211078079.0A Active CN115470126B (zh) 2022-09-05 2022-09-05 软件安全漏洞模式数据库构建与软件渗透测试方法

Country Status (1)

Country Link
CN (1) CN115470126B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149135A (zh) * 2020-09-16 2020-12-29 国网河北省电力有限公司电力科学研究院 安全漏洞知识图谱的构建方法及装置
CN114398643A (zh) * 2022-01-20 2022-04-26 中国联合网络通信集团有限公司 渗透路径规划方法、装置、计算机和存储介质
CN114676435A (zh) * 2022-03-04 2022-06-28 国网浙江省电力有限公司金华供电公司 一种基于知识图谱的软件漏洞可利用性预测方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210019674A1 (en) * 2015-10-28 2021-01-21 Qomplx, Inc. Risk profiling and rating of extended relationships using ontological databases
CN109559192A (zh) * 2018-10-25 2019-04-02 深圳壹账通智能科技有限公司 基于关联图谱的风险检测方法、装置、设备及存储介质
CN112613038B (zh) * 2020-11-27 2023-12-08 中山大学 一种基于知识图谱的安全漏洞分析方法
CN112749396A (zh) * 2021-01-21 2021-05-04 恒安嘉新(北京)科技股份公司 安全漏洞知识图谱的构建方法、装置、设备和存储介质
CN113139192B (zh) * 2021-04-09 2024-04-19 扬州大学 基于知识图谱的第三方库安全风险分析方法及系统
CN113032794A (zh) * 2021-04-23 2021-06-25 恒安嘉新(北京)科技股份公司 安全漏洞知识图谱的构建方法、装置、设备和存储介质
CN114036059A (zh) * 2021-11-17 2022-02-11 南方电网调峰调频发电有限公司 面向电网系统的自动化渗透测试系统、方法和计算机设备
CN114363903A (zh) * 2022-01-06 2022-04-15 中科南京信息高铁研究院 基于本体规则的核心网安全渗透测试方法、系统及设备
CN114866358B (zh) * 2022-07-07 2022-09-09 中国人民解放军国防科技大学 一种基于知识图谱的自动化渗透测试方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149135A (zh) * 2020-09-16 2020-12-29 国网河北省电力有限公司电力科学研究院 安全漏洞知识图谱的构建方法及装置
CN114398643A (zh) * 2022-01-20 2022-04-26 中国联合网络通信集团有限公司 渗透路径规划方法、装置、计算机和存储介质
CN114676435A (zh) * 2022-03-04 2022-06-28 国网浙江省电力有限公司金华供电公司 一种基于知识图谱的软件漏洞可利用性预测方法

Also Published As

Publication number Publication date
CN115470126A (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
Khan et al. Cloud log forensics: Foundations, state of the art, and future directions
Kotenko et al. A cyber attack modeling and impact assessment framework
Shandilya et al. Use of attack graphs in security systems
JP5406195B2 (ja) セキュリティ解析に基づいて技術システムの再構成を行なうための装置、並びに対応する技術的意思決定支援システム及びコンピュータプログラム製品
Van der Aalst et al. Process mining and security: Detecting anomalous process executions and checking process conformance
US10630703B1 (en) Methods and system for identifying relationships among infrastructure security-related events
Missier et al. Provenance and data differencing for workflow reproducibility analysis
US11765249B2 (en) Facilitating developer efficiency and application quality
US10574683B1 (en) Methods and system for detecting behavioral indicators of compromise in infrastructure
KR20030075574A (ko) 네트워크 보안 시뮬레이션 시스템
Barzegar et al. Attack scenario reconstruction using intrusion semantics
US10630715B1 (en) Methods and system for characterizing infrastructure security-related events
Gylling et al. Mapping cyber threat intelligence to probabilistic attack graphs
Bentounsi et al. Security-aware business process as a service by hiding provenance
Mukherjee et al. Evading {Provenance-Based}{ML} Detectors with Adversarial System Actions
Lee Probabilistic risk assessment for security requirements: A preliminary study
CN112632564A (zh) 一种威胁评估方法及装置
Alexander et al. Security audit logging in microservice-based systems: survey of architecture patterns
CN115470126B (zh) 软件安全漏洞模式数据库构建与软件渗透测试方法
WO2021016517A1 (en) Methods and system for identifying infrastructure attack progressions
Franqueira et al. Multi-step attack modelling and simulation (MsAMS) framework based on mobile ambients
Chauhan et al. Emphasizing on various security issues in cloud forensic framework
Akoramurthy et al. Digital Linked Information System Using Blockchain Technology: Overwhelming Information Silo
Malik et al. Dynamic risk assessment and analysis framework for large-scale cyber-physical systems
Kapoor et al. Flurry: A fast framework for provenance graph generation for representation learning

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