《一种手机病毒的检测方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种手机病毒的检测方法和装置.pdf(17页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102905269 A (43)申请公布日 2013.01.30 C N 1 0 2 9 0 5 2 6 9 A *CN102905269A* (21)申请号 201110210313.6 (22)申请日 2011.07.26 H04W 12/12(2009.01) H04W 24/00(2009.01) (71)申请人西门子公司 地址德国慕尼黑 (72)发明人郭代飞 郭涛 隋爱芬 (74)专利代理机构北京康信知识产权代理有限 责任公司 11240 代理人李慧 (54) 发明名称 一种手机病毒的检测方法和装置 (57) 摘要 本发明公开了一种手机病毒的检测方法和装 置。
2、,该方法包括:对获取的会话的数据包中一会 话的前M个数据包进行病毒扫描,其中M大于等 于1且小于N,其中N为该会话的所有数据包的总 数;当所述前M个数据包中不包含可疑病毒时,则 确定该会话中不包含手机病毒。采用本发明的病 毒检测方法,能够满足高流量下的手机病毒的检 测需求,满足高速处理的要求。 (51)Int.Cl. 权利要求书2页 说明书9页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 9 页 附图 5 页 1/2页 2 1.一种手机病毒的检测方法,所述方法包括: 对获取的会话的数据包中一会话的前M个数据包进行病毒扫描,其中M大于等于1且。
3、 小于N,其中N为该会话的所有数据包的总数(S201); 当所述前M个数据包中不包含可疑病毒时,则确定该会话中不包含手机病毒(S202、 S204)。 2.如权利要求1所述的方法,其中,所述对获取的会话的数据包中一会话的前M个数据 包进行病毒扫描,包括: 使用指针索引对获取的会话的数据包中一会话的前M个数据包按顺序进行病毒扫描, 所述顺序为自该会话的第一个数据包到该会话的第M个数据包。 3.如权利要求1所述的方法,其中,所述对获取的会话的数据包中一会话的前M个数据 包进行病毒扫描,包括: 采用预处理病毒库对获取的会话的数据包中一会话的前M个数据包进行病毒扫描,其 中所述预处理病毒库用于存储片段。
4、手机病毒特征,所述片段手机病毒特征适用于查找一会 话的前M个数据包中包含的手机病毒。 4.如权利要求1所述的方法,其中,在所述对获取的会话的数据包中一会话的前M个数 据包进行病毒扫描之前,所述方法进一步包括: 对获取的会话的数据包中该会话的第一个数据包进行检查,判断该会话是否是文件下 载会话,如果否,则确定该会话中不包含手机病毒,如果是,则执行所述对获取的会话的数 据包中该会话的前M个数据包进行病毒扫描的步骤。 5.如权利要求1至4中任一项所述的方法,其中,在所述对获取的会话的数据包中一会 话的前M个数据包进行病毒扫描之前,所述方法进一步包括: 对获取的会话的数据包中该会话的前M个数据包进行模。
5、式检查,判断该会话是否属于 白名单中的会话,如果是,则确定该会话中不包含手机病毒,如果否,则执行所述对获取的 会话的数据包中该会话的前M个数据包进行病毒扫描的步骤。 6.如权利要求1至4中任一项所述的方法,其中,所述对获取的会话的数据包中一会话 的前M个数据包进行病毒扫描,包括: 获取并缓存会话的数据包; 对所述缓存的会话的数据包中一会话的前M个数据包进行重组; 对重组后的该会话的前M个数据包进行病毒扫描。 7.如权利要求1至4中任一项所述的方法,其中,所述方法进一步包括: 当所述前M个数据包中包含可疑病毒时,对该会话的剩余数据包进行病毒扫描,以判 断该会话中是否包含手机病毒(S202、S20。
6、3)。 8.一种手机病毒的检测装置,所述检测装置包括: 预处理引擎(41),用于对获取的会话的数据包中一会话的前M个数据包进行病毒扫 描,其中M大于等于1且小于N,其中N为该会话的所有数据包的总数; 病毒分析模块(42),用于根据所述预处理引擎(41)的扫描结果,当所述前M个数据包 中不包含可疑病毒时,确定该会话中不包含手机病毒。 9.如权利要求8所述的检测装置,其中, 所述检测装置进一步包括:预处理病毒库(43),用于存储片段手机病毒特征,所述片 权 利 要 求 书CN 102905269 A 2/2页 3 段手机病毒特征适用于查找一会话的前M个数据包中包含的手机病毒; 所述预处理引擎(41。
7、),具体用于采用所述预处理病毒库(43)对获取的会话的数据包 中一会话的前M个数据包进行病毒扫描。 10.如权利要求8所述的检测装置,其中, 所述预处理引擎(41)包括:预判断模块(414)和病毒扫描模块(412),所述预判断模 块(414)用于对获取的会话的数据包中一会话的第一个数据包进行检查,判断该会话是否 是文件下载会话,如果否,则通知所述病毒分析模块(42)该会话不是文件下载会话,如果 是,则通知所述病毒扫描模块(412)对获取的会话的数据包中该会话的前M个数据包进行 病毒扫描; 所述病毒分析模块(42)用于根据所述预处理引擎(41)的通知确定该会话中不包含手 机病毒。 11.如权利要。
8、求8所述的检测装置,其中, 所述预处理引擎(41)包括:模式检查模块(413)和病毒扫描模块(412),所述模式检 查模块(413)用于对获取的会话的数据包中一会话的前M个数据包进行模式检查,判断该 会话是否属于白名单中的会话,如果是,则通知所述病毒分析模块(42)该会话属于白名单 中的会话,如果否,则通知所述病毒扫描模块(412)对获取的会话的数据包中该会话的前M 个数据包进行病毒扫描; 所述病毒分析模块(42)用于根据所述预处理引擎(41)的通知确定该会话中不包含手 机病毒。 12.如权利要求8所述的检测装置,其中,所述预处理引擎(41)包括: 缓存模块(411),用于缓存获取的会话的数据。
9、包; 重组模块(418),用于对所述缓存模块(411)缓存的会话的数据包中一会话的前M个数 据包进行重组; 病毒扫描模块(412),用于对所述重组模块(418)重组后的该会话的前M个数据包进行 病毒扫描。 13.如权利要求8至12中任一项所述的检测装置,其中,所述病毒分析模块(42)进一 步用于根据所述预处理引擎(41)的扫描结果,当所述前M个数据包中包含可疑病毒时,对 该会话的剩余数据包进行病毒扫描,以判断该会话中是否包含手机病毒。 权 利 要 求 书CN 102905269 A 1/9页 4 一种手机病毒的检测方法和装置 技术领域 0001 本发明涉及信息安全领域,特别是一种手机病毒的检测。
10、方法和装置。 背景技术 0002 随着手机的发展,许多以智能手机为目标的病毒在智能手机中传播。如果手机病 毒成功地感染智能手机,它能够通过MMS传播到其它智能手机上,因此能够在短时间内感 染许多智能手机。另一方面,某些手机病毒主动连接到部署在网络中的一些恶意控制服务 器,该恶意控制服务器能够提供控制命令或预设攻击目标以供病毒下载。某些病毒发送欺 骗SMS或MMS给其他智能手机,该欺骗SMS或MMS可以诱使用户从网络上的一些服务器下 载病毒。有些手机病毒的目的是秘密窃取用户信息或使用账单服务,而用户并不知道其智 能手机已被感染手机病毒。另一方面,由于在智能手机中安装防病毒软件非常不方便,因此 用。
11、户即使已经知道其智能手机工作不正常,也很难在智能手机上安装防病毒软件。 0003 大多数手机病毒通过移动网络例如MMS、WAP、HTTP等传播,因此手机病毒检测系 统可以布置在网络中的某些位置(例如:Gn接口、Gi、WAP网关和MMSC)以监控病毒袭击。 然而,移动接口的网络速度通常是千兆比特,基于会话重组的传统的检测技术,需要对整个 会话进行重组并扫描病毒,无法满足高流量的病毒检测。 0004 Snort是基于开源网络的入侵检测系统,能够在IP网络上进行实时流量分析和报 文日志。Snort进行协议分析、内容搜索和内容匹配。Snort也可以用于检测探测和攻击, 包括但不限于:操作系统指纹尝试、。
12、通用网关接口、缓冲区溢出、服务器消息阻挡探测和端 口扫描。早期版本的Snort根据攻击特征信息基于单包扫描网络流量,只需要进行无状态 协议处理。但早期版本的Snort无法重组会话并进行病毒扫描。 0005 因此,现有的基于会话重组的病毒检测技术无法适应高流量的病毒检测。 发明内容 0006 有鉴于此,本发明提出了一种手机病毒的检测方法,能够满足高流量下手机病毒 的检测需求,满足高速处理的要求。本发明还提供一种手机病毒的检测装置。 0007 因此,根据本发明一实施例,提供了一种手机病毒的检测方法,包括: 0008 对获取的会话的数据包中一会话的前M个数据包进行病毒扫描,其中M大于等于 1且小于N。
13、,其中N为该会话的所有数据包的总数; 0009 当所述前M个数据包中不包含可疑病毒时,则确定该会话中不包含手机病毒。 0010 从上述方案中可以看出,由于本发明实施例的检测方法仅对一会话的前M个数据 包进行检测,当前M个数据包中不包含可疑病毒时,无需对整个会话进行病毒扫描,因此提 高了手机病毒的检测速度,能够满足高流量下实时检测的需求,满足高速处理的要求。 0011 优选地,所述对获取的会话的数据包中一会话的前M个数据包进行病毒扫描,包 括:使用指针索引对获取的会话的数据包中一会话的前M个数据包按顺序进行病毒扫描, 所述顺序为自该会话的第一个数据包到该会话的第M个数据包。 说 明 书CN 10。
14、2905269 A 2/9页 5 0012 这样,当会话的数据包是乱序时,并不需要在内存中进行会话重组,只是使用指针 顺序扫描该会话的数据包即可实现对该会话的前M个数据包进行病毒扫描,节省了内存空 间,并改善了检测的性能。 0013 优选地,对获取的会话的数据包中一会话的前M个数据包进行病毒扫描,包括:采 用预处理病毒库对获取的会话的数据包中一会话的前M个数据包进行病毒扫描,其中所述 预处理病毒库用于存储片段手机病毒特征,所述片段手机病毒特征适用于查找一会话的前 M个数据包中包含的手机病毒。这样,即可采用预处理病毒库对该会话的前M个数据包进行 病毒扫描,检查出前M个数据包是否包含可疑病毒。 0。
15、014 优选地,在所述对获取的会话的数据包中一会话的前M个数据包进行病毒扫描之 前,所述方法进一步包括:对获取的会话的数据包中该会话的第一个数据包进行检查,判断 该会话是否是文件下载会话,如果否,则确定该会话中不包含手机病毒,如果是,则执行所 述对获取的会话的数据包中该会话的前M个数据包进行病毒扫描的步骤。这样,即可根据 该会话的第一个数据包实现对非文件下载会话不进行病毒扫描,使得病毒检测的处理更加 高速。 0015 优选地,在所述对获取的会话的数据包中一会话的前M个数据包进行病毒扫描之 前,所述方法进一步包括:对获取的会话的数据包中该会话的前M个数据包进行模式检查, 判断该会话是否属于白名单。
16、中的会话,如果是,则确定该会话中不包含手机病毒,如果否, 则执行所述对获取的会话的数据包中该会话的前M个数据包进行病毒扫描的步骤。这样, 只对会话的前M个数据包进行模式检查,当确定会话属于白名单时,对该会话的前M个数据 包不进行病毒扫描,只有在该会话不属于白名单时,才对该会话的前M个数据包进行病毒 扫描,使得病毒扫描更加迅速。 0016 优选地,所述对获取的会话的数据包中一会话的前M个数据包进行病毒扫描,包 括:获取并缓存会话的数据包;对所述缓存的会话的数据包中一会话的前M个数据包进行 重组;对重组后的该会话的前M个数据包进行病毒扫描。 0017 这样,可以在缓存过程中,实现对会话的前M个数据。
17、包进行病毒扫描,能够满足实 时且高速处理的要求。 0018 优选地,所述方法进一步包括:当所述前M个数据包中包含可疑病毒时,对该会话 的剩余数据包进行病毒扫描,以判断该会话中是否包含手机病毒。这样,只有当前M个数据 包中包含可疑病毒时,才继续对该会话的剩余数据包进行病毒扫描。 0019 本发明的实施例还提供了一种手机病毒的检测装置,所述检测装置包括: 0020 预处理引擎,用于对获取的会话的数据包中一会话的前M个数据包进行病毒扫 描,其中M大于等于1且小于N,其中N为该会话的所有数据包的总数; 0021 病毒分析模块,用于根据所述预处理引擎的扫描结果,当所述前M个数据包中不 包含可疑病毒时,确。
18、定该会话中不包含手机病毒。 0022 采用该检测装置,只需对会话的前M个数据包进行病毒扫描,当所述前M个数据包 中不包含可疑病毒时,无需对该会话的剩余数据包进行病毒扫描。因此,需要扫描的数据包 大大减少,检测装置的性能将大大提高,满足高速处理的要求。 0023 优选地,所述检测装置进一步包括:预处理病毒库,用于存储片段手机病毒特征, 所述片段手机病毒特征适用于查找一会话的前M个数据包中包含的手机病毒;所述预处理 说 明 书CN 102905269 A 3/9页 6 引擎,具体用于采用所述预处理病毒库对获取的会话的数据包中一会话的前M个数据包进 行病毒扫描。这样,可以使用预处理数据库对该会话的前。
19、M个数据包进行病毒扫描,加快了 病毒的扫描速度,进一步提高了检测装置的性能。 0024 优选地,所述预处理引擎包括:预判断模块和病毒扫描模块,所述预判断模块用于 对获取的会话的数据包中一会话的第一个数据包进行检查,判断该会话是否是文件下载会 话,如果否,则通知所述病毒分析模块该会话不是文件下载会话,如果是,则通知所述病毒 扫描模块对获取的会话的数据包中该会话的前M个数据包进行病毒扫描;所述病毒分析模 块用于根据所述预处理引擎的通知确定该会话中不包含手机病毒。 0025 这样,预判断模块通过检查会话的第一个数据包即可实现对非文件下载会话不进 行病毒扫描,使得病毒检测的处理更加高速。 0026 优。
20、选地,所述预处理引擎包括:模式检查模块和病毒扫描模块,所述模式检查模块 用于对获取的会话的数据包中一会话的前M个数据包进行模式检查,判断该会话是否属于 白名单中的会话,如果是,则通知所述病毒分析模块该会话属于白名单中的会话,如果否, 则通知所述病毒扫描模块对获取的会话的数据包中该会话的前M个数据包进行病毒扫描; 所述病毒分析模块用于根据所述预处理引擎的通知确定该会话中不包含手机病毒。 0027 这样,模式检查模块对该会话的前M个数据包进行模式检查,当会话属于白名单 时,对该会话的前M个数据包不进行病毒扫描,使得病毒扫描更加迅速,进一步提高检测装 置的性能。 0028 本发明的一种实施方式中,所。
21、述预处理引擎包括:缓存模块,用于缓存获取的会话 的数据包;重组模块,用于对所述缓存模块缓存的会话的数据包中一会话的前M个数据包 进行重组;病毒扫描模块,用于对所述重组模块重组后的该会话的前M个数据包进行病毒 扫描。 0029 优选地,所述病毒分析模块进一步用于根据所述预处理引擎的扫描结果,当所述 前M个数据包中包含可疑病毒时,对该会话的剩余数据包进行病毒扫描,以判断该会话中 是否包含的手机病毒。 0030 这样,当该会话的前M个数据包中包含可疑病毒时,能够继续对该会话的剩余数 据包进行病毒扫描,以检测该会话中包含的手机病毒。 附图说明 0031 下面将通过参照附图详细描述本发明的优选实施例,使。
22、本领域的普通技术人员更 清楚本发明的上述及其它特征和优点,附图中: 0032 图1示意性地示出了本发明的一个应用场景。 0033 图2a为本发明一实施例提供的手机病毒的检测方法的流程图。 0034 图2b为本发明另一实施例提供的手机病毒的检测方法的流程图。 0035 图3为本发明具体实施例提供的手机病毒的检测方法的流程图。 0036 图4a为本发明一实施例提供的手机病毒的检测装置的结构示意图。 0037 图4b为本发明另一实施例提供的手机病毒的检测装置的结构示意图。 0038 其中,附图标号如下: 0039 图2a中:S201-S204步骤流程 说 明 书CN 102905269 A 4/9页。
23、 7 0040 图2b中:S201a-S204步骤流程 0041 图3中:S301-S307步骤流程 0042 41预处理引擎 42病毒分析模块 43预处理病毒库 0043 44病毒库 45告警模块 411缓存模块 0044 412病毒扫描模块 413模式检查模块 414预判断模块 0045 418重组模块 具体实施方式 0046 为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详 细说明。 0047 图1示意性地示出了本发明的一个应用场景。本发明的检测方法可以应用于与移 动终端之间的通信,例如可以应用在GPRS(General Packet Radio Service,通。
24、用分组无线 业务)网络的Gn接口或Gi接口,或者其他的手机病毒经过的路径。应用本发明的检测方法 的检测装置可以部署在Gn接口或Gi接口,或者其他的手机病毒经过的路径,以执行该检测 方法。如图1所示,该检测方法可以应用在Gn接口,即在SGSN(Service GPRS Supporting Node,GPRS服务支持节点)和GGSN(Gateway GPRS Support Node,GPRS网关支持节点)之 间的接口之间实施本发明的方法。 0048 如图2a所示,为本发明实施例提供的手机病毒的检测方法的流程图,具体包括: 0049 S201、对获取的会话的数据包中一会话的前M个数据包进行病毒扫。
25、描,其中M大于 等于1且小于N,其中N为该会话的所有数据包的总数; 0050 其中,获取的会话的数据包可以具体是接收的会话的数据包或捕获的会话的数据 包; 0051 其中,当该会话的数据包是正常序列时,可以直接对该会话的前M个数据包进行 病毒扫描;当该会话的数据包是乱序时,可以将该会话的前M个数据包放入内存中重组,对 重组后的该会话的前M个数据包进行病毒扫描。 0052 当会话的数据包乱序时,由于上述重组过程需要内存拷贝,为了节省内存空间,改 善检测装置的性能,提高病毒检测速度,在对该会话的前M个数据包进行病毒扫描时,可以 使用零拷贝技术。则所述对获取的会话的数据包中一会话的前M个数据包进行病。
26、毒扫描, 包括:使用指针索引对获取的会话的数据包中一会话的前M个数据包按顺序进行病毒扫 描,所述顺序为自该会话的第一个数据包到该会话的第M个数据包。 0053 这样,在进行病毒扫描时,并不会需要将数据包拷贝到内存中进行重组,只是使用 指针根据一会话的数据包的序号对该会话的前M个数据包依次进行病毒扫描,也就是说, 使用指针索引自该会话的第一个数据包依次扫描到该会话的第M个数据包。这种方法尤其 适用于获取的会话的数据包是乱序的情况,大大节省了内存空间,改善检测装置的性能,提 高病毒检测速度。 0054 其中,对一会话的前M个数据包进行病毒扫描,可以使用病毒库对该会话的前M个 数据包进行病毒扫描,也。
27、可以使用预处理病毒库对该会话的前M个数据包进行病毒扫描, 以确定该前M个数据包中是否包含可疑病毒。其中,病毒库用于存储手机病毒特征,手机病 毒特征用于查找一会话中包含的手机病毒,而预处理病毒库用于存储片段手机病毒特征, 说 明 书CN 102905269 A 5/9页 8 该片段手机病毒特征用于查找一会话的前M个数据包中包含的手机病毒。 0055 由于病毒库中存储的手机病毒特征可以包括手机病毒位置和手机病毒代码,例如 第XX字节对应XX代码,因此对病毒扫描时,需要将会话的数据包与病毒库中存储的手机病 毒特征,进行位置和病毒代码的匹配,以确定是否包含可疑病毒。具体地,将会话的某一位 置对应的数据。
28、与病毒库中该位置对应的病毒代码进行匹配,以确定该位置的数据是否是可 疑病毒。例如:将会话的第n个字节的数据与病毒库中位置为第n个字节的病毒代码进行 匹配,以确定是否包含可疑病毒。因此预处理病毒库中存储的片段手机病毒特征可以是片 段会话(例如会话的前M个数据包)的数据包对应的位置以及每个位置对应的病毒代码。 而病毒库存储的手机病毒特征可以是完整的会话的数据包对应的位置以及每个位置对应 的病毒代码。数据包对应的位置例如可以为第XX字节。 0056 当然,进行病毒扫描时,可以如上所述,使用具体的病毒库,当然也可以使用现有 的其他病毒扫描手段。 0057 其中,M可以根据需要调整,具体地可以根据安全策。
29、略和/或对该前M个数据包进 行扫描所使用的病毒库的配置。 0058 S202、判断前M个数据包中是否包含可疑病毒,如果是,则执行步骤S203,如果否, 则执行步骤S204; 0059 S203、对该会话的剩余数据包进行病毒扫描,以判断该会话中是否包含手机病 毒; 0060 对该会话的剩余数据包进行病毒扫描,可以具体为:对该会话的剩余数据包进行 重组,并对重组后的剩余数据包进行病毒扫描,判断该会话中是否包含手机病毒。 0061 当然,为节省内存空间,对该会话的剩余数据包进行病毒扫描时也可以采用零拷 贝技术。也就是说,使用指针索引对该会话的剩余数据包按顺序进行病毒扫描。 0062 由于在前述步骤中。
30、已经对会话的前M个数据包进行了病毒扫描,在该步骤中只需 对该会话的剩余数据包进行病毒扫描。并且,在病毒扫描时,可以使用病毒库进行病毒扫 描,当然也可以使用现有的其他病毒扫描手段。 0063 S204、确定该会话中不包含手机病毒。 0064 确定该会话中不包含手机病毒,无需对该会话的剩余数据包进行病毒扫描。 0065 其中,在步骤S201之前,还可以包括:对获取的会话的数据包中该会话的第一个 数据包进行检查,判断该会话是否是文件下载会话,如果是,则执行步骤S201,如果否,则执 行步骤S204。这样,当通过该会话的第一个数据包确定该会话不是文件下载会话时,直接确 定该会话中不包含手机病毒,不必对。
31、该会话的其他数据包进行病毒扫描,进一步提高了手 机病毒的检测速度,满足高速处理的要求。 0066 其中,在步骤S201之前,还可以包括:对获取的会话的数据包中该会话的前M个 数据包进行模式检查,判断该会话是否属于白名单中的会话,如果是,直接执行步骤S204, 如果否,执行步骤S201。利用模式检查判断该会话是否属于白名单中的会话时,例如可以 检查该会话的前M个数据包的域名、关键字、数据包后缀等,当然也可以采用其他方法。对 该会话的前M个数据包进行模式检查时,也可以对该前M个数据包重组,并进行模式检查; 或者直接使用指针索引,对该前M个数据包进行模式检查。这样,就可以通过对该会话的前 M个数据包。
32、进行初步检查,当确定该会话属于白名单中的会话时,直接确定该会话不包含手 说 明 书CN 102905269 A 6/9页 9 机病毒,进一步提高了手机病毒的检测速度,满足高速处理的要求。 0067 上述在步骤S201之前进行的两种检查,可以单独执行,也可以同时执行。当同时 执行时,首先对该会话的第一个数据包进行检查,当确定该会话是文件下载会话时,再对该 会话的前M个数据包进行模式检查。这样,可以通过两种检查结合,进一步提高手机病毒检 测速度,且提高检测的准确性。 0068 其中,步骤S201可以具体包括:获取并缓存会话的数据包;对所述缓存的会话的 数据包中一会话的前M个数据包进行重组;对重组后。
33、的该会话的前M个数据包进行病毒扫 描。这样,就可以在缓存会话数据包的过程中,实现对会话的前M个数据包进行病毒扫描, 使得能够满足实时且高速处理的要求。 0069 如图2b所示,为本发明另一实施例提供的手机病毒的检测方法,其中,在步骤 S201之前,还包括:S201a、获取会话的数据包;S201b、缓存获取到的所述会话的数据包。 0070 其中,在步骤S201a中获取来自手机、其他移动终端或网络设备的会话的数据包 或传输到手机、其他移动终端或网络设备的会话的数据包。网络设备例如为SGSN、GGSN等。 0071 步骤S201a、S201b之后继续执行步骤S201-S204。S201-S204的详。
34、细过程在这里 不再重复。 0072 其中,当网络非常理想时,获取的会话的数据包是正常序列,则当获取到前M个数 据包后,即可对缓存的前M个数据包直接进行病毒扫描。 0073 但网络可能不会如此理想,当获取的会话的数据包是乱序时,则需要在获取到的 数据包(也就是缓存的数据包)中已经包含该会话的前M个数据包时,才可能对该前M个 数据包重组并进行病毒扫描。例如:假设获取的前M-1个数据包是正常序列,但该会话的第 M个数据包可能在获取到第M+K个数据包的时刻才获取到,因此当获取到第M+K个数据包 时,才可能对该会话的前M个数据包重组并进行病毒扫描。 0074 当获取的数据包乱序时,也可以使用指针索引对缓。
35、存的该会话的前M个数据包按 顺序进行病毒扫描,该顺序为自该会话的第一个数据包到该会话的第M个数据包。 0075 通过上述步骤S201a-S204,可以实现对一会话的数据包进行手机病毒检测,满足 高速且实时处理的要求。 0076 其中优选地,在步骤S201b和步骤S201之间还可以包括:当步骤S201b中缓存到 该会话的第一个数据包时,检查该第一个数据包,判断所述会话是否是文件下载会话,如果 是,则继续获取并缓存会话的数据包,并执行步骤S201,如果否,则直接执行步骤S204,这 样,可以及时地检查会话的第一个数据包,当该会话的第一个数据包不是文件下载会话时, 直接确定该会话不包含手机病毒,进一。
36、步提高了手机病毒的检测速度,满足实时以及高速 处理的要求。 0077 其中,在步骤S201b和步骤S201之间,还可以包括:当步骤S201b中缓存到该会话 的前M个数据包后,对缓存的会话的数据包中该会话的前M个数据包进行模式检查,判断所 述会话是否属于白名单中的会话,如果是,则直接执行步骤S204,如果否,则继续获取并缓 存会话的数据包,并执行步骤S201。这样,可以在缓存的过程中,及时地对该会话的前M个 数据包进行模式检查,进一步提高手机病毒的检测速度,满足实时以及高速处理的要求。 0078 上述方法实施例中描述的方法可以是由位于手机病毒经过的路径的检测装置或 网络设备执行,以检测手机病毒。。
37、 说 明 书CN 102905269 A 7/9页 10 0079 下面以一个具体的实施例详细说明本发明的方法,在如图3所示,为本发明具体 实施例提供的手机病毒的检测方法的流程图,具体包括: 0080 S301、接收GTP(GPRS Tunnel Protocol,通用无线分组业务隧道协议)数据的会话 的数据包; 0081 S302、缓存所述会话的数据包,并当缓存到该会话的第一个数据包时,对该第一个 数据包进行检查,判断该会话是否是文件下载会话,如果是,执行步骤S303,如果否,执行步 骤S307; 0082 其中,判断该第一个数据包是否是文件下载会话,可以根据该第一数据包中携带 的会话标识、。
38、会话协议等判断。 0083 如果不是文件下载会话,则该会话不可能含有手机病毒文件,因此直接确定该会 话是正常会话,不进行病毒检测。 0084 S303、继续缓存该会话的数据包; 0085 当该会话是文件下载会话时,会继续缓存接收到的该会话的数据包; 0086 S304、对缓存的该会话的数据包中该会话的前M个数据包进行模式检查,判断该 会话是否属于白名单中的会话,如果是,则执行步骤S307,如果否,则执行步骤S305; 0087 其中,M大于等于1且小于N,N为该会话的所有数据包的总数; 0088 S305、对缓存的该会话的数据包中该会话的前M个数据包进行病毒扫描,判断该 会话的前M个数据包中是。
39、否包含可疑病毒,如果是,执行步骤S306,如果否,执行步骤S307。 0089 其中,对该会话的前M个数据包进行病毒扫描,参见步骤S201的描述,这里不再赘 述。 0090 S306、对该会话的剩余数据包进行病毒扫描,以判断该会话中是否包含手机病毒。 0091 S307、停止病毒检测。 0092 采用本发明实施例的方法,在大多数情况下,由于对会话进行了预处理,即只扫描 该会话前M个数据包,使得在基于会话重组进行手机病毒检测时,大大减少需要重组的数 据,因此需要和整个病毒库扫描的数据将大大减少,能够满足高流量下实时检测的需求。 0093 如图4a所示,为本发明一实施例提供的手机病毒的检测装置的结。
40、构图,该检测装 置具体包括: 0094 预处理引擎41,用于对获取的会话的数据包中一会话的前M个数据包进行病毒扫 描,其中M大于等于1且小于N,其中N为该会话的所有数据包的总数; 0095 其中,对获取的会话的数据包中一会话的前M个数据包进行病毒扫描的方法,可 以对获取的会话的数据包中一会话的前M个数据包重组,并对重组后的该会话的前M个数 据包进行病毒扫描,或者使用指针索引对获取的会话的数据包中一会话的前M个数据包按 顺序进行病毒扫描,所述顺序为自该会话的第一个数据包到该会话的第M个数据包。具体 方法可以参见步骤S201的描述,这里不再详细描述。 0096 病毒分析模块42,用于根据所述预处理。
41、引擎41的扫描结果,当所述前M个数据包 中不包含可疑病毒时,确定该会话中不包含手机病毒。 0097 其中,所述病毒分析模块42,还用于根据所述预处理引擎41的扫描结果,当所述 前M个数据包中包含可疑病毒时,对该会话的剩余数据包进行病毒扫描,以判断该会话中 是否包含手机病毒。 说 明 书CN 102905269 A 10 8/9页 11 0098 优选地,该检测装置进一步包括:预处理病毒库43,用于存储片段手机病毒特征, 该片段手机病毒特征适用于查找一会话的前M个数据包中包含的手机病毒;则预处理引擎 41,具体用于采用预处理病毒库43对获取的会话的数据包中一会话的前M个数据包进行病 毒扫描。 0。
42、099 其中,预处理引擎41可以包括病毒扫描模块412,病毒扫描模块412用于对获取的 会话的数据包中该会话的前M个数据包进行病毒扫描。 0100 优选地,预处理引擎41,还包括: 0101 预判断模块414,用于对获取的会话的数据包中该会话的第一个数据包进行检查, 判断该会话是否是文件下载会话,如果否,则通知病毒分析模块42该会话不是文件下载会 话,所述病毒分析模块42根据该通知确定该会话中不包含手机病毒,如果是,则通知病毒 扫描模块412对获取的会话的数据包中该会话的前M个数据包进行病毒扫描。 0102 本发明的一个实施例中,预处理引擎可以包括:缓存模块411、重组模块418和病 毒扫描模。
43、块412。其中,缓存模块411,用于缓存获取的会话的数据包;重组模块418,用于对 缓存模块411缓存的会话的数据包中一会话的前M个数据包进行重组;病毒扫描模块412, 用于对重组模块418重组后的该会话的前M个数据包进行病毒扫描。 0103 其中,病毒扫描模块412可以使用预处理病毒库43对该会话的前M个数据包进行 病毒扫描,以确定该会话的前M个数据包中是否包含可疑病毒。当然,也可以采用其他病毒 扫描手段对该会话的前M个数据包进行病毒扫描。 0104 当预处理引擎中包括缓存模块411和病毒扫描模块412时,则预判断模块414连 接在缓存模块411和病毒扫描模块412之间,且同时连接病毒分析模。
44、块42。 0105 优选地,该检测装置还包括病毒库44,连接病毒分析模块42,则病毒分析模块42 可以利用病毒库44对该会话的剩余数据包进行病毒扫描,以判断该会话中是否包含手机 病毒。 0106 优选地,该检测装置还包括告警模块45,则病毒分析模块42在检测到该会话中包 含手机病毒之后,可以将检测结果传输给告警模块45。 0107 如图4b所示,为本发明的另一实施例提供的手机病毒的检测装置的结构图,与图 4a的装置的实施例的不同仅在于,采用模式检查模块413替代预判断模块414,则预处理 引擎41,包括:模式检查模块413和病毒扫描模块412。模式检查模块413,用于对获取的 会话的数据包中一。
45、会话的前M个数据包进行模式检查,判断该会话是否属于白名单中的会 话,如果是,则通知病毒分析模块42该会话属于白名单中的会话,病毒分析模块42根据该 通知确定该会话中不包含手机病毒,如果否,则通知病毒扫描模块412对获取的会话的数 据包中该会话的前M个数据包进行病毒扫描。 0108 当然,预处理引擎41中也可以同时包括上述预判断模块414和模式检查模块413。 0109 采用该实施例的检测装置,只需对会话的前M个数据包进行病毒检查,然后决定 是否对会话的剩余部分进行病毒检查。因此需要和整个病毒库扫描的数据将大大减少,检 测装置的性能将大大提升,满足高速处理的要求。 0110 本发明公开了一种手机。
46、病毒的检测方法和装置,该方法包括:对获取的会话的数 据包中一会话的前M个数据包进行病毒扫描,其中M大于等于1且小于N,其中N为该会话 的所有数据包的总数;当所述前M个数据包中不包含可疑病毒时,则确定该会话中不包含 说 明 书CN 102905269 A 11 9/9页 12 手机病毒。采用本发明的病毒检测方法,能够满足高流量下的手机病毒检测的需求,满足高 速处理的要求。 0111 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 说 明 书CN 102905269 A 12 1/5页 13 图1 图2a 说 明 书 附 图CN 102905269 A 13 2/5页 14 图2b 说 明 书 附 图CN 102905269 A 14 3/5页 15 图3 说 明 书 附 图CN 102905269 A 15 4/5页 16 图4a 说 明 书 附 图CN 102905269 A 16 5/5页 17 图4b 说 明 书 附 图CN 102905269 A 17 。