CN115577369B - 源代码泄露行为检测方法、装置、电子设备及存储介质 - Google Patents
源代码泄露行为检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115577369B CN115577369B CN202211576243.0A CN202211576243A CN115577369B CN 115577369 B CN115577369 B CN 115577369B CN 202211576243 A CN202211576243 A CN 202211576243A CN 115577369 B CN115577369 B CN 115577369B
- Authority
- CN
- China
- Prior art keywords
- behavior
- target
- source code
- target user
- log
- 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.)
- Active
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Alarm Systems (AREA)
Abstract
本发明提供一种源代码泄露行为检测方法、装置、电子设备及存储介质,涉及计算机技术领域;其中所述源代码泄露行为检测方法包括:实时采集目标用户针对源代码的行为日志;基于行为日志,确定目标用户的目标行为;在目标行为偏离目标用户对应的行为基线的情况下,生成告警事件;获取告警事件对应的告警级别,基于告警级别生成与告警级别对应的处置策略。通过上述方法,利用目标用户对应的行为基线对源代码泄露行为进行检测,实现了在不需要部署DLP产品及网络流量监控的情况下,检测源代码泄露行为,避免了源代码泄露事件的发生;基于处置策略对告警事件进行处理,实现源代码泄露行为从发现、判断到处置的全闭环问题管理,保证了源代码的安全。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种源代码泄露行为检测方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,研发型公司对源代码日常管理的技术方式也发生巨大的变化。例如从最早的“集中式”版本管理工具发展为当前“分布式”的开源版本管理工具。但随着而来带来许多问题,其中就包括权限管控力度相对变弱。如果权限设置不当很容易造成研发人员大量拉取非职责范围内的代码到本地电脑并违规外发,造成核心源代码泄露并对研发型公司造成重大损失。
为了保护源代码安全,避免源代码泄露,相关技术中,通常需要在研发人员的办公终端上安装数据泄露防护(Data leakage prevention,DLP)产品,或者通过对访问代码仓库的网络流量进行监控。
然而,DLP产品本身也会存在安全漏洞,可能被研发人员自行卸载或是中止服务进程导致无法进行防护;网络流量监控的方式误判率高,检测精度低。因此,如何准确的对源代码泄露行为进行检测是目前亟待解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种源代码泄露行为检测方法、装置、电子设备及存储介质。
本发明提供一种源代码泄露行为检测方法,应用于服务器,包括:
实时采集目标用户针对源代码的行为日志;
基于所述行为日志,确定所述目标用户的目标行为;
在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;
获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理。
可选地,所述行为基线通过以下方式构建:
将所述目标行为输入目标行为基线生成模型,得到所述目标行为基线生成模型输出的所述行为基线;其中,所述目标行为基线生成模型是利用所述目标用户历史时段的历史目标行为进行半监督学习后得到的。
可选地,所述目标行为基线生成模型通过以下方式训练得到:
从所述目标用户的行为日志中采集所述目标用户历史时段的历史目标行为;
基于所述历史目标行为对应的日志配置信息,确定所述历史目标行为对应的关键信息;
将所述关键信息输入初始行为基线生成模型进行半监督学习,直至达到预设停止条件得到所述目标行为基线生成模型。
可选地,在所述将所述关键信息输入初始行为基线生成模型进行半监督学习之前,所述方法还包括:
接收客户端发送的学习指令,所述学习指令用于指示服务器开始对所述初始行为基线生成模型进行半监督学习。
可选地,所述基于所述行为日志,确定所述目标用户的目标行为,包括:
基于预设行为过滤规则,从所述行为日志中确定所述目标行为的配置参数;
基于所述配置参数,确定所述目标行为。
可选地,在所述基于所述告警级别生成与所述告警级别对应的处置策略之后,所述方法还包括:
将所述告警事件及所述处置策略发送至客户端,以使所述客户端在显示界面显示所述告警事件及所述处置策略。
本发明还提供一种源代码泄露行为检测装置,应用于服务器,包括:
第一采集模块,用于实时采集目标用户针对源代码的行为日志;
第一确定模块,用于基于所述行为日志,确定所述目标用户的目标行为;
第一生成模块,用于在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;
第二生成模块,用于获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述源代码泄露行为检测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述源代码泄露行为检测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述源代码泄露行为检测方法。
本发明提供的源代码泄露行为检测方法、装置、电子设备及存储介质,服务器实时采集目标用户针对源代码的行为日志,并基于行为日志确定目标用户的目标行为,从而可以排除行为日志中除目标行为以外行为的干扰,仅针对目标行为进行源代码泄露行为检测,节约了***资源,提高了检测效率;服务器在检测到目标行为偏离目标用户对应的行为基线的情况下,表明目标用户的行为有导致源代码泄露的风险,即生成告警事件;由于利用目标用户对应的行为基线对源代码泄露行为进行检测,因此实现了在不需要部署DLP产品,也不需要对代码服务器的网络流量进行监控的情况下,实现对用户目标行为的分析和异常检测,进而可以快速、精准的发现违规或异常下载源代码的事件,有效的避免源代码泄露的事件发生;另外,在生成用于表征源代码泄露的告警事件的情况下,还可以获取告警事件对应的告警级别,然后基于告警级别生成与告警级别对应的处置策略对告警事件进行处理,实现源代码泄露行为从发现、判断到处置的全闭环问题管理,保证了源代码的安全。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的源代码泄露行为检测方法的流程示意图之一;
图2是本发明提供的源代码泄露行为检测方法的流程示意图之二;
图3是本发明提供的源代码泄露行为检测装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于更加清晰地理解本申请各实施例,首先对一些相关的背景知识进行如下介绍。
随着互联网技术的发展,研发型公司对源代码日常管理的技术方式也发生巨大的变化。从最早的并发版本***(Concurrent Versions System,CVS)、SVN(subversion)等“集中式”版本管理工具发展为以分布式版本控制***(Git)为代表的“分布式”的开源版本管理工具。
相比于“集中式”管理理念开发下的CVS或SVN,以Git为代表的“分布式”开源版本管理工具提供用户更加灵活、方便的代码访问与使用,大大提高研发效率。
但随着而来带来许多问题,其中就包括权限管控力度相对变弱。如果权限设置不当很容易造成研发人员大量拉取非职责范围内的代码到本地电脑并违规外发,造成核心源代码泄露并对研发型公司造成重大损失。
相关技术中,对源代码泄露事件进行检测的技术方案主要有:
第一种,在研发人员的办公终端上安装DLP产品,并设置敏感关键字的检测规则。通过对研发人员的数据外发行为进行监控从而实现源代码外发行为的检测。如果外发的文件中包括检测规则中的关键字则会触发告警规则。
第二种,通过对访问代码仓库的网络流量进行监控,主要是对访问代码仓库的所有网络流量进行镜像后进行流量统计分析。如果某个源IP在一定时间内的网络流量过大则会触发告警规则。
然而,第一种技术方案的缺点主要在于,其检测技术基于对明文文件的关键字检测技术。因此对加密后的数据无法检测。内部的研发人员可以先下载代码到本地电脑后加密进行外发,并且可以使用自定义的加密算法增大检测难度。同时DLP产品本身也会存在安全漏洞,可能被研发人员自行卸载或是中止服务进程导致无法进行防护。同时在办公终端安装数据防泄漏产品也会造成一定的本地资源占用与管理维护成本。
第二种技术方案的缺点主要在于,其检测原理主要是基于对代码仓库网络流量的统计分析。但是该方案误报率较高,因为日常工作中研发人员可能因合理工作需要会多次下载代码从而造成其流量较大。并且代码仓库的网络流量不仅包括下载代码、也还同时包括其它正常操作,所以造成误报率较高的问题。
同时也无法侦测到研发人员下载核心代码仓库的行为,即研发人员只下载核心仓库的代码,其网络流量很小,相比正常行为很难进行区分。
综上所述,针对现有技术中存在的问题,为了准确的对源代码泄露行为进行检测,保障源代码的安全,本发明实施例提供一种源代码泄露行为检测方法、装置、电子设备及存储介质。
下面结合图1至图2对本发明提供的源代码泄露行为检测方法进行具体描述。图1是本发明提供的源代码泄露行为检测方法的流程示意图之一,参见图1所示,该方法应用于服务器,包括步骤101-步骤104,其中:
步骤101、实时采集目标用户针对源代码的行为日志。
为了准确的对源代码泄露行为进行检测,在本实施例中,服务器需要实时采集目标用户针对源代码的行为日志。
实际应用中,源代码可以存储于Gerrit代码仓库中,该代码仓库部署于专门的代码服务器中。目标用户是待检测用户群体中的任一个用户,不同的目标用户对应有不同的行为日志;可以理解的是,针对每一个目标用户,其行为日志中包括有多个行为,例如源代码下载、上传、更新、删除等行为。
在本实施例中,Gerrit代码仓库用户的业务操作日志(例如针对源代码的下载、上传、删除、更新等的行为日志)存储于Gerrit代码仓库服务器的指定目录下;可以调用安装在Gerrit代码仓库服务器上的日志收集agent实时采集Gerrit代码仓库的指定目录下的日志文件。
步骤102、基于所述行为日志,确定所述目标用户的目标行为。
在本实施例中,在实时采集到目标用户针对源代码的行为日志之后,需要基于行为日志,确定目标用户的目标行为。
在实际应用中,为了防止源代码的泄露,保障源代码的安全,目标行为可以是源代码下载行为。
也就是说,在行为日志中包括有针对目标用户的多个行为,例如目标用户针对源代码的下载、上传、删除、更新等行为;需要在这些行为中确定出目标用户的源代码下载行为。
步骤103、在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露。
在本实施例中,在确定出目标行为之后,需要获取目标用户对应的行为基线,该行为基线用于反映目标用户的目标行为是否是正常行为。
在目标行为偏离目标用户对应的行为基线的情况下,表明用户此时的行为是异常行为;例如在目标行为是源代码下载行为的情况下,当用户群体中的目标用户的源代码下载行为偏离目标用户对应的行为基线时,表示目标用户此时的源代码下载行为异常,有可能造成源代码泄露。此时生成告警事件,以表征源代码泄露。
步骤104、获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理。
在本实施例中,在生成告警事件之后,需要获取告警事件对应的告警级别,并基于告警级别生成与告警级别对应的处置策略,从而对告警事件进行处理。
在实际应用中,可以根据目标行为偏离行为基线程度的阈值大小确定生成告警事件的级别;例如,在目标行为偏离行为基线的程度大于或等于第一阈值,小于第二阈值的情况下,告警事件的级别为1级,对应的处置策略为向管理者发送告警邮件;
在目标行为偏离行为基线的程度大于或等于第二阈值,小于第三阈值的情况下,告警事件的级别为2级,对应的处置策略为禁用目标用户的账号。
本发明提供的源代码泄露行为检测方法,服务器实时采集目标用户针对源代码的行为日志,并基于行为日志确定目标用户的目标行为,从而可以排除行为日志中除目标行为以外行为的干扰,仅针对目标行为进行源代码泄露行为检测,节约了***资源,提高了检测效率;服务器在检测到目标行为偏离目标用户对应的行为基线的情况下,表明目标用户的行为有导致源代码泄露的风险,即生成告警事件;由于利用目标用户对应的行为基线对源代码泄露行为进行检测,因此实现了在不需要部署DLP产品,也不需要对代码服务器的网络流量进行监控的情况下,实现对用户目标行为的分析和异常检测,进而可以快速、精准的发现违规或异常下载源代码的事件,有效的避免源代码泄露的事件发生;另外,在生成用于表征源代码泄露的告警事件的情况下,还可以获取告警事件对应的告警级别,然后基于告警级别生成与告警级别对应的处置策略对告警事件进行处理,实现源代码泄露行为从发现、判断到处置的全闭环问题管理,保证了源代码的安全。
可选地,所述基于所述行为日志,确定所述目标用户的目标行为,具体通过以下步骤1至步骤2实现:
步骤1、基于预设行为过滤规则,从所述行为日志中确定所述目标行为的配置参数;
步骤2、基于所述配置参数,确定所述目标行为。
在本实施例中,服务器实时采集到目标用户针对源代码的行为日志之后,需要读取行为日志配置文件中指定目录下的日志文件。
因此,在从行为日志中确定目标行为的配置参数之前,需要对行为日志完成参数的配置,例如:
1)指定日志服务器的IP地址:server.ip=10.100.1.80;
2)指定日志服务器的端口:server.port=1230;
3)指定读取日志的目录:log.url=/opt/gerritlog/;
4)指定读取日志的编码方式:log.encode=utf8;
5)指定日志发送的频率:log.sendfrequency=60。
在完成以上参数的配置之后,需要基于预设行为过滤规则,从行为日志中确定出目标行为的配置参数,其中,预设行为过滤规则用于筛选出目标用户的目标行为。
例如,预设行为过滤规则用于将上传数据包的日志过滤,仅保留下载数据包的日志,则预设行为过滤规则可以表示为:log.filter=git-upload-pack。
基于预设行为过滤规则,可以从行为日志中确定出目标行为的配置参数。
在得到目标行为的配置参数之后,即可基于目标行为的配置参数,确定目标行为。
在上述实施方式中,服务器基于预设行为过滤规则,从行为日志中确定出目标行为的配置参数,然后基于配置参数,确定目标行为;通过上述方法,可以排除行为日志中除目标行为以外行为的干扰,仅针对目标行为进行源代码泄露行为检测,节约了***资源,提高了检测效率。
在确定出目标用户的目标行为之后,需要将目标行为与目标用户对应的行为基线进行对比。
可选地,在本发明实施例一种可能的实现方式中,行为基线通过以下方式构建:
将所述目标行为输入目标行为基线生成模型,得到所述目标行为基线生成模型输出的所述行为基线;其中,所述目标行为基线生成模型是利用所述目标用户历史时段的历史目标行为进行半监督学习后得到的。
在本实施例中,需要基于目标行为基线生成模型构建目标行为对应的行为基线,其中,目标行为基线生成模型例如为极限梯度提升模型(Extreme Gradient Boosting,XGBoost)、循环神经网络模型(Recurrent Neural Networks,RNN)等。本申请对目标行为基线生成模型的类型不做限定。
需要说明的是,目标行为基线生成模型是利用目标用户历史时段的历史目标行为进行半监督学习后得到的;即对历史的正常目标行为和异常目标行为分别标注标签作为训练样本集,并利用半监督学习法将训练样本集输入初始行为基线生成模型进行训练,得到目标行为基线生成模型。
在上述实施方式中,由于利用目标用户对应的行为基线对源代码泄露行为进行检测,因此实现了在不需要部署DLP产品,也不需要对代码服务器的网络流量进行监控的情况下,实现对用户目标行为的分析和异常检测,进而可以快速、精准的发现违规或异常下载源代码的事件,有效的避免源代码泄露的事件发生。
可选地,所述目标行为基线生成模型通过以下方式训练得到,具体包括步骤[1]至步骤[3]:
步骤[1]、从所述目标用户的行为日志中采集所述目标用户历史时段的历史目标行为;
步骤[2]、基于所述历史目标行为对应的日志配置信息,确定所述历史目标行为对应的关键信息;
步骤[3]、将所述关键信息输入初始行为基线生成模型进行半监督学习,直至达到预设停止条件得到所述目标行为基线生成模型。
在本实施例中,首先需要从目标用户的行为日志中采集所述目标用户历史时段的历史目标行为。
在采集到历史目标行为后,需要基于历史目标行为对应的日志配置信息,对采集的历史目标行为进行字段标准化映射,进而生成历史目标行为对应的关键信息。
具体地,对采集的历史目标行为进行字段标准化映射是指基于历史目标行为对应的日志配置信息,生成标准化格式的字段,以便为后续的行为基线的建立提供基础数据。
其中,字段标准化映射后目标行为对应的关键信息可以表示为:
用户名:User=log.user;
用户IP地址:IP=log.ip;
项目名称:ProjectName=log.project;
目标行为发生时间:Time=log.time。
最后,将字段标准化映射后目标行为对应的关键信息进行标签标注生成训练集,将训练集输入初始行为基线生成模型进行半监督学习,直至达到预设停止条件得到目标行为基线生成模型。
可选地,在所述将所述关键信息输入初始行为基线生成模型进行半监督学习之前,服务器需要接收客户端发送的学习指令,所述学习指令用于指示服务器开始对所述初始行为基线生成模型进行半监督学习。
具体地,学习指令可以表示为:autolearning=on。
在上述实施方式中,在服务器接收到客户端发送的学习指令的情况下,服务器开始对初始行为基线生成模型进行半监督学习,使得用户可以随时开始对初始行为基线生成模型进行更新,进而得到目标行为基线生成模型输出的更精确的行为基线。
可选地,在所述基于所述告警级别生成与所述告警级别对应的处置策略之后,还需要将所述告警事件及所述处置策略发送至客户端,以使所述客户端在显示界面显示所述告警事件及所述处置策略。
在本实施例中,在将告警事件及处置策略发送至客户端之前,需要对发送方式对应的配置信息进行设置,例如:
1)指定告警发送的方式:alert.method=syslog;
2)指定接收告警服务器IP:alert.serverip=10.100.20.50;
3)指定接收告警的服务器端口:alert.serverport=1503;
4)指定发送告警的频率:alert.frequency=300。
另外,还需要对处置策略对应配置信息进行设置,例如:
1)1级告警事件对应的处置策略:alert.level1.action=email;
2)2级告警事件对应的处置策略:alert.level2.action=disable account。
在上述实施方式中,在生成用于表征源代码泄露的告警事件的情况下,还可以获取告警事件对应的告警级别,然后基于告警级别生成与告警级别对应的处置策略对告警事件进行处理,实现源代码泄露行为从发现、判断到处置的全闭环问题管理,保证了源代码的安全。
图2是本发明提供的源代码泄露行为检测方法的流程示意图之二,参见图2所示,该方法应用于服务器,包括步骤1-步骤10,其中:
步骤1、代码仓库服务器生成目标用户在历史时段中针对源代码的历史行为日志。
步骤2、代码仓库服务器中的agent采集历史行为日志,基于预设行为过滤规则,从历史行为日志中确定目标行为的配置参数,根据配置参数确定目标用户在历史时段中针对源代码的历史下载行为。
步骤3、代码仓库服务器将历史下载行为发送至日志服务器进行存储。
步骤4、日志服务器将历史下载行为日志发送至分析服务器。
步骤5、分析服务器基于历史下载行为对应的日志配置信息,确定历史下载行为对应的关键信息。
步骤6、分析服务器将关键信息输入初始行为基线生成模型进行半监督学习,直至达到预设停止条件生成目标行为基线生成模型。
步骤7、分析服务器将下载行为对应的字段输入目标行为基线生成模型,得到目标行为基线生成模型输出的目标用户对应的下载行为基线。
步骤8、分析服务器将实时采集的目标用户针对源代码的下载行为与目标用户对应的下载行为基线进行对比,在下载行为偏离目标用户对应的下载行为基线的情况下,生成告警事件。
步骤9、分析服务器将告警事件发送至告警处理服务器。
步骤10、告警处理服务器获取告警事件对应的告警级别,基于告警级别生成与告警级别对应的处置策略对告警事件进行处理。
下面对本发明提供的源代码泄露行为检测装置进行描述,下文描述的源代码泄露行为检测装置与上文描述的源代码泄露行为检测方法可相互对应参照。图3是本发明提供的源代码泄露行为检测装置的结构示意图,如图3所示,该源代码泄露行为检测装置300应用于服务器,包括:采集模块301、确定模块302、第一生成模块303及第二生成模块304,其中:
第一采集模块301,用于实时采集目标用户针对源代码的行为日志;
第一确定模块302,用于基于所述行为日志,确定所述目标用户的目标行为;
第一生成模块303,用于在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;
第二生成模块304,用于获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理。
本发明提供的源代码泄露行为检测装置,通过实时采集目标用户针对源代码的行为日志,并基于行为日志确定目标用户的目标行为,从而可以排除行为日志中除目标行为以外行为的干扰,仅针对目标行为进行源代码泄露行为检测,节约了***资源,提高了检测效率;在检测到目标行为偏离目标用户对应的行为基线的情况下,表明目标用户的行为有导致源代码泄露的风险,即生成告警事件;由于利用目标用户对应的行为基线对源代码泄露行为进行检测,因此实现了在不需要部署DLP产品,也不需要对代码服务器的网络流量进行监控的情况下,实现对用户目标行为的分析和异常检测,进而可以快速、精准的发现违规或异常下载源代码的事件,有效的避免源代码泄露的事件发生;另外,在生成用于表征源代码泄露的告警事件的情况下,还可以获取告警事件对应的告警级别,然后基于告警级别生成与告警级别对应的处置策略对告警事件进行处理,实现源代码泄露行为从发现、判断到处置的全闭环问题管理,保证了源代码的安全。
可选地,所述装置还包括:
第一输入模块,用于将所述目标行为输入目标行为基线生成模型,得到所述目标行为基线生成模型输出的所述行为基线;其中,所述目标行为基线生成模型是利用所述目标用户历史时段的历史目标行为进行半监督学习后得到的。
可选地,所述装置还包括:
第二采集模块,用于从所述目标用户的行为日志中采集所述目标用户历史时段的历史目标行为;
第二确定模块,用于基于所述历史目标行为对应的日志配置信息,确定所述历史目标行为对应的关键信息;
第二输入模块,用于将所述关键信息输入初始行为基线生成模型进行半监督学习,直至达到预设停止条件得到所述目标行为基线生成模型。
可选地,第一确定模块303,进一步用于:
基于预设行为过滤规则,从所述行为日志中确定所述目标行为的配置参数;
基于所述配置参数,确定所述目标行为。
可选地,所述装置还包括:
发送模块,用于将所述告警事件及所述处置策略发送至客户端,以使所述客户端在显示界面显示所述告警事件及所述处置策略。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行源代码泄露行为检测方法,该方法包括:实时采集目标用户针对源代码的行为日志;基于所述行为日志,确定所述目标用户的目标行为;在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的源代码泄露行为检测方法,该方法包括:实时采集目标用户针对源代码的行为日志;基于所述行为日志,确定所述目标用户的目标行为;在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的源代码泄露行为检测方法,该方法包括:实时采集目标用户针对源代码的行为日志;基于所述行为日志,确定所述目标用户的目标行为;在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种源代码泄露行为检测方法,其特征在于,应用于服务器,包括:
实时采集目标用户针对源代码的行为日志;所述行为日志中包括源代码下载、上传、更新、删除行为;所述源代码存储于Gerrit代码仓库中,所述行为日志存储于所述Gerrit代码仓库的指定目录下;
基于预设行为过滤规则,从所述行为日志中确定目标行为的配置参数;
基于所述配置参数,确定所述目标行为;所述目标行为是源代码下载行为;
在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;所述行为基线用于反映所述目标行为是否是正常行为;
获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理;
其中,所述行为基线通过以下方式构建:
将所述目标行为输入目标行为基线生成模型,得到所述目标行为基线生成模型输出的所述行为基线;其中,所述目标行为基线生成模型是利用所述目标用户历史时段的历史目标行为进行半监督学习后得到的。
2.根据权利要求1所述的源代码泄露行为检测方法,其特征在于,所述目标行为基线生成模型通过以下方式训练得到:
从所述目标用户的行为日志中采集所述目标用户历史时段的历史目标行为;
基于所述历史目标行为对应的日志配置信息,确定所述历史目标行为对应的关键信息;
将所述关键信息输入初始行为基线生成模型进行半监督学习,直至达到预设停止条件得到所述目标行为基线生成模型。
3.根据权利要求2所述的源代码泄露行为检测方法,其特征在于,在所述将所述关键信息输入初始行为基线生成模型进行半监督学习之前,所述方法还包括:
接收客户端发送的学习指令,所述学习指令用于指示服务器开始对所述初始行为基线生成模型进行半监督学习。
4.根据权利要求1至3中任一项所述的源代码泄露行为检测方法,其特征在于,在所述基于所述告警级别生成与所述告警级别对应的处置策略之后,所述方法还包括:
将所述告警事件及所述处置策略发送至客户端,以使所述客户端在显示界面显示所述告警事件及所述处置策略。
5.一种源代码泄露行为检测装置,其特征在于,应用于服务器,包括:
第一采集模块,用于实时采集目标用户针对源代码的行为日志;所述行为日志中包括源代码下载、上传、更新、删除行为;所述源代码存储于Gerrit代码仓库中,所述行为日志存储于所述Gerrit代码仓库的指定目录下;
第一确定模块,用于基于预设行为过滤规则,从所述行为日志中确定目标行为的配置参数;
基于所述配置参数,确定所述目标行为;所述目标行为是源代码下载行为;
第一生成模块,用于在所述目标行为偏离所述目标用户对应的行为基线的情况下,生成告警事件;所述行为基线用于表征所述目标用户的正常目标行为;所述告警事件用于表征源代码泄露;所述行为基线用于反映所述目标行为是否是正常行为;
第二生成模块,用于获取所述告警事件对应的告警级别,基于所述告警级别生成与所述告警级别对应的处置策略;所述处置策略用于对所述告警事件进行处理;
其中,所述行为基线通过以下方式构建:
将所述目标行为输入目标行为基线生成模型,得到所述目标行为基线生成模型输出的所述行为基线;其中,所述目标行为基线生成模型是利用所述目标用户历史时段的历史目标行为进行半监督学习后得到的。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述源代码泄露行为检测方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述源代码泄露行为检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576243.0A CN115577369B (zh) | 2022-12-09 | 2022-12-09 | 源代码泄露行为检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576243.0A CN115577369B (zh) | 2022-12-09 | 2022-12-09 | 源代码泄露行为检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115577369A CN115577369A (zh) | 2023-01-06 |
CN115577369B true CN115577369B (zh) | 2023-07-14 |
Family
ID=84590620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211576243.0A Active CN115577369B (zh) | 2022-12-09 | 2022-12-09 | 源代码泄露行为检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115577369B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525558A (zh) * | 2018-10-22 | 2019-03-26 | 深信服科技股份有限公司 | 数据泄露检测方法、***、装置及存储介质 |
CN113515433A (zh) * | 2021-07-28 | 2021-10-19 | 中移(杭州)信息技术有限公司 | 告警日志处理方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109922062B (zh) * | 2019-03-04 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 源代码泄露监控方法及相关设备 |
CN110798472B (zh) * | 2019-11-01 | 2022-01-07 | 杭州数梦工场科技有限公司 | 数据泄露检测方法与装置 |
US11140061B1 (en) * | 2020-12-01 | 2021-10-05 | Wells Fargo Bank, N.A. | Policy control threat detection |
-
2022
- 2022-12-09 CN CN202211576243.0A patent/CN115577369B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525558A (zh) * | 2018-10-22 | 2019-03-26 | 深信服科技股份有限公司 | 数据泄露检测方法、***、装置及存储介质 |
CN113515433A (zh) * | 2021-07-28 | 2021-10-19 | 中移(杭州)信息技术有限公司 | 告警日志处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115577369A (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113661693B (zh) | 经由日志检测敏感数据暴露 | |
CN110691064B (zh) | 一种现场作业终端安全接入防护和检测*** | |
US8776241B2 (en) | Automatic analysis of security related incidents in computer networks | |
US10078317B2 (en) | Method, device and computer program for monitoring an industrial control system | |
AU2016333461B2 (en) | Non-intrusive digital agent for behavioral monitoring of cybersecurity-related events in an industrial control system | |
CN112534432A (zh) | 不熟悉威胁场景的实时缓解 | |
CN113098846A (zh) | 工控流量监测方法、设备、存储介质及装置 | |
CN112787992A (zh) | 一种敏感数据的检测与防护的方法、装置、设备和介质 | |
WO2009037333A2 (en) | Intrusion detection method and system | |
CN106716953A (zh) | 控制***中的网络安全风险的动态量化 | |
CN113596028B (zh) | 一种网络异常行为的处置方法及装置 | |
US10839074B2 (en) | System and method of adapting patterns of dangerous behavior of programs to the computer systems of users | |
WO2009059206A1 (en) | Executable download tracking system | |
CN110351277A (zh) | 电力监控***安全防护告警方法 | |
CN112039858A (zh) | 一种区块链服务安全加固***与方法 | |
GB2592132A (en) | Enterprise network threat detection | |
JP2023550974A (ja) | イメージ基盤悪性コード検知方法および装置とこれを利用する人工知能基盤エンドポイント脅威検知および対応システム | |
CN116305290A (zh) | 一种***日志安全检测方法及装置、电子设备及存储介质 | |
CN114050937B (zh) | 邮箱服务不可用的处理方法、装置、电子设备及存储介质 | |
RU2481633C2 (ru) | Система и способ автоматического расследования инцидентов безопасности | |
CN115577369B (zh) | 源代码泄露行为检测方法、装置、电子设备及存储介质 | |
CN109462617B (zh) | 一种局域网中设备通讯行为检测方法及装置 | |
KR101973728B1 (ko) | 통합 보안 이상징후 모니터링 시스템 | |
JP2006114044A (ja) | コンピュータ・ネットワークへの不正アクセスを検出するためのシステムおよび方法 | |
CN113127856A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |