具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种基于云的网站日志安全分析方法,如图1所示,该方法包括:
101、实时获取网站服务器侧记录的最新的网站日志。
当外部访问网站服务器时,网站服务器侧会记录关于访问者的访问信息(如访问者的IP(Internet Protocol,网间协议)地址、访问请求的内容和访问时间等)以及网站服务器响应信息(如回复信息)的网站日志。随着访问者对网站服务器的的不断访问,网站服务器侧记录的网站日志也在不断更新。网关可以实时从网站服务器侧获取最新的网站日志,以便实时对网站日志进行安全性分析。其中,最新的网站日志为在网站服务器侧产生的一条最新的日志。
102、将最新的网站日志与强规则进行匹配。
其中,强规则为硬性规定某条网站日志为攻击日志的规则。网站服务器侧每产生一条新的网站日志,网关就获取该网站日志,并对其进行强规则的检测,以确定最新的网站日志是否为攻击日志,从而实现对网站服务器的实时安全性监控。
具体的,强规则可以包括攻击特征、攻击条件等。例如,某条网站日志中记录访问者向网站服务器发送了一个网站管理权限请求,但是由于外部访问者仅有访问网站服务器的权限,而没有管理网站服务器的权限,所以可以将请求网站管理权限的特征归为攻击特征,即由强规则确定其为攻击日志。
103、若最新的网站日志与强规则匹配成功,则确定最新的网站日志为明显攻击日志。
由于强规则为硬性规定某条网站日志为攻击日志的规则(例如正则表达式),所以当网关将最新的网站日志与强规则进行匹配,并且匹配结果为成功时,可以确定该最新的网站日志为明显攻击日志。相应的,若匹配结果为不成功,则网关可以确定该最新的网站日志不是明显攻击日志。
示例性的,一条网站日志的内容包括访问者向网站服务器发送窃取数据请求,强规则中包括窃取数据,则该网站日志与强规则匹配成功,所以该网站日志为明显攻击日志。此外,另一条网站日志的内容包括访问者向网站服务器发送打开网站首页请求,强规则中没有相关内容,则该网站日志与强规则匹配不成功,所以该网站日志不是明显攻击日志。
104、将在特定时间段内获取的网站日志与异常模型进行匹配。
在实际应用中,黑客们常常向网站服务器发送一些访问请求,其中对于每一条访问请求来说都是正常的访问,但是这些访问请求整体却对网站服务器造成了攻击。例如,一访问者每隔1s向网站服务器发送5000个打开网站首页的请求,其中对于每一个请求都是打开网站首页的正常请求,而每隔1s让网站服务器响应5000次请求,却使得网站服务器因响应频率过高而发生崩溃现象。因此,仅针对单条网站日志进行强规则的一对一匹配是不能确保可以将所有的攻击都检测出来的,需要在时间轴上纵向分析多条网站日志的关系与差别才可以将较隐蔽的攻击日志检测出来。
具体的,网关可以对在最近一段时间内记录的网站日志进行安全性检测,即将在特定时间段内获取的网站日志与异常模型进行匹配。其中,异常模型为分析当前网站日志与历史网站日志差异的一种攻击日志检测方法。当差异大于预设门限值时,可以确定当前网站日志为攻击日志。
105、若在特定时间段内获取的网站日志中存在与异常模型匹配成功的网站日志,则确定与异常模型匹配成功的网站日志为隐蔽攻击日志。
网关将在特定时间段内获取的多条网站日志与异常模型进行匹配,当确定这些网站日志中存在与异常模型相匹配的网站日志时,可以判定这些与异常模型相匹配的网站日志为隐蔽攻击日志;当确定这些网站日志中不存在与异常模型相匹配的网站日志时,可以判定这些网站日志中不存在隐蔽攻击日志。
示例性的,特定时间段内获取的网站日志按照时间先后顺序依次为网站日志50、网站日志51、网站日志52、网站日志53、网站日志54、网站日志55、网站日志56、网站日志57、网站日志58、网站日志59和网站日志60。通过与异常模型进行匹配,得知网站日志52、网站日志53和网站日志59与异常模型相匹配,而其他网站日志与异常模型不匹配,则网关可以确定网站日志52、网站日志53和网站日志59为隐蔽攻击日志,而其他为正常网站日志。
106、若检测到明显攻击日志和/或隐蔽攻击日志,则向云平台上报明显攻击日志和/或隐蔽攻击日志的攻击信息,以便云平台对各个网站服务器的攻击信息进行统计与分析。
由于异常模型的检测不是实时的,而是一段时间检测一次,所以会存在某段时间内仅进行强规则检测的现象。在仅进行强规则的检测期间,若检测出明显攻击日志,则将明显攻击日志的攻击信息上报给云平台;若未检测出明显攻击日志,则无需向云平台上报任何信息。在强规则和异常模型同时进行检测时,若检测出两种攻击日志,则向云平台上报两种攻击日志的攻击信息;若只检测出一种攻击日志(明显攻击日志或者隐蔽攻击日志),则只向云平台上报一种攻击日志的攻击信息;若未检测出任何攻击日志,则无需向云平台上报任何信息。在云平台获得各个网站服务器侧的攻击信息后,可以针对单个网站服务器的攻击信息进行分析,也可以针对多个网站服务器的攻击信息进行综合分析。
需要说明的是,攻击信息可以为攻击源的I P地址、攻击类型、攻击时间、I P地址的归属地等等。
本发明实施例提供的基于云的网站日志安全分析方法,能够通过将实时获取的最新的网站日志与强规则进行匹配,并确定匹配成功的最新的网站日志为明显攻击日志;将在特定时间段内获取的网站日志与异常模型进行匹配,并确定匹配成功的网站日志为隐蔽攻击日志;最后将确定的明显攻击日志和/或隐蔽攻击日志上报云平台,以便云平台对其进行统计与分析。与现有技术中无法检测出隐蔽攻击日志相比,本发明不仅针对单条网站日志进行强规则的检测,还针对多条网站日志进行异常模型的检测,从而能够将网站日志中存在的明显攻击日志和隐蔽攻击日志都检测出来,进而使得网站管理员能够及时对攻击源采取防御操作,以保证网站服务器的安全。
进一步的,对网站日志进行异常模型检测的具体实现方式可以为以下内容:
将在特定时间段内获取的网站日志与历史网站日志进行比较,分析在特定时间段内获取的网站日志所反映的行为信息与历史网站日志所反映的常态化行为信息之间的差别。若差别大于预设门限值,则确定在特定时间段内获取的网站日志中存在与异常模型匹配成功的网站日志。
在实际应用中,一个网站每天的访问量一般没有明显的变化,网站服务器回复访问者的数据包的大小一般也没有明显的变化,因此若该网站突然在某段时间的访问量明显超出一般的访问量,则这次访问就是流量攻击;若该网站服务器回复的数据包的大小突然明显大于一般情况下数据包的大小,则这次请求可能是数据窃取请求。
由此可知,通过将特定时间段内获取的网站日志所反映的行为信息与历史网站日志所反映的常态化行为信息进行比较,可得知特定时间段内的网站日志是否为正常的日志。若两者差别大于预设门限值,则网关可以确定在特定时间段内获取的网站日志中存在与异常模型匹配成功的网站日志,该与异常模型匹配成功的网站日志就是隐蔽攻击日志。反之,若两者差别小于等于预设门限值,则特定时间段内获取的网站日志不是隐蔽攻击日志。
进一步的,在将特定时间段内获取的网站日志与历史网站日志进行比较时,若将以前确定的明显攻击日志或者隐蔽攻击日志也归为历史网站日志参与比较,则由于攻击日志所反映的行为信息并不是常态化的行为信息,所以将其归为历史网站日志参与比较,会使得实际常态化行为信息发生改变,从而可能会导致一些隐蔽攻击日志无法判断出来。
因此,可以将检测到的明显攻击日志和/或隐蔽攻击日志从历史网站日志中删除,即一检测到攻击日志(明显攻击日志或者隐蔽攻击日志),就将其从历史网站日志中删除,以防止对下一次异常模型的检测产生干扰。
需要说明的是,当当前网站日志被检测完毕时,该网站日志就成为了历史网站日志。若该网站日志为攻击日志,则需要将其从历史网站中删除,若该网站日志不是攻击日志,则仍然将其归为历史网站日志。
进一步的,在对网站日志进行异常模型的检测时,可以采取稳定、规律的检测方式,即周期性的检测。具体的,网关可以将在预设时间间隔内获取的网站日志与异常模型进行匹配。例如,预设时间间隔为1h,则网关可以每隔1h对在这1h内产生的新的网站日志检测一次。
进一步的,在上述攻击日志的检测过程中,强规则的检测和异常模型的检测是相对独立的,没有任何关系,所以本发明实施例还提供了另一种检测方式,即使得强规则与异常模型之间存在联动关系。
具体的,网关先对最新的网站日志进行强规则的匹配操作,若确定最新的网站日志为明显攻击日志,则再触发异常模型,将获取的网站日志与异常模型进行匹配。若获取的网站日志中存在与异常模型匹配成功的网站日志,则确定与异常模型匹配成功的网站日志为隐蔽攻击日志。
在触发异常模型的检测时,可以对从网站服务器侧获取的所有网站日志进行检测,而每次都对所有的网站日志进行检测时,会出现大多数网站日志重复被检测的现象。因此为了提高检测效率,可以仅对最近获取的网站日志进行检测。
具体的,网关可以将当前确定的明显攻击日志与上一次确定的明显攻击日志之间的网站日志与异常模型进行匹配。
示例性的,网关最近获得的一批网站日志按照时间先后顺序依次为网站日志1至网站日志50,其中网站日志50为最新的网站日志,网站日志3为上一次检测出来的明显攻击日志,网站日志1、网站日志2、网站日志4至网站日志49均为正常的网站日志。当网关确定网站日志50为明显攻击日志时,触发异常模型的检测,即将网站日志3与网站日志50之间的网站日志与异常模型进行匹配,以进一步判断不是明显攻击日志的网站日志是否为隐蔽攻击日志。
进一步的,当网关检测出在特定时间段内获取的网站日志中不存在与异常模型匹配成功的网站日志时,为了避免因本网站的异常模型不够完善而造成一些隐蔽攻击日志未能检测出来,可以采用如下方法对其进一步检测:
a1、网关向云平台发送获取的所有网站日志,以便云平台根据其他网站的异常模型对所有网站日志进行检测。
云平台侧存储有各个网站的异常模型,当某网站的网关向云平台发送检测请求以及所要检测的网站日志时,云平台通过其他网站的各个异常模型分别对要检测的网站日志进行检测。
需要说明的是,由于异常模型的检测是由要检测的网站日志与历史网站日志比较而得到的,所以网关需要向云平台发送所有的网站日志才会使检测结果更准确。
a2、网关接收云平台发送的检测结果,并根据检测结果对本网站的异常模型的参数进行修改。
当云平台通过其他异常模型都检测完之后,可以将所有的检测结果发送给网关。若检测结果都为不存在隐蔽攻击日志,则网关无需对本网站的异常模型的参数进行修改;若检测结果中有存在隐蔽攻击日志,则网关需要根据存在隐蔽攻击日志的检测结果对本网站的异常模型的参数进行修改。
进一步的,虽然上述方法可以实现对本网站的异常模型的优化,但是也存在不足之处。例如,在本网站的异常模型中,流量攻击阈值为1000/s,需要检测的网站日志中的访问频率为950/s,而检测出流量攻击的其他网站异常模型的流量攻击阈值为900/s。当仅根据检测结果修改本网站的异常模型的参数时,需要将1000/s改为950/s,然而当未来的网站日志中存在访问频率为930/s时,本网站还需要将其再次修改为930/s。因此,为了减少对本网站异常模型的修改次数,网关可以直接将本网站异常模型的参数直接修改为能够检测出隐蔽攻击日志的异常模型的参数。
具体的,网关需要接收云平台发送的检测结果以及对应网站的异常模型,并根据检测出隐蔽攻击日志的异常模型的参数,对本网站的异常模型的参数进行修改。
进一步的,在实际应用中,各种类型网站的访问量、遭受攻击的攻击类型往往存在一定的差异。例如,购物网站的访问量一般远大于个人网站的访问量,因此购物网站的异常模型中流量攻击阈值一般远大于个人网站的异常模型中流量攻击阈值。在这种情况下,在异常模型的优化过程中,会出现将购物网站异常模型的参数修改为个人网站异常模型的参数的现象,网关可能会在购物网站的网站日志中持续检测出流量攻击日志,会给网站管理员造成误导。因此,为了进一步完善异常模型优化的策略,本发明实施例还提供了以下方案:
网关接收云平台发送的经同类异常模型检测的检测结果,以及对应的同类异常模型,同类异常模型为与本网站同类的其他网站所对应的异常模型。
具体的,由于同类别的网站具有相似的网站特征(如访问量),所以受到的攻击也往往是相似的。因此,云平台根据相似度对各个网站进行了分类(如分为商业网站、个人网站和政府网站等),在需要其他网站的异常模型对本网站的网站日志进行检测时,可以仅通过同类异常模型对其进行检测,以提高检测的准确率。
需要说明的是,各个网站异常模型的原始参数均可以为网站管理员根据预设专属配置分析策略设置的。其中,预设专属配置分析策略可以以选择项目、填写参数等形式供网站管理员选择和填写。例如,网站管理员可以选择查找流量攻击选项,之后填写对应的流量攻击阈值。
进一步的,为了使得网站管理员能够对攻击源的后续攻击实现防御操作,从而使得网站服务器的安全问题得到保障,在网关检测到明显攻击日志和/或隐蔽攻击日志后,可以向网站服务器发送明显攻击日志和/或隐蔽攻击日志的攻击信息,以便网站管理员针对攻击信息对攻击源做相应的处理,例如,对攻击源进行封境。
进一步的,依据上述方法实施例,本发明的另一个实施例提供了一种基于云的网站日志安全分析装置,如图2所示,该装置包括:获取单元21、匹配单元22、确定单元23和上报单元24。其中,
获取单元21,用于实时获取网站服务器侧记录的最新的网站日志;
匹配单元22,用于将获取单元21获取的最新的网站日志与强规则进行匹配;
确定单元23,用于当匹配单元22的匹配结果为最新的网站日志与强规则匹配成功时,确定最新的网站日志为明显攻击日志;
匹配单元22,还用于将获取单元21在特定时间段内获取的网站日志与异常模型进行匹配;
确定单元23,还用于当匹配单元22的匹配结果为在特定时间段内获取的网站日志中存在与异常模型匹配成功的网站日志时,确定与异常模型匹配成功的网站日志为隐蔽攻击日志;
上报单元24,用于当检测到明显攻击日志和/或隐蔽攻击日志时,向云平台上报明显攻击日志和/或隐蔽攻击日志的攻击信息,以便云平台对各个网站服务器的攻击信息进行统计与分析。
进一步的,如图3所示,匹配单元22,包括:
比较模块221,用于将在特定时间段内获取的网站日志与历史网站日志进行比较,分析在特定时间段内获取的网站日志所反映的行为信息与历史网站日志所反映的常态化行为信息之间的差别;
确定模块222,用于当比较模块221的比较结果为差别大于预设门限值时,确定在特定时间段内获取的网站日志中存在与异常模型匹配成功的网站日志。
进一步的,如图3所示,该装置还包括:
删除单元25,用于将检测到的明显攻击日志和/或隐蔽攻击日志从历史网站日志中删除。
进一步的,匹配单元22,还用于将在预设时间间隔内获取的网站日志与异常模型进行匹配。
进一步的,匹配单元22,还用于当确定单元23确定最新的网站日志为明显攻击日志时,触发异常模型,将获取的网站日志与异常模型进行匹配;
确定单元23,还用于当匹配单元22的匹配结果为获取的网站日志中存在与异常模型匹配成功的网站日志时,确定与异常模型匹配成功的网站日志为隐蔽攻击日志。
进一步的,匹配单元22,还用于将当前确定的明显攻击日志与上一次确定的明显攻击日志之间的网站日志与异常模型进行匹配。
进一步的,如图3所示,该装置还包括:
第一发送单元26,用于当匹配单元22的匹配结果为在特定时间段内获取的网站日志中不存在与异常模型匹配成功的网站日志时,向云平台发送获取的所有网站日志,以便云平台根据其他网站的异常模型对所有网站日志进行检测;
接收单元27,用于接收云平台发送的检测结果;
修改单元28,用于根据接收单元27接收的检测结果对本网站的异常模型的参数进行修改。
进一步的,接收单元27,用于接收云平台发送的检测结果以及对应网站的异常模型;
修改单元28,用于根据检测出隐蔽攻击日志的异常模型的参数,对本网站的异常模型的参数进行修改。
进一步的,接收单元27,用于接收云平台发送的经同类异常模型检测的检测结果,以及对应的同类异常模型,同类异常模型为与本网站同类的其他网站所对应的异常模型。
进一步的,匹配单元22匹配的异常模型的参数为根据预设专属配置分析策略设置的。
进一步的,如图3所示,该装置还包括:
第二发送单元29,用于当检测到明显攻击日志和/或隐蔽攻击日志时,向网站服务器发送明显攻击日志和/或隐蔽攻击日志的攻击信息。
本发明实施例提供的基于云的网站日志安全分析装置,能够通过将实时获取的最新的网站日志与强规则进行匹配,并确定匹配成功的最新的网站日志为明显攻击日志;将在特定时间段内获取的网站日志与异常模型进行匹配,并确定匹配成功的网站日志为隐蔽攻击日志;最后将确定的明显攻击日志和/或隐蔽攻击日志上报云平台,以便云平台对其进行统计与分析。与现有技术中无法检测出隐蔽攻击日志相比,本发明不仅针对单条网站日志进行强规则的检测,还针对多条网站日志进行异常模型的检测,从而能够将网站日志中存在的明显攻击日志和隐蔽攻击日志都检测出来,进而使得网站管理员能够及时对攻击源采取防御操作,以保证网站服务器的安全。
进一步的,依据上述装置实施例,本发明的另一个实施例提供了一种基于云的网站日志安全分析系统,如图4所示,该系统包括网关31和云平台32,其中网关31包括如图2至3中任一项所示的装置;
云平台32,用于接收网关31上报的明显攻击日志和/或隐蔽攻击日志的攻击信息,并对攻击信息进行统计与分析。
本发明实施例提供的基于云的网站日志安全分析系统,能够通过将实时获取的最新的网站日志与强规则进行匹配,并确定匹配成功的最新的网站日志为明显攻击日志;将在特定时间段内获取的网站日志与异常模型进行匹配,并确定匹配成功的网站日志为隐蔽攻击日志;最后将确定的明显攻击日志和/或隐蔽攻击日志上报云平台,以便云平台对其进行统计与分析。与现有技术中无法检测出隐蔽攻击日志相比,本发明不仅针对单条网站日志进行强规则的检测,还针对多条网站日志进行异常模型的检测,从而能够将网站日志中存在的明显攻击日志和隐蔽攻击日志都检测出来,进而使得网站管理员能够及时对攻击源采取防御操作,以保证网站服务器的安全。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的随身电子防丢设备的状态检测方法、设备、服务器及系统设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。