信息检测方法、装置及服务器与流程

文档序号:18941779发布日期:2019-10-23 01:12阅读:216来源:国知局
信息检测方法、装置及服务器与流程
本发明涉及计算机
技术领域
,具体涉及一种信息检测方法、装置及服务器。
背景技术
:近年来互联网的发展衍生出了门类齐全、功能丰富的第三方开放平台,都能以开放接口的方式提供给第三方开发者。第三方开发者无需在本地搭建服务的实际硬件及特殊软件环境,而是通过在云端管理软件开发和源代码,以第三方开源托管平台github为例,作为开源代码库以及版本控制系统,目前github平台拥有2400万位开发者和67000万个项目,下包含了过亿的文件数,随着越来越多的应用程序转移到了云上,github已经成为了管理软件开发以及发现已有代码的首选方法。但是,源代码泄露已引起越来越多开发人员重视,因此对第三方开放同平台中已有代码的敏感检测是非常有必要,目前,主要是人工进行敏感信息的审核检测,但由于互联网行业特有的开源行为、业界普遍使用的开源组件,以及互联网行业人员流动频繁,导致不同公司的项目代码存在大量相似性,且不同项目之间也存在复刻(fork)、引用等等原因,在查找敏感信息时,真正需要的结果极容易埋没在大量的无关信息中,这使得敏感信息检测变得非常困难。技术实现要素:本申请提供一种信息检测方法、装置及服务器,大幅提升了敏感数据泄露检测的准确性,并减轻了人工审计判断的压力,使得企业可以及时发现并处理泄露的敏感信息,将敏感信息泄露的危害降到了最低。第一方面,本申请提供一种信息检测方法,所述信息检测方法包括:获取设置的关键词;在第三方开发平台的已公开代码中,查找与所述关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将所述待检测软件基因序列,分别与所述软件基因集合中各软件基因序列进行相似度计算,确定所述软件基因序列集合中的敏感软件基因序列。在本申请一些实施例中,所述将所述待检测软件基因序列,分别与所述软件基因集合中各软件基因序列进行相似度计算,确定所述软件基因序列集合中的敏感软件基因序列,包括:分别将所述软件基因序列集合中的软件基因序列作为目标软件基因序列,提取所述目标软件基因序列中的核心软件基因;分别计算所述目标软件基因序列中各核心软件基因与所述待检测软件基因序列的相似度,得到所述各核心软件基因对应的第一相似度值;根据所述各核心软件基因对应的第一相似度值,确定所述目标软件基因序列是否敏感软件基因序列。在本申请一些实施例中,所述根据所述各核心软件基因对应的第一相似度值,确定所述目标软件基因序列是否敏感软件基因序列,包括:获取所述待检测软件基因序列中各软件基因的权重值;分别确定所述各核心软件基因与所述待检测软件基因序列中相似的软件基因;根据所述各核心软件基因对应的第一相似度值,以及与所述待检测软件基因序列中相似的软件基因的权重值,计算所述目标软件基因序列与所述待检测软件基因序列的第二相似度值;根据所述第二相似度值,确定所述目标软件基因序列是否敏感软件基因序列。在本申请一些实施例中,根据所述第二相似度值,确定所述目标软件基因序列是否敏感软件基因序列,包括:判断所述第二相似度值是否高于第一预设阈值,若是,确定所述目标软件基因序列是敏感软件基因序列;判断所述第二相似度值是否低于第二预设阈值,若是,确定所述目标软件基因序列不是敏感软件基因序列;其中,第一预设阈值大于所述第二预设阈值。在本申请一些实施例中,根据所述第二相似度值,确定所述目标软件基因序列是否敏感软件基因序列,还包括:若所述第二相似度值低于所述第一预设阈值且高于所述第二预设阈值,确定所述目标软件基因序列为可疑敏感软件基因序列;向目标终端发送确认请求,以使得所述目标终端的用户通过所述确认请求确认所述目标软件基因序列是否为敏感软件基因序列,其中,所述确认请求中包括所述可疑敏感软件基因序列的信息。在本申请一些实施例中,所述关键词包括用户信息、详情页面地址、代码所在项目中的路径、文件名称、文件后缀、文件上传时间、文件类型、最后修改者、最后修改时间、仓库所有人、源代码详情和fork数中至少一种。第二方面,本申请提供一种信息检测装置,所述信息检测装置包括:第一获取单元,用于获取设置的关键词;查找单元,用于在第三方开发平台的已公开代码中,查找与所述关键词匹配的软件基因序列,得到软件基因序列集合;第二获取单元,用于获取待检测软件基因序列;相似度计算单元,用于将所述待检测软件基因序列,分别与所述软件基因集合中各软件基因序列进行相似度计算,确定所述软件基因序列集合中的敏感软件基因序列。在本申请一些实施例中,所述相似度计算单元具体用于:分别将所述软件基因序列集合中的软件基因序列作为目标软件基因序列,提取所述目标软件基因序列中的核心软件基因;分别计算所述目标软件基因序列中各核心软件基因与所述待检测软件基因序列的相似度,得到所述各核心软件基因对应的第一相似度值;根据所述各核心软件基因对应的第一相似度值,确定所述目标软件基因序列是否敏感软件基因序列。在本申请一些实施例中,所述相似度计算单元具体用于:获取所述待检测软件基因序列中各软件基因的权重值;分别确定所述各核心软件基因与所述待检测软件基因序列中相似的软件基因;根据所述各核心软件基因对应的第一相似度值,以及与所述待检测软件基因序列中相似的软件基因的权重值,计算所述目标软件基因序列与所述待检测软件基因序列的第二相似度值;根据所述第二相似度值,确定所述目标软件基因序列是否敏感软件基因序列。在本申请一些实施例中,所述相似度计算单元具体用于:判断所述第二相似度值是否高于第一预设阈值,若是,确定所述目标软件基因序列是敏感软件基因序列;判断所述第二相似度值是否低于第二预设阈值,若是,确定所述目标软件基因序列不是敏感软件基因序列;其中,第一预设阈值大于所述第二预设阈值。在本申请一些实施例中,所述相似度计算单元具体用于:若所述第二相似度值低于所述第一预设阈值且高于所述第二预设阈值,确定所述目标软件基因序列为可疑敏感软件基因序列;向目标终端发送确认请求,以使得所述目标终端的用户通过所述确认请求确认所述目标软件基因序列是否为敏感软件基因序列,其中,所述确认请求中包括所述可疑敏感软件基因序列的信息。在本申请一些实施例中,所述关键词包括用户信息、详情页面地址、代码所在项目中的路径、文件名称、文件后缀、文件上传时间、文件类型、最后修改者、最后修改时间、仓库所有人、源代码详情和fork数中至少一种。第三方面,本申请提供一种服务器,包括存储器和处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:获取设置的关键词;在第三方开发平台的已公开代码中,查找与所述关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将所述待检测软件基因序列,分别与所述软件基因集合中各软件基因序列进行相似度计算,确定所述软件基因序列集合中的敏感软件基因序列。第四方面,本申请提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如第一方面中任一项所述的信息检测方法中的步骤。本申请实施例中通过获取设置的关键词;在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将待检测软件基因序列,分别与软件基因集合中各软件基因序列进行相似度计算,确定软件基因序列集合中的敏感软件基因序列。本申请实施例中通过待检测软件基因序列与用户设置的关键词匹配的软件基因序列比对,自动判断出第三方开发平台的已公开代码是否存在敏感信息,大幅提升了敏感数据泄露检测的准确性,并减轻了人工审计判断的压力,使得企业可以及时发现并处理泄露的敏感信息,将敏感信息泄露的危害降到了最低。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的信息检测系统的场景示意图;图2是本发明实施例中提供的信息检测方法的一个实施例流程示意图;图3是本发明实施例中步骤204的一个实施例流程示意图;图4是本发明实施例中提供的信息检测方法的另一个实施例流程示意图;图5是本发明实施例中提供的信息检测装置的一个实施例结构示意图;图6是本发明实施例提供的服务器的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有说明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。本文所使用的术语“模块”或“单元”可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。本
技术领域
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。本发明实施例提供一种信息检测方法、装置及服务器。请参阅图1,图1为本发明实施例所提供的信息检测系统一个实施例场景示意图,该信息检测系统可以包括服务器100,服务器100中集成有信息检测装置。本发明实施例中服务器100主要用于获取设置的关键词;在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将待检测软件基因序列,分别与软件基因集合中各软件基因序列进行相似度计算,确定软件基因序列集合中的敏感软件基因序列。本发明实施例中,该服务器100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloudcomputing)的大量计算机或网络服务器构成。本发明的实施例中,服务器与客户端之间可通过任何通信方式实现通信,包括但不限于,基于第三代合作伙伴计划(3rdgenerationpartnershipproject,3gpp)、长期演进(longtermevolution,lte)、全球互通微波访问(worldwideinteroperabilityformicrowaveaccess,wimax)的移动通信,或基于tcp/ip协议族(tcp/ipprotocolsuite,tcp/ip)、用户数据报协议(userdatagramprotocol,udp)协议的计算机网络通信等。本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的服务器,例如图1中仅示出1个服务器,可以理解的,该信息检测系统还可以包括一个或多个其他服务器,具体此处不作限定。另外,本发明实施例中服务器可以是企业服务器,如图1所示,该信息检测系统还可以包括存储器200,用于存储数据,如存储企业的源代码数据,具体如企业已开发软件的软件基因序列。需要说明的是,图1所示的信息检测系统的场景示意图仅仅是一个示例,本发明实施例描述的信息检测系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着信息检测系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。下面结合具体实施例进行详细说明。在本实施例中,将从信息检测装置的角度进行描述,该信息检测装置具体可以集成在服务器100中。本发明提供一种信息检测方法,该信息检测方法包括:获取设置的关键词;在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将待检测软件基因序列,分别与软件基因集合中各软件基因序列进行相似度计算,确定软件基因序列集合中的敏感软件基因序列。请参阅图2,为本发明实施例中本发明实施例中信息检测方法的一个实施例流程示意图,该信息检测方法包括:201、获取设置的关键词。具体的,企业用户(如企业管理人员或安全维护人员)在需要在第三方开发平台进行敏感信息检测时,可以设置关键词,该关键词用于在第三方开发平台的已公开代码中,查找匹配的软件基因序列。其中,该第三方开发平台可以是目前已存在的云端管理软件开发和源代码的开放平台,例如github、印象笔记、coding代码托管平台、简书博客平台等公开的在线存储服务平台,可以理解的理解,随着技术的发展,第三方开发平台还可以是新出现的云端管理软件开发和源代码的开放平台。另外,在本申请一些实施例中,所述关键词包括用户信息、详情页面地址、代码所在项目中的路径、文件名称、文件后缀、文件上传时间、文件类型、最后修改者、最后修改时间、仓库所有人、源代码详情和fork数中至少一种。具体的,所述关键词可以包括第一关键词和第二关键词,其中,第一关键词可以包括软件基因序列在搜索显示页面显示一种或多种类型的信息,具体的,第一关键词可以包括如下一种或多种:(1)github用户信息:可以获取到仓库拥有者的基本信息(2)代码所在项目中的路径:该源代码所在项目中的最后一段路径(3)文件名称:搜索到的文件的的名称(4)文件后缀:文件的后缀(5)文件上传时间:文件最后被索引到的上传时间,换算到北京时间(6)代码匹配段:通过关键词搜索到的匹配的代码段(7)文件类型:文件的类型,比如.doc\docx都是word文件通过第一关键词可以在搜索显示页面,在第三方开发平台已公开代码中,查找与第一关键词匹配的软件基因序列,进行根据第二关键词对软件基因序列进一步筛选,第二关键词可以包括软件基因序列的详情显示页面中的一种或多种类型信息,具体的,第二关键词包括如下一种或多种:(1)详情页面地址:可以通过这个url获取到该特定的源代码文件的详情;(2)仓库所有人:该仓库的拥有者;(3)项目名称:包含该源代码的项目的名称;(4)项目路径:该源代码所在项目中的路径;(5)最后修改者:该源代码最后的修改人;(6)源码:源代码详情;(7)最后修改时间:标记了该源码最新被上传到网络上的时间;(8)fork数:如果一个项目被fork,那么即使项目的原始拥有者删除该项目,该项目仍然会存在与fork者的仓库中。其中,url指的是统一资源定位符(或称统一资源定位器/定位地址、url地址等,英语:uniformresourcelocator,常缩写为url),有时也被俗称为网页地址(网址);开源指的是开放源代码,具体指软件代码的编写者,将所编写的代码公开出去,所有人可以砍到。且在符合一定的协议下,其他公司及开发者可以使用这部分代码;开源组件指的是开放源代码的组件;仓库指的包含了软件项目所有文件的源代码文件的集合;fork指在其他人项目的基础上开发自己的项目,被多次fork意味着整个项目源码被多人使用,fork数指的是项目源码被使用的次数。本发明实施例中,基于第二关键词可以在第三方开发平台的已公开代码中,查找与第二关键词匹配的软件基因序列。202、在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合。软件基因(softwaregene)是软件体上具有功能或承载信息的二进制片段,其概念的灵感来源于生物基因,并借鉴生物信息学中关于基因分析的研究思路分析和度量软件,解决现今软件工程领域的分析难题。软件基因是是软件功能实现的原子单位,支撑着软件的基本构造,存储着软件生命周期的全部信息,是软件编制者的语义实现、编译器、基础库和系统环境互相依赖、影响、制约的结果。一个软件基因的长度是比较短的,代表的功能一般较为简单。一个程序的某个复杂功能需要由多个软件基因组合起来共同完成,这种组合的方式是依据控制流来决定的,我们将其称为软件基因序列,用以描述不同基因之间的关联关系。目前,通常是将软件体上的一段一致执行代码定义为一个软件基因。一致执行代码是指在任何用户输入条件下,其中包含的每条指令要么全部被执行,要么全部不被执行,体现了软件基因的原子性。在步骤201中获取设置的关键词之后,在第三方开发平台的已公开代码中,即可查找与关键词匹配的软件基因序列,得到软件基因序列集合。其中,软件基因序列集合可以包括至少一个软件基因序列。其中,当关键词包括第一关键和第二关键词时,在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合的步骤可以包括:在第三方开发平台的已公开代码中,查找与第一关键词、第二关键词匹配的软件基因序列集合。与第一关键词、第二关键词匹配的软件基因序列集合中的软件基因序列,可以是与第一关键词和第二关键词均匹配,也可以是与第一关键词或第二关键词匹配。需要说明的是,本发明实施例中所述的关键词与软件基因序列匹配,指的是软件基因序列中包括该关键词对应的信息,例如,关键词“仓库所有人b”,软件基因序列a对应仓库所有人为b,则表示该软件基因序列a与关键词“仓库所有人b”匹配。203、获取待检测软件基因序列。对于企业来说,其本身研发的软件项目,可能包括一个或多个软件基因序列,该待检测软件基因序列即需要在第三方开发平台进行敏感信息检测的软件基因序列。具体的,待检测软件基因序列可以从图1所示的存储器200中获取。需要说明的是,本发明实施例中,步骤203可以在步骤201之前进行,也可以与步骤201同步进行,具体先后顺序根据实际应用场景设定,不以此为限。204、将待检测软件基因序列,分别与软件基因集合中各软件基因序列进行相似度计算,确定软件基因序列集合中的敏感软件基因序列。本发明实施例中通过获取设置的关键词;在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将待检测软件基因序列,分别与软件基因集合中各软件基因序列进行相似度计算,确定软件基因序列集合中的敏感软件基因序列。本发明实施例中通过待检测软件基因序列与用户设置的关键词匹配的软件基因序列比对,自动判断出第三方开发平台的已公开代码是否存在敏感信息,大幅提升了敏感数据泄露检测的准确性,并减轻了人工审计判断的压力,使得企业可以及时发现并处理泄露的敏感信息,将敏感信息泄露的危害降到了最低。在本发明一些实施例中,如图3所示,所述将所述待检测软件基因序列,分别与所述软件基因集合中各软件基因序列进行相似度计算,确定所述软件基因序列集合中的敏感软件基因序列的步骤具体包括:301、分别将软件基因序列集合中的软件基因序列作为目标软件基因序列,提取目标软件基因序列中的核心软件基因。由于一个软禁项目中并不是所有的代码都是包含有效信息的,所以根据企业特征梳理出包含有有效信息的代码段,称为核心代码,同样的,对于一个软件基因序列中,并不是所有软件基因均是有效的,这些有效的软件基因,称为核心软件基因。本实施例中,对于所述软件基因序列集合中的每个软件基因序列,分别提取其中的核心软件基因,以供后续相似度比较。具体的,本实施例中,提取所述目标软件基因序列中的核心软件基因的步骤具体可以包括:获取预设的核心软件基因类型;根据所述核心软件基因类型,提取所述目标软件基因序列中的核心软件基因。其中,核心软件基因类型可以通过表格进行定义,一个具体实施方式中如下表1所示:表1此时,通过上述表1中对核心软件基因类型的定义,即可确认目标软件基因序列中的核心软件基因,并提取目标软件基因序列中的核心软件基因。302、分别计算目标软件基因序列中各核心软件基因与待检测软件基因序列的相似度,得到目标软件基因序列中各核心软件基因对应的第一相似度值。具体的,可以采用预设的文本相似度算法(textsimilarityalgorithm),分别计算所述目标软件基因序列中各核心软件基因与待检测软件基因序列的相似度,得到目标软件基因序列中各核心软件基因对应的第一相似度值。其中,文本相似度算法(textsimilarityalgorithm)可以采用现有的文本相似度算法,具体此处不作限定。303、根据目标软件基因序列中各核心软件基因对应的第一相似度值,确定目标软件基因序列是否敏感软件基因序列。其中,所述根据目标软件基因序列中各核心软件基因对应的第一相似度值,确定目标软件基因序列是否敏感软件基因序列可以进一步包括:获取所述待检测软件基因序列中各软件基因的权重值;分别确定目标软件基因序列中各核心软件基因与所述待检测软件基因序列中相似的软件基因;根据目标软件基因序列中各核心软件基因对应的第一相似度值,以及与所述待检测软件基因序列中相似的软件基因的权重值,计算所述目标软件基因序列与待检测软件基因序列的第二相似度值;根据第二相似度值,确定目标软件基因序列是否敏感软件基因序列。具体的,假设待检测软件基因序列200中包括软件基因210、软件基因220、软件基因230和软件基因240,目标软件基因序列110中的核心软件基因包括软件基因111和软件基因112,其中,软件基因210在待检测软件基因序列中的权重为0.6,软件基因230在待检测软件基因序列中的权重为0.2,软件基因220、240在待检测软件基因序列中的权重均为0.1,目标软件基因序列中软件基因111与软件基因210相似,第一相似度值为0.8,软件基因112与软件基因230相似,第一相似度值为0.85,此时,目标软件基因序列110与待检测软件基因序列200的第二相似度值可以是:0.85*0.5+0.8*0.2=0.425+0.16=0.585。进一步的,在本发明一些实施例中,根据第二相似度值,确定目标软件基因序列是否敏感软件基因序列的步骤可以包括:判断第二相似度值是否高于第一预设阈值,若是,确定目标软件基因序列是敏感软件基因序列;判断第二相似度值是否低于第二预设阈值,若是,确定目标软件基因序列不是敏感软件基因序列;其中,第一预设阈值大于所述第二预设阈值。在本发明另一些实施例中,当目标软件基因序列与待检测软件基因序列的第二相似度值,低于所述第一预设阈值且高于所述第二预设阈值时,此时,目标软件基因序列可能是敏感软件基因序列,也可能不是,此时可以借助人工的手段进一步辅助确认,例如可以将该目标软件基因序列发送给目标终端(如企业管理人员或安全维护人员的中高端),给目标终端的用户进行人工确认。此时,根据第二相似度值,确定目标软件基因序列是否敏感软件基因序列的步骤还可以包括:若所述第二相似度值低于所述第一预设阈值且高于所述第二预设阈值,确定所述目标软件基因序列为可疑敏感软件基因序列;向目标终端发送确认请求,以使得所述目标终端的用户通过所述确认请求确认所述目标软件基因序列是否为敏感软件基因序列,其中,该确认请求中包括所述可疑敏感软件基因序列的信息。可以理解的是,本发明实施例中所描述的目标终端既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种终端可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的,目标终端具体可以是台式终端或移动终端,目标终端具体可以手机、平板电脑、笔记本电脑和台式电脑等中的一种。在本发明一个具体实施例中,第一预设阈值可以为0.9,第二预设阈值为0.5,具体的,第二相似度值对应是否敏感软件基因序列的情况如下表2所示:表2第二相似度值是否敏感软件基因序列≥0.95可以肯定是高风险敏感软件基因序列0.9~0.94可以认为是敏感软件基因序列0.8~0.89可能是敏感软件基因序列,需要人工判断0.5~0.79存在是敏感软件基因序列的可能性,需要人工判断<0.5不是敏感软件基因序列从表2可知,若目标软件基因序列与待检测软件基因序列的第二相似度值大于0.9,则认为目标软件基因序列属于敏感软件基因序列,若目标软件基因序列与待检测软件基因序列的第二相似度值小于0.5,则认为目标软件基因序列不是敏感软件基因序列。如表2所示,还可以进一步根据目标软件基因序列与待检测软件基因序列的第二相似度值的取值做进一步划分,例如是否高风险,是否需要人工判断等,具体可根据实际情况进行设定,此处不作限定。通过以上给出的第二相似度取值,服务器便可自动判断出第三方开发平台中已公开的代码中是否包含敏感软件基因序列,以及是否需要人工立即介入处理,大幅提升了敏感软件基因序列泄露检测的准确性,并减轻了人工审核判断的压力,及时发现并处理泄露的敏感信息,将敏感信息泄露的危害降到了最低。下面结合一具体应用场景对本发明实施例中信息检测方法进行描述。请参阅图4,为本发明实施例中信息检测方法的另一个实施例流程示意图,该信息检测方法应用于服务器,该信息检测方法包括:401、获取设置的关键词。假设用户设置了关键词:用户a(仓库拥有者),java(文件类型),2019(文件上传时间)。402、在github平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合100。本实施例中,以第三方开发平台为github平台为例进行说明,此时,假设根据步骤401中的关键词,可以github平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合100,假设软件基因序列集合100包括软件基因序列110、软件基因序列120、软件基因序列130和软件基因序列140。403、获取待检测软件基因序列200。假设待检测软件基因序列200中包括软件基因210、软件基因220、软件基因230和软件基因240。404、分别将软件基因序列集合100中的软件基因序列作为目标软件基因序列,提取目标软件基因序列中的核心软件基因。具体的,即分别提取软件基因序列110、软件基因序列120、软件基因序列130和软件基因序列140中核心软件基因。以目标软件基因序列为软件基因序列110为例,假设软件基因序列110,核心软件基因包括软件基因111和软件基因112。405、分别计算目标软件基因序列中各核心软件基因与所述待检测软件基因序列的相似度,得到目标软件基因中各核心软件基因对应的第一相似度值。此处,同样以目标软件基因序列为软件基因序列110为例介绍,如何计算目标软件基因序列中各核心软件基因与待检测软件基因序列的相似度,得到中目标软件基因序列各核心软件基因对应的相似度值的过程,具体如下:待检测软件基因序列200中包括软件基因210、软件基因220、软件基因230和软件基因240,目标软件基因序列110中的核心软件基因包括软件基因111和软件基因112,假设根据预设文本相似度算法计算得到,目标软件基因序列中软件基因111与软件基因210的第一相似度值为0.8,软件基因112与软件基因230的第一相似度值为0.85。406、获取待检测软件基因序列中各软件基因的权重值。具体的,假设软件基因210在待检测软件基因序列中的权重为0.6,软件基因230在待检测软件基因序列中的权重为0.2,软件基因220、240在待检测软件基因序列中的权重均为0.1。407、分别确定目标软件基因序列中各核心软件基因与待检测软件基因序列中相似的软件基因。具体的,此处假设确定目标软件基因序列中软件基因111与软件基因210相似,软件基因112与软件基因230相似。408、根据目标软件基因序列中各核心软件基因对应的第一相似度值,以及与待检测软件基因序列中相似的软件基因的权重值,计算目标软件基因序列与待检测软件基因序列的第二相似度值。由于待检测软件基因序列200中包括软件基因210、软件基因220、软件基因230和软件基因240,目标软件基因序列110中的核心软件基因包括软件基因111和软件基因112,其中,软件基因210在待检测软件基因序列中的权重为0.6,软件基因230在待检测软件基因序列中的权重为0.2,软件基因220、240在待检测软件基因序列中的权重均为0.1,目标软件基因序列中软件基因111与软件基因210相似,第一相似度值为0.8,软件基因112与软件基因230相似,第一相似度值为0.85。此时,目标软件基因序列110与待检测软件基因序列200的第二相似度值可以是:0.85*0.5+0.8*0.2=0.425+0.16=0.585409、根据目标软件基因序列110与待检测软件基因序列200的第二相似度值,确定目标软件基因序列110是否敏感软件基因序列。具体的,根据目标软件基因序列110与待检测软件基因序列200的第二相似度值,确定目标软件基因序列110是否敏感软件基因序列的步骤可以包括:判断目标软件基因序列110与待检测软件基因序列200的第二相似度值是否高于第一预设阈值,若是,确定目标软件基因序列110是敏感软件基因序列;判断目标软件基因序列110与待检测软件基因序列200的第二相似度值是否低于第二预设阈值,若是,确定目标软件基因序列110不是敏感软件基因序列;其中,第一预设阈值大于所述第二预设阈值。当目标软件基因序列110与待检测软件基因序列20的第二相似度值,低于所述第一预设阈值且高于所述第二预设阈值时,此时,目标软件基因序列可能是敏感软件基因序列,也可能不是,此时可以借助人工的手段进一步辅助确认,例如可以将该目标软件基因序列发送给目标终端(如企业管理人员或安全维护人员的中高端),给目标终端的用户进行人工确认。此处,假设第一预设阈值可以为0.9,第二预设阈值为0.5,根据步骤408中得到的,目标软件基因序列110与待检测软件基因序列200的第二相似度值0.585,因此此处无法直接确定目标软件基因序列110是否敏感软件基因序列,可以进一步发送包括目标软件基因序列110的确认请求给目标终端的用户进行进一步人工审核。根据上述确认软件基因序列110是否敏感软件基因序列的方式,可以依次分别确认软件基因序列集合100中软件基因序列120、软件基因序列130和软件基因序列140是否敏感软件基因序列,具体此处不一一详细介绍。本实施例中通过待检测软件基因序列与用户设置的关键词匹配的软件基因序列比对,自动判断出第三方开发平台的已公开代码是否存在敏感信息,大幅提升了敏感数据泄露检测的准确性,并减轻了人工审计判断的压力,使得企业可以及时发现并处理泄露的敏感信息,将敏感信息泄露的危害降到了最低。为便于更好的实施本发明实施例提供的信息检测方法,本发明实施例还提供一种基于上述信息检测方法的装置。其中名词的含义与上述信息检测方法中相同,具体实现细节可以参考方法实施例中的说明。请参阅图5,图5为本发明实施例提供的信息检测装置的结构示意图,其中该信息检测装置500可以包括第一获取单元501、查找单元502、第二获取单元503和相似度计算单元504,其中:第一获取单元501,用于获取设置的关键词;查找单元502,用于在第三方开发平台的已公开代码中,查找与所述关键词匹配的软件基因序列,得到软件基因序列集合;第二获取单元503,用于获取待检测软件基因序列;相似度计算单元504,用于将所述待检测软件基因序列,分别与所述软件基因集合中各软件基因序列进行相似度计算,确定所述软件基因序列集合中的敏感软件基因序列。在本申请一些实施例中,所述相似度计算单元504具体用于:分别将所述软件基因序列集合中的软件基因序列作为目标软件基因序列,提取所述目标软件基因序列中的核心软件基因;分别计算所述目标软件基因序列中各核心软件基因与所述待检测软件基因序列的相似度,得到所述各核心软件基因对应的第一相似度值;根据所述各核心软件基因对应的第一相似度值,确定所述目标软件基因序列是否敏感软件基因序列。在本申请一些实施例中,所述相似度计算单元504具体用于:获取所述待检测软件基因序列中各软件基因的权重值;分别确定所述各核心软件基因与所述待检测软件基因序列中相似的软件基因;根据所述各核心软件基因对应的第一相似度值,以及与所述待检测软件基因序列中相似的软件基因的权重值,计算所述目标软件基因序列与所述待检测软件基因序列的第二相似度值;根据所述第二相似度值,确定所述目标软件基因序列是否敏感软件基因序列。在本申请一些实施例中,所述相似度计算单元504具体用于:判断所述第二相似度值是否高于第一预设阈值,若是,确定所述目标软件基因序列是敏感软件基因序列;判断所述第二相似度值是否低于第二预设阈值,若是,确定所述目标软件基因序列不是敏感软件基因序列;其中,第一预设阈值大于所述第二预设阈值。在本申请一些实施例中,所述相似度计算单元504具体用于:若所述第二相似度值低于所述第一预设阈值且高于所述第二预设阈值,确定所述目标软件基因序列为可疑敏感软件基因序列;向目标终端发送确认请求,以使得所述目标终端的用户通过所述确认请求确认所述目标软件基因序列是否为敏感软件基因序列,其中,所述确认请求中包括所述可疑敏感软件基因序列的信息。在本申请一些实施例中,所述关键词包括用户信息、详情页面地址、代码所在项目中的路径、文件名称、文件后缀、文件上传时间、文件类型、最后修改者、最后修改时间、仓库所有人、源代码详情和fork数中至少一种。本发明实施例还提供一种服务器,如图6所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:该服务器可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器601是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作存储介质、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作存储介质、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。服务器还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理存储介质与处理器601逻辑相连,从而通过电源管理存储介质实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电存储介质、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。该服务器还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:获取设置的关键词;在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将待检测软件基因序列,分别与软件基因集合中各软件基因序列进行相似度计算,确定软件基因序列集合中的敏感软件基因序列。本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种信息检测方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:获取设置的关键词;在第三方开发平台的已公开代码中,查找与关键词匹配的软件基因序列,得到软件基因序列集合;获取待检测软件基因序列;将待检测软件基因序列,分别与软件基因集合中各软件基因序列进行相似度计算,确定软件基因序列集合中的敏感软件基因序列。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种信息检测方法中的步骤,因此,可以实现本发明实施例所提供的任一种信息检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上对本发明实施例所提供的一种信息检测方法、装置及服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1