技术领域
[0001] 本
发明涉及移动安全技术领域,特别是指一种移动终端中恶意广告的识别方法、装置和移动终端。
背景技术
[0002] 随着移动互联网的快速发展和移动终端的逐步普及,移动终端的病毒也日益猖狂。而恶意广告在目前移动终端的
操作系统的恶意
软件行为中占一大部分,通常会导致流失用户的大量流量并干扰用户正常使用。
[0003] 目前,移动终端中
恶意软件的识别方法通常首先将其反编译成明文代码,然后通过提取代码特征判断其是否具有恶意行为。
[0004] 经过对
现有技术的分析,
发明人发现现有技术中至少存在以下问题:恶意软件识别效率低,并且随着恶意广告的代码混淆对抗,病毒制作者对软件程序进行加密,以使得软件程序反编译出来全是乱码,无法识别恶意行为,从而使得提取代码特征匹配技术在识别这类恶意广告的时候显得有些乏
力。
发明内容
[0005] 本发明旨在至少解决上述技术问题之一。
[0006] 为此,本发明的第一个目的在于提出一种移动终端中恶意广告的识别方法。该方法能够准确地识别出可弹出恶意广告的应用程序,有效地弥补了通过提取代码特征匹配技术判断恶意广告的不足,提高了恶意广告的识别效率。
[0007] 本发明的第二个目的在于提出一种移动终端中恶意广告的识别装置。
[0008] 本发明的第三个目的在于提出一种移动终端。
[0009] 为了实现上述目的,本发明第一方面
实施例的移动终端中恶意广告的识别方法包括以下步骤:获取移动终端中运行的应用程序;监控所述移动终端的通知栏以确定所述应用程序对应的通知信息;以及根据所述通知信息的出现频次和/或所述通知信息的内容确定所述应用程序是否弹出恶意广告。
[0010] 根据本发明实施例的移动终端中恶意广告的识别方法,通过监控移动终端的通知栏以确定应用程序对应的通知信息,并根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告,能够准确地识别出可弹出恶意广告的应用程序,有效地弥补了通过提取代码特征匹配技术判断恶意广告的不足,提高了恶意广告的识别效率。
[0011] 为了实现上述目的,本发明第二方面实施例的移动终端中恶意广告的识别装置,包括:获取模
块,用于获取移动终端中运行的应用程序;监控模块,用于监控所述移动终端的通知栏以确定所述应用程序对应的通知信息;以及确定模块,用于根据所述通知信息的出现频次和/或所述通知信息的内容确定所述应用程序是否弹出恶意广告。
[0012] 根据本发明实施例的移动终端中恶意广告的识别装置,可通过监控模块监控移动终端的通知栏以确定应用程序对应的通知信息,确定模块根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告,能够准确地识别出可弹出恶意广告的应用程序,有效地弥补了通过提取代码特征匹配技术判断恶意广告的不足,提高了恶意广告的识别效率。
[0013] 为了实现上述目的,本发明第三方面实施例的移动终端,包括:
外壳,处理器和
电路板;所述
电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于运行应用程序;通过监控所述移动终端的通知栏以确定所述应用程序对应的通知信息;以及根据所述通知信息的出现频次和/或所述通知信息的内容确定所述应用程序是否弹出恶意广告。
[0014] 根据本发明实施例的移动终端,通过监控移动终端的通知栏以确定应用程序对应的通知信息,并根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告,能够准确地识别出可弹出恶意广告的应用程序,有效地弥补了通过提取代码特征匹配技术判断恶意广告的不足,提高了恶意广告的识别效率。
[0015] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0016] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0017] 图1是根据本发明一个实施例的移动终端中恶意广告的识别方法的
流程图;
[0018] 图2是根据本发明另一个实施例的移动终端中恶意广告的识别方法的流程图;
[0019] 图3是根据本发明又一个实施例的移动终端中恶意广告的识别方法的流程图;
[0020] 图4是根据本发明一个实施例的移动终端中恶意广告的识别装置的结构
框图;
[0021] 图5是根据本发明另一个实施例的移动终端中恶意广告的识别装置的结构框图。
具体实施方式
[0022] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加
权利要求书的精神和内涵范围内的所有变化、
修改和等同物。
[0023] 在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0024] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、
片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0025] 下面参考附图描述根据本发明实施例的移动终端中恶意广告的识别方法、装置和移动终端。
[0026] 为了解决目前通过提取代码特征匹配技术无法识别被加密过的恶意软件程序中的恶意广告的问题,同时解决目前移动终端中恶意广告的识别方法效率低的问题,本发明提出一种移动终端中恶意广告的识别方法、装置和移动终端。
[0027] 图1是根据本发明一个实施例的移动终端中恶意广告的识别方法的流程图。如图1所示,移动终端中恶意广告的识别方法包括以下步骤。
[0028] S101,获取移动终端中运行的应用程序。
[0029] 在本发明的一个实施例中,移动终端可以是手机、
平板电脑、
个人数字助理、
电子书等具有各种操作系统的
硬件设备,并且可以运行应用程序,也具有网络连接的功能。
[0030] S102,监控移动终端的通知栏以确定应用程序对应的通知信息。
[0031] 其中,通知信息可包括应用程序的md5值(Message Digest Algorithm5,信息
摘要值)、数字签名md5值、名称、包名、栈名、信息内容等。
[0032] S103,根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告。
[0033] 具体地,可根据通知信息的出现频次和通知信息的内容确定应用程序是否弹出恶意广告。由此,提高了识别应用程序会弹出恶意广告的准确率。应当理解,还可以选择通知信息的出现频次或者通知信息的内容确定应用程序是否弹出恶意广告,其中,根据通知信息的出现频次和通知信息的内容确定应用程序是否弹出恶意广告将在后续的实施例中详细叙述,根据通知信息的出现频次或者通知信息的内容确定应用程序是否弹出恶意广告可以根据后续的实施例对应进行理解。
[0034] 根据本发明实施例的移动终端中恶意广告的识别方法,通过监控移动终端的通知栏以确定应用程序对应的通知信息,并根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告,能够准确地识别出可弹出恶意广告的应用程序,有效地弥补了通过提取代码特征匹配技术判断恶意广告的不足,提高了恶意广告的识别效率。
[0035] 图2是根据本发明另一个实施例的移动终端中恶意广告的识别方法的流程图。如果通知信息的内容满足预设条件,或者通知信息的出现频次超过
阀值,则确定应用程序弹出恶意广告。具体地,如图2所示,移动终端中恶意广告的识别方法包括以下步骤。
[0036] S201,获取移动终端中运行的应用程序。
[0037] S202,监控移动终端的通知栏以确定应用程序对应的通知信息。
[0038] S203,判断通知信息的出现频次是否超过
阈值,如果通知信息的出现频次超过阀值,则继续执行S205。
[0039] 其中,阀值可以为系统默认设定的,也可以为移动终端用户自己设定的。例如,阈值为5,通知信息的出现频次大于5,则认为对应的应用程序频繁的骚扰用户,可确定该应用程序弹出的通知信息为恶意广告。
[0040] S204,如果通知信息的出现频次未超过阈值,则进一步判断通知信息的内容是否满足预设条件。
[0041] 在本发明的一个实施例中,预设条件可包括:通知信息的内容包含恶意词、通知信息不可清除、通知信息不具有推送来源或通知信息的内容包含
风险字符串等。具体地,可根据恶意词库判断通知信息的内容是否包含恶意词,根据通知信息的标记或属性判断该通知信息是否可清除,根据通知信息的内容中是否包含对应的应用程序名称判断该通知信息是否具有推送来源,根据风险字符串库判断通知信息的内容是否包含风险字符串,其中,恶意词可包括不良内容的词,例如,反政府、淫秽词语等,风险字符串可为频繁弹出通知信息且通知信息的内容包含恶意词,过滤掉正在下载、安装成功等正常字符串后得到的字符串。
[0042] 在本发明的一个实施例中,判断通知信息不具有推送来源具体包括:获取通知信息的内容信息;获取内容信息中预设个数的字符;判断预设个数的字符中是否包括对应的应用程序的名称;以及如果不包括,则确定通知信息不具有推送来源。例如,预设个数为120,从内容信息中获取120个字符,判断该120个字符中是否包括对应的应用程序的名称,如果不包括,则可确定对应的通知信息不具有推送来源,从而确定不具有推送来源的通知信息对应的应用程序会弹出恶意广告,使得识别结果更加地准确。
[0043] S205,如果满足预设条件,则确定应用程序弹出恶意广告。
[0044] 具体地,如果通知信息的内容满足预设条件,则可确定对应的应用程序弹出恶意广告。例如,如果根据恶意词库判断通知信息的内容包含恶意词、根据通知信息的标记或属性判断该通知信息不可清除、根据通知信息的内容中不包含对应的应用程序名称判断该通知信息不具有推送来源或根据风险字符串库判断通知信息的内容包含风险字符串,则可确定对应的应用程序会弹出恶意广告。
[0045] 根据本发明实施例的移动终端中恶意广告的识别方法,如果通知信息的内容满足预设条件,或者通知信息的出现频次超过阀值,则可确定对应的应用程序会弹出恶意广告,提高了准确率。
[0046] 在本发明的一个实施例中,为了提高准确性,对监控通知栏获取的通知信息首选需要筛选,并记录符合条件的通知信息,具体地,在判断通知信息的出现频次是否超过阀值之前即S203之前还包括:检测通知信息中是否包括白字符串;如果包括白字符串,则不记录对应的通知信息;如果不包括白字符串,则进一步判断通知信息的内容长度是否为0;以及如果内容长度不为0,则将应用程序弹出的通知信息的出现频次增加1。
[0047] 其中,白字符串可以为正常系统通知信息的内容中的字符串,例如,正在下载、安装成功等。
[0048] 具体地,如果通知信息的内容长度为0时,则不记录对应的通知信息,即没有获取到通知栏中的文字信息,此时通知信息可能为图片等,如果通知信息的内容长度不为0时,则将应用程序对应的通知信息的出现频次增加1。由此,可获得通知信息的出现频次,以便根据通知信息的出现频次确定应用程序是否弹出恶意广告,使得识别效果更加精确。
[0049] 在本发明一个实施例中,为了进一步提高准确率,对监控通知栏获取的通知信息的栈名和应用程序名称进行判断,从而确定对应的应用程序是否弹出恶意广告,具体地,在判断通知信息的出现次数超过阀值和/或判断通知信息的内容满足预设条件之后即S203和/或S205之后还包括:判断通知信息的栈名是否存在黑栈列表中;如果存在黑栈列表中,则进一步判断通知信息的应用程序名称是否存在白签名名单中;以及如果不存在白签名名单中,则确定应用程序弹出恶意广告。其中,黑栈可以为弹出过包含不良内容(例如,反政府、淫秽词语等)广告SDK(Software Development Kit,软件开发工具包)对应的程序栈的栈名,白签名名单可包括无弹出通知信息的应用程序名称、弹出正常的通知信息的应用程序名称等。由此,进一步提高了识别结果的准确率。
[0050] 在本发明的一个实施例中,为了扩大风险字符串库的
覆盖面,在判断通知信息的出现频次超过阀值之后即S203之后还包括:将通知信息的内容添加至风险字符串库中。具体地,当判断通知信息的出现频次超过阀值时,可以将通知信息的内容添加至风险字符串库中。由此,扩大了风险字符串库的覆盖面。
[0051] 在本发明的一个实施例中,为了扩大黑栈列表,进一步提高识别效率,移动终端中恶意广告的识别方法还包括:如果通知信息的内容中包括恶意词,则将通知信息对应的栈名添加至黑栈列表中。具体地,根据预设条件判断应用程序对应的通知信息的内容中是否包括恶意词,如果包括恶意词,即包括不良内容,则可确定该应用程序弹出恶意广告,并将此通知信息对应的栈名添加至黑栈列表中。由此,扩大了黑栈列表,进一步提高了识别效率。
[0052] 在本发明的另一个实施例中,添加至黑栈列表中的通知信息对应的栈名长度需超过预设长度,并且该栈名中不包含特定字符串,例如,ijinshan、tencent等,如果通知信息对应的栈名包含特定字符串,则该栈名不是黑栈,即不能判断对应的应用程序弹出恶意广告。由此,保证了黑栈列表的可靠性。
[0053] 图3是根据本发明又一个实施例的移动终端中恶意广告的识别方法的流程图。如果确定应用程序弹出恶意广告,则将应用程序和/或对应的恶意广告发送至
云端
服务器。具体地,如图3所示,移动终端中恶意广告的识别方法包括以下步骤。
[0054] S301,获取移动终端中运行的应用程序。
[0055] S302,监控移动终端的通知栏以确定应用程序对应的通知信息。
[0056] S303,判断通知信息的出现频次是否超过阈值,如果通知信息的出现频次超过阀值,则继续执行S305。
[0057] S304,如果通知信息的出现频次未超过阈值,则进一步判断通知信息的内容是否满足预设条件。
[0058] S305,如果满足预设条件,则确定应用程序弹出恶意广告。
[0059] S306,将应用程序和/或对应的恶意广告发送至云端服务器。
[0060] 具体地,在确定应用程序弹出恶意广告之后,可将应用程序、对应的恶意广告、对应的通知信息等中的一种或多种通过网络连接发送至云端服务器,以使得云端服务器获取可弹出恶意广告的应用程序信息。其中,网络连接可为2G(Second Generation,第二代移动通信技术)、3G(3rd-Generation,第三代移动通信技术)、WiFi(wireless fidelity,无线相容性认证)、WiMax(Worldwide Interoperability for Microwave Access,全球
微波互联接入)等。
[0061] 根据本发明实施例的移动终端中恶意广告的识别方法,如果确定应用程序弹出恶意广告,则将应用程序、对应的恶意广告、对应的通知信息等中的一种或多种发送至云端服务器,以使得云端服务器获取可弹出恶意广告的应用程序信息,当用户下载安装此可弹出恶意广告的应用程序时,云端服务器可向对应的移动终端发送提醒消息以提醒用户,提升了用户体验。
[0062] 为了实现上述实施例,本发明还提出一种移动终端中恶意广告的识别装置。
[0063] 图4是根据本发明一个实施例的移动终端中恶意广告的识别装置的结构框图。如图4所示,移动终端中恶意广告的识别装置包括:获取模块10、监控模块20和确定模块30。
[0064] 具体地,获取模块10用于获取移动终端中运行的应用程序。在本发明的一个实施例中,移动终端可以是手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备,并且可以运行应用程序,也具有网络连接的功能。
[0065] 监控模块20用于监控移动终端的通知栏以确定应用程序对应的通知信息。其中,通知信息可包括应用程序的md5值、数字签名md5值、名称、包名、栈名、信息内容等。
[0066] 确定模块30用于根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告。更具体地,确定模块30可根据通知信息的出现频次和通知信息的内容确定应用程序是否弹出恶意广告。由此,提供了识别应用程序会弹出恶意广告的准确率。应当理解,确定模块30还可以选择通知信息的出现频次或者通知信息的内容确定应用程序是否弹出恶意广告,其中,根据通知信息的出现频次和通知信息的内容确定应用程序是否弹出恶意广告将在后续的实施例中详细叙述,根据通知信息的出现频次或者通知信息的内容确定应用程序是否弹出恶意广告可以根据后续的实施例对应进行理解。
[0067] 根据本发明实施例的移动终端中恶意广告的识别装置,可通过监控模块监控移动终端的通知栏以确定应用程序对应的通知信息,确定模块根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告,能够准确地识别出可弹出恶意广告的应用程序,有效地弥补了通过提取代码特征匹配技术判断恶意广告的不足,提高了恶意广告的识别效率。
[0068] 在本发明的一个实施例中,确定模块30具体用于:判断通知信息的出现频次是否超过阀值,并在通知信息的出现频次超过阀值时,确定应用程序弹出恶意广告,并在通知信息的出现频次未超过阀值时,进一步判断通知信息的内容是否满足预设条件,以及在通知信息的内容满足预设条件时,确定应用程序弹出恶意广告。其中,阀值可以为系统默认设定的,也可以为移动终端用户自己设定的,例如,阀值为5,预设条件可包括:通知信息的内容包括恶意词、通知信息不可清除、通知信息不具有推送来源或通知信息内容包含风险字符串等,具体地,可根据恶意词库判断通知信息的内容是否包含恶意词,根据通知信息的标记或属性判断该通知信息是否可清除,根据通知信息的内容中是否包含对应的应用程序名称判断该通知信息是否具有推送来源,根据风险字符串判断通知信息的内容是否包含风险字符串,恶意词可包括不良内容的词,例如,反政府、淫秽词语等,风险字符串可为频繁弹出通知信息且通知信息的内容包含恶意词,过滤掉正在下载、安装成功等正常字符串后得到的字符串。由此,提高了识别结果的准确率。
[0069] 为了使得识别结果更加地准确,需判断通知信息是否具有推送来源,在本发明的一个实施例中,确定模块30还具体用于获取通知信息的内容信息,并获取内容信息中预设个数的字符,并进一步判断预设个数的字符中是否包括对应的应用程序的名称,以及在不包括对应的应用程序的名称时,确定通知信息不具有推送来源。例如,预设个数为120,从内容信息中获取120个字符,判断该120个字符中是否包括对应的应用程序的名称,如果不包括,则确定模块30可确定对应的通知信息不具有推送来源,从而确定不具有推送来源的通知信息对应的应用程序会弹出恶意广告,使得识别结果更加地准确。
[0070] 在本发明的一个实施例中,确定模块30还具体用于:在判断通知信息的出现频次是否超过阀值之前,检测通知信息中是否包括白字符串,并在包括白字符串时,不记录对应的通知信息,并在不包括白字符串时,进一步判断通知信息的内容长度是否为0,以及在内容长度不为0时,将应用程序弹出的通知信息的出现频次增加1。其中,白字符串可以为正常系统通知信息的内容中的字符串,例如,正在下载、安装成功等。
[0071] 具体地,如果通知信息的内容长度为0时,则确定模块30不记录对应的通知信息,即没有获取到通知栏中的文字信息,此时通知信息可能为图片等,如果通知信息的内容长度不为0时,则确定模块30将应用程序对应的通知信息的出现频次增加1。由此,可获得通知信息的出现频次,以便根据通知信息的出现频次确定应用程序是否弹出恶意广告,使得识别效果更加精确。
[0072] 在本发明的一个实施例中,确定模块30还具体用于:在判断通知信息的出现频次超过阈值和/或判断满足预设条件之后,判断通知信息的栈名是否存在黑栈列表中,并在存在黑栈列表中时,进一步判断通知信息的应用程序名称是否存在白签名名单中,以及在不存在白签名名单中时,确定应用程序弹出恶意广告。其中,黑栈可以为弹出过包含不良内容(例如,反政府、淫秽词语等)广告SDK对应的程序栈的栈名,白签名名单可包括无弹出通知信息的应用程序名称、弹出正常的通知信息的应用程序名称等。由此,进一步提高了识别结果的准确率。
[0073] 在本发明的一个实施例中,确定模块30还具体用于:在判断通知信息的出现频次超过阀值之后,将通知信息的内容添加至风险字符串库中。具体地,当判断通知信息的出现频次超过阀值时,确定模块30可将通知信息的内容添加至风险字符串库中。由此,扩大了风险字符串的覆盖面。
[0074] 在本发明的一个实施例中,确定模块30还具体用于:在通知信息的内容中包括恶意词时,将通知信息对应的栈名添加至黑栈列表中。具体地,根据预设条件判断应用程序对应的通知信息的内容中是否包括恶意词,如果包括恶意词,即包括不良内容,确定模块30可确定该应用程序弹出恶意广告,并将此通知信息对应的栈名添加至黑栈列表中。由此,扩大了黑栈列表,进一步提高了识别效率。
[0075] 在本发明的另一个实施例中,添加至黑栈列表中的通知信息对应的栈名长度需超过预设长度,并且该栈名中不包含特定字符串,例如,ijinshan、tencent等,如果通知信息对应的栈名包含特定字符串,则该栈名不是黑栈,即不能判断对应的应用程序弹出恶意广告。由此,保证了黑栈列表的可靠性。
[0076] 图5是根据本发明另一个实施例的移动终端中恶意广告的识别装置的结构框图。如图5所示,移动终端中恶意广告的识别装置包括:获取模块10、监控模块20、确定模块30和发送模块40。
[0077] 具体地,发送模块40用于在确定应用程序弹出恶意广告时,将应用程序和/或对应的恶意广告发送至云端服务器。更具体地,在确定应用程序弹出恶意广告之后,发送模块40可将应用程序、对应的恶意广告、对应的通知信息等中的一种或多种通过网络连接发送至云端服务器,以使得云端服务器获取可弹出恶意广告的应用程序信息。其中,网络连接可为2G、3G、WiFi、WiMax等。
[0078] 根据本发明实施例的移动终端中恶意广告的识别装置,可通过发送模块在确定应用程序弹出恶意广告之后,可将应用程序、对应的恶意广告、对应的通知信息等中的一种或多种发送至云端服务器,以使得云端服务器获取可弹出恶意广告的应用程序信息,当用户下载安装此可弹出恶意广告的应用程序时,云端服务器可向对应的移动终端发送提醒消息以提醒用户,提升了用户体验。
[0079] 为了实现上述实施例,本发明还提出一种移动终端。
[0080] 一种移动终端,包括:外壳,处理器和电路板;电路板安置在外壳围成的空间内部,处理器设置在电路板上;处理器用于:
[0081] 运行应用程序,并通过监控移动终端的通知栏以确定应用程序对应的通知信息,以及根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告。其中,移动终端可以是手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备,并且可以运行应用程序,也具有网络连接的功能,通知信息可包括应用程序的md5值、数字签名md5值、名称、包名、栈名、信息内容等。
[0082] 具体地,可根据通知信息的出现频次和通知信息的内容确定应用程序是否弹出恶意广告。由此,提供了识别应用程序会弹出恶意广告的准确率。应当理解,还可以选择通知信息的出现频次或者通知信息的内容确定应用程序是否弹出恶意广告,其中,根据通知信息的出现频次和通知信息的内容确定应用程序是否弹出恶意广告将在后续的实施例中详细叙述,根据通知信息的出现频次或者通知信息的内容确定应用程序是否弹出恶意广告可以根据后续的实施例对应进行理解。
[0083] 根据本发明实施例的移动终端,通过监控移动终端的通知栏以确定应用程序对应的通知信息,并根据通知信息的出现频次和/或通知信息的内容确定应用程序是否弹出恶意广告,能够准确地识别出可弹出恶意广告的应用程序,有效地弥补了通过提取代码特征匹配技术判断恶意广告的不足,提高了恶意广告的识别效率。
[0084] 在本发明的一个实施例中,处理器还具体用于:判断通知信息的出现频次是否超过阀值,并在通知信息的出现频次超过阈值时,确定应用程序弹出恶意广告,并在通知信息的出现频次未超过阈值时,进一步判断通知信息的内容是否满足预设条件,以及在满足预设条件时,确定应用程序弹出恶意广告。其中,阀值可以为系统默认设定的,也可以为移动终端用户自己设定的,例如,阀值为5,预设条件可包括:通知信息的内容包括恶意词、通知信息不可清除、通知信息不具有推送来源或通知信息内容包含风险字符串等,具体地,可根据恶意词库判断通知信息的内容是否包含恶意词,根据通知信息的标记或属性判断该通知信息是否可清除,根据通知信息的内容中是否包含对应的应用程序名称判断该通知信息是否具有推送来源,根据风险字符串判断通知信息的内容是否包含风险字符串,恶意词可包括不良内容的词,例如,反政府、淫秽词语等,风险字符串可为频繁弹出通知信息且通知信息的内容包含恶意词,过滤掉正在下载、安装成功等正常字符串后得到的字符串。由此,提高了识别结果的准确率。
[0085] 为了使得识别结果更加地准确,需判断通知信息是否具有推送来源,在本发明的一个实施例中,处理器还具体用于:获取通知信息的内容信息,并获取内容信息中预设个数的字符,并进一步判断预设个数的字符中是否包括对应的应用程序的名称,以及在不包括对应的应用程序的名称时,确定通知信息不具有推送来源。例如,预设个数为120,从内容信息中获取120个字符,判断该120个字符中是否包括对应的应用程序的名称,如果不包括,则处理器可确定对应的通知信息不具有推送来源,从而确定不具有推送来源的通知信息对应的应用程序会弹出恶意广告,使得识别结果更加地准确。
[0086] 在本发明的一个实施例中,处理器还具体用于:在判断通知信息的出现频次是否超过阀值之前,检测通知信息中是否包括白字符串,并在包括白字符串时,不记录对应的通知信息,并在不包括白字符串时,进一步判断通知信息的内容长度是否为0,以及在内容长度不为0时,将应用程序弹出的通知信息的出现频次增加1。其中,白字符串可以为正常系统通知信息的内容中的字符串,例如,正在下载、安装成功等。
[0087] 具体地,如果通知信息的内容长度为0时,则不记录对应的通知信息,即没有获取到通知栏中的文字信息,此时通知信息可能为图片等,如果通知信息的内容长度不为0时,则将应用程序对应的通知信息的出现频次增加1。由此,可获得通知信息的出现频次,以便根据通知信息的出现频次确定应用程序是否弹出恶意广告,使得识别效果更加精确。
[0088] 在本发明的一个实施例中,处理器还具体用于:在判断通知信息的出现频次超过阈值和/或判断满足预设条件之后,判断通知信息的栈名是否存在黑栈列表中,并在存在黑栈列表中时,进一步判断通知信息的应用程序名称是否存在白签名名单中,以及在不存在白签名名单中时,确定应用程序弹出恶意广告。其中,黑栈可以为弹出过包含不良内容(例如,反政府、淫秽词语等)广告SDK对应的程序栈的栈名,白签名名单可包括无弹出通知信息的应用程序名称、弹出正常的通知信息的应用程序名称等。由此,进一步提高了识别结果的准确率。
[0089] 在本发明的一个实施例中,处理器还具体用于:在判断通知信息的出现频次超过阀值之后,将通知信息的内容添加至风险字符串库中。具体地,当判断通知信息的出现频次超过阀值时,可将通知信息的内容添加至风险字符串库中。由此,扩大了风险字符串的覆盖面。
[0090] 在本发明的一个实施例中,处理器还具体用于:在通知信息的内容中包括恶意词时,将通知信息对应的栈名添加至黑栈列表中。具体地,根据预设条件判断应用程序对应的通知信息的内容中是否包括恶意词,如果包括恶意词,即包括不良内容,处理器可确定该应用程序弹出恶意广告,并将此通知信息对应的栈名添加至黑栈列表中。由此,扩大了黑栈列表,进一步提高了识别效率。
[0091] 在本发明的另一个实施例中,添加至黑栈列表中的通知信息对应的栈名长度需超过预设长度,并且该栈名中不包含特定字符串,例如,ijinshan、tencent等,如果通知信息对应的栈名包含特定字符串,则该栈名不是黑栈,即不能判断对应的应用程序弹出恶意广告。由此,保证了黑栈列表的可靠性。
[0092] 在本发明的一个实施例中,处理器还具体用于:在确定应用程序弹出恶意广告时,将应用程序和/或对应的恶意广告发送至云端服务器。具体地,在确定应用程序弹出恶意广告之后,处理器可将应用程序、对应的恶意广告、对应的通知信息等中的一种或多种通过网络连接发送至云端服务器,以使得云端服务器获取可弹出恶意广告的应用程序信息。其中,网络连接可为2G、3G、WiFi、WiMax等。由此,当用户下载安装此可弹出恶意广告的应用程序时,云端服务器可向对应的移动终端发送提醒消息以提醒用户,提升了用户体验。
[0093] 应当理解,本发明的各部分可以用硬件、软件、
固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在
存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据
信号实现逻辑功能的
逻辑门电路的离散
逻辑电路,具有合适的组合
逻辑门电路的
专用集成电路,可编程门阵列(PGA),
现场可编程门阵列(FPGA)等。
[0094] 在本
说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0095] 在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
[0096] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。