掌桥专利:专业的专利平台
掌桥专利
首页

基于人因的入侵检测方法、装置、设备及介质

文献发布时间:2023-06-19 19:28:50


基于人因的入侵检测方法、装置、设备及介质

技术领域

本申请涉及网络安全领域,特别涉及一种基于人因的入侵检测方法、装置、设备及介质。

背景技术

入侵检测是保护主机安全的重要技术,该技术旨在检测异常入侵行为,保障主机系统的安全。一旦入侵检测检测到入侵行为,就会出发警报并阻止入侵行为。

相关技术事先会建立系统或用户的正常行为模式库,不属于该库的行为被视为入侵行为。在主机与客户端建立联系后,主机会收集终端有关系统、网络、数据等信息,并将前面收集到的信息与正常行为模式库进行匹配。在匹配失败的情况下,说明该客户端存在入侵行为。

但是入侵者的攻击手段也在变化,当入侵者采用特征很小的攻击手段甚至使用合法的功能来实现入侵时,相关技术是无法检出这种入侵行为的。

发明内容

本申请实施例提供了一种基于人因的入侵检测方法、装置、设备及介质。该方法可从自然人的角度检测会话是否存在入侵行为,可以成功识别出隐蔽的入侵行为,该方法包括:

根据本申请的一个方面,提供了一种基于人因的入侵检测方法,该方法包括:

获取参考聚类结果,所述参考聚类结果包括至少一个参考聚类中心,所述参考聚类中心是根据自然人的操作数据生成的;

获取待检会话的会话特征,所述会话特征包括与自然人操作相关的特征;

对所述参考聚类结果和所述会话特征进行聚类运算,得到会话聚类结果,所述会话聚类结果用于表示所述会话特征与所述参考聚类中心的关系;

根据所述会话聚类结果确定所述待检会话的本地入侵标签,所述本地入侵标签用于表示所述待检会话的行为类型。

根据本申请的另一个方面,提供了一种基于人因的入侵检测装置,该装置包括:

获取模块,用于获取参考聚类结果,所述参考聚类结果包括至少一个参考聚类中心,所述参考聚类中心是根据自然人的操作数据生成的;

特征提取模块,用于获取待检会话的会话特征,所述会话特征包括与自然人操作相关的特征;

聚类模块,用于对所述参考聚类结果和所述会话特征进行聚类运算,得到会话聚类结果,所述会话聚类结果用于表示所述会话特征与所述参考聚类中心的关系;

检测模块,用于根据所述会话聚类结果确定所述待检会话的本地入侵标签,所述本地入侵标签用于表示所述待检会话的行为类型。

根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上方面的基于人因的入侵检测方法。

根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上方面的基于人因的入侵检测方法。

根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面的基于人因的入侵检测方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

该方案先采集待检会话的会话特征,会话特征包括与自然人操作相关的特征。而后,将会话特征与参考聚类结果进行聚类运算,得到会话聚类结果。最后,根据会话聚类结果判断待检会话是否存在入侵行为。因此方案是通过自然人的操作来判断待检会话是否存在入侵行为,判断方式并不依赖于入侵行为的方式,即使入侵者采用特征很小的攻击手段甚至使用合法的功能来实现入侵,只要判断出自然人的操作存在异常,就可以识别出入侵行为。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请实施例提供的一种基于人因的入侵检测方法的示意图;

图2示出了本申请实施例提供的一种计算机系统的示意图;

图3示出了本申请实施例提供的一种基于人因的入侵检测方法的流程示意图;

图4示出了本申请实施例提供的一种参考聚类结果的生成方法的流程示意图;

图5示出了本申请实施例提供的一种聚类算法的示意图;

图6示出了本申请实施例提供的一种参考聚类结果的生成方法的示意图;

图7示出了本申请实施例提供的一种创建待检会话方法的示意图;

图8示出了本申请实施例提供的一种基于人因的入侵检测方法的示意图;

图9示出了本申请实施例提供的一种基于人因的入侵检测装置的示意图;

图10示出了本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先,对本申请实施例中涉及的名词进行介绍:

人因:指与自然人相关的因素。在本申请实施例中,入侵检测方法将考虑与自然人操作相关的因素,判断会话对应的自然人是否为已知的自然人,如果是未知的自然人,则说明该会话存在风险。示例性的,自然人A是已知的自然人,主机设备将记录下自然人A的操作习惯,当检测到会话对应的操作习惯与自然人A的操作习惯不同时,则说明是未知的自然人在操作终端,未知的自然人操作终端可能会存安全风险。

会话:一个会话包括一个控制进程、一个前台作业和多个后台作业。

聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。

数据脱敏:是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及安全数据或者敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用。

需要进行说明的是,本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所采集的所有用户数据都是在用户同意并授权的情况下进行采集的,且相关用户数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

图1示出了本申请实施例提供的一种基于人因的入侵检测方法的示意图。

在时间窗口内采集待检会话的会话数据101,其中,会话数据包括人因数据,所述人因数据指与自然人操作相关的数据。在一些实施例中,人因数据包括但不限于登录时间段、字符输入速率、字符使用频率中的至少一种。会话数据还包括登录数据、进程数据、网络数据中的至少一种。在一些实施例中,登录数据包括但不限于登录协议、客户端版本、登录的用户名、登录用的密码、登录用的公私钥中的至少一种。在一些实施例中,进程数据包括进程名、进程文件、进程参数、资源占用、系统调用中的至少一种。其中,资源占用包括网络、内存、CPU(Central Processing Unit,中央处理器)、IO(Input/Output,输入/输出)资源占用中的至少一种。系统调用包括文件读写、网络、进程等多种系统调用。

根据会话数据101的类型对会话数据进行特征提取,得到数据特征;根据待检会话对数据特征进行数据聚合,得到会话特征102。其中,特征提取是按照会话数据的类型进行的,不同类型的会话数据会采用不同的方式进行特征提取,示例性的,网络数据提取到的数据特征包括流量序列特征、应用层协议特征、文件特征中的至少一种,流量序列特征是根据待检会话的时间戳、源IP(Internet Protocol,网际互连协议)、源端口、目的IP、目的端口、协议中的至少一项生成的,而应用层协议特征是对流量中的已知的应用层协议报文进行特征计算和提取得到的,文件特征根据文件规则列表提取未知的应用层协议报文中的文件得到的。另外,特征聚合是根据待检会话进行的,示例性的,数据特征1和数据特征2是属于待检会话A的,数据特征3和数据特征4是属于待检会话B的,则对数据特征1和数据特征2进行特征聚合,对数据特征3和数据特征4进行聚合。

导入参考聚类结果106,这里以参考聚类结果106包括第一参考聚类中心103和第二参考聚类中心104为例进行说明,第一参考聚类中心103是与第一参考聚类中心是与正常行为对应的聚类中心,第二参考聚类中心104是与入侵行为对应的聚类中心。将参考聚类结果106与会话特征102进行聚类运算,得到会话聚类结果105,会话聚类结果105包括会话特征102与参考聚类中心之间的关系。在一些实施例中,在向量空间中,计算会话特征102与参考聚类中心之间的距离度量,距离度量包括欧式距离、闵可夫斯基距离、曼哈顿距离、切比雪夫距离、夹角余弦、汉明距离(Hamming Distance)、杰卡德相似系数(JaccardSimilarity Coefficient)中的至少一种;根据距离度量确定会话聚类结果。在图1中,以向量空间是二维平面为例,会话特征102与第二参考聚类中心104之间距离度量小于距离度量阈值,则会话特征102被归类到第二参考聚类中心104,说明待检会话101存在入侵行为。

该方案先采集待检会话的会话特征,会话特征包括与自然人操作相关的特征。而后,将会话特征与参考聚类结果进行聚类运算,得到会话聚类结果。最后,根据会话聚类结果判断待检会话是否存在入侵行为。因此方案是通过自然人的操作来判断待检会话是否存在入侵行为,判断方式并不依赖于入侵行为的方式,即使入侵者采用特征很小的攻击手段甚至使用合法的功能来实现入侵,只要判断出自然人的操作存在异常,就可以识别出入侵行为。

图2示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统200包括:终端设备220、主机设备240和云端服务器260。

终端设备220运行有客户端。终端设备220是第一自然人使用的终端,第一自然人使用终端设备220访问主机设备240。可选地,终端设备220可以泛指多个终端中的一个。终端设备220的设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。

终端设备220通过无线网络或有线网络与主机设备240相连。

主机设备240包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。主机设备240用于为支持客户端提供后台服务。可选地,主机设备240承担主要计算工作,或者,主机设备240承担次要计算工作,终端设备220承担主要计算工作;或者,主机设备240和终端设备220之间采用分布式计算架构进行协同计算。

主机设备240通过无线网络或有线网络与云端服务器260相连。

云端服务器260包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。云端服务器260用于向主机设备240提供入侵检测服务。可选地,主机设备240向云端服务器260发送脱敏数据,云端服务器260使用脱敏数据进行入侵检测。

图3示出了本申请实施例提供的一种基于人因的入侵检测方法的流程示意图。该方法可由图2所示计算机系统执行,该方法包括:

步骤302:获取参考聚类结果,参考聚类结果包括至少一个参考聚类中心,参考聚类中心是根据自然人的操作数据生成的。

可选地,参考聚类中心包括第一参考聚类中心和第二参考聚类中心,第一参考聚类中心是与正常行为对应的聚类中心,第二参考聚类中心是与入侵行为对应的聚类中心。

可选地,参考聚类中心只有第一参考聚类中心。

可选地,参考聚类中心只有第二参考聚类中心。

在一些实施例中,获取样本会话数据,样本会话数据包括正常会话数据和异常会话数据中的至少一种;根据样本会话数据提取样本会话特征;对样本会话特征进行聚类计算,得到聚类结果簇;根据聚类结果簇的聚类中心得到参考聚类结果。

步骤304:获取待检会话的会话特征,会话特征包括与自然人操作相关的特征。

可选地,根据会话数据的类型对会话数据进行特征提取,得到数据特征;根据待检会话对数据特征进行数据聚合,得到会话特征。

会话数据包括人因数据,所述人因数据指与自然人操作相关的数据。在一些实施例中,人因数据包括但不限于登录时间段、字符输入速率、字符使用频率中的至少一种。

可选地,会话数据还包括登录数据、进程数据、网络数据中的至少一种。

可选地,登录数据包括但不限于登录协议、客户端版本、登录的用户名、登录用的密码、登录用的公私钥中的至少一种。

可选地,进程数据包括进程名、进程文件、进程参数、资源占用、系统调用中的至少一种。其中,资源占用包括网络、内存、CPU、IO资源占用中的至少一种。系统调用包括文件读写、网络、进程中的至少一种。对于文件类型的系统调用,数据特征用于表示读写文件的路径、文件名、文件类型、哈希中的至少一种。

可选地,网络数据指通过抓取网卡数据、HOOK(一种用于改变API执行结果的技术)网络调用API(Application Programming Interface,应用程序接口)、替换系统进程等方式获取系统运行的流量数据。可选地,网络数据提取到的数据特征包括流量序列特征、应用层协议特征、文件特征中的至少一种,流量序列特征是根据待检会话的时间戳、源IP、源端口、目的IP、目的端口、协议中的至少一项生成的,而应用层协议特征是对流量中的已知的应用层协议报文进行特征计算和提取得到的,文件特征根据文件规则列表提取未知的应用层协议报文中的文件得到的。在一些实施例中,网络数据包括重点数据报文,重点数据报文是SSH服务(Secure SHell,安全外壳协议)、kerberos服务(一种计算机网络授权协议)、SMB服务(Server Message Block,服务器信息块)中的至少一项进程的报文数据。对于重点数据报文,根据对应的进程使用对应的规则提取。例如,针对SSH服务,使用SSH公私钥信息、SSH交互算法中的至少一项提取重点数据报文;针对kerberos服务,提取报文中的票据申请、服务访问得到重点数据报文。

步骤306:对参考聚类结果和会话特征进行聚类运算,得到会话聚类结果,会话聚类结果用于表示会话特征与参考聚类中心的关系。

可选地,在向量空间中,计算会话特征与各个参考聚类中心之间的距离度量;根据距离度量确定会话聚类结果。

可选地,距离度量包括欧式距离、闵可夫斯基距离、曼哈顿距离、切比雪夫距离、夹角余弦、汉明距离、杰卡德相似系数中的至少一种。

在一些实施例中,确定距离度量中的最小距离度量;在最小距离度量小于距离度量阈值且最小距离度量对应的参考聚类中心属于第一参考聚类中心的情况下,确定会话特征归类于第一参考聚类中心;或者,在最小距离度量小于距离度量阈值且最小距离度量对应的参考聚类中心属于第二参考聚类中心的情况下,确定会话特征归类于第二参考聚类中心。

在一些实施例中,在最小距离度量大于距离度量阈值的情况下,确定会话特征归类于第三参考聚类中心,第三参考聚类中心与第一参考聚类中心、第三参考归类中心均不同;根据第三参考聚类中心的类型对参考聚类结果进行更新。

可选地,将会话特征上传给云端服务器;根据云端服务器返回的云端入侵标签对参考聚类结果进行更新,云端入侵标签可以用于表示待检会话的行为类型。示例性的,在云端入侵标签表示待检会话不存在入侵行为的情况下,即第三参考聚类中心是与正常行为对应的聚类中心,将第三参考聚类中心更新为第一参考聚类中心;在云端入侵标签表示待检会话存在入侵行为的情况下,即第三参考聚类中心是与入侵行为对应的聚类中心,将第三参考聚类中心更新为第二参考聚类中心。

步骤308:根据会话聚类结果确定待检会话的本地入侵标签,本地入侵标签用于表示待检会话的行为类型。

可选地,本地入侵标签包括入侵标签、正常标签和预警标签中的至少一种。入侵标签用于表示待检会话存在入侵行为,正常标签用于表示待检会话是正常行为,预警标签用于表示待检会话存在未知行为。

在一些实施例中,若会话特征归类于第一参考聚类中心,则待检会话的本地入侵标签是正常标签;若会话特征归类于第二参考聚类中心,则待检会话的本地入侵标签是入侵标签;若会话特征归类于第三参考聚类中心,则待检会话的本地入侵标签是预警标签。

在一些实施例中,对与会话特征对应的会话数据进行脱敏,得到脱敏数据;将脱敏数据发送给云端服务器;根据服务器返回的待检会话的云端入侵标签生成报警信息,报警信息用于指示待检会话存在入侵行为。

综上所述,本实施例先采集待检会话的会话特征,会话特征包括与自然人操作相关的特征。而后,将会话特征与参考聚类结果进行聚类运算,得到会话聚类结果。最后,根据会话聚类结果判断待检会话是否存在入侵行为。因此本实施例是通过自然人的操作来判断待检会话是否存在入侵行为,判断方式并不依赖于入侵行为的方式,即使入侵者采用特征很小的攻击手段甚至使用合法的功能来实现入侵,只要判断出自然人的操作存在异常,就可以识别出入侵行为。

在接下来的实施例中,参考聚类结果是根据正常会话数据和异常会话数据中的至少一种得到,故参考聚类结果包括表示入侵行为和正常行为的聚类中心,上述聚类中心可以分离正常行为与入侵行为。

图4示出了本申请实施例提供的一种参考聚类结果的生成方法的流程示意图。该方法可由图2所示的计算机系统执行,该方法包括:

步骤401:获取样本会话数据。

其中,样本会话数据包括正常会话数据和异常会话数据中的至少一种。

在一些实施例中,样本会话数据是从人因数据库中获取。人因数据库用于记录对象帐号的会话数据。

步骤402:根据样本会话数据提取样本会话特征。

可选地,根据样本会话数据的类型对样本会话数据进行特征提取,得到样本数据特征;根据样本待检会话对样本数据特征进行数据聚合,得到样本会话特征。示例性的,如图6所示,通过样本会话数据601得到样本会话特征602后,样本会话特征602可以包括基于登录凭证、文件访问、网络访问、资源占用、时间序列等生成特征。

步骤403:从样本会话特征中取出n个样本会话特征作为临时聚类中心。

其中,n为正整数。

可选地,从样本会话特征中随机取出n个样本会话特征作为临时聚类中心。

可选地,将样本会话特征中已分类的n个样本会话特征作为临时聚类中心。示例性的,在样本会话特征中,已经确定样本会话特征1是与正常行为对应的聚类中心,则将样本会话特征1确定为临时聚类中心。

步骤404:将各个样本会话特征分配给距离最近的临时聚类中心,得到临时聚类簇。

可选地,计算各个样本会员特征与各个临时聚类中心之间的样本距离度量;根据样本度量距离生成临时聚类簇。

示例性的,如图5所示,以向量空间是二维平面为例进行说明,样本会话特征包括样本会话特征501、样本会话特征502、样本会话特征503、样本会话特征504和样本会话特征505。其中,样本会话特征501和样本会话特征504是临时聚类中心,按照各个样本会话特征与临时聚类中心之间的欧式距离,确定样本会话特征502和样本会话特征503分配给样本会话特征501,样本会话特征505分配给样本会话特征504。则有样本会话特征501、样本会话特征502和样本会话特征503构成一个临时聚类簇,样本会话特征504和样本会话特征505构成一个临时聚类簇。

步骤405:使用临时聚类簇的平均值更新临时聚类中心。

示例性的,如图5所示,以向量空间是二维平面为例进行说明,计算样本会话特征501、样本会话特征502和样本会话特征503的平均值,得到临时聚类中心506;计算样本会话特征504和样本会话特征505的平均值,得到临时聚类中心507。

步骤406:判断临时聚类中心与更新后的临时聚类中心是否不同。

在临时聚类中心与更新后的临时聚类中心不同的情况下,返回步骤404;

在临时聚类中心与更新后的临时聚类中心相同的情况下,执行步骤407。

可选地,在临时聚类中心与更新后的临时聚类中心之间的距离小于距离阈值的情况下,确定临时聚类中心与更新后的临时聚类中心相同。在临时聚类中心与更新后的临时聚类中心之间的距离大于距离阈值的情况下,确定临时聚类中心与更新后的临时聚类中心不同。其中,距离阈值可由技术人员自行设置。

示例性的,如图5所示,在更新前,临时聚类中心是样本会话特征501和样本会话特征504。在更新后,临时聚类中心是临时聚类中心506和临时聚类中心507。因此,临时聚类中心发生了变化,需要重复步骤404和步骤405,直至临时聚类中心不再变化。

示例性的,如图6所示,在得到临时聚类中心603后,为临时聚类中心603分配聚类簇,则临时聚类簇604,并比较临时聚类中心603是否发生变化。

步骤407:将临时聚类簇确定为聚类结果簇。

示例性的,如图6所示,在临时聚类中心不再变化的情况下,得到聚类结果簇605。

步骤408:根据聚类结果簇的聚类中心得到参考聚类结果。

可选地,参考聚类结果包括至少一个参考聚类中心,根据聚类结果簇中的样本会话特征确定参考聚类中心对应的入侵标签。示例性的,统计聚类结果簇中各个样本会话特征对应的行为类型;根据各个样本会话特征对应的行为类型的数量为参考聚类中心赋予入侵标签。例如,聚类结果簇中的样本会话特征均对应正常行为,则该聚类结果簇的入侵标签是正常标签。又例如,聚类结果簇中90%的样本会话特征对应正常行为,则该聚类结果簇的入侵标签是正常标签。示例性的,如图6所示,根据聚类结果簇605得到入侵标签606。

在一些实施例中,聚类结果簇包括第一样本会话特征和第二样本会话特征,第一样本会话特征对应正常行为,第二样本会话特征对应入侵行为,在第一样本会话特征和第二样本会话特征的数量差值小于数量差值阈值的情况下,再次对聚类结果簇进行聚类。

综上所述,本申请实施例提供了一种通过自然人的正常会话数据和异常会话数据生成参考聚类结果的方法,参考聚类结果可以分离正常行为与入侵行为对应的聚类中心。参考聚类结果可以从自然人的角度对未知的会话进行入侵检测,即使入侵者采用特征很小的攻击手段甚至使用合法的功能来实现入侵,只要判断出自然人的操作存在异常,就可以识别出入侵行为。

本申请还提供了创建待检会话的方法。该方法可由图2所示的计算机系统执行,该方法包括两种实施方式,如下所示:

方式1:以终端创建为起点,当检测到终端创建的事件后,主机设备为该终端创建一个待检会话。

1、在检测到待检终端创建事件的情况下,为待检终端创建待检会话。

示例性的,如图7所示,在主机设备初始化后,通过监管数据的方式获取到待检终端。

可选地,如图7所示,终端创建事件包括但不限于SSH登录、RDP(Remote DisplayProtocal,远程显示协议)登录、VNC(Virtual Network Console,虚拟网络控制台)登录中的至少一种。

可选地,为待检终端创建待检会话,并为该待检会话分配唯一ID(IdentityDocument,身份标识号)。

2、将与待检终端对应的进程和子进程添加到待检会话中。

可选地,待检终端创建的所有进程及其进程的所有子进程都加入到待检会话中,并对应监管数据、收集信息。而后将收集到的会话数据进行上报。主机设备对上报的会话数据进行上述基于人因的入侵检测方法后,保存会话数据。

方式2:以异常指标为起点,当进程链中出现异常时,为出现异常的进程创建一个待检会话。

1、在检测到进程链中存在异常进程的情况下,分离异常进程。

示例性的,如图7所示,在主机设备初始化后,通过监管数据的方式获取到待检终端。

可选地,本申请实施例涉及到的异常情况包括:通过服务进程获得了持续执行命令的方式、通过后门、木马等方式获得了权限等。则异常进程对应的异常表现为,某一个进程的子进程长时间驻留、某一个进程拥有多级子进程、某一个进程的子进程进行了读写文件、读写报文等敏感操作。

可选地,为待检终端创建待检会话,并为该待检会话分配唯一ID。

2、为异常进程创建待检会话。

可选地,待检终端创建的所有进程及其进程的所有子进程都加入到待检会话中,并对应监管数据、收集信息。而后将收集到的会话数据进行上报。主机设备对上报的会话数据进行上述基于人因的入侵检测方法后,保存会话数据。

图8示出了本申请实施例提供的一种基于人因的入侵检测方法的示意图。

该方法可由图2所示的计算机系统执行,该方法包括:

1、待检终端的程序接入主机设备后,主机会为该客户端程序创建会话。

2、主机设备从时间窗口中采集到待检会话的会话数据。

3、通过特征提取的方法,从会话数据中提取出数据特征。可选地,根据会话数据的类型对会话数据进行特征提取,得到数据特征。这里的数据特征是按照会话数据的类型进行分类的,比如,数据特征包括:登录行为、文件访问、网络访问、资源占用、人因特征中的至少一种。会话数据包括人因数据,所述人因数据指与自然人操作相关的数据。

在一些实施例中,人因数据包括但不限于登录时间段、字符输入速率、字符使用频率中的至少一种。

可选地,会话数据还包括登录数据、进程数据、网络数据中的至少一种。

可选地,登录数据包括但不限于登录协议、客户端版本、登录的用户名、登录用的密码、登录用的公私钥中的至少一种。

可选地,进程数据包括进程名、进程文件、进程参数、资源占用、系统调用中的至少一种。其中,资源占用包括网络、内存、CPU、IO资源占用中的至少一种。系统调用包括文件读写、网络、进程中的至少一种。对于文件类型的系统调用,数据特征用于表示读写文件的路径、文件名、文件类型、哈希中的至少一种。

可选地,网络数据指通过抓取网卡数据、HOOK网络调用API、替换系统进程等方式获取系统运行的流量数据。可选地,网络数据提取到的数据特征包括流量序列特征、应用层协议特征、文件特征中的至少一种。

4、采用会话的方式对数据特征进行数据聚合,得到会话特征,即根据待检会话对数据特征进行数据聚合,得到会话特征。这里的会话特征是按会话进行分类的,比如,将会话1对应的登录行为和人因特征聚合到会话特征1中,把会话2对应的登录行为和人因特征聚合到另一个会话特征2中。

5、根据待检会话对数据特征进行数据聚合,得到会话聚类结果。

可选地,在向量空间中,计算会话特征与各个参考聚类中心之间的距离度量;根据距离度量确定会话聚类结果。

可选地,距离度量包括欧式距离、闵可夫斯基距离、曼哈顿距离、切比雪夫距离、夹角余弦、汉明距离、杰卡德相似系数中的至少一种。

在一些实施例中,确定距离度量中的最小距离度量;在最小距离度量小于距离度量阈值且最小距离度量对应的参考聚类中心属于第一参考聚类中心的情况下,确定会话特征归类于第一参考聚类中心;或者,在最小距离度量小于距离度量阈值且最小距离度量对应的参考聚类中心属于第二参考聚类中心的情况下,确定会话特征归类于第二参考聚类中心。

在一些实施例中,在最小距离度量大于距离度量阈值的情况下,确定会话特征归类于第三参考聚类中心,第三参考聚类中心与第一参考聚类中心、第三参考归类中心均不同;根据第三参考聚类中心的类型对参考聚类结果进行更新。

6、并将会话聚类结果与参考聚类中心进行比较,确定是否存在入侵行为。

(1)确定会话特征归类于第一参考聚类中心时,说明该待检会话不存在入侵行为。

(2)确定会话特征不归类于第二参考聚类中心时,则产生异常报警。向云端服务器发送异常报警。在云端服务器生成报警信息,并把报警信息返回给主机设备。并且,云端服务器会根据待检会话对应的会话特征输出新的参考聚类结果,并更新参考聚类结果。

云端服务器会把更新后的参考聚类结果下发给主机设备群中的程序,主机设备群根据更新后的参考聚类结果进行入侵检测,以确定是否存在类似的入侵行为,并将入侵检测的结果上报给云端服务器。

云端服务器会根据入侵检测的结果构建入侵行为的威胁轨迹,判断这类入侵行为的来源。

7、另一方面,主机设备还会将会话特征进行数据脱敏,得到脱敏数据,并把脱敏数据上传给云端服务器,让云端服务器做入侵检测。根据会话数据的类型对会话数据进行特征提取,得到数据特征。云端服务器根据待检会话对数据特征进行数据聚合,得到会话特征。云端服务器根据待检会话对数据特征进行数据聚合,得到会话聚类结果。云端服务器将会话聚类结果与参考聚类中心进行比较,确定是否存在入侵行为。

类似的,(1)云端服务器确定会话特征归类于第一参考聚类中心时,说明该待检会话不存在入侵行为。

(2)云端服务器确定会话特征不归类于第一参考聚类中心时,则产生异常报警。向云端服务器发送异常报警。在云端服务器生成报警信息,并把报警信息返回给主机设备。并且,云端服务器会根据待检会话对应的会话特征输出新的参考聚类结果,并更新参考聚类结果。之后的步骤可参考本实施例的步骤6,这里不作赘述。

在接下来的实施例中,将对本申请实施例的基于人因的入侵检测方法进行完整介绍,该方法以自然人为主线进行入侵检测完成了实时威胁检测的任务,即使使用的入侵是未知的,也同样可以确定出待检会话中的入侵行为。该方法包括:

1.信息收集;

本方法首先通过终端程序采集威胁检测所需的基本数据。其中基本数据包括登录信息、进程数据、网络数据、人因数据等。

登录数据主要是登录的协议、客户端版本、登录的用户名、登录用的密码、登录用的公私钥等。

进程数据包括进程名、进程文件、进程参数、资源占用、系统调用等数据。其中资源占用主要是网络、内存、CPU、IO等占用。系统调用包括文件读写、网络、进程等多种系统调用。

网络数据通过抓取网卡数据、hook网络调用api、替换系统进程等方式获取系统运行的流量数据。重点数据报文主要是SSH服务、kerberos服务、smb服务等进程的报文数据。

人因数据主要是自然人对应的数据,例如登录的时间段、输入字符的速率等。

在采集到数据后,将原数据暂存到主机设备本地,并根据数据类型进行基本的特征提取操作。

特别的,对于文件类型的系统调用,记录读写文件的路径、文件名、文件类型、哈希等特征。

对于网络数据,提取的特征分为几类:流量序列特征、已知的应用层协议特征、文件特征。流量序列特征主要指时间戳、源IP、源端口、目的IP、目的端口、协议。已知的应用层协议包括FTP(FileTransferProtocol,文件传输协议)、HTTP(Hyper Text TransferProtocol,超文本传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)等,对于已知的应用层协议,预置了一套特征向量提取方法,终端自动提取流量中的应用层协议报文并进行特征计算和提取。文件特征主要是根据已知的文件规则列表提取未知应用层协议报文中的文件。

对于重点数据报文,根据对应的进程使用对应的规则提取。例如SSH数据提取交互的SSH公私钥信息、SSH交互算法等;kerberos交互进程,提取报文中的票据申请、服务访问等操作。

2.会话建立与信息收集;

在收集数据的基础上,本申请所述了进行建立待检会话的操作。一个待检会话包括一个控制进程,一个前台作业和多个后台作业。

本申请实施例采用两种构建的会话链的方式。一种以终端创建为起点,当监测到终端创建的事件后,主机设备为该终端创建一个待检会话,并分配一个唯一ID。随后将该终端创建的所有进程及其进程的所有子进程都加入到待检会话中,并对应监测数据、收集信息。而后将收集到的数据进行上报。

当监测到某一个会话创建新的终端后,后续的进程数据则进入新会话中,由新的会话收集数据。

一种方式以异常指标为起点,当进程链中出现异常时,将出现异常的进程及其相关的父子进程分离出来,作为一个新的待检会话进行处理与检测。

对于这种方式,考虑到的异常情况包括:通过服务进程获得了持续执行命令的方式、通过后门、木马等方式获得了权限等。对应的异常表现为,某一个进程的子进程长时间驻留、某一个进程拥有多级子进程、某一个进程的子进程进行了读写文件、读写报文等大量的敏感操作。

3.人因数据库建立与入侵识别;

在提取到数据特征后,本申请实施例根据数据特征建立特定的人因数据库,并用于后续的识别。这部分功能分为三个阶段,预处理阶段、初始化阶段、监测报警阶段。

3.1预处理阶段;

为了方便使用,本申请实施例通过预先收集一定量的设备正常使用人员的会话数据与恶意攻击者的会话数据作为样本建模。

对于收集到的数据,以会话为单位进行聚合。对于聚合后的数据,得到的会话特征主要包括:登录行为、文件访问、网络访问、资源占用、人因特征等。

其中登录行为包括登录使用的用户名、密码、公私钥、登录来源IP等。人因主要是和自然人相关的特征,包括登录时间、字符输入速度等。

在计算出会话特征后,使用预置的权重进行聚类操作,具体步骤如下:

(1)随机选择n个临时聚类中心;

(2)计算各个会话和临时聚类中心的距离,找到最近的聚类中心,并以此形成临时聚类簇;

(3)对临时聚类簇更新聚类中心;

(4)判断临时聚类中心是否变化;

(5)如果临时聚类中心改变,则根据新的临时聚类中心再重复这个计算过程;

(6)如果临时聚类中心没有改变,则输出最后的参考聚类结果;

(7)为每个参考聚类结果设置对应的入侵标签。

3.2初始化阶段;

除了预置的模型之外,本申请实施例根据运行状态(如刚安装、设备交接等场景),会动态开启保护期,在保护期内收集到的会话数据视作有授权的自然人,将其加入到白名单中;在保护期出现入侵行为的异常会话若长时间未处理,则同样包相应的会话数据加入到白名单中。

3.3监测报警阶段;

在完成会话数据的初步录入之后,开始对待检终端进行监测以识别入侵行为,具体的步骤如下:

(1)导入已有的参考聚类结果;

(2)根据设置的时间窗口重新获取会话数据;

(3)根据获取到的会话数据进行聚类计算,得到会话特征;

(4)若会话特征无法归类到已知参考聚类结果,则认为有非预期内的自然人对设备进行了操作,发起报警操作;

(5)由技术人员检查报警,如果为正常行为,则将新的参考聚类中心加入数据库;若为入侵行为,则将新的参考聚类中心加入恶意数据库,同步至云端服务器并进入应急响应流程。

综上所述,本实施例以自然人为主线进行入侵检测完成了实时威胁检测的任务;本实施例整合了数据采集、特征提取、数据研判的能力,避免了传统检测方案依赖于攻击特征等弊端,提升了本地设备的处理能力和响应速度,带来了综合成本的减少、运维效率的提升。本实施例基于自然人对攻击进行识别,即使没有进行攻击、读取恶意文件等敏感操作,也可以成功识别隐蔽的入侵行为。

以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。

图9示出了本申请的一个示例性实施例提供的基于人因的入侵检测装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分,该装置900包括:

获取模块901,用于获取参考聚类结果,所述参考聚类结果包括至少一个参考聚类中心,所述参考聚类中心是根据自然人的操作数据生成的;

特征提取模块902,用于获取待检会话的会话特征,所述会话特征包括与自然人操作相关的特征;

聚类模块903,用于对所述参考聚类结果和所述会话特征进行聚类运算,得到会话聚类结果,所述会话聚类结果用于表示所述会话特征与所述参考聚类中心的关系;

检测模块904,用于根据所述会话聚类结果确定所述待检会话的本地入侵标签,所述本地入侵标签用于表示所述待检会话的行为类型。

在一个可选设计中,聚类模块903,还用于在向量空间中,计算所述会话特征与各个所述参考聚类中心之间的距离度量;根据所述距离度量确定所述会话聚类结果。

在一个可选设计中,聚类模块903,还用于所述根据所述距离度量确定所述会话聚类结果,包括:确定所述距离度量中的最小距离度量;在所述最小距离度量小于距离度量阈值且所述最小距离度量对应的参考聚类中心属于所述第一参考聚类中心的情况下,确定所述会话特征归类于所述第一参考聚类中心;或者,在所述最小距离度量小于所述距离度量阈值且所述最小距离度量对应的参考聚类中心属于所述第二参考聚类中心的情况下,确定所述会话特征归类于所述第二参考聚类中心。

在一个可选设计中,聚类模块903,还用于在所述最小距离度量大于所述距离度量阈值的情况下,确定所述会话特征归类于第三参考聚类中心,所述第三参考聚类中心与所述第一参考聚类中心、第三参考归类中心均不同;根据所述第三参考聚类中心的类型对所述参考聚类结果进行更新。

在一个可选设计中,特征提取模块902,还用于获取所述待检会话在时间窗口内的会话数据,所述会话数据包括人因数据,所述人因数据指与自然人操作相关的数据,所述会话数据还包括登录数据、进程数据、网络数据中的至少一种;根据所述会话数据的类型对所述会话数据进行特征提取,得到数据特征;根据所述待检会话对所述数据特征进行数据聚合,得到所述会话特征。

在一个可选设计中,所述检测模块904,还用于根据待检终端的运行状态设置保护期;将所述保护期内收集到的人因数据作为正常数据;在所述保护期内确定所述待检会话属于异常会话且在所述保护期后的预设时长内未检测到异常会话的情况下,将所述保护期与所述预设时长内收集到的人因数据作为正常数据。

在一个可选设计中,特征提取模块902,还用于在检测到待检终端创建事件的情况下,为所述待检终端创建所述待检会话;将与所述待检终端对应的进程和子进程添加到所述待检会话中。

在一个可选设计中,特征提取模块902,还用于在检测到进程链中存在异常进程的情况下,分离所述异常进程;为所述异常进程创建所述待检会话。

在一个可选设计中,获取模块901,还用于获取样本会话数据,所述样本会话数据包括正常会话数据和异常会话数据中的至少一种;根据所述样本会话数据提取样本会话特征;对所述样本会话特征进行聚类计算,得到聚类结果簇;根据所述聚类结果簇的聚类中心得到所述参考聚类结果。

在一个可选设计中,获取模块901,还用于从所述样本会话特征中取出n个样本会话特征作为临时聚类中心,n为正整数;将所述各个样本会话特征分配给距离最近的临时聚类中心,得到临时聚类簇;使用所述临时聚类簇的平均值更新所述临时聚类中心;在所述临时聚类中心与更新后的临时聚类中心不同的情况下,重复上述两个步骤,直至所述临时聚类中心与所述更新后的临时聚类中心相同;将所述临时聚类簇确定为所述聚类结果簇。

在一个可选设计中,检测模块904,还用于对与所述会话特征对应的会话数据进行脱敏,得到脱敏数据;将所述脱敏数据发送给云端服务器;根据所述服务器返回的所述待检会话的云端入侵标签生成报警信息,所述报警信息用于指示所述待检会话存在入侵行为。

综上所述,本实施例先采集待检会话的会话特征,会话特征包括与自然人操作相关的特征。而后,将会话特征与参考聚类结果进行聚类运算,得到会话聚类结果。最后,根据会话聚类结果判断待检会话是否存在入侵行为。因此本实施例是通过自然人的操作来判断待检会话是否存在入侵行为,判断方式并不依赖于入侵行为的方式,即使入侵者采用特征很小的攻击手段甚至使用合法的功能来实现入侵,只要判断出自然人的操作存在异常,就可以识别出入侵行为。

图10是根据一示例性实施例示出的一种服务器的结构示意图。服务器1000包括中央处理单元(Central Processing Unit,CPU)1001、包括随机存取存储器(Random AccessMemory,RAM)1002和只读存储器(Read-Only Memory,ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。计算机设备1000还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。

基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机设备可读介质为计算机设备1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。

不失一般性,计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机设备存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。

根据本公开的各种实施例,计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备1000可以通过连接在系统总线1005上的网络接口单元1012连接到网络1011,或者说,也可以使用网络接口单元1012来连接到其他类型的网络或远程计算机设备系统(未示出)。

存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,中央处理器1001通过执行该一个或一个以上程序来实现上述基于人因的入侵检测方法的全部或者部分步骤。

在示例性实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的基于人因的入侵检测方法。

本申请还提供一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述方法实施例提供的基于人因的入侵检测方法。

本申请还提供一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面实施例提供的基于人因的入侵检测方法。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 基于机器人的随机仓储方法、装置及电子设备与存储介质
  • 机器人运行方法、装置、机器人、电子设备及可读介质
  • 基于穿戴式设备的发烧提醒方法、装置、设备及存储介质
  • 基于车载设备的内容推荐方法、装置、设备和存储介质
  • 基于双控的存储设备数据同步方法、装置、设备及介质
  • 基于UDS的入侵检测方法、入侵检测装置、车辆及存储介质
  • 基于UDS协议的入侵检测方法、装置、电子设备及存储介质
技术分类

06120115927171