System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 离线静态代码分析与云端解析漏洞扫描报告结合的方法技术_技高网

离线静态代码分析与云端解析漏洞扫描报告结合的方法技术

技术编号:40464218 阅读:7 留言:0更新日期:2024-02-22 23:18
本申请公开了一种离线静态代码分析与云端解析漏洞扫描报告结合的方法,包括:客户端从云端获取离线扫描工具,离线扫描工具包含用户授权信息;利用离线扫描工具在客户端扫描提交的源代码,生成漏洞扫描报告,漏洞扫描报告包括源代码总行数和漏洞列表;根据漏洞扫描报告和用户授权信息生成带签名信息的漏洞扫描报告上传至云端;云端根据用户授权信息和签名信息确定漏洞扫描报告的合法性;云端确定是否已支付满足源代码总行数的费用;云端根据漏洞列表在云端漏洞库中进行检索得到详细的漏洞信息,结合上传的扫描报告中的内容生成最终的漏洞扫描报告。本申请在有效解决用户源代码安全问题的同时,做到了根据源代码总行数进行计费和防止用户篡改、破解授权信息或通过修改服务器时间使授权验证失效等问题。

【技术实现步骤摘要】

本申请涉及漏洞扫描报告解析,尤其涉及离线静态代码分析与云端解析漏洞扫描报告结合的方法


技术介绍

1、静态代码分析又称为静态程序分析,是一种不运行程序的方式下,通过词法分析、语法分析等技术对静态代码进行分析,验证代码是否满足规范性、安全性等指标的一种代码分析技术。利用静态代码分析技术分析源代码中的安全漏洞和编码规范等问题我们称为静态代码分析工具或扫描工具。

2、一些静态代码扫描工具厂商(以下简称厂商)采用基于浏览器/服务器架构的云平台系统对用户上传的源代码进行安全漏洞或编码规范问题分析,以便于根据统计的源代码行数进行计费和实施对用户进行有效授权管理,但用户需要将源代码上传至云平台进行分析,然而用户可能担心敏感代码被泄露或滥用。所以有部分厂商采用基于客户端/服务器架构的静态代码分析工具,让用户能够在本地电脑或服务器上传源代码进行代码安全漏洞分析,这样虽然能够有效解决用户源代码安全问题,但无法做到根据源代码总行数进行计费和无法防止用户篡改和破解授权许可文件或通过修改服务器时间使授权许可验证失效等问题。


技术实现思路

1、本申请的目的在于提供一种离线静态代码分析与云端解析漏洞扫描报告结合的方法、电子设备及计算机可读存储介质,既能够解决用户源代码安全问题,又能够根据扫描的源代码总行数进行计费,还能够防止用户篡改和破解用户授权许可文件或通过修改服务器时间使授权验证失效等问题。

2、为了实现上述目的,本申请提供了一种离线静态代码分析与云端解析漏洞扫描报告结合的方法,包括

3、客户端从云端获取离线扫描工具,所述离线扫描工具包含加密的用户授权许可文件;

4、利用所述离线扫描工具在所述客户端扫描提交的源代码,生成漏洞扫描报告,所述漏洞扫描报告包括源代码总行数和漏洞列表;

5、根据所述加密的用户授权许可文件解密后得到用户授权信息;

6、根据所述漏洞扫描报告和所述用户授权信息生成带签名信息的所述漏洞扫描报告上传至所述云端;

7、所述云端根据所述用户授权信息和所述签名信息确定所述漏洞扫描报告的合法性;

8、在确定所述漏洞扫描报告的合法性后,所述云端确定是否已支付满足所述源代码总行数的费用;

9、在确定已支付满足所述源代码总行数的费用后,所述云端根据所述漏洞列表在云端漏洞库中进行检索得到对应的漏洞信息;

10、所述云端将所述漏洞扫描报告的内容和从所述云端漏洞库中检索到的漏洞信息进行结合得到最终的漏洞扫描报告。

11、可选地,所述客户端从云端获取离线扫描工具,包括:

12、所述客户端从所述云端下载软件包并运行软件包以获取所述客户端的mac地址,并获取用户信息和购买的代码扫描行数信息;

13、所述客户端将所述用户信息、所述购买的代码扫描行数信息和所述mac地址发送给所述云端;

14、所述云端根据所述用户信息、所述购买的代码扫描行数信息和所述mac地址生成订单并将支付信息发送给所述客户端;

15、所述客户端根据所述支付信息进行支付;

16、所述云端根据支付成功的订单信息生成所述加密的用户授权许可文件,并将包含所述加密的用户授权许可文件的所述离线扫描工具发送给所述客户端。

17、可选地,所述生成带签名信息的所述漏洞扫描报告,包括:

18、基于所述漏洞扫描报告生成漏洞扫描报告字符串,将所述漏洞扫描报告字符串和所述用户授权信息的多个信息封装到一个映射表中,所述映射表存有各信息的键名和键值;

19、根据所述映射表中的键名和键值,生成签名信息;

20、基于所述漏洞扫描报告和所述签名信息生成带所述签名信息的所述漏洞扫描报告。

21、可选地,所述生成签名信息,包括:

22、将所述映射表中的键名存入列表中,并对所述列表中的键名进行排序;

23、将所述列表中的键名与所述映射表中对应的键值进行拼接生成键值对;

24、将各键值对进行拼接,得到待加密字符串;

25、对所述待加密字符串进行加密得到所述签名信息。

26、可选地,所述基于所述漏洞扫描报告生成漏洞扫描报告字符串,包括:

27、根据所述漏洞扫描报告的总行数获取所述漏洞扫描报告的中间值;

28、以所述漏洞扫描报告的中间值为起点到所述漏洞扫描报告的最后一行取中间值;

29、以最新取得的中间值作为起点到所述漏洞扫描报告的最后一行取中间值,并重复多次以得到多个中间值;

30、对得到的所有中间值分别连续取至少部分字符;

31、将从所有中间值取到的字符拼接成一个字符串。

32、可选地,所述根据所述用户授权信息和所述签名信息确定所述漏洞扫描报告的合法性,包括:

33、验证所述用户授权信息是否合法,所述用户授权信息合法包括处于有效期内、所述用户授权信息没有被恶意篡改;

34、若所述用户授权信息合法,则通过所述签名信息验证所述漏洞扫描报告的合法性。

35、为了实现上述目的,本申请还提供了一种电子设备,包括:

36、处理器;

37、存储器,其中存储有所述处理器的可执行指令;

38、其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的的离线静态代码分析与云端解析漏洞扫描报告结合的方法。

39、为了实现上述目的,本申请还公开了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如上所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法。本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述离线静态代码分析与云端解析漏洞扫描报告结合的方法。

40、本申请通过客户端从云端获取包括用户授权信息的离线扫描工具,利用离线扫描工具在客户端扫描提交的源代码以生成包括源代码总行数和漏洞列表的漏洞扫描报告,根据漏洞扫描报告和用户授权信息生成带签名信息的漏洞扫描报告上传至云端,云端根据用户授权信息和签名信息确定漏洞扫描报告的合法性,确定漏洞扫描报告的合法性后,确定是否已支付满足源代码总行数的费用,在确定已支付满足源代码总行数的费用后,根据漏洞列表在云端漏洞库中进行检索得到对应的漏洞信息,将漏洞扫描报告的内容和从云端漏洞库中检索到的漏洞信息进行结合得到最终的漏洞扫描报告。由此,本申请在有效解决用户源代码安全问题的同时,做到了根据源代码总行数进行计费和防止用户篡改、破解用户授权信息或通过修改服务器时间使授权验证失效等问题。

本文档来自技高网...

【技术保护点】

1.一种离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,包括:

2.如权利要求1所述的离线静态代码分析与离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,

3.如权利要求1所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,所述生成带签名信息的所述漏洞扫描报告,包括:

4.如权利要求3所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,所述生成签名信息,包括:

5.如权利要求3所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,所述基于所述漏洞扫描报告生成漏洞扫描报告字符串,包括:

6.如权利要求1所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,

7.一种电子设备,其特征在于,包括:

8.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6任一项所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法。

【技术特征摘要】

1.一种离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,包括:

2.如权利要求1所述的离线静态代码分析与离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,

3.如权利要求1所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,所述生成带签名信息的所述漏洞扫描报告,包括:

4.如权利要求3所述的离线静态代码分析与云端解析漏洞扫描报告结合的方法,其特征在于,所述生成签名信息,包括:

<...

【专利技术属性】
技术研发人员:蔡琦万振华王颉徐瑞祝陆庆尚
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1