基于机器学习的代码敏感信息及硬编码检测方法及装置制造方法及图纸

技术编号:38085472 阅读:7 留言:0更新日期:2023-07-06 08:53
本发明专利技术提供了一种基于机器学习的代码敏感信息及硬编码检测方法及装置,涉及信息安全技术领域,包括获取金融监管系统的代码样本和待检测代码;将代码样本进行特征提取处理,得到向量表示;根据向量表示对预设的机器学习数学模型进行训练得到用于识别第一信息的分类器;将待检测代码进行语法解析处理,提取出语法树中的字符串常量和对应的变量名,并根据分类器对解析后的待检测代码进行分类处理,得到字符串常量和变量名的预测类别;将预测类别进行正则表达式匹配处理得到检测结果。本发明专利技术通过自动化地对待检测代码进行语法解析和特征提取处理,并使用机器学习模型对代码进行分类处理,能够大大提高检测的效率和自动化程度。能够大大提高检测的效率和自动化程度。能够大大提高检测的效率和自动化程度。

【技术实现步骤摘要】
基于机器学习的代码敏感信息及硬编码检测方法及装置


[0001]本专利技术涉及信息安全
,具体而言,涉及一种基于机器学习的代码敏感信息及硬编码检测方法及装置。

技术介绍

[0002]金融监管系统是由金融监管机构使用的软件系统,用于对金融市场和金融机构进行监督管理,维护金融稳定和防范金融风险。这些系统涉及大量的敏感数据,如金融机构的资产负债、风险指标、违规行为、处罚措施等,如果这些数据被修改或删除,可能会造成金融监管的失效。现有的金融监管系统代码的敏感信息及硬编码主要通过人工审查的方式进行检测,具有效率低下的缺点。
[0003]针对现有技术的缺点,现亟需一种基于机器学习的代码敏感信息及硬编码检测方法。

技术实现思路

[0004]本专利技术的目的在于提供一种基于机器学习的代码敏感信息及硬编码检测方法及装置,以改善上述问题。为了实现上述目的,本专利技术采取的技术方案如下:一方面,本申请提供了一种基于机器学习的代码敏感信息及硬编码检测方法,包括:获取金融监管系统的代码样本和待检测代码,所述代码样本包括第一信息,所述第一信息为敏感信息及硬编码审计口令;将所述代码样本进行特征提取处理,得到向量表示;根据所述向量表示对预设的机器学习数学模型进行训练得到用于识别所述第一信息的分类器;将所述待检测代码进行语法解析处理,提取出语法树中的字符串常量和对应的变量名,并根据所述分类器对解析后的所述待检测代码进行分类处理,得到字符串常量和变量名的预测类别;将所述预测类别进行正则表达式匹配处理得到检测结果,所述检测结果包括文件名、位置和类别信息。
[0005]另一方面,本申请还提供了一种基于机器学习的代码敏感信息及硬编码检测装置,包括:获取模块,用于获取金融监管系统的代码样本和待检测代码,所述代码样本包括第一信息,所述第一信息为敏感信息及硬编码审计口令;提取模块,用于将所述代码样本进行特征提取处理,得到向量表示;构建模块,用于根据所述向量表示对预设的机器学习数学模型进行训练得到用于识别所述第一信息的分类器;分类模块,用于将所述待检测代码进行语法解析处理,提取出语法树中的字符串
常量和对应的变量名,并根据所述分类器对解析后的所述待检测代码进行分类处理,得到字符串常量和变量名的预测类别;匹配模块,用于将所述预测类别进行正则表达式匹配处理得到检测结果,所述检测结果包括文件名、位置和类别信息。
[0006]本专利技术的有益效果为:本专利技术通过自动化地对待检测代码进行语法解析和特征提取处理,并使用机器学习模型对代码进行分类处理,能够大大提高检测的效率和自动化程度。
[0007]本专利技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术实施例了解。
附图说明
[0008]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0009]图1为本专利技术实施例中所述的基于机器学习的代码敏感信息及硬编码检测方法流程示意图;图2为本专利技术实施例中所述的基于机器学习的代码敏感信息及硬编码检测装置结构示意图。
[0010]图中标记:1、获取模块;2、提取模块;21、第一处理单元;22、第二处理单元;23、第三处理单元;24、第四处理单元;3、构建模块;31、第五处理单元;32、第一训练单元;33、第一评估单元;34、第一优化单元;35、第一构建单元;4、分类模块;41、第六处理单元;42、第七处理单元;421、第二构建单元;422、第一排序单元;423、第一提取单元;424、第一判断单元;43、第八处理单元;44、第九处理单元;5、匹配模块;51、第一匹配单元;52、第二判断单元;53、第二提取单元;54、第三判断单元。
具体实施方式
[0011]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0012]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1:
[0013]本实施例提供了一种基于机器学习的代码敏感信息及硬编码检测方法。
[0014]参见图1,图中示出了本方法包括步骤S100、步骤S200、步骤S300、步骤S400和步骤S500。
[0015]步骤S100、获取金融监管系统的代码样本和待检测代码,代码样本包括第一信息,第一信息为敏感信息及硬编码审计口令。
[0016]可以理解的是,在金融监管系统中,存在着一些敏感信息,比如用户身份信息、交易信息、银行账户信息等,这些信息需要得到严格的保护。同时,系统中还存在一些硬编码审计口令,这些口令可以用于审计系统的安全性和可靠性。在本步骤中,代码样本可以通过采集金融监管系统的代码进行获取。这些代码可以包括金融监管机构内部开发的代码,也可以包括金融机构提交的代码。待检测代码则是指需要进行敏感信息及硬编码审计口令检测的代码,可以是新提交的代码,也可以是既有的代码。例如,在一个银行的金融监管系统中,代码样本可能包括银行内部开发的系统管理模块、业务逻辑模块、数据管理模块等;待检测代码则是指银行客户提交的各种金融交易代码、申请贷款代码等。
[0017]步骤S200、将代码样本进行特征提取处理,得到向量表示。
[0018]可以理解的是,在本步骤中,将代码样本转换成计算机可以处理的向量表示,为后续的机器学习模型训练和待检测代码分类做准备。需要说明的是步骤S200包括步骤S210、步骤S220、步骤S230和步骤S240。
[0019]步骤S210、将代码样本中的敏感元素进行N元语法处理,得到敏感元素特征,敏感元素包括审计口令、API密钥和数据库凭证。
[0020]可以理解的是,在本步骤中,N元语法处理是指将一个文本序列按照固定的N元组长度进行切割,然后对切割后的N元组进行处理和表示。在本步骤中,将敏感元素(如审计口令、API密钥和数据库凭证)按照N元组的长度进行切割,得到一系列的N元组。通过N元语法处理,可以将敏感元素进行向量化表示,进一步提取敏感元素的特征。
[0021]步骤S220、将代码样本中的专业名词进行词频本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于机器学习的代码敏感信息及硬编码检测方法,其特征在于,包括:获取金融监管系统的代码样本和待检测代码,所述代码样本包括第一信息,所述第一信息为敏感信息及硬编码审计口令;将所述代码样本进行特征提取处理,得到向量表示;根据所述向量表示对预设的机器学习数学模型进行训练得到用于识别所述第一信息的分类器;将所述待检测代码进行语法解析处理,提取出语法树中的字符串常量和对应的变量名,并根据所述分类器对解析后的所述待检测代码进行分类处理,得到字符串常量和变量名的预测类别;将所述预测类别进行正则表达式匹配处理得到检测结果,所述检测结果包括文件名、位置和类别信息。2.根据权利要求1所述的基于机器学习的代码敏感信息及硬编码检测方法,其特征在于,将所述代码样本进行特征提取处理,得到向量表示,包括:将所述代码样本中的敏感元素进行N元语法处理,得到敏感元素特征,所述敏感元素包括审计口令、API密钥和数据库凭证;将所述代码样本中的专业名词进行词频

逆文档频率处理,得到专业名词特征,所述专业名词包括风险指标和资产负债;将所述代码样本中的实体机构进行词向量处理,得到实体机构特征,所述实体机构包括金融机构和监管机构;将所述敏感元素特征、专业名词特征和实体机构特征进行融合处理得到综合特征,并将所述综合特征进行归一化处理得到向量表示。3.根据权利要求1所述的基于机器学习的代码敏感信息及硬编码检测方法,其特征在于,根据所述向量表示对预设的机器学习数学模型进行训练得到用于识别所述第一信息的分类器,包括:基于预设的分层抽样策略对所述向量表示进行划分处理得到数据集,所述数据集包括训练集和验证集;根据所述数据集对预设的注意力机制

双向长短时记忆网络数学模型进行监督学习训练,通过捕捉金融监管领域的风险指标、资产负债等名词,得到初步识别模型;根据预设的评估指标对所述初步识别模型进行评估处理,得到评估结果;根据所述评估结果对所述初步别模型进行模型优化处理,得到优化识别模型;根据所述验证集对所述优化识别模型进行验证处理,得到用于识别敏感信息和硬编码审计口令的分类器。4.根据权利要求1所述的基于机器学习的代码敏感信息及硬编码检测方法,其特征在于,将所述待检测代码进行语法解析处理,提取出语法树中的字符串常量和对应的变量名,并根据所述分类器对解析后的所述待检测代码进行分类处理,得到字符串常量和变量名的预测类别,包括:将所述待检测代码进行语法解析处理,得到抽象语法树;将所述抽象语法树进行节点遍历处理得到代码元素,所述代码元素包括字符串常量及对应的变量名;
将所述代码元素进行特征转换处理,得到输入特征;根据所述分类器对所述输入特征进行分类处理,得到所述代码元素的预测类别。5.根据权利要求4所述的基于机器学习的代码敏感信息及硬编码检测方法,其特征在于,将所述抽象语法树进行节点遍历处理得到代码元素,包括:根据所述抽象语法树构建得到中序遍历数学模型,并将所述抽象语法树的根节点作为中序遍历数学模型的输入参数,得到遍历模型;根据所述抽象语法树中节点间的关系,逐个将所述抽象语法树中的代码节点添加到所述遍历模型的栈中,得到遍历的节点序列;根据所述节点序列对所述遍历模型进行提取处理,依次提取遍历中的当前节点,得到待分析代码节点;对所述待分析代码节点进行类型判断,并筛选出字符串常量及对应的变量名,得到代码元素。6.一种基于机器学习的代码敏感信息及硬编码检测装置...

【专利技术属性】
技术研发人员:付杰高鹏靳岩
申请(专利权)人:上海比瓴科技有限公司
类型:发明
国别省市:

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

1