CN114662114A - 基于日志的代码脱敏漏洞检测方法及相关设备 - Google Patents
基于日志的代码脱敏漏洞检测方法及相关设备 Download PDFInfo
- Publication number
- CN114662114A CN114662114A CN202210168415.4A CN202210168415A CN114662114A CN 114662114 A CN114662114 A CN 114662114A CN 202210168415 A CN202210168415 A CN 202210168415A CN 114662114 A CN114662114 A CN 114662114A
- Authority
- CN
- China
- Prior art keywords
- sensitive information
- log
- log data
- file
- data containing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及信息安全技术领域,尤其涉及一种基于日志的代码脱敏漏洞检测方法及相关设备。所述方法包括根据接收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配置工具,查找经代码脱敏处理后的日志文件中含有敏感信息的日志数据,通过人机交互界面展示含有敏感信息的日志数据。本申请还涉及区块链技术,含有敏感信息的日志数据可存储于区块链中。本申请采用预设敏感信息匹配规则自动检测和提取含有敏感信息的日志数据,并通过人机交互界面简明地在目标用户端展示,利用含有敏感信息的日志数据中包含的代码位置关键信息,可快速定位代码脱敏漏洞,提高开发效率。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种基于日志的代码脱敏漏洞 检测方法及相关设备。
背景技术
现今信息化时代,数据安全越来越受到人们的广泛关注,尤其在金融、 医疗、通讯行业的业务中需要对大量的客户敏感信息进行处理,这些敏感信 息涉及客户的身份信息、金融账户信息、医疗健康信息等个人隐私,如果信 息泄露,客户权益将受到严重威胁,企业或机构也面临遭受黑客攻击的风险。
对这类涉及用户敏感数据的应用的软件开发者来说,避免开发过程中敏 感数据泄露非常重要。软件开发过程中经常需要打印日志来帮助调试,为避 免这些打印出的日志信息中可能会携带由于开发者疏忽而输出的敏感信息, 从而增加敏感信息暴露风险,现有方案通常使用人工对日志信息进行检测, 找到输出敏感信息的位置,再反馈给开发人员以修复代码中对应位置的脱敏 漏洞。这种方式耗费大量的人力和时间成本,而且效率低下,也存在人工检 测不完全的问题。
发明内容
本申请实施例的目的在于提出一种基于日志的代码脱敏漏洞检测方法及 相关设备,以解决现有方案专注于对日志脱敏而不能解决原代码中存在的脱 敏漏洞的问题。
为了解决上述技术问题,本申请实施例提供一种基于日志的代码脱敏漏 洞检测方法,采用了如下所述的技术方案:
从测试主机获取经代码脱敏处理后的日志文件;
接收目标用户端的敏感信息提取指令,根据接收到的敏感信息提取指令, 运行含有预设敏感信息匹配规则的配置工具,查找所述日志文件中含有敏感 信息的日志数据;
新建敏感信息文件,将查找到的含有敏感信息的日志数据提取并存储到 所述敏感信息文件中;
将所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户 端通过人机交互界面展示所述含有敏感信息的日志数据。
为了解决上述技术问题,本申请实施例还提供一种基于日志的代码脱敏 漏洞检测装置,采用了如下所述的技术方案:
日志文件获取模块,用于从测试主机获取经代码脱敏处理后的日志文件;
敏感日志查找模块,用于接收目标用户端的敏感信息提取指令,根据接 收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配置工具,查 找所述日志文件中含有敏感信息的日志数据;
敏感日志存储模块,用于新建敏感信息文件,将查找到的含有敏感信息 的日志数据提取并存储到所述敏感信息文件中;
敏感日志展示模块,用于将所述含有敏感信息的日志数据发送到目标用 户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日志 数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了 如下所述的技术方案:
包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理 器执行所述计算机可读指令时实现如上所述的基于日志的代码脱敏漏洞检测 方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质, 采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指 令被处理器执行时实现如上所述的基于日志的代码脱敏漏洞检测方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请提供的基于日志的代码脱敏漏洞检测方法,采用预设敏感信息匹 配规则自动检测和提取含有敏感信息的日志数据,并通过人机交互界面简明 地在目标用户端展示,利用含有敏感信息的日志数据中包含的代码位置关键 信息,可快速定位代码脱敏漏洞,提高开发效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需 要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的基于日志的代码脱敏漏洞检测方法的实现 流程图;
图2是图1中步骤S101的实现流程图;
图3是图1中步骤S104的实现流程图;
图4是图1中步骤S104的另一种实现流程图;
图5是本申请实施例一提供的展示敏感日志详情的实现流程图;
图6是本申请实施例一提供的标记代码脱敏漏洞的处理状态的实现流程 图
图7是本申请实施例二提供的基于日志的代码脱敏漏洞检测装置的结构 示意图;
图8是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技 术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的 术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的 说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们 的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或 上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描 述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或 特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该 短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备 选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施 例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对 本申请实施例中的技术方案进行清楚、完整地描述。
实施例一
如图1所示,示出了本申请实施例一提供的基于日志的代码脱敏漏洞检 测方法的实现流程图,为了便于说明,仅示出于本申请相关的部分。
本实施例提供的基于日志的代码脱敏漏洞检测方法,包括以下步骤:
步骤S101:从测试主机获取经代码脱敏处理后的日志文件。
在本申请实施例中,日志文件包括但不限于代码运行过程中存储的文件、 输出的打印信息等,可以存储在本地计算机,也可以存储在远程测试主机。 脱敏处理指的是在代码中对敏感信息进行重排、替换、掩码等变形处理,从 而避免敏感信息以明文形式出现在日志文件中造成信息安全问题,代码中这 种脱敏处理方式可能存在漏处理或者脱敏不完全的问题。
步骤S102:接收目标用户端的敏感信息提取指令,根据接收到的敏感信 息提取指令,运行含有预设敏感信息匹配规则的配置工具,查找所述日志文 件中含有敏感信息的日志数据。
在本申请实施例中,敏感信息指的是手机号、身份证号、银行卡号或地 址等关系个人隐私的信息,或者是企业秘密相关的信息。敏感信息匹配规则 是检测是否含有手机号、身份证号、银行卡号、地址等敏感信息的字符串匹 配模式。例如,手机号码为1开头的11位数字,以正则表达式 “^1[35678]\d{9}$”可以匹配以1开头,第二位数字是3、5、6、7、8中的 一个,后面接9位数字的字符串,这样的11位字符串大概率是手机号码。
在本申请实施例中,日志数据指的是敏感数据所在的那一条日志,其中 含有输出当前日志的程序语句所在代码文件中的位置信息。
在本申请实施例中,通过运行含有预设敏感信息匹配规则的配置工具可 以从日志文件中提取并保存含有敏感信息的日志数据。
在本申请实施例中,敏感信息提取指令中包括提取触发标识,其中,提 取触发标识可以为本次触发、定时触发或者周期性触发。当提取触发标识为 本次触发时,则只在接收到本次敏感信息提取指令后执行一次提取并存储含 有敏感信息的日志数据的操作;当提取触发标识为定时触发时,则敏感信息 提取指令还包括指定的时间信息,例如指定2021年12月2日0点0分触发, 或指定10分钟后触发,将在该指定的时间执行提取并存储含有敏感信息的日 志数据的操作;当提取触发标识为周期性触发时,则敏感信息提取指令还包括指定的触发周期,例如指定触发周期为1小时,将每隔该时间周期执行提 取并存储含有敏感信息的日志数据的操作。
在本申请实施例中,配置工具中包含预设的敏感信息匹配规则,例如, 分别与手机号、身份证号、银行卡号和地址这四种敏感信息匹配的正则表达 式。运行该配置工具,将整个日志文件按照预设敏感信息匹配规则进行匹配, 如果没有匹配上,则表示这个文件中的内容不存在敏感信息;如果匹配上, 则表示这个文件内容中可能存在敏感信息,例如,一个以1开头,第二位数 字是3、5、6、7、8中的一个,后面接9位数字的数字字符串,可能是手机号码,也可能是正常的数据值。
步骤S103:新建敏感信息文件,将查找到的含有敏感信息的日志数据提 取并存储到所述敏感信息文件中。
在本申请实施例中,在查找时,如果匹配到任意一种敏感信息,则把该 敏感信息所在的那一条日志作为含有敏感信息的日志数据提取并保存到新建 的敏感信息文件中,直到查找完整个日志文件。将查找到的含有敏感信息的 日志数据全部提取并存储到新建的敏感信息文件中之后,删除日志文件,以 免日志文件占用太多存储空间。
在本申请实施例中,含有敏感信息的日志数据中含有该日志数据的属性 信息,包括:所属的模块名称、模块负责人、修复状态、敏感信息类型、日 志生成时间。其中,所属的模块名称可以预设为输出该条日志的代码文件名 或函数名,也可以是项目名;模块负责人可以是代码运行客户端的名称;修 复状态指的是该日志数据对应的代码脱敏漏洞的处理状态,可以是未修复、 已修复、忽略三者之一,默认为未修复,开发人员可以在人机交互界面更改 该属性;敏感信息类型根据查找到的含有敏感信息的日志数据的类型确定, 例如,若是根据手机号的匹配规则查找到的,则敏感信息类型为手机号;日 志生成时间是输出该日志数据的时间。上述日志数据的属性信息便于开发人 员了解日志数据对应的存在脱敏漏洞的代码的详细信息,也便于开发人员按 照特定的条件统计数据,做好项目管理。
步骤S104:将所述含有敏感信息的日志数据发送到目标用户端,以使所 述目标用户端通过人机交互界面展示所述含有敏感信息的日志数据。
在本申请实施例中,目标用户端的人机交互界面是供开发人员查看日志 数据的界面工具,含有敏感信息的日志数据可以自动展示到人机交互界面上, 或者,开发人员可以通过人机交互界面上的按钮、编辑框等工具限定查询条 件,以搜索符合特定需求的日志数据。开发人员可以通过人机交互界面查看 日志数据中出现的敏感信息详细内容,标记对应的代码缺陷是否已修复等。
在本申请实例中,人机交互界面以列表的方式显示多条日志数据,方便 开发人员批量查看。每条日志数据展示的信息包括:日志数据的内容、所属 的模块名称、模块负责人、修复状态、敏感信息类型、日志生成时间。
在本申请实例中,日志数据中含有输出当前日志的程序语句所在的代码 位置信息,例如文件名称信息、所在代码文件中的行列号、输出当前日志的 程序语句关键字等,开发人员可以此定位代码中脱敏漏洞位置,并进一步修 复漏洞。
本申请提供的基于日志的代码脱敏漏洞检测方法,包括:从测试主机获 取经代码脱敏处理后的日志文件;接收目标用户端的敏感信息提取指令,根 据接收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配置工具, 查找日志文件中含有敏感信息的日志数据;新建敏感信息文件,将查找到的 含有敏感信息的日志数据提取并存储到敏感信息文件中;通过人机交互界面 展示含有敏感信息的日志数据,以使目标用户端基于含有敏感信息的日志数 据定位代码中的脱敏漏洞。本申请通过基于预设敏感信息匹配规则从大量的 日志文件中检测和提取含有敏感信息的日志数据及其属性,并通过人机交互 界面简明地在目标用户端展示,利用日志数据中包含的代码位置关键信息可 快速定位代码脱敏漏洞,提高开发效率。
继续参考图2,示出了图1中步骤S101的实现流程图,为了便于说明, 仅示出于本申请相关的部分。
在本实施例的一些可选的实现方式中,步骤S101具体包括:步骤S201、 步骤S202。
步骤S201:接收目标用户端的日志文件获取请求信息。
在本申请实施例中,日志文件获取请求信息包括日志文件路径、日志文 件名称、日志文件存储路径、获取触发标识,其中,获取触发标识可以为本 次触发、定时触发或者周期性触发。
步骤S202:根据所述日志文件获取请求信息访问测试主机,从所述测试 主机中获取经代码脱敏处理后的日志文件并存储。
在本申请实施例中,根据日志文件获取请求信息,获取日志文件路径下 日志文件名称对应的日志文件,并存储在日志文件存储路径中。当日志文件 获取请求信息中获取触发标识为本次触发时,只在接收到本次日志文件获取 请求信息后获取并存储一次日志文件;当日志文件获取请求信息中获取触发 标识为定时触发时,将在日志文件获取请求信息中指定的时间获取并存储日 志文件,例如指定2021年12月2日0点0分,或指定10分钟后获取日志文 件;当日志文件获取请求信息中获取触发标识为周期性触发时,将根据日志 文件获取请求信息中指定的触发周期获取日志文件,例如指定触发周期为1 小时,将每间隔1小时获取并存储一次日志文件。
继续参考图3,示出了图1中步骤S104的实现流程图,为了便于说明, 仅示出于本申请相关的部分。
在本实施例的一些可选的实现方式中,上述步骤S104具体包括:步骤S301 以及步骤S302。
步骤S301:接收所述目标用户端的人机交互界面触发的查询请求。
在本申请实施例中,查询请求携带有开发人员限定的查询条件,包括所 属的模块名称、日志生成时间段、模块负责人、修复状态中的任意一种或几 种,例如,可以限定查询生成时间为一周内、修复状态为未修复的日志数据。
在本申请实施例中,开发人员可以通过人机交互界面上的按钮、编辑框 等工具限定查询条件。
在本申请实施例中,查询请求在开发人员操作人机交互界面上对应的控 件时触发。
步骤S302:根据接收到的查询请求中携带的信息查找敏感信息文件,读 取所述敏感信息文件中的内容并进行条件查询,将符合查询条件的含有敏感 信息的日志数据展示在所述人机交互界面上。
在本申请实施例中,根据接收到的查询请求中携带的查询条件,在敏感 信息文件中查找日志数据,该日志数据的属性信息包括:所属的模块名称、 模块负责人、修复状态、敏感信息类型、日志生成时间,将属性信息符合查 询条件的日志数据展示在人机交互界面上。
在本实施例的一些可选的实现方式中,在上述步骤S102之后,还包括: 新建敏感信息摘要文件,将存储在所述敏感信息文件中的含有敏感信息的日 志数据以摘要形式存储到敏感信息摘要文件中,其中所述含有敏感信息的日 志数据的摘要至少包括所述含有敏感信息的日志数据中的敏感字段、所述含 有敏感信息的日志数据在所述敏感信息文件中的位置索引。
在本申请实施例中,由于数据存储空间和操作效率需求,将敏感信息文 件中的日志数据以摘要形式存储在新建的敏感信息摘要文件中。敏感信息摘 要文件中存储了从每条含有敏感信息的日志数据中提取的摘要信息以及敏感 信息文件的名称和存储位置索引。对于每条含有敏感信息的日志数据,其摘 要信息包括:该日志数据中的敏感字段、该敏感字段所在的日志数据在敏感 信息文件中的位置索引以及对应该日志数据的属性信息。该日志数据的属性 信息包括:所属的模块名称、模块负责人、修复状态、敏感信息类型、日志 生成时间。
在本申请实施例中,将敏感信息摘要文件存储在数据库中,方便快速查 询和管理,当需要查看敏感字段所在的日志数据的详细信息时,可以通过该 敏感字段所在的日志数据在敏感信息文件中的位置索引查看保存在敏感信息 文件中的原日志数据信息。
继续参考图4,示出了图1中步骤S104的另一种实现流程图,为了便于 说明,仅示出于本申请相关的部分。
在本实施例的一些可选的实现方式中,上述步骤S104具体包括:步骤S401 以及步骤S402。
步骤S401:接收所述目标用户端的人机交互界面触发的查询请求。
在本申请实施例中,查询请求携带有开发人员限定的查询条件,包括所 属的模块名称、日志生成时间段、模块负责人、修复状态中的任意一种或几 种,例如,可以限定查询生成时间为一周内、修复状态为未修复的日志数据。
在本申请实施例中,开发人员可以通过人机交互界面上的按钮、编辑框 等工具限定查询条件。
在本申请实施例中,查询请求在开发人员操作人机交互界面上对应的控 件时触发。
步骤S402:根据接收到的查询请求中携带的信息查找敏感信息摘要文件, 读取所述敏感信息摘要文件中的内容并进行条件查询,将符合查询条件的含 有敏感信息的日志数据的摘要展示在所述人机交互界面上。
在本申请实施例中,根据接收到的查询请求中携带的查询条件,在数据 库中存储的敏感信息摘要文件中查找日志数据,该日志数据的属性信息包括: 所属的模块名称、模块负责人、修复状态、敏感信息类型、日志生成时间, 将属性信息符合查询条件的日志数据展示在人机交互界面上。
继续参考图5,示出了本申请实施例一提供的展示敏感日志详情的实现流 程图,为了便于说明,仅示出于本申请相关的部分。
在本实施例的一些可选的实现方式中,上述步骤S104之后,还包括:
步骤S501:接收人机交互界面触发的日志数据详情显示请求;
在本申请实施例中,显示日志数据的详情可以展示存储在敏感信息文件 中的那一条对应的日志数据,便于开发人员查看更多信息。日志数据详情显 示请求携带有请求显示的日志数据在敏感信息文件中的位置索引,或者是敏 感字段在敏感信息摘要文件中的位置索引。
步骤S502:根据接收到的日志数据详情显示请求中携带的信息查找敏感 信息文件,将符合查询条件的日志数据并展示在人机交互界面上。
在本申请实施例中,如果日志数据详情显示请求中携带的是请求显示的 日志数据在敏感信息文件中的位置索引Index1,则根据该索引Index1直接查 找敏感信息文件,将该索引Index1对应的日志数据展示在人机交互界面上; 如果日志数据详情显示请求中携带的是敏感字段在敏感信息摘要文件中的位 置索引Index2,则需先根据该索引Index2查找敏感信息摘要文件,找到对应 的敏感字段,进一步找到该敏感字段所在的日志数据在敏感信息文件中的位 置索引Index1,再根据该索引Index1查找敏感信息文件,将该索引Index1 对应的日志数据展示在人机交互界面上。
继续参考图6,示出了本申请实施例一提供的标记代码脱敏漏洞的处理状 态的实现流程图,为了便于说明,仅示出于本申请相关的部分。
在本实施例的一些可选的实现方式中,上述步骤S104之后,还包括:
步骤S601:接收所述人机交互界面触发的修复状态标记请求;
在本申请实施例中,修复状态指的是日志数据对应的代码脱敏漏洞的处 理状态,可以是未修复、已修复、忽略三者之一,默认情况下,所有日志数 据的修复状态是未修复。开发人员可以标记不同的修复状态。例如,当该日 志数据对应的代码中的脱敏漏洞修复后,可标记该状态为已修复;当确定该 日志数据是正常数据,例如,如果确定一个以1开头,第二位数字是3、5、6、 7、8中的一个,后面接9位数字的数字字符串,不是手机号码,而是正常的 数据值,则无需对代码做任何处理时,可标记该状态为忽略。修复状态标记 请求中携带有开发人员标记的修复状态。
步骤S602:按照接收到的修复状态标记请求修改并展示修复状态。
在本申请实施例中,当修复状态标记请求中携带的开发人员标记的修复 状态与当前修复状态不同时,将敏感信息文件中保存的修复状态修改为修复 状态标记请求中携带的开发人员标记的修复状态,并在人机交互界面中展示 修改后的修复状态。
综上,本申请提供的基于日志的代码脱敏漏洞检测方法,包括:从测试 主机获取经代码脱敏处理后的日志文件;接收目标用户端的敏感信息提取指 令,根据接收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配 置工具,查找所述日志文件中含有敏感信息的日志数据;新建敏感信息文件, 将查找到的含有敏感信息的日志数据提取并存储到所述敏感信息文件中;将 所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户端通过 人机交互界面展示所述含有敏感信息的日志数据。本申请采用预设敏感信息 匹配规则自动检测和提取含有敏感信息的日志数据,并通过人机交互界面简 明地在目标用户端展示,利用含有敏感信息的日志数据中包含的代码位置关 键信息,可快速定位代码脱敏漏洞,提高开发效率。同时,通过定时或自动 运行含有预设敏感信息匹配规则的配置工具,以便更及时地处理日志文件, 有效节省大量人力和时间成本,提高敏感信息检出效率;人机交互界面提供 了一种对开发人员友好的工具,可以直接显示检测出的含有敏感信息的日志 数据,也可以按照开发人员自定义的条件检索和显示检测出的含有敏感信息的日志数据,为开发人员定位、修复代码漏洞提供了便利,同时也提供漏洞 修复状态标记、历史记录保存的功能,为开发项目进度把控和复盘提供详细 参考依据。
需要强调的是,为进一步保证信息的私密和安全性,含有敏感信息的日 志数据等可以存储于一区块链的节点中。本申请所指区块链是分布式数据存 储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块 链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法 相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于 验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层 平台、平台产品服务层以及应用服务层等。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人 计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系 统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型 计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本 申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程 序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例 程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本 申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备 来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的 本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可 存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如 上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读 存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记 忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显 示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有 明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序 执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多 个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在 不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或 者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
进一步参考图7,作为对上述图1所示方法的实现,本申请提供了一种基 于日志的代码脱敏漏洞检测装置的一个实施例,该装置实施例与图1所示的 方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的基于日志的代码脱敏漏洞检测装置100包括: 日志文件获取模块110、敏感日志查找模块120、敏感日志存储模块130、敏 感日志展示模块140。其中:
日志文件获取模块110,用于从测试主机获取经代码脱敏处理后的日志文 件;
敏感日志查找模块120,用于接收目标用户端的敏感信息提取指令,根据 接收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配置工具, 查找所述日志文件中含有敏感信息的日志数据;
敏感日志存储模块130,用于新建敏感信息文件,将查找到的含有敏感信 息的日志数据提取并存储到所述敏感信息文件中;
敏感日志展示模块140,用于将所述含有敏感信息的日志数据发送到目标 用户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日 志数据。
在本申请实施例中,日志文件获取模块110接收目标用户端的日志文件 获取请求信息,日志文件获取请求信息包括日志文件路径、日志文件名称、 日志文件存储路径、获取触发标识,其中,获取触发标识可以为本次触发、 定时触发或者周期性触发。日志文件获取模块110根据日志文件获取请求信 息获取日志文件路径下日志文件名称对应的日志文件,并存储在日志文件存 储路径中。当日志文件获取请求信息中获取触发标识为本次触发时,只在接 收到本次日志文件获取请求信息后获取并存储一次日志文件;当日志文件获 取请求信息中获取触发标识为定时触发时,将在日志文件获取请求信息中指 定的时间获取并存储日志文件,例如指定2021年12月2日0点0分,或指 定10分钟后获取日志文件;当日志文件获取请求信息中获取触发标识为周期 性触发时,将根据日志文件获取请求信息中指定的触发周期获取日志文件, 例如指定触发周期为1小时,将每间隔1小时获取并存储一次日志文件。
在本申请实施例中,敏感日志查找模块120根据接收到的敏感信息提取 指令通过运行含有预设敏感信息匹配规则的配置工具可以从日志文件中提取 并保存含有敏感信息的日志数据。敏感信息提取指令中包括提取触发标识, 其中,提取触发标识可以为本次触发、定时触发或者周期性触发。当提取触 发标识为本次触发时,则只在接收到本次敏感信息提取指令后执行一次提取 并存储含有敏感信息的日志数据的操作;当提取触发标识为定时触发时,则 敏感信息提取指令还包括指定的时间信息,例如指定2021年12月2日0点0分触发,或指定10分钟后触发,将在该指定的时间执行提取并存储含有敏感 信息的日志数据的操作;当提取触发标识为周期性触发时,则敏感信息提取 指令还包括指定的触发周期,例如指定触发周期为1小时,将每隔该时间周 期执行提取并存储含有敏感信息的日志数据的操作。
在本申请实施例中,敏感日志存储模块130新建敏感信息文件,用于存 储含有敏感信息的日志数据。敏感日志查找模块120如果匹配到任意一种敏 感信息,则通知敏感日志存储模块130把该敏感信息所在的那一条日志作为 含有敏感信息的日志数据提取并保存到新建的敏感信息文件中,直到查找完 整个日志文件。敏感日志存储模块130将查找到的含有敏感信息的日志数据 全部提取并存储到新建的敏感信息文件中之后,删除日志文件,以免日志文 件占用太多存储空间。
在本实施例的一些可选的实现方式中,敏感日志存储模块130新建敏感 信息摘要文件,将查找到的含有敏感信息的日志数据以摘要形式存储到敏感 信息摘要文件中。
在本实施例的一些可选的实现方式中,敏感日志存储模块130将敏感信 息摘要文件存储在数据库中,方便快速查询和管理,当需要查看敏感字段所 在的日志数据的详细信息时,可以通过该敏感字段所在的日志数据在敏感信 息文件中的位置索引查看保存在敏感信息文件中的原日志数据信息。
在本申请实施例中,敏感日志展示模块140接收人机交互界面触发的查 询请求,查询请求携带有开发人员限定的查询条件,敏感日志展示模块140 根据接收到的查询请求中携带的查询条件,在敏感信息文件中查找日志数据, 该日志数据的属性信息包括:所属的模块名称、模块负责人、修复状态、敏 感信息类型、日志生成时间,将属性信息符合查询条件的日志数据展示在人 机交互界面上。
在本实施例的一些可选的实现方式中,敏感日志展示模块140接收人机 交互界面触发的查询请求,查询请求携带有开发人员限定的查询条件,敏感 日志展示模块140根据接收到的查询请求中携带的查询条件,在敏感信息摘 要文件中查找日志数据,该日志数据的属性信息包括:所属的模块名称、模 块负责人、修复状态、敏感信息类型、日志生成时间,将属性信息符合查询 条件的日志数据展示在人机交互界面上。
在本实施例的一些可选的实现方式中,敏感日志展示模块140接收人机 交互界面触发的日志数据详情显示请求,根据接收到的日志数据详情显示请 求中携带的信息查找敏感信息文件,将符合查询条件的日志数据并展示在人 机交互界面上。如果日志数据详情显示请求中携带的是请求显示的日志数据 在敏感信息文件中的位置索引Index1,则根据该索引Index1直接查找敏感信 息文件,将该索引Index1对应的日志数据展示在人机交互界面上;如果日志 数据详情显示请求中携带的是敏感字段在敏感信息摘要文件中的位置索引Index2,则需先根据该索引Index2查找敏感信息摘要文件,找到对应的敏感 字段,进一步找到该敏感字段所在的日志数据在敏感信息文件中的位置索引 Index1,再根据该索引Index1查找敏感信息文件,将该索引Index1对应的 日志数据展示在人机交互界面上。
在本实施例的一些可选的实现方式中,敏感日志展示模块140接收人机 交互界面触发的修复状态标记请求,修复状态指的是日志数据对应的代码脱 敏漏洞的处理状态,可以是未修复、已修复、忽略三者之一。当修复状态标 记请求中携带的开发人员标记的修复状态与当前修复状态不同时,敏感日志 展示模块140将敏感信息文件中保存的修复状态修改为修复状态标记请求中 携带的开发人员标记的修复状态,并在人机交互界面中展示修改后的修复状 态。
综上所述,本申请提供的基于日志的代码脱敏漏洞检测装置,通过基于 预设敏感信息匹配规则从大量的日志文件中检测和提取含有敏感信息的日志 数据及其属性,并通过人机交互界面简明地在目标用户端展示,利用日志数 据中包含的代码位置关键信息可快速定位代码脱敏漏洞,提高开发效率。同 时,通过定时或自动运行含有预设敏感信息匹配规则的配置工具,以便更及 时地处理日志文件,有效节省大量人力和时间成本,提高敏感信息检出效率; 人机交互界面提供了一种对开发人员友好的工具,可以直接显示检测出的含 有敏感信息的日志数据,也可以按照开发人员自定义的条件检索和显示检测 出的含有敏感信息的日志数据,为开发人员定位、修复代码漏洞提供了便利, 同时也提供漏洞修复状态标记、历史记录保存的功能,为开发项目进度把控 和复盘提供详细参考依据。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参考图8, 图8为本实施例计算机设备基本结构框图。
所述计算机设备200包括通过系统总线相互通信连接存储器210、处理器 220、网络接口230。需要指出的是,图中仅示出了具有组件210-230的计算 机设备200,但是应理解的是,并不要求实施所有示出的组件,可以替代的实 施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算 机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息 处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器 等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板 或声控设备等方式进行人机交互。
所述存储器210至少包括一种类型的可读存储介质,所述可读存储介质 包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机 访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可 擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、 磁盘、光盘等。在一些实施例中,所述存储器210可以是所述计算机设备200 的内部存储单元,例如该计算机设备200的硬盘或内存。在另一些实施例中, 所述存储器210也可以是所述计算机设备200的外部存储设备,例如该计算 机设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC), 安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所 述存储器210还可以既包括所述计算机设备200的内部存储单元也包括其外 部存储设备。本实施例中,所述存储器210通常用于存储安装于所述计算机 设备200的操作系统和各类应用软件,例如基于日志的代码脱敏漏洞检测方法的计算机可读指令等。此外,所述存储器210还可以用于暂时地存储已经 输出或者将要输出的各类数据。
所述处理器220在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理 器220通常用于控制所述计算机设备200的总体操作。本实施例中,所述处 理器220用于运行所述存储器210中存储的计算机可读指令或者处理数据, 例如运行所述基于日志的代码脱敏漏洞检测方法的计算机可读指令。
所述网络接口230可包括无线网络接口或有线网络接口,该网络接口230 通常用于在所述计算机设备200与其他电子设备之间建立通信连接。
本申请提供的基于日志的代码脱敏漏洞检测方法,通过基于预设敏感信 息匹配规则从大量的日志文件中检测和提取含有敏感信息的日志数据及其属 性,并通过人机交互界面简明地在目标用户端展示,利用日志数据中包含的 代码位置关键信息可快速定位代码脱敏漏洞,提高开发效率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所 述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至 少一个处理器执行,以使所述至少一个处理器执行如上述的基于日志的代码 脱敏漏洞检测方法的步骤。
本申请提供的基于日志的代码脱敏漏洞检测方法,通过基于预设敏感信 息匹配规则从大量的日志文件中检测和提取含有敏感信息的日志数据及其属 性,并通过人机交互界面简明地在目标用户端展示,利用日志数据中包含的 代码位置关键信息可快速定位代码脱敏漏洞,提高开发效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘) 中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器, 空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的 实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。 本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使 对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进 行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体 实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替 换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在 其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于日志的代码脱敏漏洞检测方法,其特征在于,包括下述步骤:
从测试主机获取经代码脱敏处理后的日志文件;
接收目标用户端的敏感信息提取指令,根据接收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配置工具,查找所述日志文件中含有敏感信息的日志数据;
新建敏感信息文件,将查找到的含有敏感信息的日志数据提取并存储到所述敏感信息文件中;
将所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日志数据。
2.根据权利要求1所述的基于日志的代码脱敏漏洞检测方法,其特征在于,所述从测试主机获取经代码脱敏处理后的日志文件的步骤,具体包括:
接收目标用户端的日志文件获取请求信息;
根据所述日志文件获取请求信息访问测试主机,从所述测试主机中获取经代码脱敏处理后的日志文件并存储。
3.根据权利要求1或2所述的基于日志的代码脱敏漏洞检测方法,其特征在于,所述将所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日志数据的步骤,具体包括:
接收所述目标用户端的人机交互界面触发的查询请求;
根据接收到的查询请求中携带的信息查找敏感信息文件,读取所述敏感信息文件中的内容并进行条件查询,将符合查询条件的含有敏感信息的日志数据展示在所述人机交互界面上。
4.根据权利要求1或2所述的基于日志的代码脱敏漏洞检测方法,其特征在于,在所述接收目标用户端的敏感信息提取指令,根据接收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配置工具,查找所述日志文件中含有敏感信息的日志数据的步骤之后,还包括:
新建敏感信息摘要文件,将存储在所述敏感信息文件中的含有敏感信息的日志数据以摘要形式存储到敏感信息摘要文件中,其中所述含有敏感信息的日志数据的摘要至少包括所述含有敏感信息的日志数据中的敏感字段、所述含有敏感信息的日志数据在所述敏感信息文件中的位置索引。
5.根据权利要求4所述的基于日志的代码脱敏漏洞检测方法,其特征在于,所述将所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日志数据的步骤,具体包括:
接收所述目标用户端的人机交互界面触发的查询请求;
根据接收到的查询请求中携带的信息查找敏感信息摘要文件,读取所述敏感信息摘要文件中的内容并进行条件查询,将符合查询条件的含有敏感信息的日志数据的摘要展示在所述人机交互界面上。
6.根据权利要求1或2所述的基于日志的代码脱敏漏洞检测方法,其特征在于,在所述将所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日志数据的步骤之后,还包括:
接收所述人机交互界面触发的日志数据详情显示请求;
根据接收到的日志数据详情显示请求中携带的信息查找敏感信息文件,将符合查询条件的日志数据的详情展示在所述人机交互界面上。
7.根据权利要求1或2所述的基于日志的代码脱敏漏洞检测方法,其特征在于,在所述将所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日志数据的步骤之后,还包括:
接收所述人机交互界面触发的修复状态标记请求;
按照接收到的修复状态标记请求修改并展示所述符合查询条件的含有敏感信息的日志数据的修复状态。
8.一种基于日志的代码脱敏漏洞检测装置,其特征在于,包括:
日志文件获取模块,用于从测试主机获取经代码脱敏处理后的日志文件;
敏感日志查找模块,用于接收目标用户端的敏感信息提取指令,根据接收到的敏感信息提取指令,运行含有预设敏感信息匹配规则的配置工具,查找所述日志文件中含有敏感信息的日志数据;
敏感日志存储模块,用于新建敏感信息文件,将查找到的含有敏感信息的日志数据提取并存储到所述敏感信息文件中;
敏感日志展示模块,用于将所述含有敏感信息的日志数据发送到目标用户端,以使所述目标用户端通过人机交互界面展示所述含有敏感信息的日志数据。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的基于日志的代码脱敏漏洞检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于日志的代码脱敏漏洞检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210168415.4A CN114662114A (zh) | 2022-02-23 | 2022-02-23 | 基于日志的代码脱敏漏洞检测方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210168415.4A CN114662114A (zh) | 2022-02-23 | 2022-02-23 | 基于日志的代码脱敏漏洞检测方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114662114A true CN114662114A (zh) | 2022-06-24 |
Family
ID=82028381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210168415.4A Pending CN114662114A (zh) | 2022-02-23 | 2022-02-23 | 基于日志的代码脱敏漏洞检测方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114662114A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117375792A (zh) * | 2023-02-24 | 2024-01-09 | 华为技术有限公司 | 侧信道检测的方法和装置 |
-
2022
- 2022-02-23 CN CN202210168415.4A patent/CN114662114A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117375792A (zh) * | 2023-02-24 | 2024-01-09 | 华为技术有限公司 | 侧信道检测的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020134657A1 (zh) | 系统日志脱敏方法、脱敏系统、计算机设备及存储介质 | |
WO2019140828A1 (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
WO2019134339A1 (zh) | 脱敏方法、程序、应用服务器及计算机可读存储介质 | |
CN112416728A (zh) | 埋点数据获取方法、装置、客户端设备及可读存储介质 | |
CN112491602B (zh) | 行为数据的监控方法、装置、计算机设备及介质 | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN108009435B (zh) | 数据脱敏方法、装置及存储介质 | |
CN113364753B (zh) | 反爬虫方法、装置、电子设备及计算机可读存储介质 | |
CN111835737B (zh) | 基于自动学习的web攻击防护方法、及其相关设备 | |
CN112784298A (zh) | 日志脱敏方法、装置、计算机设备及存储介质 | |
CN115329381A (zh) | 基于敏感数据的分析预警方法、装置、计算机设备及介质 | |
CN114218110A (zh) | 财务数据的对账测试方法、装置、计算机设备及存储介质 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN112860749A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114493255A (zh) | 基于知识图谱的企业异常监控方法及其相关设备 | |
CN111767262A (zh) | 日志展示方法、装置、设备及存储介质 | |
CN114662114A (zh) | 基于日志的代码脱敏漏洞检测方法及相关设备 | |
CN111639360A (zh) | 智能数据脱敏方法、装置、计算机设备及存储介质 | |
CN112528295B (zh) | 工业控制系统的漏洞修复方法及装置 | |
WO2019169771A1 (zh) | 电子装置、访问指令信息获取方法及存储介质 | |
CN107392033B (zh) | 一种安卓设备渗透测试系统及其自动化渗透测试方法 | |
CN113434400A (zh) | 测试用例的执行方法、装置、计算机设备及存储介质 | |
WO2019071899A1 (zh) | 电子装置、车辆数据导入方法及存储介质 | |
CN115859273A (zh) | 一种数据库异常访问的检测方法、装置、设备及存储介质 | |
CN113918384A (zh) | 数据保存方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |