技术领域
[0001] 本申请涉及一种本发明涉及网络信息安全领域,并且更为具体地,涉及智能家居的网络信息安全防护。
相关背景技术
[0002] 当前,网络信息安全已上升为国家战略,成为创新发展的强大动力。智能家居为人们未来的生活带来了无限的想象力,其发展潜力必定是不可小觑。但互联网时代,用户传输的数据越多,信息暴露的可能性就越大,出现安全隐患的概率也会越高。家庭中包含着大量的个人隐私信息,因而智能家居的网络完全问题尤其需要重视。对于智能家居网络信息的安全演技是行业发展的必然趋势。
[0003] 现在很多家庭选择智能家居设备都会去选择在家里安装智能摄像头。尤其是家里有小孩、老人,安装摄像头能够时时看到家里的情况。一般来说,智能摄像机在传输视频内容的过程中会使用高强度的私有动态加密系统,确保数据传输及存储安全,而且用户对摄像机的每一次访问都受到加密保护,只有用户通过密码登录APP才能查看,同时监控视频可以选择存储在摄像头本地或云端存储。不过由于一些智能摄像头存在的安全隐患,让智能摄像头成为隐私泄露的源头
[0004] 目前很少有针对于网络摄像头流量异常分析的算法或研究。目前针对网络摄像头的流量或设备流量异常的研究主要分为几个技术路线:第一,确定流量阈值,并在超过阈值时告警;第二,在预定流量范围内,确定对应分类的流量分类与告警;第三,分析设备流量的大数据,在提取特征之后进行预测或告警。
[0005] 其中第一种和第二种方案的应用场景很有限。例如,第一种解决方案只能在事先有确定阈值的情况下才适用;第二种解决方案是分别针对不同的流量大小,有确定的流量归类,然后再根据不同类别进行统计或者告警。第三种解决方案比较适用于复杂场景,因此需要有大量的数据分析特征,技术难度相对来说比较大。
[0006] 因此,本领域中急需一种针对摄像头异常访问行为进行及时识别并告警的方法。
具体实施方式
[0031] 以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文所描述的概念的仅有配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在某些实例中,以框图形式示出众所周知的组件以便避免淡化此类概念。
[0032] 应当理解,基于本公开,其他实施例将是显而易见的,并且可以在不脱离本公开的范围的情况下做出系统、结构、过程或机械改变。
[0033] 以下结合附图来具体描述根据本申请的摄像头异常访问行为识别与告警方法的具体实施方式。
[0034] 本申请的方法的主要功能需求在于:当摄像头的上行流量出现异常增高时,进行告警信息的通知。此外,在发现流量异常时,告警消息的推送必须具有频率控制,以便防止告警消息洪泛,从而导致用户体验变差。
[0035] 根据本申请的方法主要包括以下4个步骤,各流程描述如下:
[0036] 步骤1:接收设备的上行流量数据输入
[0037] 步骤2:根据算法来进行异常流量的识别。
[0038] 具体地,利用历史流量数据构来建针对于该设备的流量模型,并能够根据该模型来判断新的流量数据是否有异常。
[0039] 步骤3:若流量异常,则进行告警消息的频率控制。
[0040] 步骤4:流量识别结果的返回(告警/不告警)。
[0041] 图3中示出了根据本申请的实施例的摄像头异常访问行为识别与告警方法300的流程图。
[0042] 如图3中所示,该方法300从接收设备的上行流量数据输入开始。在步骤301,接收流量数据输入。
[0043] 当在步骤301接收流量数据输入之后,首先在步骤302判断此时存储的数据长度是否超过能够送入模型进行计算的阈值长度。
[0044] 如果数据长度未超过阈值长度,则在步骤303仅仅将流量数据进行存储,并在步骤304返回“不告警”的输出结果。该过程统称为“数据预热”过程。
[0045] 为了保证算法的运行速度,设备上报的流量数据会使用例如,Redis(Remote Dictionary Server,即远程字典服务,本领域中公知,因此再次不做赘述)数据库进行存储。当然,本领域技术人员完全能够领会,能够实现本申请的数据存储功能的其它类型的数据库也可被用于存储上述流量数据。
[0046] 同时,为了减少存储的压力,会将Redis中的数据定期进行清理。该方法进一步包括定期判断数据库中存储的数据长度是否过长的步骤305,如果过长,则在步骤306进行数据的裁剪删除,即按照配置的窗口大小删除的最早的流量数据,保留最近的流量数据。否则进入下一步307。
[0047] 在步骤307,判断该设备是否存在上一次计算的缓存流量参考值。如果存在缓存值,则在步骤308直接和已有的缓存值进行大小比较。
[0048] 否则在步骤309截取一段窗口的数据进行缓存流量参考值的计算,并在步骤310更新或创建新缓存流量参考值。
[0049] 这样做的目的是为了防止每次上报流量数据时都要进入下一步的算法模型计算。因为算法模型的计算相对开销比较大。
[0050] 下一步进入算法模型的计算过程。
[0051] 整体思路是使用四分位差计算方法,即使用上四分位数(Q3,即位于75%)与下四分位数(Q1,即位于25%)的差。
[0052] 图1中示出了本领域中常见的四分位差计算方法的示意图。
[0053] 参照图1,具体计算方法是先对Redis数据库中存储的当前流量数据进行正序排序,然后定位Q3 75%位数和Q1 25%位数,作为上下四分位数。然后通过上下四分位数取一个中位数作为四分中位数。然后,再通过计算得到上限容忍度作为参考值。
[0054] 然而,本申请的技术方案对上下四分数的定位进行了优化。具体来说,将数值按照位数分为若干数量级,如10为2数量级,100为3数量级。按照该规律依次对应。而在搜索上下四分位数之后,会找到序列的中值,然后以中值的数量级为参考,再次移动上下四分位数的位置,直到找到与中值数量级相等的边界位置。
[0055] 图2中示出了根据本申请的实施方式的改进四分位差计算方法的示意图。
[0056] 如图2中的序列所示,初始找到的上下四分位数为10120(5数量级)和995(3数量级)位置,则其中位数为8560(4数量级)。根据中位数的数量级(4),移动原上下四分位数的位置。最终,原上下四分位数的位置会被移动到新的上下四分位数的位置,即新上四分位数为8560(4数量级)的位置,下四分位数为1250(4数量级)的位置(上下四分位数的数量级与中位数的数量级相同)。所以最后确定的新上下四分位数的位置为[2,5],上下四分位数分别为1250和8560。
[0057] 计算的公式可以总结如下:
[0058] Q1代表下四分位数,Q3代表上四分位数。首先对数据进行排序,求出Q1、Q3所在的位置;其次根据位置确定其对应的标志值即Q1、Q3;最后计算二者差额的一半,即为四分位差DF。
[0059] Q1的位置: (n+1)/4(其中n是所选窗口的数据量)
[0060] Q3的位置: 3(n+1)/4
[0061] 移动后Q1位置: Q1m
[0062] 移动后Q3位置: Q3m
[0063] DF: (Q3m‑Q1m)/2
[0064] 其中Q1m和Q3m代表按照上述方式修改移动四分位数之后,新的上下四分位数所对应的位置。
[0065] 最后利用该四分位差与容忍度进行计算,最终得到该设备的一个参考值,计算公式如下:
[0066] C=Q3+T1×DF
[0067] 其中C就是最终计算的参考值,而公式中T1指示容忍度,其是根据大量设备的流量数据定期分析而得到一个值,可被定期更新。
[0068] 其中计算的到参考值C,会被上述算法按照设备编号和参考值的键值对的形式保存在内存中。后续如果该设备的参考值有变化直接更新即可。利用该参考值可对后续流量数据进行第一次判断(步骤308),如果本次的流量小于该参考值,则存储该流量数据并且不进行告警(步骤303、304)。如果大于该参考值,则才会重新利用设备的历史流量数据进行第二次判断。无论如何,当后续流量数据的大小大于参考值时,则在步骤311进入告警周期的判断。
[0069] 如果符合报警周期,则在步骤312处存储该流量数据,并进行告警。如果不符合告警周期,则在步骤313处忽略该流量数据,并且不告警(步骤304)。
[0070] 最后,在步骤314输出结果。
[0071] 可将本算法封装成一个微服务traffictor,连同接收摄像头流量上报的securitylantraffic微服务、存储摄像头流量数据的数据库Redis服务、以及其它数据存储的mySQL(关系型数据库管理系统)服务,使用docker(开源的应用容器引擎)进行容器化后部署在一台服务器上,图4a中示出了上述内容。
[0072] 其中traffictor微服务即为封装算法的微服务,摄像头流量数据被采集上报之后会经过securitylantraffict微服务被转发到traffictor微服务中。并且能够搭建一个监控服务,用于监控该算法是否识别出异常流量信息,图4b中示出了上述内容。
[0073] 首先,在网关下连接摄像头,并经过一段时候(在该示例中,是5分钟)的预热期。随后,使用软件访问摄像头的浏览监控画面,随即在另外搭建的监控中,可以看到图4c中示出的监控画面。通过该画面,即可以看出,随着用户的访问,该模型是否能够正常识别异常访问行为,并推送告警信息。
[0074] 本申请相对现有技术而言,具有以下突出的技术优点和效果。
[0075] 第一,可以灵活地适配不同类型的摄像头,并且本申请的方案并不局限于摄像头,可被推广至大流量智能设备的流量分析,因此具有很好的适应性。
[0076] 第二,本申请的方案中忽略了上报周期,因此可以灵活地设置流量数据的上报周期。
[0077] 第三,本申请的方案中运行算法的服务部署流程简单,不但能够为摄像头及时提供异常流量告警,并且具有适当的准确性,因此可被快速部署和扩展,具有很高的性价比。
[0078] 应该理解,所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。基于设计偏好,应该理解,可以重新编排本文描述的方法或方法体系中各步骤的具体次序或阶层。所附方法权利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶层,除非在本文中有特别叙述。
[0079] 提供先前描述是为了使本领域任何技术人员均能够实践本文中所述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的各方面,而是应被授予与权利要求的语言相一致的全部范围,其中对要素的单数形式的引述并非旨在表示“有且仅有一个”(除非特别如此声明)而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:至少一个a;至少一个b;至少一个c;至少一个a和至少一个b;至少一个a和至少一个c;至少一个b和至少一个c;以及至少一个a、至少一个b和至少一个c。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。