识别黑客行为的方法及系统与流程

文档序号:11263676阅读:505来源:国知局
识别黑客行为的方法及系统与流程

本发明网络安全防护技术领域,具体涉及识别黑客行为的方法及系统。



背景技术:

黑客对站点是否存在漏洞进行测试的预攻击行为和发现漏洞后对漏洞进一步渗透的攻击行为等称为黑客行为。网络安全防护的重要工作就是识别黑客行为,并对黑客行为作出对应防护操作。

网络资产是指网络资产信息和设备资产信息的集合,网络资产信息包括带宽、ip段、站点和网络流量信息等,设备资产信息包括服务器、交换机、存储设备等。

在现有技术中,一般是通过监控资产实时信息来识别黑客行为。根据资产信息异常来确定是否受到了黑客行为的影响,是根据黑客行为对资产的实际作用来被动识别黑客行为,该方案能够实时检测到黑客行为对资产信息的剧烈影响并立即执行应急响应操作,能够保护资产的安全并降低受黑客行为影响的损失。类似通过监控资产信息状况来发现黑客行为还包括监控服务器性能和网络流量等。

黑客行为通常是对站点进行sql注入的尝试,黑客行为会构造不同的payload对数据库进行请求,该请求会反映在数据库监控系统上。黑客行为如果大量请求数据库会造成数据库流量的上升和数据库连接数的异常增加,甚至会触发数据库监控系统的报警策略。

通过监控资产信息来识别黑客行为虽然是有效的,但是由于资产监控的对象是整个业务的整体部分和趋势,因此对部分黑客行为无法识别,只能通过识别数据库流量的上升和数据库连接数的异常增加来判定是否存在黑客行为。所以现有技术存在以下几个缺点:

1、对小量的黑客行为很难识别,黑客手工单条测试漏洞的行为很难被识别;

2、对黑客行为的识别完全是基于黑客行为对资产信息的影响,这样会漏报大量的黑客行为;

3、如果因为热点事件导致正常的流量波动也可能会误报为黑客行为;

4、识别行为是被动式的,只有造成一定的危害后才会被识别出来。



技术实现要素:

本发明要解决的技术问题在于,克服现有的技术的不足,提供识别黑客行为的方法及系统,其能进行主动的黑客行为识别,可在造成危害前将黑客行为识别出。

为达到上述技术目的,一方面,本发明涉及的识别黑客行为的方法,所述方法包括:

建立集合有黑客测试所用有效载荷数据payload的规则库;

将每一个待识别的统一资源定位符url与规则库中所有payload进行匹配,判定当前url对应的用户是否存在疑似黑客行为,所述待识别的url是从用户请求日志中提取的;

将存在疑似黑客行为的用户在规定时间段内对应的所有url分别与规则库中所有payload进行匹配,判定该用户是否存在黑客行为。

另一方便,本发明涉及的识别黑客行为的系统,所述系统包括:

规则库单元,用于建立集合有黑客测试所用有效载荷数据payload的规则库;

疑似判定单元,用于将每一个待识别的统一资源定位符url与规则库中所有payload进行匹配,判定当前url对应的用户是否存在疑似黑客行为,所述待识别的url是从用户请求日志中提取的;

判定行为单元,用于将存在疑似黑客行为的用户在规定时间段内对应的所有url分别与规则库中所有payload进行匹配,判定该用户是否存在黑客行为。

在本发明所述的技术方案中,通过建立黑客的payload规则库,将用户请求日志中的url与payload进行匹配,来判定黑客行为。这样就摆脱了监测网络资产信息的方式,使存在黑客行为的用户在spl注入阶段就被识别出来,而不是等到数据库流量的上升或数据库连接数的异常增加得时候才识别出黑客行为。因此,本发明提供的技术方案能进行主动的黑客行为识别,可在造成危害前将黑客行为识别出。

附图说明

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

图1为本发明的方法流程示意图;

图2为本发明实施例的方法流程示意图;

图3为本发明实的系统结构示意图;

图4为本发明实施例的系统结构示意图;

图5为本发明实施例中疑似判定单元的结构示意图;

图6为本发明实施例中判定行为单元的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

用户每天通过网络对站点的请求,被站方系统记录下来形成用户请求日志。每条用户请求日志记录的数据包括:请求头、url、请求内容和对应用户的uid、使用的设备信息等数据。

如图1所示,在一个实施例中,本发明所述的识别黑客行为的方法,包括:

101、建立集合有黑客测试所用有效载荷数据payload的规则库;

规则库就是一种集合大量黑客测试所用payload(有效载荷数据)的知识库。而黑客测试所用payload多种多样。例如:测试xss时常用的'><script>alert(document.cookie)</script>代码,这些特殊的测试代码会在黑客进行初期的预攻击时做漏洞测试所用,使用于url(统一资源定位符)中。

102、将每一个待识别的统一资源定位符url与规则库中所有payload进行匹配,判定当前url对应的用户是否存在疑似黑客行为,所述待识别的url是从用户请求日志中提取的;具体如下:

将经过筛选和去重的每一个待识别的url分别与规则库中所有payload进行匹配;

若当前url包含有至少一个所述规则库中的payload,则判定当前url对应的用户存在疑似黑客行为。

匹配指的是对单条的url做检测,针对于步骤101中的举例:如果在用户对应的url中包含payload代码'><script>alert(document.cookie)</script>,我们就视该用户进行的行为判定为疑似黑客行为。

103、将存在疑似黑客行为的用户在规定时间段内对应的所有url分别与规则库中所有payload进行匹配,判定该用户是否存在黑客行为,具体如下:

收集存在疑似黑客行为的用户在规定时间段内发起的用户请求日志中的所有url;

将所述规定时间段内的所有url分别与规则库中所有payload进行匹配;

若存在不少于设定条数的url包含有至少一个所述规则库中的payload,则判定该用户存在黑客行为。

本步骤会对url对应用户的uid、设备号等信息进行确认,收集该用户的uid下最近规定时间段内关联的所有用户请求日志,其包含该uid最近规定时间段内全部url请求,或者,如果在没有用户uid的情况下,就用对应设备号关联最近规定时间段内所有用户请求日志。

在判定疑似黑客行为中,所用于匹配的url为经过筛选和去重处理的url,这样的目的是减少服务器的工作量。而在判定黑客行为的过程中,所用于匹配的url是最近规定时间段内所有收集到的url,不经过筛选和去重处理,这样的目的是为了提高识别黑客行为的准确性。

如图2所示,在另一实施例中,本发明所述的识别黑客行为的方法,包括:

201、建立集合有黑客测试所用有效载荷数据payload的规则库。

规则库就是一种集合大量黑客测试所用payload(有效载荷数据)的知识库。而黑客测试所用payload多种多样。例如:测试xss时常用的'><script>alert(document.cookie)</script>代码,这些特殊的测试代码会在黑客进行初期的预攻击时做漏洞测试所用,使用于url(统一资源定位符)中。

202、收集站方推送的所有用户请求日志。

203、将所有用户请求日志中提取出的各url按照预设筛选规则进行筛选;

所述筛选规则指的是在收集到的url中过滤掉google,baidu等搜索引擎的爬虫请求,server端设置的正常心跳请求。

204、将筛选后的各url进行去重,得到待识别的url;

去重是指把同一用户uid下的重复的url去除,把类似的url去重,比如http://www.example.com?s=123和http://www.example.com?s=345是类似url,可以基于正则匹配的方式进行去重;但是在去重时需注意http://www.example.com?s=123和http://www.example.com?s=3456不是类似url,因为url的参数内容长度不同。将经过筛选和去重处理后的用户请求日志存入数据库。

然后以用户uid为唯一序号存储一条用户请求日志,就是说将同一用户uid的所有用户请求日志归纳到一起。由于一条用户请求日志只包含一条url,所以同一用户uid下包含n条url。

205、将每一个待识别的统一资源定位符url与规则库中所有payload进行匹配,判定当前url对应的用户是否存在疑似黑客行为,所述待识别的url是从用户请求日志中提取的;具体如下:

将经过筛选和去重的每一个待识别的url分别与规则库中所有payload进行匹配;

若当前url包含有至少一个所述规则库中的payload,则判定当前url对应的用户存在疑似黑客行为。

匹配指的是对单条的url做检测,针对于步骤101中的举例:如果在用户对应的url中包含payload代码'><script>alert(document.cookie)</script>,我们就视该用户进行的行为判定为疑似黑客行为。

206、将存在疑似黑客行为的用户在规定时间段内对应的所有url分别与规则库中所有payload进行匹配,判定该用户是否存在黑客行为;具体如下:

收集存在疑似黑客行为的用户在规定时间段内发起的用户请求日志中的所有url;

将所述规定时间段内的所有url分别与规则库中所有payload进行匹配;

若存在不少于设定条数的url包含有至少一个所述规则库中的payload,则判定该用户存在黑客行为。

本步骤会对url对应用户的uid、设备号等信息进行确认,收集该用户的uid下最近规定时间段内关联的所有用户请求日志,其包含该uid最近规定时间段内全部url请求,或者,如果在没有用户uid的情况下,就用对应设备号关联最近规定时间段内所有用户请求日志。

在判定疑似黑客行为中,所用于匹配的url为经过筛选和去重处理的url,这样的目的是减少服务器的工作量。而在判定黑客行为的过程中,所用于匹配的url是最近规定时间段内所有收集到的url,不经过筛选和去重处理,这样的目的是为了提高识别黑客行为的准确性。

207、将所述黑客行为根据对应的payload进行分类;

208、将已分类黑客行为存储至数据库;

这样的目的是供后期取证,为溯源使用,可以及时发现web站方的脆弱点和吸引黑客攻击的漏洞点。基于其它技术,可以绘制站方安全的态势感知图。

209、人工确认存储的已分类黑客行为。

对分类后的黑客行为进行人工再次确认,可以提高识别黑客行为的准确率。

如图3所示,在一个实施例中,本发明所述的识别黑客行为的系统,包括:

规则库单元11,用于建立集合有黑客测试所用有效载荷数据payload的规则库;

疑似判定单元12,用于将每一个待识别的统一资源定位符url与规则库中所有payload进行匹配,判定当前url对应的用户是否存在疑似黑客行为,所述待识别的url是从用户请求日志中提取的;

判定行为单元13,用于将存在疑似黑客行为的用户在规定时间段内对应的所有url分别与规则库中所有payload进行匹配,判定该用户是否存在黑客行为。

如图4所示,作为另一个实施例,本发明所述的识别黑客行为的系统,包括:

规则库单元11,用于建立集合有黑客测试所用有效载荷数据payload的规则库;

收集单元22,用于收集站方推送的所有用户请求日志;

筛选单元23,用于将所有用户请求日志中提取出的各url按照预设筛选规则进行筛选;

去重单元24,用于将筛选后的各url进行去重,得到待识别的url;

疑似判定单元12,用于将每一个待识别的统一资源定位符url与规则库中所有payload进行匹配,判定当前url对应的用户是否存在疑似黑客行为,所述待识别的url是从用户请求日志中提取的;

判定行为单元13,用于将存在疑似黑客行为的用户在规定时间段内对应的所有url分别与规则库中所有payload进行匹配,判定该用户是否存在黑客行为;

分类单元27,用于将所述黑客行为根据对应的payload进行分类;

存储单元28,用于将已分类黑客行为存储至数据库;

复审单元29,用于人工确认存储的已分类黑客行为。

其中,所述疑似判定单元12的一种可能结构,如图5所示,包括:

第一匹配模块121,用于将经过筛选和去重的每一个待识别的url分别与规则库中所有payload进行匹配;

第一判定模块122,用于若当前url包含有至少一个所述规则库中的payload,则判定当前url对应的用户存在疑似黑客行为。

其中,所述判定行为单元13的一种可能结构,如图6所示,包括:

收集模块131,用于收集存在疑似黑客行为的用户在规定时间段内发起的用户请求日志中的所有url;

第二匹配模块132,用于将所述规定时间段内的所有url分别与规则库中所有payload进行匹配;

第二判定模块133,用于若存在不少于设定条数的url包含有至少一个所述规则库中的payload,则判定该用户存在黑客行为。

对判定疑似黑客行为详细举例如下:

比如库中有一个payload是一个单引号,需要检测的当前为http://www.example.com?s=123’的url是否可以匹配到为单引号的payload。经过匹配,当前url中包含单引号;因此则将当前url对应的用户判定为存在疑似黑客行为。所述匹配就是检查当前url中是否包含匹配有库中的payload。注意本步骤url的处理不是批量进行的,是根据单条url进行匹配的。

对判定黑客行为详细举例如下:

如上述举例所述,当前和规则库进行匹配的url为:http://www.example.com?s=123’;

假如又检测到两条与上述url同一用户uid下的url为:

http://www.example.com?s=123andsleep(5);

http://www.example.com?s=123unionselect1,2,3--;

这两条url中分别包含了规则库中的其它payload;则可以判定该用户存在黑客行为,该用户正在对站方进行sql注入漏洞的探测。本步骤的url的处理是批量进行的。

对于url的设定条数是可以动态调整的,比如我们的策略是匹配到统一用户uid下又有一条url包含payload,这不算黑客行为;匹配两条url包含payload才算黑客行为。黑客行为的认定策略阀值根据实际运用效果来定。如果所报黑客行为经验证存在大量误报,则提高阀值(设定条数的数量),比如提高到匹配4条url存在payload才认定黑客行为,4个以下视为普通探测。如果阀值过高会出现漏报的情况,此时需要降低阀值。

本发明根据用户请求日志信息可以有效识别出黑客对站点的黑客行为,由于采用了线下日志的处理流程(独立获取用户请求日志),使得本发明工作流程不影响站方的正常运行。由于采用的是检测所有用户请求日志的url,使得每一个黑客的微小动作都能被发现。由于采用了动态策略来对url的设定条数进行调整,使得不会因为正常用户的误操作被识别为黑客行为。

以上技术方案对站方识别黑客行为带来的益处是明显的,对后期根据黑客行为进行取证,溯源是有帮助的,为站方进行进一步的态势感知提供了资源积累。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1