一种代码分析方法及相关设备技术

技术编号:39394616 阅读:8 留言:0更新日期:2023-11-19 15:49
本申请提供了一种代码分析方法,包括:获取蜜罐应用被攻击时的多条代码执行信息,蜜罐应用为用于诱导攻击者攻击的应用,基于多条代码执行信息,获得蜜罐应用被攻击时的代码执行链路,从代码执行链路中确定疑似漏洞触发点,向用户呈现疑似漏洞触发点

【技术实现步骤摘要】
一种代码分析方法及相关设备


[0001]本申请涉及网络安全
,尤其涉及一种代码分析方法

装置

设备

计算机可读存储介质

计算机程序产品


技术介绍

[0002]目前随着互联网的迅猛发展,网络环境面临的网络安全威胁和攻击也越来越多

如何保证网络环境的安全

降低黑客攻击的威胁成为网络安全领域一个热议的话题

其中,蜜罐
(honeypot)
作为一种应对未知的网络攻击

保护网络资产安全的方案也受到了业界极大的关注

[0003]蜜罐是一种在互联网上运行的诱骗系统,该诱骗系统通过模拟一个或多个易受攻击的主机,给攻击者提供一个容易攻击的目标,如此可以降低真实系统
(
例如真实的应用系统
)
收到的威胁,并且通过对网络攻击流量进行分析,了解攻击者的攻击意图

使用的工具和攻击方案以及真实环境中存在的漏洞,然后通过修复漏洞提高真实环境的安全能力

[0004]然而,上述方法对于漏洞的分析粒度较粗,导致漏洞分析

研究

修复进展缓慢,漏洞无法及时得到有效处理,难以满足业务对安全的需求


技术实现思路

[0005]本申请提供了一种代码分析方法,该方法通过获取代码执行信息,基于多条代码执行信息获得代码执行链路,通过更全面的攻击信息可以实现较为全面的

细粒度的代码分析,从而确定疑似漏洞触发点,加快漏洞分析

研究

修复的进度,漏洞能够及时得到有效处理,提升了安全能力,满足了业务需求

本申请还提供了对应的代码分析装置

计算机集群

计算机可读存储介质以及计算机程序产品

[0006]第一方面,本申请提供了一种代码分析方法

该方法可以由代码分析装置执行

代码分析装置可以是软件装置,该软件装置部署在计算机集群中,计算机集群运行该软件装置的程序代码,从而执行本申请的软件分析方法

在一些实施例中,代码分析装置也可以是具有代码分析功能的硬件装置,例如可以是具有代码分析功能的计算机集群

[0007]具体地,代码分析装置获取蜜罐应用被攻击时的多条代码执行信息,该蜜罐应用为用于诱导攻击者攻击的应用,然后基于多条代码执行信息,获得该蜜罐应用被攻击时的代码执行链路,接着从代码执行链路中确定疑似漏洞触发点,并向用户呈现疑似漏洞触发点

[0008]该方法不仅可以收集网络攻击流量和攻击行为,还可以收集代码执行信息,基于多条代码执行信息获得代码执行链路,通过更全面的攻击信息可以实现较为全面的

细粒度的代码分析,从而确定疑似漏洞触发点,加快漏洞分析

研究

修复的进度,漏洞能够及时得到有效处理,提升了安全能力,满足了业务需求

[0009]在一些可能的实现方式中,代码分析装置还可以向用户呈现:所述代码执行链路,以及所述疑似漏洞触发点在所述代码执行链路中的位置

具体地,代码分析装置可以通过
标注框在代码执行链路中标识出疑似漏洞触发点

如此可以方便用户快速定位疑似漏洞触发点,进而快速决策漏洞修复采用的修复方案

[0010]在一些可能的实现方式中,代码分析装置还可以向用户呈现所述疑似漏洞触发点的修复方案

具体地,代码分析装置可以基于漏洞修复模型确定疑似漏洞触发点的修复方案,然后向用户呈现该疑似漏洞触发点的修复方案

其中,漏洞修复模型可以通过历史数据训练得到

在一些实施例中,代码分析装置获取历史数据,该历史数据包括历史漏洞触发点和该历史漏洞触发点的修复方案,根据上述历史数据构造样本数据,该样本数据为监督样本,其中,历史漏洞触发点的修复方案为监督样本中的监督信息,然后代码分析装置可以根据上述样本数据,采用监督学习算法训练得到漏洞修复模型

相应地,代码分析装置可以将疑似漏洞触发点输入训练好的漏洞修复模型,获得疑似漏洞触发点的修复方案

[0011]该方法通过向用户呈现疑似漏洞触发点的修复方案,减少了用户确定修复方案所需要花费的时间和精力,提高了漏洞修复的效率

[0012]在一些可能的实现方式中,所述蜜罐应用的代码中插入有数据收集模块,所述数据收集模块用于收集所述蜜罐应用被攻击时的代码执行信息

数据收集模块可以是收集代码执行信息的代码段,包括但不限于赋值语句或采集代码执行信息的函数调用

[0013]该方法通过代码插桩实现采集蜜罐应用被攻击时的代码执行信息,相较于传统方式,该方法收集的攻击信息更为全面,基于全面的攻击信息进行代码分析,提高了分析结果的准确度

[0014]在一些可能的实现方式中,所述蜜罐应用中插入有所述数据收集模块的代码为以下的一种或多种:
[0015]数据库操作语句

函数调用语句

命令执行语句

网络通信语句

身份认证语句或文件操作语句

[0016]该方法通过在不同代码块分别插桩,以收集相应位置的代码执行信息,从而可以收集较为全面

精准的代码执行信息,为代码分析奠定基础

[0017]在一些可能的实现方式中,所述代码执行信息包括执行单元标识

执行链路标识和父执行单元标识

其中,执行单元标识用于标识蜜罐应用的执行单元

执行单元可以是是代码的执行单位,通常与代码逻辑结构中的逻辑单元对应

例如,一个执行单元可以对应一个数据库操作语句,或者对应一个文件操作语句

对于一个执行单元而言,其父执行单元可以是调用该执行单元的执行单元

例如,执行单元
B
调用执行单元
A
,则执行单元
B
为执行单元
A
的父执行单元

执行链路标识用于标识蜜罐应用的执行链路

其中,执行链路也可以称作执行路径,该执行路径包括蜜罐应用在本次执行过程中所执行的执行单元以及执行单元之间的时序关系

[0018]在该方法中,执行链路标识

执行单元标识和父执行单元标识可以用于构建代码执行链路,从而为确定疑似漏洞触发点提供帮助

[0019]在一些可能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种代码分析方法,其特征在于,所述方法包括:获取蜜罐应用被攻击时的多条代码执行信息,所述蜜罐应用为用于诱导攻击者攻击的应用;基于所述多条代码执行信息,获得所述蜜罐应用被攻击时的代码执行链路;从所述代码执行链路中确定疑似漏洞触发点,向用户呈现所述疑似漏洞触发点
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:向用户呈现:所述代码执行链路,以及所述疑似漏洞触发点在所述代码执行链路中的位置
。3.
根据权利要求1或2所述的方法,其特征在于,所述方法还包括:向用户呈现所述疑似漏洞触发点的修复方案
。4.
根据权利要求1至3任一项所述的方法,其特征在于,所述蜜罐应用的代码中插入有数据收集模块,所述数据收集模块用于收集所述蜜罐应用被攻击时的代码执行信息
。5.
根据权利要求4所述的方法,其特征在于,所述蜜罐应用中插入有所述数据收集模块的代码为以下的一种或多种:数据库操作语句

函数调用语句

命令执行语句

网络通信语句

身份认证语句或文件操作语句
。6.
根据权利要求4或5所述的方法,其特征在于,所述代码执行信息包括执行单元标识

执行链路标识和父执行单元标识
。7.
根据权利要求6所述的方法,其特征在于,所述基于所述多条代码执行信息,获得所述蜜罐应用被攻击时的代码执行链路,包括:根据所述多条代码执行信息的执行链路标识,获得具有相同执行链路标识的多条代码执行信息;根据具有相同链路执行标识的多条代码执行信息的执行单元标识和父执行单元标识,将具有相同链路执行标识的多条代码执行信息对应的多个执行单元连接,获得所述蜜罐应用被攻击时的代码执行链路
。8.
根据权利要求6或7所述的方法,其特征在于,所述代码执行信息还包括操作名

执行单元开始时间

执行单元结束时间

标签

日志

执行单元上下文中的一种或多种,所述执行单元上下文包括跨进程的执行单元标识或执行链路标识
。9.
根据权利要求4至8任一项所述的方法,其特征在于,所述蜜罐应用通过对目标应用的代码插入所述数据收集模块得到
。10.
根据权利要求9所述的方法,其特征在于,所述目标应用的代码为源代码
。11.
一种代码分析装置,其特征在于,所述装置包括:交互模块,用于获取蜜罐应用被攻击时的多条代码执行信息,所述蜜罐应用为用于诱导攻击者攻击的应用;数据处理模块,用于基于所述多条代码执行信息,获得所述蜜罐应用被攻击时的代码执行链路;数据分析模块,用于从所述代码执行链路中确定疑似漏洞触发点;所述交互模块,还用于向用户呈现所述疑似漏洞触发点
。12.
根据权利要求
11
所述的装置,其特征在于,
所述交互模块还用于,向用户呈现:所述代码执行链路,以及所述疑似漏洞触发点在所述代码执行链路中的位置
。13...

【专利技术属性】
技术研发人员:聂辰峰崔宝江宋绪言卜德宝王子奇
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1