1.本技术涉及数据处理技术领域,尤其涉及一种信息、笔记信息、代码检测方法、设备及存储介质。
背景技术:2.随着信息处理技术的迅速发展,网络应用和计算机软件被广泛应用于各行各业当中。软件开发过程中,开发人员存在将用户名密码、数据库凭证、访问令牌、开发密钥等敏感信息明文写在代码文件和测试文件里,造成数据泄露等重大问题。
3.目前,对敏感信息的检测方式主要有两种:规则检测和信息熵检测。其中,规则检测依赖变量命名和代码写法,容易造成漏报;规则检测对于不同语言的不同语法,对于变量赋值、方法调用等用法,容易造成误报。信息熵检测通过计算代码行混乱程度,确定是否包含随机生成的密钥信息,但是准确率非常低。
技术实现要素:4.本技术的多个方面提供一种信息、笔记信息、代码检测方法、设备及存储介质,减少敏感信息误报,提高检出率。
5.本技术实施例提供一种信息检测方法,包括:
6.获取待检测内容;
7.根据预设的检测规则,从待检测内容中检测出疑似敏感信息;
8.根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。
9.本技术实施例提供一种信息检测设备,包括:存储器和处理器;
10.所述存储器,用于存储一条或多条计算机指令;
11.所述处理器,用于执行所述一条或多条计算机指令以用于:
12.获取待检测内容;
13.根据预设的检测规则,从待检测内容中检测出疑似敏感信息;
14.根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。
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.获取待检测代码文件;
41.响应代码检测操作,对待检测代码文件进行敏感信息检测,其中,对待检测代码文件进行敏感信息检测包括检测阶段和过滤阶段;
42.若从待检测代码文件中检测目标敏感信息,则展示所述目标敏感信息。
43.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
44.获取待检测代码文件;
45.响应代码检测操作,对待检测代码文件进行敏感信息检测,其中,对待检测代码文件进行敏感信息检测包括检测阶段和过滤阶段;
46.若从待检测代码文件中检测目标敏感信息,则展示所述目标敏感信息。
47.在本技术的一些实施例中,采用双阶段检测敏感信息,第一阶段根据预设的检测规则,从待检测内容中识别出疑似敏感信息,提高敏感信息检出率;第二阶段根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息,从疑似敏感信息中剔除误报的疑似敏感信息;本技术实施例的信息检测方法,提高敏感信息的检出精度。
附图说明
48.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
49.图1a为本技术示例性实施例提供的一种信息检测方法的流程示意图;
50.图1b为本技术实施例提供的另一种信息检测方法的流程设计框架图;
51.图2a为本技术示例性实施例提供的另一种信息检测方法的流程示意图;
52.图2b为本技术示例性实施例提供的一种代码检测方法的流程示意图;
53.图3为本技术示例性实施例提供的一种笔记信息检测方法
54.图4为本技术实施例提供的一种信息检测设备的结构示意图;
55.图5为本技术实施例提供的一种笔记信息检测设备的结构示意图;
56.图6为本技术实施例提供的一种代码检测设备的结构示意图。
具体实施方式
57.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
58.目前,对敏感信息的检测方式主要有以下两种检测方式:
59.第一种检测方式,规则检测;规则检测进行敏感信息匹配优势在于准确度较高,可以正则匹配来识别敏感信息,并且具有较好的拓展性。但是,规则匹配一方面非常依赖变量命名和代码写法,容易造成漏报;另一方面,规则匹配对于不同语言的不同语法,对于变量赋值、方法调用等用法,容易造成误报。
60.第二种检测方式,信息熵检测;信息熵检测通过计算代码行的混乱程度,确定是否包含随机生成的敏感信息。但是,信息熵检测敏感信息的准确率非常低,导致结果几乎不可用。
61.针对上述存在的技术问题,在本技术的一些实施例中,采用双阶段检测敏感信息,第一阶段根据预设的检测规则,从待检测内容中识别出疑似敏感信息,提高敏感信息检出率;第二阶段根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息,从疑似敏感信息中剔除误报的疑似敏感信息;本技术实施例的信息检测方法,提高敏感信息的检出精度。
62.以下结合附图,详细说明本技术各实施例提供的技术方案。
63.图1a为本技术示例性实施例提供的一种信息检测方法的流程示意图。如图1所示,该方法包括:
64.s101:获取待检测内容;
65.s102:根据预设的检测规则,从待检测内容中检测出疑似敏感信息;
66.s103:根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。
67.在本实施例中,该方法的执行主体,信息检测设备可以是具有一定计算和处理能力的终端设备实现,其实现形式可以有多种,例如可以是智能手机、个人电脑、穿戴设备、平板电脑等。但并不限于此,上述方法也可以通过终端设备与部署在云端的服务器相互配合实现。例如,终端设备将待检测内容上传至服务器,服务器执行图1描述的方法的各步骤。
68.若上述方法由终端设备与部署在云端的服务器相互配合实现。则服务器可以为终端设备提供数据支持、计算服务以及一些管理服务。在本实施例中,并不限定服务器的实现形态,例如,服务器可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类型。服务器可以包含一台网站服务器,也可以包含多台网站服务器。
69.在上述实施例中,终端设备与服务器通过无线或者有线建立通信连接。可选地,终
端设备可以采用wifi、蓝牙、红外等通信方式与服务器建立通信连接,或者,终端设备也可以通过移动网络与服务器建立通信连接。其中,移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)和5g等中的任意一种。
70.在本实施例中,对待检测内容的类型不作限定。待检测内容通常以文件形式或者信息片段存在,待检测内容包括自然语言文件和计算机语言文件中的任意一种。其中,自然语言文件包括常规中文文件、英文文件等;计算机语言文件包括c语言文件、c++语言文件、汇编语言文件、pascal语言文件和java语言文件等代码文件。
71.在本实施例中,敏感信息包括涉及数据安全的词汇和自然语言敏感词汇。其中,涉及数据安全的词汇包括用户名密码、数据库凭证、访问令牌以及开发秘钥。其中,疑似敏感信息包括敏感信息本身和有可能包含敏感信息的片段。
72.在本实施例中,信息检测设备获取到有检测需求待检测内容后,相对于常规的单阶段检测模式,本技术采用双阶段检测模式识别待检测内容中的敏感信息。其中,针对不同的待检测内容,可以灵活选用单阶段检测模式或者双阶段检测模式。其中,从单阶段检测模式和双阶段检测模式中,确定采用双阶段检测模式对待检测内容进行检测,包括但不限于以下两种模式切换方式:
73.模式切换方式一,根据待检测内容的风险场景以及预设的风险场景与检测模式之间的对应关系,确定采用双阶段检测模式对待检测内容进行检测或者采用单阶段检测模式对待检测内容进行检测。
74.模式切换方式二,展示模式选择界面,模式选择界面上包括单阶段检测模式和双阶段检测模式;以及响应用户选择检测模式的操作,确定用户选择使用双阶段检测模式对待检测内容进行检测或者采用单阶段检测模式对待检测内容进行检测。
75.在上述模式切换方式一中,根据风险场景的风险程度,从单阶段检测模式和双阶段检测模式中选择相应的检测模式对待检测内容进行检测;判断当前风险场景的风险程度;若当前风险场景的风险程度小于等于风险程度阈值,则采用单阶段检测模式对待检测内容进行检测;若当前风险场景的风险程度大于风险程度阈值,则采用双阶段检测模式对待检测内容进行检测。信息检测设备在接收到用户选择双阶段检测模式对待检测内容进行检测的指令后,对待检测内容进行检测。在本实施例中,对风险程度阈值不作限定,风险程度阈值可以结合实际场景作出适应性调整。
76.在上述模式切换方式二中,用户通过终端设备的电子显示屏交互选择检测模式。电子显示屏上展示模式选择界面,模式选择界面上包括单阶段检测模式和双阶段检测模式;终端设备响应用户对双阶段检测模式的选择操作,确定用户选择使用双阶段检测模式对待检测内容进行检测;终端设备响应用户对单阶段检测模式的选择操作,确定用户选择使用单阶段检测模式对待检测内容进行检测。信息检测设备在接收到用户选择双阶段检测模式对待检测内容进行检测的指令后,对待检测内容进行检测。此外,用户也可通过语音方式选择检测模式。
77.在一些实施例中,针对不同的待检测内容的类型,检测敏感信息的方式也不同。因此,提前预设检测内容的类型与检测规则和过滤方式的映射关系。在进行双阶段检测模式对待检测内容进行检测之前,识别检测内容的类型,根据待检测内容的类型,在待检测内容的类型与检测规则和过滤方式的映射关系中进行匹配,以获取待检测内容对应的检测规则
和过滤方式。例如,待检测内容为java代码,则待检测内容对应的检测规则包括java规则匹配模板和信息熵检测;则待检测内容对应的过滤方式包括第一类过滤方式和第二类过滤方式,其中,第二类过滤方式包括语法过滤方式、语义过滤方式和信息熵过滤方式。
78.在上述实施例中,采用双阶段检测模式对待检测内容进行检测。双阶段检测模式包括检测阶段和过滤阶段。下面分别对检测阶段和过滤阶段的详细步骤作出说明:
79.检测阶段:检测阶段包括规则检测和信息熵检测。
80.信息检测设备根据预设的检测规则,从待检测内容中检测出疑似敏感信息;一种可选实施例为,利用已有的规则匹配模板,从待检测内容中匹配出包含敏感信息的片段,作为疑似敏感信息;对待检测内容中未包含敏感信息的片段进行信息熵检测,以获得疑似敏感信息。
81.其中,利用已有的规则匹配模板,从待检测内容中匹配出包含敏感信息的片段。一种可选实施例为,以行为单位将待检测内容中的内容切分为至少一个待检测片段;分别计算每个待检测片段与各规则匹配模板之间的匹配度;将至少一个待检测片段中的匹配度大于匹配阈值的片段,作为疑似敏感信息。
82.其中,以行为单位将待检测内容中的内容切分为至少一个待检测片段,待检测片段可以包含一行,也可以包含多行。例如,一行代码,string variable="notmypassword",分别计算该行代码与已有的各规则匹配模板之间的匹配度;计算得出该行代码与已有的各规则匹配模板的匹配度均小于匹配阈值,则该行代码不属于疑似敏感信息。对于另一行代码,string apikey="akfakqhifewo",分别计算该代码与已有的各规则匹配模板之间的匹配度;计算得出该行代码与已有的各规则匹配模板中的其中一个规则匹配模板的匹配度大于匹配阈值,则该行代码属于疑似敏感信息。需要说明的是,本技术实施例对匹配阈值不作限定,匹配阈值可以根据实际情况作出调整。
83.针对经过上述待检测内容中未包含敏感信息的片段,继续进行信息熵检测,以提高敏感信息的检出率。信息检测设备对待检测内容中未包含敏感信息的片段进行信息熵检测,以获得疑似敏感信息;一种可选实施例为,针对第一片段,根据第一片段对应的语法,将第一片段拆分为至少一个子片段,其中,第一片段是未包含敏感信息的片段中的任一片段;计算至少一个子片段的信息熵;将至少一个子片段中信息熵大于设定信息熵阈值的子片段,作为疑似敏感信息。例如,针对该行代码,string variable="notmypassword;",经过上述的检测规则识别为未包含敏感信息的片段,则继续进行信息熵检测,针对该行代码,根据该行代码对应的语法,将该行代码拆分为五个子片段:
84.string:identifier
85.variable:identifier
86.=:"="
87."notmypassword":stringliteral
88.;:
″
;
″
89.其中,根据该行代码对应的语法,"string"、"variable"是标识符,"="、";"是符号,"notmypassword"为赋给字符串的值。则计算"notmypassword"的信息熵,得出"notmypassword"的信息熵小于设定信息熵阈值,则“notmypassword”不是疑似敏感信息。
90.再例如,针对该行代码,some_k_ey="aoi9iqkfqhadslk132;",经过上述的检测规
则识别为未包含敏感信息的片段,则继续进行信息熵检测,针对该行代码,根据该行代码对应的语法,将该行代码拆分为子片段。其中,"aoi9iqkfqhadslk132"为赋给字符串的值。则计算"aoi9iqkfqhadslk132"的信息熵,得出"aoi9iqkfqhadslk132"的信息熵大于设定信息熵阈值,则“aoi9iqkfqhadslk132”为疑似敏感信息。在本技术实施例中,并不限定设定信息熵阈值的具体取值,设定信息熵阈值可以根据实际情况进行调整。
91.将第一检测阶段检测出的疑似敏感信息输出至过滤阶段对疑似敏感信息进行过滤,从疑似敏感信息中过滤出目标敏感信息。本技术实施例在检测阶段,利用规则匹配模板从待检测内容中匹配疑似敏感信息,提高敏感信息的准确率;对于规则匹配模板未匹配到的片段,继续采用信息熵检测,弥补规则检测容易漏报的问题。
92.过滤阶段:包括第一类过滤方式和第二类过滤方式。其中,第二类过滤方式包括语法过滤方式、语义过滤方式和信息熵过滤方式中的至少一种。
93.根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。一种可选实施例为,根据第一类过滤方式,从疑似敏感信息中过滤出候选疑似敏感信息;根据候选疑似敏感信息的定义类型,从第二类过滤方式中选择与定义类型对应的目标过滤方式;利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息。
94.在上述实施例中,根据第一类过滤方式,从疑似敏感信息中过滤出候选疑似敏感信息。一种可选实施例为,结合疑似敏感信息对应的上下文和/或文件类型,从疑似敏感信息中过滤出候选疑似敏感信息。
95.其中,结合疑似敏感信息对应的上下文,从疑似敏感信息中过滤出候选疑似敏感信息。可选地,在疑似敏感信息的上下文中查找特定信息;若未查找到特定信息,则将疑似敏感信息确定为候选疑似敏感信息。例如,查找疑似敏感信息的上下设定行的代码是否出现“示例代码”注释,若出现“示例代码”,则该疑似敏感信息只是示例,降低该疑似敏感信息的敏感等级,或者直接过滤该疑似敏感信息,即确定该疑似敏感信息不属于目标敏感信息。
96.其中,结合疑似敏感信息对应的文件类型,从疑似敏感信息中过滤出候选疑似敏感信息,判断疑似敏感信息对应的文件类型是否属于指定文件类型;若是,则降低疑似敏感信息的敏感等级或者确定疑似敏感信息不属于目标敏感信息。例如,判断疑似敏感信息的文件类型是否为测试文件类型,若是,测试文件中包含的信息的重要程度较低,则降低疑似敏感信息的敏感等级或者,或者直接过滤该疑似敏感信息,即确定疑似敏感信息不属于目标敏感信息。
97.在上述实施例中,根据候选疑似敏感信息的定义类型,从第二类过滤方式中选择与定义类型对应的目标过滤方式。一种可选实施例为,识别候选疑似敏感信息的定义类型;若定义类型为自定义类型,则选择语法过滤方式作为目标过滤方式;若定义类型为非自定义类型,则选择语法过滤方式、语义过滤方式和信息熵过滤方式中的至少一种方式作为目标过滤方式。
98.其中,若目标过滤方式为语法过滤方式,利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息。一种可选实施例为,根据候选疑似敏感信息的语法,判断候选疑似敏感信息是否属于定义指定敏感信息的语句;若是,则确定候选疑似敏感信息为目标敏感信息。例如,
99.string apikey="akfakqhifewo";
100.this.apikey=currentapikey;
101.结合语法分析,第一行代码是存了一个apikey在代码里,则该行代码为目标敏感信息;而第二行代码只是为this.apikey赋值,没有敏感信息。本技术实施例语法过滤方式,识别到疑似敏感信息在当前语境下的用法,可以有效解决一部分方法调用、变量赋值、前端属性、文件路径和链接路径等用法造成的误报。
102.其中,若疑似敏感信息的定义类型为非自定义类型,真实场景下,密钥往往是无序随机生成的,没有任何语义;因此,可以通过计算疑似敏感信息的语义值来对疑似敏感信息进行过滤。若目标过滤方式为语义过滤方式,利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息。一种可选实施例为,计算候选疑似敏感信息与预设的词库中的单词的匹配度;根据候选疑似敏感信息与预设的词库中的单词的匹配度,计算候选疑似敏感信息的语义值;若候选疑似敏感信息的语义值大于语义阈值,则降低语义值大于语义阈值的候选疑似敏感信息的敏感等级;将降低敏感等级后的候选疑似敏感信息的敏感等级与设定等级阈值进行比较;若降低敏感等级后的候选疑似敏感信息的敏感等级大于设定敏感等级,则确定降低敏感等级后的候选疑似敏感信息为目标敏感信息。在本技术实施例中,对语义阈值的取值不作限定,语义阈值可以根据实际情况作出调整。密钥如,app_key="9a3b106e41776d6567e13120910f3136"往往是无序随机生成的,没有语义;计算候选疑似敏感信息"9a3b106e41776d6567e13120910f3136"与预设的词库中的单词的匹配度;根据该候选疑似敏感信息与预设的词库中的单词的匹配度,计算候选疑似敏感信息的语义值。
103.其中,若疑似敏感信息的定义类型为非自定义类型,在真实场景下,密钥往往是无序随机生成的、无序的,通过信息熵计算可以过滤掉无序程度较低的密钥。若目标过滤方式为信息熵过滤方式,利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息。一种可选实施例为,计算候选疑似敏感信息的信息熵;若候选疑似敏感信息的信息熵小于信息熵阈值,则降低信息熵小于信息熵阈值的候选疑似敏感信息的敏感等级;若候选疑似敏感信息的信息熵大于信息熵阈值,则保持候选疑似敏感信息的敏感等级。在本技术实施例中,对信息熵阈值的取值不作限定,信息熵阈值可以根据实际情况作出调整。例如,候选疑似敏感信息key=xxxxxxxxxxxxxx;计算该候选疑似敏感信息的信息熵;该候选疑似敏感信息的信息熵小于信息熵阈值,降低该候选疑似敏感信息的敏感等级。
104.需要说明的是,本技术实施例可以只采用第一类过滤方式或者第二类过滤方式,也可以同时采用第一类过滤方式和第二类过滤方式。针对同时采用第一类过滤方式和第二类过滤方式的情形,语法过滤方式、语义过滤方式和信息熵过滤方式之间可以根据实际情况任意组合。
105.图1b为本技术实施例提供的另一种信息检测方法的流程设计框架图。如图1b所示,该设计框架包括检测层10和过滤层20。其中,检测层10包括规则检测模块101和信息熵检测模块102。过滤层20包括通用过滤模块201和语法过滤模块202、语义过滤模块203和信息熵过滤模块204。
106.其中,检测层10用于从待检测内容中检测出疑似敏感信息,过滤层20用于从疑似敏感信息中过滤出目标敏感信息。检测层10的规则检测检测模块101,利用已有的规则匹配模板,从待检测内容中匹配出包含敏感信息的片段,作为疑似敏感信息;信息熵检测模块102,用于对待检测内容中未包含敏感信息的片段进行信息熵检测,以获得疑似敏感信息。
过滤层20的通用过滤模块201,用于根据第一类过滤方式,从疑似敏感信息中过滤出候选疑似敏感信息;语法过滤模块202、语义过滤模块203和信息熵过滤模块204分别以语法过滤方式,语义过滤方式以及信息熵过滤方式对候选疑似敏感信息进行过滤,以得到目标敏感信息。
107.关于利用上述流程设计框架进行信息检测的内容可以参见前述各实施例的描述,在此不再赘述。
108.结合上述各实施例的描述,可以根据敏感信息校测结果对检测规则进行优化,以提高检测阶段的敏感信息的检出精度。其中,规则匹配模块,一方面可以通过用户自行扩充规则匹配模板,另一方面可以通过用户反馈整体优化或补充规则匹配模板。此外,根据用户反馈的误报重新生成过滤规则,在不影响检测层负责召回率的情况下,优化准确率减少误报。
109.结合上述各实施例的描述,图2a为本技术示例性实施例提供的另一种信息检测方法的流程示意图。如图2a所示,该方法包括:
110.s211:获取待检测内容;
111.s212:利用已有的规则匹配模板,从待检测内容中匹配出包含敏感信息的片段,作为疑似敏感信息;
112.s213:对待检测内容中未包含敏感信息的片段进行信息熵检测,以获得疑似敏感信息;
113.s214:根据第一类过滤方式,从疑似敏感信息中过滤出候选疑似敏感信息;
114.s215:根据候选疑似敏感信息的定义类型,从第二类过滤方式中选择与定义类型对应的目标过滤方式;
115.s216:利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息。
116.结合上述各实施例的描述,以代码检测场景为例,图2b为本技术示例性实施例提供的一种代码检测方法的流程示意图。如图2b所示,该方法包括:
117.s221:获取待检测代码文件;
118.s222:响应代码检测操作,对待检测代码文件进行敏感信息检测,其中,对待检测代码文件进行敏感信息检测包括检测阶段和过滤阶段;
119.s223:若从待检测代码文件中检测目标敏感信息,则展示目标敏感信息。
120.在本实施例中,该方法的执行主体,代码检测设备的实现形式可以有多种,例如可以是智能手机、个人电脑、穿戴设备、平板电脑等。
121.在一些实施例中,开发人员在向管理终端提交代码文件之前,对代码文件检测文件进行敏感信息检测。其中,对待检测代码文件进行敏感信息检测的方法可参照前述信息检测方法的相应部分的描述,在此不再赘述。
122.其中,代码检测设备对待检测代码文件进行检测,得到的检测结果包括两种情形:从待检测代码文件中检测出目标敏感信息和从待检测文件中未检测出目标敏感信息。
123.若代码检测设备从待检测代码文件中检测出目标敏感信息,则代码检测设备的电子显示屏上展示目标敏感信息。开发人员在查看到目标敏感信息后,针对目标敏感信息,对待检测代码文件进行修改,并在修改完成后,再次执行代码检测操作,对待检测代码文件进行敏感信息检测。
124.若从待检测文件中未检测出目标敏感信息,则代码检测设备响应代码发布操作,向管理终端发送待检测代码文件,以供管理终端对待检测代码文件进行发布处理。
125.结合上述各实施例的描述,以云笔记检测场景为例,图3为本技术示例性实施例提供的一种笔记信息检测方法,如图3所示,该方法包括:
126.s301:获取待检测笔记内容;
127.s302:根据预设的检测规则,从待检测笔记内容中检测出疑似敏感信息;
128.s303:根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。
129.在本实施例中,该方法的执行主体,笔记信息检测设备可以为用户记录笔记的终端设备,其实现形式可以有多种,例如可以是智能手机、个人电脑、穿戴设备、平板电脑等。但并不限于此,上述方法也可以通过终端设备与部署在云端的服务器相互配合实现。例如,终端设备将生成的待检测笔记内容上传至服务器,服务器执行图3描述的方法的各步骤。
130.在本实施例中,根据用户的检测需求,待检测笔记内容为一份笔记文件或者笔记文件中的部分片段。一种可实现的方式为,响应用户的选择操作,确定待检测笔记内容,响应用户的检测触发操作,执行对待检测笔记内容的检测操作。
131.在本实施例中,敏感信息包括个人账户密码,身份信息和敏感词汇等。
132.在本实施例中,对笔记信息检测也可以包括检测阶段和过滤阶段,关于检测规则和过滤方式均可参见前述各实施例的描述,在此不再赘述。
133.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301至步骤303的执行主体可以为设备a;又比如,步骤301和302的执行主体可以为设备a,步骤303的执行主体可以为设备b;等等。
134.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
135.在本技术上述方法实施例中,采用双阶段检测敏感信息,第一阶段根据预设的检测规则,从待检测内容中识别出疑似敏感信息,提高敏感信息检出率;第二阶段根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息,从疑似敏感信息中剔除误报的疑似敏感信息;本技术实施例的信息检测方法,提高敏感信息的检出精度。
136.图4为本技术实施例提供的一种信息检测设备的结构示意图。如图4所示,该信息检测设备包括:存储器401和处理器402。另外,该信息检测设备还包括电源组件403和通信组件404等必要组件。
137.存储器401,用于存储计算机程序,并可被配置为存储其它各种数据以支持在信息检测设备上的操作。这些数据的示例包括用于在信息处理设备上操作的任何应用程序或方法的指令。
138.存储器401,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘
或光盘。
139.通信组件404,用于与其他设备进行数据传输。
140.处理器402,可执行存储器401中存储的计算机指令,以用于:获取待检测内容;根据预设的检测规则,从待检测内容中检测出疑似敏感信息;根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。
141.可选地,处理器402在根据预设的检测规则,从待检测内容中检测出疑似敏感信息之前,还可用于:根据待检测内容的类型,在待检测内容的类型与检测规则和过滤方式的映射关系中进行匹配,以获取待检测内容对应的检测规则和过滤方式。
142.可选地,处理器402在根据预设的检测规则,从待检测内容中检测出疑似敏感信息时,具体用于:利用已有的规则匹配模板,从待检测内容中匹配出包含敏感信息的片段,作为疑似敏感信息;对待检测内容中未包含敏感信息的片段进行信息熵检测,以获得疑似敏感信息。
143.可选地,处理器402在利用已有的规则匹配模板,从待检测内容中匹配出包含敏感信息的片段时,具体用于:以行为单位将待检测内容中的内容切分为至少一个待检测片段;分别计算每个待检测片段与各规则匹配模板之间的匹配度;将至少一个待检测片段中的匹配度大于匹配阈值的片段,作为疑似敏感信息。
144.可选地,处理器402在对待检测内容中未包含敏感信息的片段进行信息熵检测,以获得疑似敏感信息时,具体用于:针对第一片段,根据第一片段对应的语法,将第一片段拆分为至少一个子片段,其中,第一片段是未包含敏感信息的片段中的任一片段;计算至少一个子片段的信息熵;将至少一个子片段中信息熵大于设定信息熵阈值的子片段,作为疑似敏感信息。
145.可选地,处理器402在根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息时,具体用于:根据第一类过滤方式,从疑似敏感信息中过滤出候选疑似敏感信息;根据候选疑似敏感信息的定义类型,从第二类过滤方式中选择与定义类型对应的目标过滤方式;利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息。
146.可选地,处理器402在根据第一类过滤方式,从疑似敏感信息中过滤出候选疑似敏感信息时,具体用于:结合疑似敏感信息对应的上下文和/或文件类型,从疑似敏感信息中过滤出候选疑似敏感信息。
147.可选地,处理器402在结合疑似敏感信息对应的上下文,从疑似敏感信息中过滤出候选疑似敏感信息时,具体用于:在疑似敏感信息的上下文中查找特定信息;若未查找到特定信息,则将疑似敏感信息确定为候选疑似敏感信息。
148.可选地,处理器402在结合疑似敏感信息对应的文件类型,从疑似敏感信息中过滤出候选疑似敏感信息时,具体用于:判断疑似敏感信息对应的文件类型是否属于指定文件类型;若是,则降低疑似敏感信息的敏感等级或者确定疑似敏感信息不属于目标敏感信息。
149.可选地,若待检测内容为代码文件,第二类过滤方式包括语法过滤方式、语义过滤方式和信息熵过滤方式中的至少一种;处理器402在根据候选疑似敏感信息的定义类型,从第二类过滤方式中选择与定义类型对应的目标过滤方式时,具体用于:识别候选疑似敏感信息的定义类型;若定义类型为自定义类型,则选择语法过滤方式作为目标过滤方式;若定义类型为非自定义类型,则选择语法过滤方式、语义过滤方式和信息熵过滤方式中的至少
一种方式作为目标过滤方式。
150.可选地,处理器402在利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息时,具体用于:若目标过滤方式为语法过滤方式,则根据候选疑似敏感信息的语法,判断候选疑似敏感信息是否属于定义指定敏感信息的语句;若是,则确定候选疑似敏感信息为目标敏感信息。
151.可选地,处理器402在利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息时,具体用于:若目标过滤方式为语义过滤方式,则计算候选疑似敏感信息与预设的词库中的单词的匹配度;根据候选疑似敏感信息与预设的词库中的单词的匹配度,计算候选疑似敏感信息的语义值;若候选疑似敏感信息的语义值大于语义阈值,则降低语义值大于语义阈值的候选疑似敏感信息的敏感等级;将降低敏感等级后的候选疑似敏感信息的敏感等级与设定等级阈值进行比较;若降低敏感等级后的候选疑似敏感信息的敏感等级大于设定敏感等级,则确定降低敏感等级后的候选疑似敏感信息为目标敏感信息。
152.可选地,处理器402在利用目标过滤方式对候选疑似敏感信息进行过滤,以确定出目标敏感信息时,具体用于:若目标过滤方式为信息熵过滤方式,计算候选疑似敏感信息的信息熵;将降低信息熵小于信息熵阈值的候选疑似敏感信息的敏感等级。
153.可选地,处理器402在根据预设的检测规则,从待检测内容中检测出疑似敏感信息之前,还可用于:从单阶段检测模式和双阶段检测模式中,确定采用双阶段检测模式对待检测内容进行检测。
154.可选地,处理器402在从单阶段检测模式和双阶段检测模式中,确定采用双阶段检测模式对待检测内容进行检测,包括:根据待检测内容的风险场景以及预设的风险场景与检测模式之间的对应关系,确定采用双阶段检测模式对待检测内容进行检测;或者展示模式选择界面,模式选择界面上包括单阶段检测模式和双阶段检测模式;以及响应用户选择检测模式的操作,确定用户选择使用双阶段检测模式对待检测内容进行检测。
155.可选地,处理器402若确定使用单阶段检测模式对待检测内容进行检测,具体用于:根据预设的检测规则,从待检测内容中检测出目标敏感信息。
156.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图1a方法实施例中的各步骤。
157.图5为本技术实施例提供的一种笔记信息检测设备的结构示意图。如图5所示,该笔记信息检测设备包括:存储器501和处理器502。另外,该笔记信息检测设备还包括电源组件503和通信组件504等必要组件。
158.存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在笔记信息检测设备上的操作。这些数据的示例包括用于在信息处理设备上操作的任何应用程序或方法的指令。
159.存储器501,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
160.通信组件504,用于与其他设备进行数据传输。
161.处理器502,可执行存储器501中存储的计算机指令,以用于:获取待检测笔记内容;根据预设的检测规则,从待检测笔记内容中检测出疑似敏感信息;根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。
162.可选地,处理器502在从疑似敏感信息中过滤出目标敏感信息之后,还可用于:
163.向用户展示目标敏感信息,以供用户查看目标敏感信息。
164.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图3方法实施例中的各步骤。
165.图6为本技术实施例提供的一种代码检测设备的结构示意图。如图6所示,该代码检测设备包括:存储器601和处理器602。另外,该代码检测设备还包括电源组件603和通信组件604等必要组件。
166.存储器601,用于存储计算机程序,并可被配置为存储其它各种数据以支持在代码检测设备上的操作。这些数据的示例包括用于在信息处理设备上操作的任何应用程序或方法的指令。
167.存储器601,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
168.通信组件604,用于与其他设备进行数据传输。
169.处理器602,可执行存储器601中存储的计算机指令,以用于:获取待检测代码文件;响应代码检测操作,对待检测代码文件进行敏感信息检测,其中,对待检测代码文件进行敏感信息检测包括检测阶段和过滤阶段;若从待检测代码文件中检测目标敏感信息,则展示所述目标敏感信息。
170.处理器602,还可用于:若从待检测代码文件未检测出敏感信息,则响应代码发布操作,向管理终端发送待检测代码文件,以供管理终端对待检测代码文件进行发布处理。
171.可选地,处理器602在对待检测代码文件进行敏感信息检测时,具体用于:根据预设的检测规则,从待检测内容中检测出疑似敏感信息;根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息。
172.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图2b方法实施例中的各步骤。
173.在本技术上述设备实施例中,采用双阶段检测敏感信息,第一阶段根据预设的检测规则,从待检测内容中识别出疑似敏感信息,提高敏感信息检出率;第二阶段根据设定的过滤方式,从疑似敏感信息中过滤出目标敏感信息,从疑似敏感信息中剔除误报的疑似敏感信息;本技术实施例的信息检测方法,提高敏感信息的检出精度。
174.上述图4至图6中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所
述通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
175.上述图4至图6中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
176.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
177.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
178.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
179.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
180.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
181.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
182.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
183.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的
包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
184.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。