转码系统的恶意攻击检测方法和装置的制造方法
【专利摘要】本发明公开了一种转码系统的恶意攻击检测方法和装置,包括:当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数;在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数;当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。防止通过高频次的上传文件对转码系统进行恶意攻击的情况出现,维持转码系统的正常运转,使正常的转码需求能够得到满足。
【专利说明】
转码系统的恶意攻击检测方法和装置
技术领域
[0001]本发明属于视频技术领域,具体地说,涉及一种转码系统的恶意攻击检测方法和
目.0
【背景技术】
[0002]云转码是指将视频通过服务器(云端)转换成适合移动设备播放的视频格式的云计算技术,主要是方便移动设备的观看视频。通常我们下载影片时,大多数都是rmvb或者avi格式,而一些移动设备,例如手机、平板电脑、MP4等有可能不支持这些格式的播放,这时候就需要用户进行手动上传影片至服务器进行转码,经过转码后的视频就能够被移动设备播放。
[0003]目前存在针对转码系统进行恶意攻击的情况,最典型的行为就是恶意上传。某一个用户或者某一个IP地址高频次的上传文件至转码系统,甚至是非视频文件,导致转码系统资源占用过高,正常的转码需求无法得到满足,严重影响转码业务的正常运转。
【发明内容】
[0004]有鉴于此,本发明实施例提供了一种转码系统的恶意攻击检测方法和装置,用以解决现有技术中针对转码系统的恶意攻击的技术问题。
[0005]为了解决上述技术问题,本发明公开了一种转码系统的恶意攻击检测方法,包括:当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数;在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数;当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。
[0006]为了解决上述技术问题,本发明还公开了一种转码系统的恶意攻击检测装置,包括:记录缓存模块,用于当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数;记录更新模块,用于在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数;请求屏蔽模块,用于当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。
[0007]为了解决上述技术问题,本发明还公开了一种转码系统的恶意攻击检测装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数;在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数;当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。
[0008]与现有技术相比,本发明实施例提供的转码系统的恶意攻击检测方法和和装置,在上传记录中累计客户端的上传次数,并通过该上传记录的缓存机制来评估客户端的上传频次是否过高,对于上传频次过高的客户端会认为其存在恶意攻击的可能,从而屏蔽其上传请求,防止通过高频次的上传文件对转码系统进行恶意攻击的情况出现,维持转码系统的正常运转,使正常的转码需求能够得到满足。
【附图说明】
[0009]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]图1是本发明实施例提供的一种转码系统的恶意攻击检测方法的流程图;
[0011]图2是本发明实施例提供的一种转码系统的恶意攻击检测方法的流程图;
[0012]图3是本发明实施例提供的一种转码系统的恶意攻击检测方法的流程图;
[0013]图4是本发明实施例提供的一种转码系统的恶意攻击检测方法的流程图;
[0014]图5是本发明实施例提供的一种转码系统的恶意攻击检测方法的流程图;
[0015]图6是本发明实施例提供的一种转码系统的恶意攻击检测方法的流程图;
[0016]图7是本发明实施例提供的一种转码系统的恶意攻击检测装置的框图。
【具体实施方式】
[0017]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]本发明实施例,在缓存中建立客户端的上传记录,记录该客户端的上传次数,在上传记录的生存时间内如果该客户端发起新的上传请求,则更新缓存的上传记录,累计该客户端的上传次数,当累计的上传次数达到预设门限时,屏蔽该客户端的上传请求,以防止通过高频次的上传文件对转码系统进行恶意攻击的情况出现,维持转码系统的正常运转,使正常的转码需求能够得到满足。
[0019]图1是本发明实施例提供的一种转码系统的恶意攻击检测方法,适用于服务器,该方法包括以下步骤S11-S103。
[°02°]在步骤SlOl中,当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录客户端的上传次数。
[0021]在缓存中建立键-值存储(Key-Value Store),将客户端登录的用户标识(UserID)或者客户端的IP地址做为键(Key),可以将用户标识或者IP地址进行散列(Hash)以及取模运算后的值做为键值,以代表对应的用户或IP地址。将上传请求的次数做为值(Value),当接收到客户端的上传请求后,建立对应的一条记录,记录中的值计为I。缓存中的记录具有预设的生存时间(Time-to-Live,TTL),例如15秒。如果在生存时间内这条记录没有被更新,就会被自动删除。
[0022]在步骤S102中,在上传记录的缓存的生存时间内再次接收到客户端的上传请求时,更新上传记录,累计客户端的上传次数。
[0023]在上传记录的生存时间内再次接收到该客户端的上传请求时,根据用户标识或IP地址计算出对应的键值,更新该键值的上传记录,累计该客户端的上传次数,例如,该客户端的上传记录当前值为I,那么,将该客户端的上传记录的值更新为2,依此累计客户端的上传次数。如果在缓存的生存时间内没有接收到该客户端新的上传请求,则删除这条记录,删除之后再次接收到该客户端的上传请求后,建立新的上传记录,上传次数从I开始重新累
i+o
[0024]在步骤S103中,当客户端的上传次数大于或等于预设门限时,屏蔽客户端的上传请求。
[0025]上传记录中累计的上传次数大于或等于预设门限(例如10次)时,则认为该客户端的上传频次过高,有对转码系统进行恶意攻击的嫌疑。由于缓存中预设的生存时间较短,因此累计的上传次数越大就说明上传的频率已达到了一定程度。而对于上传频次的控制可以通过调整预设的生存时间来实现,将预设的生存时间缩短,则会对上传频次相对更高的客户端采取限制措施,例如,将生存时间从20秒修改为10秒,则会对每10秒钟以内就发起一次上传的客户端进行限制;将预设的生存时间加长,则会对上传频次相对更低的客户端也采取限制措施,例如,见生存时间从10秒修改为30秒,则会对每30秒钟以内发起一次上传的客户端进行限制,对上传频次的控制变得更加苛刻。
[0026]根据客户端的IP地址或者登录的用户标识屏蔽掉上传频次过高客户端的上传请求,不对该客户端的上传请求做出应答,或者,直接过滤掉来自该客户端的请求。对来自该客户端的上传请求的屏蔽可以持续预设时间长度,例如12小时或者一天,度过屏蔽期之后使用相应的用户标识或者IP地址可以重新发起上传请求。
[0027]本实施例中,在上传记录中累计客户端的上传次数,并通过该上传记录的缓存机制来评估客户端的上传频次是否过高,对于上传频次过高的客户端会认为其存在恶意攻击的可能,从而屏蔽其上传请求,防止通过高频次的上传文件对转码系统进行恶意攻击的情况出现,维持转码系统的正常运转,使正常的转码需求能够得到满足。
[0028]在一个实施例中,如图2所示,该转码系统的恶意攻击检测方法在步骤101之后,还可以进一步实施以下步骤S104。
[0029]在步骤S104中,对上传请求的参数进行合法性校验,删除未通过合法性校验的上传请求。
[0030]上传请求的参数包括IP地址、渠道分类标识(例如AppKey)、文件名以及令牌(token)值。其中,IP地址为客户端的IP地址;渠道分类标识用于不同的应用程序客户端与转码系统对接,从而根据不同的渠道分类标识区分出该上传请求来源于哪一款应用程序;文件名是上传文件的名称;令牌值是服务器在响应上传请求时为客户端返回的唯一校验值,客户端与服务器后续的通信数据中需携带该令牌值。
[0031]合法性校验包括:校验IP地址是否属于黑名单中的IP地址,如果属于黑名单中的IP地址则不能通过校验;根据渠道分类标识判断上传请求所来源的应用程序是否为已与转码系统完成对接的合法应用程序,如果不是已与转码系统完成对接的合法应用程序则不能通过校验;判断上传文件的文件名称是否包含预设的禁止内容,如果包含预设的禁止内容则不能通过校验;判断该客户端上传数据时数据包携带的令牌值是否与服务器响应上传请求时返回的令牌值相同,如果不相同则不能通过校验。
[0032]对于不能通过安全性校验的上传请求,服务器直接丢弃,删除接收到的上传请求。能够防止被列入黑名单的IP地址对转码系统发动恶意攻击,防止没有与转码系统完成对接的非法应用程序向转码系统上传视频,防止用户将包含禁止性内容的视频被上传到转码系统,防止客户端上传的数据在传输过程中被篡改后上传到服务器,从而进一步规范了客户端的上传行为,提升了转码系统的安全性。
[0033]在一个实施例中,如图3所示,该转码系统的恶意攻击检测方法在步骤101之后,还可以进一步实施以下步骤S105-S107。
[0034]在步骤S105中,判断上传文件是否为视频文件。当上传文件是视频文件时,执行步骤S106,当上传文件是非视频文件时,执行步骤S107。
[0035]在步骤S106中,保存上传文件。
[0036]在步骤S107中,删除上传文件。
[0037]恶意攻击者有时并不是高频次的向转码系统发起上传请求,而是会上传大量非视频文件至转码系统,占用转码系统的网络带宽以及存储空间,增加转码系统的排队时间,影响正常转码需求的上传和转码效率。对于这种情况可以识别上传文件的文件类型,将上传的非视频文件删除,或者在上传过程中判断出上传文件为非视频文件时,终止上传任务并删除已上传的文件。
[0038]本实施例中,通过对上传文件的文件类型进行过滤,删除非视频类型的上传文件,防止通过上传过多的非视频文件而占用转码系统过多的网络带宽和系统资源。
[0039]上传步骤S105-S107也可以如图6所示在步骤S104之后执行,从而将参数的安全性校验与文件类型的过滤结合起来,在参数安全的基础上进一步检测上传文件类型是否符合要求,防止恶意攻击者通过合法的上传请求来上传过多无需转码的非视频文件来攻击转码系统的情况。
[0040]在一个实施例中,在转码系统对上传的视频文件进行转码处理之前,如图4所述,该转码系统的恶意攻击检测方法在步骤SlOl之后进一步包括以下步骤S108。
[0041 ]在步骤S108中,在转码处理之前,验证视频文件的多媒体信息,过滤掉多媒体信息不符合预设标准的视频文件。
[0042]多媒体信息(Mediainfo)包括视频文件的时长、大小和码率等信息。判断上述信息是否符合预设标准,即判断视频文件是否属于异常视频,例如,视频文件的时长很短,相应的文件大小却很大,或者视频文件的时长很长,而大小却很小(与相同时长的其他视频相比),或者视频文件的码流小于预设阈值,使画面质量会非常差,转码没有任何意义。
[0043]恶意攻击者有时可能会上传异常视频来占用转码系统的存储空间和转码资源,使正常视频的转码需求无法得到及时有效的满足。因此在转码处理开始之前,通过多媒体信息预判视频是否为异常视频,并将异常视频直接删除,不再继续转码处理,防止转码资源被这些无用的异常视频所占用,从而避免上述恶意攻击的情况发生。
[0044]在一个实施例中,在转码系统对上传的视频文件进行转码处理之前,如图5所述,该转码系统的恶意攻击检测方法在步骤SlOl之后进一步包括以下步骤S109。
[0045]在步骤S109中,在转码处理之前,对视频文件进行关键帧校验,过滤掉转码程序无法处理的视频文件。
[0046]转码是先解码再编码的过程,通过关键帧校验获取视频文件的时间戳、隔行等信息,确定该视频文件能够被正确的解码,正确的解码是进一步完成编码的前提,从而进一步确定转码系统设置的转码程序能否处理该视频文件。
[0047]恶意攻击者还有可能会上传无法被正常解码的视频来占用的转码系统的资源,导致转码系统处理效率降低以及转码失败率增高,因此在转码处理开始之前,通过关键帧校验来判断视频文件是否可以被转码程序处理,将无法正常解码的视频文件删除,不再继续转码处理,防止转码资源被转码程序无法处理的视频所占用,从而避免上述恶意攻击的情况发生。
[0048]步骤S109也可以如图6所示在步骤S108之后执行,首先判断视频文件是否为异常文件,在不是异常文件的基础上进一步判断是否能够被转码程序处理,将异常的视频文件以及转码程序无法处理的视频文件全部过滤掉,提升转码系统的效率,防止转码系统的资源被上传的异常视频或无用视频所占用。
[0049]同时在图6中,在步骤S106保存上传的视频文件之后执行上述步骤S108和S109,在合法上传的视频文件中过滤掉异常视频和无法进行转码处理的视频。同时达到防止非法上传、防止上传非视频文件、防止上传异常视频文件以及防止上传无法正常转码的视频文件的效果,进一步提升了转码系统的安全性,防止被恶意攻击占用过多的系统资源。
[0050]以下为本发明的装置实施例,用来执行本发明的方法实施例。
[0051]图7是本发明实施例提供的一种转码系统的恶意攻击检测装置,包括:
[0052]记录缓存模块20,用于当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录客户端的上传次数;
[0053]记录更新模块21,用于在上传记录的缓存的生存时间内再次接收到客户端的上传请求时,更新所述上传记录,累计客户端的上传次数;
[0054]请求屏蔽模块22,用于当客户端的上传次数大于或等于预设门限时,屏蔽客户端的上传请求。
[0055]在一个实施例中,该装置还包括:
[0056]参数校验模块,用于对上传请求的参数进行合法性校验,删除未通过合法性校验的上传请求。
[0057]在一个实施例中,该装置还包括:
[0058]类型判断模块,用于判断上传文件是否为视频文件;
[0059]文件处理模块,用于保存视频文件并删除非视频文件。
[0060]在一个实施例中,该装置还包括:
[0061]视频验证模块,用于在转码处理之前,验证视频文件的多媒体信息,过滤掉多媒体信息不符合预设标准的视频文件。
[0062]在一个实施例中,该装置还包括:
[0063]关键帧校验模块,用于在转码处理之前,对视频文件进行关键帧校验,过滤掉转码程序无法处理的视频文件。
[0064]此外,本发明实施例中可以通过硬件处理器(hardware processor)来实现上述各个功能模块。
[0065]本发明实施例还提供了一种转码系统的恶意攻击检测装置,包括:
[0066]处理器;
[0067]用于存储处理器可执行指令的存储器;
[0068]其中,所述处理器被配置为:
[0069]当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数;
[0070]在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数;
[0071]当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。
[0072]在一个实施例中,所述处理器进一步被配置为:
[0073]所述当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数之后,对所述上传请求的参数进行合法性校验,删除未通过合法性校验的上传请求。
[0074]在一个实施例中,所述处理器进一步被配置为:所述当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数之后,判断上传文件是否为视频文件;保存视频文件并删除非视频文件。
[0075]在一个实施例中,所述处理器进一步被配置为:
[0076]在转码处理之前,验证视频文件的多媒体信息,过滤掉多媒体信息不符合预设标准的视频文件。
[0077]在一个实施例中,所述处理器进一步被配置为:
[0078]在转码处理之前,对视频文件进行关键帧校验,过滤掉转码程序无法处理的视频文件。
[0079]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0080]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0081]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种转码系统的恶意攻击检测方法,其特征在于,包括: 当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数; 在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数; 当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。2.根据权利要求1所述的方法,其特征在于,所述当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数之后,所述方法还包括: 对所述上传请求的参数进行合法性校验,删除未通过合法性校验的上传请求。3.根据权利要求1所述的方法,其特征在于,所述当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数之后,所述方法还包括: 判断上传文件是否为视频文件; 保存视频文件并删除非视频文件。4.根据权利要求3所述的方法,其特征在于,所述方法还包括: 在转码处理之前,验证视频文件的多媒体信息,过滤掉多媒体信息不符合预设标准的视频文件。5.根据权利要求3所述的方法,其特征在于,所述方法还包括: 在转码处理之前,对视频文件进行关键帧校验,过滤掉转码程序无法处理的视频文件。6.一种转码系统的恶意攻击检测装置,其特征在于,包括: 记录缓存模块,用于当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数; 记录更新模块,用于在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数; 请求屏蔽模块,用于当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 参数校验模块,用于对所述上传请求的参数进行合法性校验,删除未通过合法性校验的上传请求。8.根据权利要求6所述的装置,其特征在于,所述装置还包括: 类型判断模块,用于判断上传文件是否为视频文件; 文件处理模块,用于保存视频文件并删除非视频文件。9.根据权利要求7所述的装置,其特征在于,所述装置还包括: 视频验证模块,用于在转码处理之前,验证视频文件的多媒体信息,过滤掉多媒体信息不符合预设标准的视频文件。10.根据权利要求7所述的装置,其特征在于,所述装置还包括: 关键帧校验模块,用于在转码处理之前,对视频文件进行关键帧校验,过滤掉转码程序无法处理的视频文件。11.一种转码系统的恶意攻击检测装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 当接收到客户端的上传请求时,在缓存中生成对应的上传记录,记录所述客户端的上传次数; 在所述上传记录的缓存的生存时间内再次接收到所述客户端的上传请求时,更新所述上传记录,累计所述客户端的上传次数; 当所述客户端的上传次数大于或等于预设门限时,屏蔽所述客户端的上传请求。
【文档编号】H04L29/06GK105897684SQ201510926106
【公开日】2016年8月24日
【申请日】2015年12月14日
【发明人】王孝庆, 刘永华, 杨佳浩
【申请人】乐视云计算有限公司