代码检测方法、装置及非瞬时性计算机可读存储介质制造方法及图纸

技术编号:33616408 阅读:10 留言:0更新日期:2022-06-02 00:31
本公开提供了一种代码检测方法、装置及非瞬时性计算机可读存储介质,涉及计算机技术领域。其中的代码检测方法包括:识别代码中的函数和参数;从参数中查找调用网络函数的连接参数以及连接参数的定义参数,函数包括网络函数;从函数中查找将定义参数处理为连接参数的参数处理函数,函数包括参数处理函数;根据参数处理函数及定义参数,判断连接参数是否为硬编码密码;在连接参数为硬编码密码的情况下,输出在代码中检测硬编码密码的检测报告。本公开能够更加准确、高效的检测出代码中的硬编码密码。密码。密码。

【技术实现步骤摘要】
代码检测方法、装置及非瞬时性计算机可读存储介质


[0001]本公开涉及计算机
,特别涉及一种代码检测方法、装置及非瞬时性计算机可读存储介质。

技术介绍

[0002]在程序中采用硬编码方式对密码进行加密处理,会得到硬编码密码。
[0003]硬编码加密意味着拥有代码权限的人都可以查看到硬编码密码,也可以通过反编译代码看到硬编码密码。而硬编码加密的漏洞一旦被利用,会造成难以修改正的安全问题。

技术实现思路

[0004]本公开解决的一个技术问题是,如何更加准确、高效的检测出代码中的硬编码密码。
[0005]根据本公开的一个方面,提供了一种代码检测方法,包括:识别代码中的函数和参数;从参数中查找调用网络函数的连接参数以及连接参数的定义参数,函数包括网络函数;从函数中查找将定义参数处理为连接参数的参数处理函数,函数包括参数处理函数;根据参数处理函数及定义参数,判断连接参数是否为硬编码密码;在连接参数为硬编码密码的情况下,输出在代码中检测硬编码密码的检测报告。
[0006]在一些实施例中,输出在代码中检测硬编码密码的检测报告包括:判断代码是否经过混淆;若代码未经过混淆,输出连接参数,并报告在代码中检测到硬编码密码;若代码经过混淆,利用密码关键字对代码进行匹配,输出代码中与密码关键字匹配的参数,并报告在代码中检测到硬编码密码。
[0007]在一些实施例中,根据参数处理函数及定义参数,判断连接参数是否为硬编码密码包括:若经过参数处理函数的处理,定义参数与连接参数不同,则连接参数不为硬编码密码;若经过参数处理函数的处理,定义参数与连接参数相同,或者,未查找到参数处理函数,则连接参数为硬编码密码。
[0008]在一些实施例中,代码检测方法还包括:在连接参数不为硬编码密码的情况下,判断参数处理函数是否利用加密参数将定义参数处理为连接参数;若参数处理函数利用加密参数将定义参数处理为连接参数,报告在代码中检测到强处理密码;若参数处理函数未利用加密参数将定义参数处理为连接参数,报告在代码中检测到弱处理密码。
[0009]在一些实施例中,代码检测方法还包括:确定文件的文件类型;在文件类型为非二进制文件的情况下,预加载文件中的代码;在文件类型为二进制文件的情况下,对文件进行逆向处理,预加载逆向处理后的文件中的代码。
[0010]根据本公开的另一个方面,提供了一种代码检测装置,包括:代码识别模块,被配置为识别代码中的函数和参数;参数查找模块,被配置为从参数中查找调用网络函数的连接参数以及连接参数的定义参数,函数包括网络函数;函数查找模块,被配置为从函数中查找将定义参数处理为连接参数的参数处理函数,函数包括参数处理函数;硬编码判断模块,
被配置为根据参数处理函数及定义参数,判断连接参数是否为硬编码密码;报告输出模块,被配置为在连接参数为硬编码密码的情况下,输出在代码中检测硬编码密码的检测报告。
[0011]在一些实施例中,报告输出模块被配置为:判断代码是否经过混淆;若代码未经过混淆,输出连接参数,并报告在代码中检测到硬编码密码;若代码经过混淆,利用密码关键字对代码进行匹配,输出代码中与密码关键字匹配的参数,并报告在代码中检测到硬编码密码。
[0012]在一些实施例中,硬编码判断模块被配置为:若经过参数处理函数的处理,定义参数与连接参数不同,则连接参数不为硬编码密码;若经过参数处理函数的处理,定义参数与连接参数相同,或者,未查找到参数处理函数,则连接参数为硬编码密码。
[0013]在一些实施例中,代码检测装置还包括函数判断模块,被配置为:在连接参数不为硬编码密码的情况下,判断参数处理函数是否利用加密参数将定义参数处理为连接参数;报告输出模块还被配置为:若参数处理函数利用加密参数将定义参数处理为连接参数,报告在代码中检测到强处理密码;若参数处理函数未利用加密参数将定义参数处理为连接参数,报告在代码中检测到弱处理密码。
[0014]在一些实施例中,代码检测装置还包括代码预加载模块,被配置为:确定文件的文件类型;在文件类型为非二进制文件的情况下,预加载文件中的代码;在文件类型为二进制文件的情况下,对文件进行逆向处理,预加载逆向处理后的文件中的代码。
[0015]根据本公开的又一个方面,提供了又一种代码检测装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的代码检测方法。
[0016]根据本公开的再一个方面,提供了一种非瞬时性计算机可读存储介质,其中,非瞬时性计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的代码检测方法。
[0017]本公开能够更加准确、高效的检测出代码中的硬编码密码。
[0018]通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
[0019]为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1示出了本公开一些实施例的代码检测方法的流程示意图。
[0021]图2示出了输出在代码中检测硬编码密码的检测报告的一些实施例的流程示意图。
[0022]图3示出了本公开一些实施例的代码检测装置的结构示意图。
[0023]图4示出了本公开另一些实施例的代码检测装置的结构示意图。
具体实施方式
[0024]下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
[0025]专利技术人研究发现,如果在代码中搜索密码关键字(例如password、pass、pwd、jdbc等)来检测代码中是否存在硬编码密码,通常检测准确率较低且检测效率较低,需要工作人员进行人工的二次确认。检测准确率较低的原因主要分两方面,一方面代码中可能存在与密码关键字相同的命名字段,但该字段实际上并不是密码;另一方面代码中可能直接使用密码而不采用密码关键字对密码进行表示。检测效率较低的原因是,搜索密码关键字时需要在全部代码中进行字符匹配。有鉴于此,专利技术人提供了一种码检测方法,能够更加准确、高效的检测出代码中的硬编码密码。
[0026]下面结合图1描述本公开代码检测方法的一些实施例。
[0027]图1示出了本公开一些实施例的代码检测方法的流程示意图。如图1所示,代码检测方法包括步骤S101~步骤S109。其中,步骤S101~步骤S104为准备阶段,步骤S105~步骤S109为检测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码检测方法,包括:识别代码中的函数和参数;从所述参数中查找调用所述网络函数的连接参数以及所述连接参数的定义参数,所述函数包括所述网络函数;从所述函数中查找将所述定义参数处理为所述连接参数的参数处理函数,所述函数包括所述参数处理函数;根据所述参数处理函数及所述定义参数,判断所述连接参数是否为硬编码密码;在所述连接参数为硬编码密码的情况下,输出在所述代码中检测硬编码密码的检测报告。2.根据权利要求1所述的代码检测方法,其中,所述输出在所述代码中检测硬编码密码的检测报告包括:判断所述代码是否经过混淆;若所述代码未经过混淆,输出所述连接参数,并报告在所述代码中检测到硬编码密码;若所述代码经过混淆,利用密码关键字对所述代码进行匹配,输出所述代码中与所述密码关键字匹配的参数,并报告在所述代码中检测到硬编码密码。3.根据权利要求1所述的代码检测方法,其中,所述根据所述参数处理函数及所述定义参数,判断所述连接参数是否为硬编码密码包括:若经过所述参数处理函数的处理,所述定义参数与所述连接参数不同,则所述连接参数不为硬编码密码;若经过所述参数处理函数的处理,所述定义参数与所述连接参数相同,或者,未查找到所述参数处理函数,则所述连接参数为硬编码密码。4.根据权利要求1所述的代码检测方法,还包括:在所述连接参数不为硬编码密码的情况下,判断所述参数处理函数是否利用加密参数将所述定义参数处理为所述连接参数;若所述参数处理函数利用加密参数将所述定义参数处理为所述连接参数,报告在所述代码中检测到强处理密码;若所述参数处理函数未利用加密参数将所述定义参数处理为所述连接参数,报告在所述代码中检测到弱处理密码。5.根据权利要求1所述的代码检测方法,还包括:确定文件的文件类型;在所述文件类型为非二进制文件的情况下,预加载所述文件中的所述代码;在所述文件类型为二进制文件的情况下,对所述文件进行逆向处理,预加载逆向处理后的所述文件中的所述代码。6.一种代码检测装置,包括:代码识别模块,被配置为识别代码中的函数和参数;参数查找模块,被配置为从所述参数中查找调用所述网络函数的连接参数以及所述连接参数的定义参数,所述函数包括所述网络函数;函数查找模块,被配置为从所述函数中查找将所...

【专利技术属性】
技术研发人员:王争周文君于文良王渭清
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1