本技术涉及计算机安全领域,具体而言,涉及一种恶意流量检测方法、装置、设备及存储介质。
背景技术:
1、bot流量(机器人流量)是指由恶意活动生成的网络流量。这些流量通常是以大规模的方式从多个来源发出,并被用于网络攻击、网络欺诈以及其他非法活动。bot流量对于企业和个人用户来说都是一个严重的问题,因为它可能会导致网络系统崩溃、数据泄露、资产损失等问题。
2、传统的检测方法主要基于规则和模式匹配,这种方法仅适用于已知的攻击和行为模式,无法识别新的和未知的恶意活动。此外,由于bot流量的产生和演化速度极快,攻击者也逐渐应用了新技术、新工具、新策略等方法来逃避这种传统的检测方法,因此,本领域中亟需一种新的检测方法。
技术实现思路
1、本技术实施例的目的在于提供一种恶意流量检测方法、装置、设备及存储介质,能够分辨真正的用户访问和恶意流量,误判率低,减少对用户正常行为的干扰。
2、第一方面,本技术提供一种恶意流量检测方法,所述方法包括:依据时序特征对流量中的每一第一地址进行异常检测,所述第一地址依据所述流量的访问地址生成,所述时序特征为所述第一地址在设定时长中每个时间单位的访问频次;若所述第一地址的时序特征为异常,则获取异常的第一地址的内容数据,所述内容数据包括:响应内容数据和/或请求源数据;依据所述内容数据对所述异常的第一地址进行检测,若所述异常的第一地址的内容数据为异常,则所述异常的第一地址为恶意流量。
3、上述恶意流量检测方法,依据时序数据进行异常地址检测,当存在异常地址,进一步通过内容数据进行恶意流量判断,通过时序数据和内容数据的两重检测,与现有技术相比,能够进行实时检测和响应,及时识别和阻止恶意流量,且,能够分辨真正的用户访问和恶意流量,误判率低,减少对用户正常行为的干扰。
4、在可选的实施方式中,访问地址采用统一资源定位器的格式,所述方法还包括:获取流量中的地址组,所述地址组包括主机名及访问路径都相同的多个访问地址;将每一地址组中所有访问地址的查询参数删除并合并形成一个第二地址,多个地址组对应生成多个第二地址;将所述多个第二地址依据主机名进行分组,生成多个主机名组;获取每一主机名组中的资源地址组,所述资源地址组包括指向同一资源的多个第二地址;将每一资源地址组中多个第二地址进行合并,生成所述第一地址。
5、上述方法中,将具有相同主机名以及相同访问路径,但具有不同查询字符串参数的访问地址进行合并,并将同一资源的动态路径进行合并,提取出每一资源对应的地址,减少多余地址带来的干扰。
6、在可选的实施方式中,所述方法还包括:获取第二地址对应的地址组中所有的访问地址的时序特征,并按照时间单位进行合并,以得到每一第二地址的时序特征;获取资源地址组中所有第二地址的时序特征,并按照时间单位进行合并,以得到所述第一地址的时序特征。
7、上述方法中,将具有相同主机名以及相同访问路径,但具有不同查询字符串参数的访问地址进行合并,并将同一资源的动态路径进行合并,获取合并后地址的访问频次,能够精确的统计资源的访问频次。
8、在可选的实施方式中,所述依据时序特征对流量中的每一第一地址进行异常检测,包括:使用异常检测算法检测每一第一地址的时序特征,获得每一第一地址的异常检测结果,所述异常检测算法包括:孤立森林算法、一类支持向量机、聚类算法;依据每一第一地址的异常检测结果,检测每一第一地址是否异常。
9、上述方法中使用异常检测算法对异常的地址进行检测,异常检测算法能自适应新的攻击和行为模式,发现可能的新攻击,并且能够分辨真正的用户访问的地址和恶意流量访问的地址,误判率低,能尽量减少对用户正常行为的干扰。
10、在可选的实施方式中,所述依据每一第一地址的异常检测结果,检测每一第一地址是否异常,包括:将每一第一地址的异常检测结果输入归一化函数,获取每一第一地址的异常概率值;获取所述异常的第一地址,所述异常的第一地址的异常概率值大于预设概率阈值。
11、上述方法中使用归一化算法,能够简单、快速的从所有第一地址的检测结果中识别出偏离正常值的检测结果,从而快速的识别出异常的第一地址。
12、在可选的实施方式中,所述获取所述异常的第一地址的内容数据,包括:获取所述异常的第一地址的时序特征中访问频次最高的时间单位内的内容数据。
13、在可选的实施方式中,所述内容数据包括响应内容数据,所述依据所述异常的第一地址的内容数据对所述异常的第一地址进行检测,包括:计算失败响应码的数量占总响应码的总数量的比例,得到第一比例,所述响应内容数据包括失败响应码的数量和响应码的总数量;和/或,计算去重后的查询字符串的数量占查询字符串的总数量的比例,得到第二比例,所述响应内容包括查询字符串的总数量和去重后的查询字符串的数量;若所述第一比例大于预设的第一阈值和/或所述第二比例大于预设的第二阈值,则所述异常的第一地址的内容数据为异常。
14、上述方法提供了一种使用响应内容数据进行检测的实现方法,能够分辨真正的用户访问产生的数据和恶意流量的数据,误判率低,尽量减少对用户正常行为的干扰,同时易于部署、管理和维护,保证检测的效率和准确性。
15、在可选的实施方式中,所述依据所述异常的第一地址的内容数据对所述异常的第一地址进行检测,包括:所述请求源数据包括所述异常的第一地址中各个请求源的请求数量;和/或,计算去重后的请求查询字符串的数量占请求查询字符串的总数量的比例,得到第三比例,所述请求源数据包括所述异常的第一地址中各个请求源的请求查询字符串的总数量以及去重后的请求查询字符串的数量;若所述异常的第一地址中至少有一个请求源的请求数量大于预设的请求阈值和/或所述第三比例大于预设的第三阈值,则所述异常的第一地址的内容数据为异常。
16、上述方法提供了一种使用请求源数据进行检测的实现方法,能够分辨真正的用户访问产生的数据和恶意流量的数据,误判率低,尽量减少对用户正常行为的干扰,同时易于部署、管理和维护,保证检测的效率和准确性。
17、在可选的实施方式中,所述依据所述异常的第一地址的内容数据对所述异常的第一地址进行检测,包括:计算失败响应码的数量占总响应码的总数量的比例,得到第一比例,所述响应内容数据包括失败响应码的数量和响应码的总数量;和/或,计算去重后的查询字符串的数量占所述查询字符串的总数量的比例,得到第二比例,所述响应内容包括查询字符串的总数量和去重后的查询字符串的数量;和/或所述请求源数据包括所述异常的第一地址中各个请求源的请求数量;计算去重后的请求查询字符串的数量占请求查询字符串的总数量的比例,得到第三比例,所述请求源数据包括所述异常的第一地址中各个请求源的请求查询字符串的总数量以及去重后的请求查询字符串的数量;若所述第一比例大于预设的第一阈值和/或所述第二比例大于预设的第二阈值,和/或所述异常的第一地址中至少有一个请求源的请求数量大于预设的请求阈值和/或所述第三比例大于预设的第三阈值,则所述异常的第一地址的内容数据为异常。
18、上述方法提供了一种使用响应内容和请求源数据进行异常检测的实现方法,能够分辨真正的用户访问产生的数据和恶意流量的数据,误判率低,尽量减少对用户正常行为的干扰,同时易于部署、管理和维护,保证检测的效率和准确性。
19、在可选的实施方式中,所述方法还包括:获取每一时序特征中的最大访问频次;和/或,获取每一时序特征中第一时间维度的最大访问频次和第二时间维度的最小访问频次,所述第一时间维度位于所述第二时间维度之前;若所述时序特征的最大访问频次小于预设的频次阈值,和/或所述时序特征中所述第二时间维度的最小访问频次小于所述第一时间维度的最大访问频次,则所述时序特征为特殊的时序特征;对所述特殊的时序特征进行数值化处理。
20、上述方法中,查找存在异常的时序特征,对异常时序特征进行处理,比避免异常时序特征对异常检测过程的干扰,能够更加精确的获取异常识别结果。
21、在可选的实施方式中,所述对所述特殊的时序特征进行数值化处理,包括:将所述特殊的时序特征中每一时间单位的访问频次均设置为零。
22、上述方法提供了一种异常时序特征的检测实施方法,能够快速、简便的处理出异常的时序特征。
23、在可选的实施方式中,检测出所述异常的第一地址的内容数据为异常后,所述方法还包括:获取所述异常的第一地址在时间维度上连续的若干个时序特征和内容数据,若所述异常的第一地址的若干个时序特征和内容数据均为异常,则所述异常的第一地址为恶意流量。
24、通过合并流量检测的结果,能够进一步识别出恶意流量,便于用户采取措施进行安全保护。
25、第二方面,本技术提供一种恶意流量检测装置,所述装置包括:异常检测模块,用于依据时序特征对流量中的每一第一地址进行异常检测,所述第一地址依据所述流量的访问地址生成,所述时序特征为所述第一地址在设定时长中每个时间单位的访问频次;获取模块,用于若所述第一地址的时序特征为异常,则获取异常的第一地址的内容数据,所述内容数据包括:响应内容数据和/或请求源数据;恶意流量检测模块,用于依据所述内容数据对所述异常的第一地址进行检测,若所述异常的第一地址的内容数据为异常,则所述异常的的第一地址为恶意流量。
26、第三方面,本技术提供一种电子设备,包括:处理器、通信接口、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述通信接口用于与其他节点设备进行信令或数据的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述第一方面中任一项所述的恶意流量检测方法。
27、第四方面,本技术提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行上述第一方面中任一项所述的恶意流量检测方法。