一种风险监控的方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:31717009 阅读:37 留言:0更新日期:2022-01-01 11:24
本申请公开了一种风险监控的方法、装置、计算机设备及存储介质,属于网络基架运维技术领域。本申请通过对开发需求文档进行关键词提取,得到风险关键词,并确定与风险关键词对应的风险代码,生成检测代码,并将检测代码插入程序代码中,生成测试代码,运行测试代码,并获取生成的日志文件和线程记录文件,从线程记录文件中获取测试代码的实现线程,并从日志文件中查找实现线程的调用堆栈,在调用堆栈中查找非操作系统函数,基于非操作系统函数的输出结果确定程序代码的风险情况。此外,本申请还涉及区块链技术,开发需求文档可存储于区块链中。本申请实现了自动判断程序代码的风险,减少了测试人员的工作量,同时提高了代码风险检测的精度。测的精度。测的精度。

【技术实现步骤摘要】
一种风险监控的方法、装置、计算机设备及存储介质


[0001]本申请属于网络基架运维
,具体涉及一种风险监控的方法、装置、计算机设备及存储介质。

技术介绍

[0002]随着互联网时代的普及,科技能力成为衡量一个公司潜力的标准之一,如何利用IT技术创造价值,是一个企业的核心竞争力。对于用户而言,最直接感受到的就是所使用的科技产品的系统体验,而在商机瞬息万变的今天,系统迭代更新尤为频繁,所以企业如何确保每次迭代版本的安全稳定,并在版本迭代过程中保证用户使用体验,是开发人员重点关注的方向。
[0003]目前,对于系统版本的迭代更新过程的风险监控一般是通过人为检测实现,例如,先通过业务分析人员,核实每个版本需求研发的内容,评估所涉及的功能模块;再通过技术研发人员针对每个版本进行检查系统发布事项,例如:系统配置,自动化部署文件,是否通过测试等;最后由运营人员确认是否填写紧急联系人,是否做过安全扫描等。现有的通过人为检测实现系统版本迭代更新过程的风险监控,存在大量重复工作,耗费了大量人力,且很难保证不出现遗漏。

技术实现思路

[0004]本申请实施例的目的在于提出一种风险监控的方法、装置、计算机设备及存储介质,以解决现有风险监控方案存在的人力资源耗费过大且检测精度不高的技术问题。
[0005]为了解决上述技术问题,本申请实施例提供一种风险监控的方法,采用了如下所述的技术方案:
[0006]一种风险监控的方法,包括:
[0007]接收风险监控指令,获取程序代码对应的开发需求文档;
[0008]对所述开发需求文档进行关键词提取,得到风险关键词,并在所述程序代码中确定与所述风险关键词对应的风险代码;
[0009]生成所述风险代码对应的检测代码,并将所述检测代码插入所述程序代码中,生成测试代码;
[0010]在所述预设的操作系统中运行所述测试代码,并获取所述操作系统的日志文件和线程记录文件;
[0011]从所述线程记录文件中获取所述测试代码的实现线程,并从所述日志文件中查找所述实现线程的调用堆栈;
[0012]在所述调用堆栈中查找非操作系统函数,获取所述非操作系统函数的输出结果,并基于所述输出结果确定所述程序代码的风险情况。
[0013]进一步地,所述对所述开发需求文档进行关键词提取,得到风险关键词,并在所述程序代码中确定与所述风险关键词对应的风险代码的步骤,具体包括:
[0014]对所述开发需求文档进行分词处理,得到文本分词;
[0015]对所述文本分词进行预处理,以去除所述文本分词中的停用词;
[0016]基于预设的关键词提取算法,确定预处理后所述文本分词中的风险关键词;
[0017]在所述程序代码中查找与所述风险关键词对应的代码段,得到所述风险代码。
[0018]进一步地,所述生成所述风险代码对应的检测代码,并将所述检测代码插入所述程序代码中,生成测试代码的步骤,具体包括:
[0019]根据所述风险关键词确定所述风险代码的类型;
[0020]基于所述风险代码的类型,生成所述风险代码对应的检测代码;
[0021]将所述检测代码插入所述程序代码中的预定位置,生成测试代码。
[0022]进一步地,所述将所述检测代码插入所述程序代码中的预定位置,生成测试代码的步骤,具体包括:
[0023]在所述程序代码中创建新线程,并在所述程序代码中查找监控功能位置;
[0024]将所述新线程、所述监控功能位置和所述风险代码进行关联;
[0025]将所述检测代码分别添加到所述新线程和所述监控功能位置中,生成所述测试代码。
[0026]进一步地,所述在所述预设的操作系统中运行所述测试代码,并获取所述操作系统的日志文件和线程记录文件的步骤,具体包括:
[0027]将所述测试代码导入所述操作系统,在所述操作系统中编译并运行所述测试代码;
[0028]响应第一触发操作,确定所述测试代码对应的实现线程,并将所述实现线程存储到所述线程记录文件中,其中,第一触发操作为所述测试代码运行过程中所述新线程的触发操作;
[0029]响应第二触发操作,生成所述实现线程的调用堆栈,并将所述实现线程的调用堆栈存储到所述日志文件中,其中,所述第二触发操作为所述测试代码运行过程中所述监控功能位置的触发操作。
[0030]进一步地,所述调用堆栈中查找非操作系统函数,获取所述非操作系统函数的输出结果的步骤,具体包括:
[0031]根据函数调用顺序对所述调用堆栈的所有函数进行排序;
[0032]按照栈底到栈顶的顺序依次识别所述调用堆栈中各个函数的函数名,以确定所述调用堆栈中的非操作系统函数;
[0033]从所述日志文件中获取所述非操作系统函数的输出结果。
[0034]进一步地,所述基于所述输出结果确定所述程序代码的风险情况的步骤,具体包括:
[0035]在所述开发需求文档中,确定与所述风险关键词对应的标准输出结果;
[0036]比对所述非操作系统函数的输出结果与所述标准输出结果;
[0037]若所述非操作系统函数的输出结果与所述标准输出结果相符,则确定所述程序代码不存在安全风险;
[0038]若所述非操作系统函数的输出结果与所述标准输出结果不相符,则确定所述程序代码存在安全风险。
[0039]为了解决上述技术问题,本申请实施例还提供一种装置,采用了如下所述的技术方案:
[0040]一种风险监控的装置,包括:
[0041]文档获取模块,用于接收风险监控指令,获取程序代码对应的开发需求文档;
[0042]关键词提取模块,用于对所述开发需求文档进行关键词提取,得到风险关键词,并在所述程序代码中确定与所述风险关键词对应的风险代码;
[0043]代码生成模块,用于生成所述风险代码对应的检测代码,并将所述检测代码插入所述程序代码中,生成测试代码;
[0044]代码测试模块,用于在所述预设的操作系统中运行所述测试代码,并获取所述操作系统的日志文件和线程记录文件;
[0045]线程调用模块,用于从所述线程记录文件中获取所述测试代码的实现线程,并从所述日志文件中查找所述实现线程的调用堆栈;
[0046]风险监控模块,用于在所述调用堆栈中查找非操作系统函数,获取所述非操作系统函数的输出结果,并基于所述输出结果确定所述程序代码的风险情况。
[0047]为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
[0048]一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上述所述的风险监控的方法的步骤。
[0049]为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
[0050]一种计算机可读存储介质,所述计算机可读存储介质上存储有计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种风险监控的方法,其特征在于,包括:接收风险监控指令,获取程序代码对应的开发需求文档;对所述开发需求文档进行关键词提取,得到风险关键词,并在所述程序代码中确定与所述风险关键词对应的风险代码;生成所述风险代码对应的检测代码,并将所述检测代码插入所述程序代码中,生成测试代码;在所述预设的操作系统中运行所述测试代码,并获取所述操作系统的日志文件和线程记录文件;从所述线程记录文件中获取所述测试代码的实现线程,并从所述日志文件中查找所述实现线程的调用堆栈;在所述调用堆栈中查找非操作系统函数,获取所述非操作系统函数的输出结果,并基于所述输出结果确定所述程序代码的风险情况。2.如权利要求1所述的风险监控的方法,其特征在于,所述对所述开发需求文档进行关键词提取,得到风险关键词,并在所述程序代码中确定与所述风险关键词对应的风险代码的步骤,具体包括:对所述开发需求文档进行分词处理,得到文本分词;对所述文本分词进行预处理,以去除所述文本分词中的停用词;基于预设的关键词提取算法,确定预处理后所述文本分词中的风险关键词;在所述程序代码中查找与所述风险关键词对应的代码段,得到所述风险代码。3.如权利要求1所述的风险监控的方法,其特征在于,所述生成所述风险代码对应的检测代码,并将所述检测代码插入所述程序代码中,生成测试代码的步骤,具体包括:根据所述风险关键词确定所述风险代码的类型;基于所述风险代码的类型,生成所述风险代码对应的检测代码;将所述检测代码插入所述程序代码中的预定位置,生成测试代码。4.如权利要求3所述的风险监控的方法,其特征在于,所述将所述检测代码插入所述程序代码中的预定位置,生成测试代码的步骤,具体包括:在所述程序代码中创建新线程,并在所述程序代码中查找监控功能位置;将所述新线程、所述监控功能位置和所述风险代码进行关联;将所述检测代码分别添加到所述新线程和所述监控功能位置中,生成所述测试代码。5.如权利要求1所述的风险监控的方法,其特征在于,所述在所述预设的操作系统中运行所述测试代码,并获取所述操作系统的日志文件和线程记录文件的步骤,具体包括:将所述测试代码导入所述操作系统,在所述操作系统中编译并运行所述测试代码;响应第一触发操作,确定所述测试代码对应的实现线程,并将所述实现线程存储到所述线程记录文件中,其中,第一触发操作为所述测试代码运行过程中所述新线程的触...

【专利技术属性】
技术研发人员:吴智炜
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:

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

1