CN104598815B - 恶意广告程序的识别方法、装置及客户端 - Google Patents
恶意广告程序的识别方法、装置及客户端 Download PDFInfo
- Publication number
- CN104598815B CN104598815B CN201310528946.0A CN201310528946A CN104598815B CN 104598815 B CN104598815 B CN 104598815B CN 201310528946 A CN201310528946 A CN 201310528946A CN 104598815 B CN104598815 B CN 104598815B
- Authority
- CN
- China
- Prior art keywords
- program
- measured
- malice
- library
- object data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出一种恶意广告程序的识别方法、装置和客户端,其中该方法包括以下步骤:运行待测程序;获取待测程序运行过程中产生的至少一个对象数据;以及将至少一个对象数据与预设的恶意广告特征库进行匹配,以识别待测程序所属的恶意广告程序类型。根据本发明实施例方法,能够对程序变种进行持续跟踪和分类,不受代码混淆对抗和程序加密的限制,准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
Description
技术领域
本发明涉及终端安全领域,尤其涉及一种恶意广告程序的识别方法、装置及客户端。
背景技术
随着安卓Android等操作系统在移动终端的普及,针对Android等操作系统的恶意程序呈大幅增长趋势。同时,恶意程序还可对自身代码进行加密,或随机生成包名特征,使得恶意程序的变种异常活跃,让人防不胜防。因此,必须对恶意程序及其变种进行有效的识别和判断,以保障移动终端用户的数据安全。目前,移动终端中主要通过静态分析方法对恶意程序进行分析,即对移动终端中的程序进行静态扫描,提取程序的静态字符串、恶意程序的包名特征等方式来识别恶意程序。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:静态分析技术需要对每个程序进行分析,以根据提取出的静态字符串、包名特征等对程序进行判断分析,分析效率较低。并且,目前动恶意程序包名特征的产生已随机化,同时恶意程序还会被加密,单纯的通过静态分析方法已无法对恶意程序的变种进行跟踪识别。因而,现有的静态分析方法难以对这类恶意程序进行快速有效地识别,导致对恶意程序对用户数据的安全造成极大威胁。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种恶意广告程序的识别方法。该方法能够准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
本发明的第二个目的在于提出一种恶意广告程序的识别装置。
本发明的第三个目的在于提出一种客户端。
为了实现上述目的,本发明第一方面实施例的恶意广告程序的识别方法包括以下步骤:运行待测程序;获取所述待测程序运行过程中产生的至少一个对象数据;以及将所述至少一个对象数据与预设的恶意广告特征库进行匹配,以识别所述待测程序所属的恶意广告程序类型。
根据本发明实施例的恶意广告程序的识别方法,可将待测程序在运行过程中产生的对象数据与预设的恶意程序特征库进行匹配,以确定待测程序所属的恶意广告程序类型,能够对程序变种进行持续跟踪和分类,不受代码混淆对抗和程序加密的限制,准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
为了实现上述目的,本发明第二方面实施例的恶意广告程序的识别装置,包括:程序运行模块,用于运行待测程序;获取模块,用于获取所述待测程序运行过程中产生的至少一个对象数据;以及识别模块,用于将所述至少一个对象数据与预设的恶意广告特征库进行匹配,以识别所述待测程序所属的恶意广告程序类型。
根据本发明实施例的恶意广告程序的识别装置,可将待测程序在运行过程中产生的对象数据与预设的恶意程序特征库进行匹配,以确定待测程序所属的恶意广告程序类型,能够对程序变种进行持续跟踪和分类,不受代码混淆对抗和程序加密的限制,准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
为了实现上述目的,本发明第三方面实施例的客户端,包括:外壳,屏幕,处理器和电路板;所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于处理数据,并具体用于:运行待测程序;获取所述待测程序运行过程中产生的至少一个对象数据;以及将所述至少一个对象数据与预设的恶意广告特征库进行匹配,以识别所述待测程序所属的恶意广告程序类型。
根据本发明实施例的客户端,可将待测程序在运行过程中产生的对象数据与预设的恶意程序特征库进行匹配,以确定待测程序所属的恶意广告程序类型,能够对程序变种进行持续跟踪和分类,不受代码混淆对抗和程序加密的限制,准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的恶意广告程序的识别方法的流程图;
图2是根据本发明一个具体实施例的数据库界面示意图;
图3是根据本发明一个具体实施例的将对象数据与预设的恶意广告特征库进行匹配的方法的流程图;
图4是根据本发明一个实施例的恶意广告程序的识别装置的结构示意图;
图5是根据本发明一个具体实施例的恶意广告程序的识别装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
需要说明的是,本发明的实施例优选适用于移动设备,例如,安卓操作系统(Android系统是一种基于Linux的自由及开放源代码的操作系统)、IOS操作系统(IOS是由苹果公司开发的手持设备操作系统)、Windows Phone操作系统(Windows Phone是微软公司发布的一款手机操作系统)的移动设备。当然也适用于个人计算机以及其他智能移动设备,本发明对此不作限定。
下面参考附图描述根据本发明实施例的恶意广告程序的识别方法、装置和客户端。
图1是根据本发明一个实施例的恶意广告程序的识别方法的流程图。如图1所示,恶意广告程序的识别方法包括以下步骤。
S101,运行待测程序。
在本发明的一个实施例中,可在虚拟环境,如安卓模拟器,或在客户端中加载并运行待测程序。举例来说,待测程序可为可疑广告程序、可疑扫描程序等。
S102,获取待测程序运行过程中产生的至少一个对象数据。
在本发明的一个实施例中,对象数据为待测程序在运行过程中产生以及获取的数据,可包括待测程序的网络访问信息、文件创建信息、文件存储信息以及关键字信息中的一种或多种。
具体地,网络访问信息为待测程序在运行过程中进行网络访问时产生的信息,可包括待测程序在运行过程中连接的主机,连接主机之后URI(Uniform ResourceIdentifier,通用资源标识符)中的相对路径、待测程序向与其连接的主机发送的请求消息以及该主机向待测程序反馈的响应消息中的一种或多种。例如,恶意广告程序会与其相应的广告商所在主机进行连接,并向该主机发送广告请求消息,并接收主机反馈的广告或者其他信息。
文件存储信息为待测程序在运行过程中产生的文件或数据库的存储路径、目录或者存储的特定文件等。例如,恶意广告程序会在运行过程中建立该恶意广告程序特有的存储路径,并将从广告服务器获取的广告文件存储在该路径下,并建立相应的存储目录。
文件创建信息为待测程序在运行过程中在本地创建的文件的相关信息,举例来说,在运行过程中创建的数据库或者产生的文件等。例如,用于记录与服务器的通信内容的文件、输出的结果、运行过程中构造的字符串以及输出的调试日志等。其中,数据库可以是待测程序为从网络获取的文件(如,恶意广告程序获取的广告等)或在本地创建的文件建立的数据库,可以是SQLite(一种数据库类型)数据库等。
关键字信息为待测程序在运行过程中创建文件的配置文件中不随静态代码混淆或加密而变化的字段名,如在运行过程中构造的字符串以及输出的调试日志、JSON(JavaScript Object Notation,一种数据交换语言)文件中的关键字等。举例来说,对于待测程序在运行过程中建立的数据库的数据库名、表名和字段名(如图2所示的数据库,pdownloads是表名,url、file、size等是该表的字段名)可作为关键字信息;对于具有下述代码的配置文件,其中,“test_adtype”、“message_date”、“push_num”等都可作为配置文件的关键字信息。
S103,将至少一个对象数据与预设的恶意广告特征库进行匹配,以识别待测程序所属的恶意广告程序类型。
在本发明的一个实施例中,预设的恶意广告特征数据库中包括多个子特征库,其中,多个子特征库分别对应多个恶意广告程序类型,每个子特征库分别为存储了大量的某一恶意类型的恶意程序运行过程中产生的对象数据的数据库。
在本发明的一个实施例中,可通过图3所示实施例的方法将至少一个对象数据与预设的恶意广告特征库进行匹配,以识别待测程序所属的恶意广告程序类型,具体地,包括以下步骤:
S301,分别获取至少一个对象数据与多个子特征库的多个匹配度。
在本发明的一个实施例中,可通过朴素贝叶斯算法分别计算至少一个对象数据与多个子特征库的匹配度。更具体地,可将待测程序运行过程中产生的对象数据分别与每个子特征库中的对象数据进行匹配,以获取待测程序运行过程中的每个对象数据的匹配度得分。其中,匹配度得分为表示对象数据与恶意程序特征库中的对象数据相匹配程度的数值。进而,可根据上述至少一个对象数据与每个子特征库中的每个对象数据的匹配度得分计算上述至少一个对象数据与每个子特征库的匹配度。
在本发发明的实施例中,可对每个匹配度得分进行修正以使根据匹配度得分计算的匹配度能够更准确的反映上述至少一个对象数据与每个子特征库的匹配程度。举例来说,可将行为特征较强的对象数据(即较容易判断其类型的对象数据,如URI数据等)的匹配度得分提高,将行为特征较弱的对象数据(即较难判断其类型的对象数据,如待测程序输出的调试日志的字符串)的匹配度得分降低;还可将丢弃无信息价值的字符数据,如随机数、与MD5(Message Digest Algorithm,消息摘要算法)类似的哈希值等数据,使其不参与匹配度评分;还可根据关键字的出现频率对其匹配度得分进行调整,例如,如过一个关键字几乎在每一个恶意程序特征数据库都出现过,则表明该关键字可能为通用关键字,而不具备恶意程序的特征,可相应降低该关键字的匹配度得分,反之,如果只在少数甚至一个恶意程序特征数据库中出现,则可提高该关键字的匹配度得分;此外,对于true/http/android/edit等常规单词并不能代表恶意程序的特征,因此可降低常规单纯的匹配度得分。
S302,根据多个匹配度识别待测程序所属的恶意广告程序类型。
在本发明的实施例中,可首先根据S301中获取到的多个匹配度确定与至少一个对象数据匹配度最高的子特征库,并获取匹配度最高的子特征库对应的恶意广告程序类型。如果该最高的匹配度大于预设阈值,则待测程序所属的恶意广告程序类型为匹配度最高的子特征库对应的恶意广告程序类型。如果该最高的匹配度小于预设阈值,则待测应用程序为非恶意广告程序。其中,预设阈值可由默认设定值。
根据本发明实施例的恶意广告程序的识别方法,可将待测程序在运行过程中产生的对象数据与预设的恶意程序特征库进行匹配,以确定待测程序所属的恶意广告程序类型,能够对程序变种进行持续跟踪和分类,不受代码混淆对抗和程序加密的限制,准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
为了实现上述实施例,本发明还提出一种恶意广告程序的识别装置。
图4是根据本发明一个实施例的恶意广告程序的识别装置的结构示意图。
如图4所示,恶意广告程序的识别装置包括:程序运行模块100、获取模块200和识别模块300。
具体地,程序运行模块100用于运行待测程序。在本发明的一个实施例中,程序运行模块100可在虚拟环境,如安卓模拟器,或在客户端中加载并运行待测程序。举例来说,待测程序可为可以广告程序、可疑扫描程序等。
获取模块200用于获取待测程序运行过程中产生的至少一个对象数据。在本发明的一个实施例中,对象数据为待测程序在运行过程中产生以及获取的数据,可包括待测程序访问的网络访问信息、文件创建信息、文件存储信息以及关键字信息中的一种或多种。
其中,网络访问信息为待测程序在运行过程中进行网络访问时产生的信息,可包括待测程序在运行过程中连接的主机,连接主机之后URI中的相对路径、待测程序向与其连接的主机发送的请求消息以及该主机向待测程序反馈的响应消息中的一种或多种。例如,恶意广告程序会与其相应的广告商所在主机进行连接,并向该主机发送广告请求消息,并接收主机反馈的广告或者其他信息。
文件存储信息为待测程序在运行过程中产生的文件或数据库的存储路径、目录或者存储的特定文件等。例如,恶意广告程序会在运行过程中建立该恶意广告程序特有的存储路径,并将从广告服务器获取的广告文件存储在该路径下,并建立相应的存储目录。
文件创建信息为待测程序在运行过程中在本地创建的文件的相关信息,举例来说,在运行过程中创建的数据库或者产生的文件等。例如,用于记录与服务器的通信内容的文件、输出的结果、运行过程中构造的字符串以及输出的调试日志等。其中,数据库可以是待测程序为从网络获取的文件(如,恶意广告程序获取的广告等)或在本地创建的文件建立的数据库,可以是SQLite数据库等。
关键字信息为待测程序在运行过程中创建文件的配置文件中不随静态代码混淆或加密而变化的字段名,如在运行过程中构造的字符串以及输出的调试日志、JSON文件中的关键字等。举例来说,对于待测程序在运行过程中建立的数据库的数据库名、表名和字段名(如图2所示的数据库,pdownloads是表名,url、file、size等是该表的字段名)可作为关键字信息;对于具有下述代码的配置文件,其中,“test_adtype”、“message_date”、“push_num”等都可作为配置文件的关键字信息。
识别模块300用于将至少一个对象数据与预设的恶意广告特征库进行匹配,以识别待测程序所属的恶意广告程序类型。
根据本发明实施例的恶意广告程序的识别装置,可将待测程序在运行过程中产生的对象数据与预设的恶意程序特征库进行匹配,以确定待测程序所属的恶意广告程序类型,能够对程序变种进行持续跟踪和分类,不受代码混淆对抗和程序加密的限制,准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
图5是根据本发明一个具体实施例的恶意广告程序的识别装置的结构示意图。
如图5所示,恶意广告程序的识别装置包括:程序运行模块100、获取模块200、识别模块300、获取子模块310、识别子模块320、获取单元321和确定单元322。其中,识别模块300具体包括获取子模块310和识别子模块320;识别子模块320进一步包括获取单元321和确定单元322。
在本发明的一个实施例中,预设的恶意广告特征数据库中包括多个子特征库,其中,多个子特征库分别对应多个恶意广告程序类型,每个子特征库分别为存储了大量的某一恶意类型的恶意程序运行过程中产生的对象数据的数据库。
具体地,获取子模块310用于分别获取至少一个对象数据与多个子特征库的多个匹配度。获取子模块310可通过朴素贝叶斯算法分别计算至少一个对象数据与多个子特征库的匹配度。更具体地,可将待测程序运行过程中产生的对象数据分别与每个子特征库中的对象数据进行匹配,以获取待测程序运行过程中的每个对象数据的匹配度得分。其中,匹配度得分为表示对象数据与恶意程序特征库中的对象数据相匹配程度的数值。进而,识别模块300可根据上述至少一个对象数据与每个子特征库中的每个对象数据的匹配度得分计算上述至少一个对象数据与每个子特征库的匹配度。
在本发发明的实施例中,识别模块300可对每个匹配度得分进行修正以使根据匹配度得分计算的匹配度能够更准确的反映上述至少一个对象数据与每个子特征库的匹配程度。举例来说,识别模块300可将行为特征较强的对象数据(即较容易判断其类型的对象数据,如URI数据等)的匹配度得分提高,将行为特征较弱的对象数据(即较难判断其类型的对象数据,如待测程序输出的调试日志的字符串)的匹配度得分降低;还可将丢弃无信息价值的字符数据,如随机数、与MD5类似的哈希值等数据,使其不参与匹配度评分;还可根据关键字的出现频率对其匹配度得分进行调整,例如,如过一个关键字几乎在每一个恶意程序特征数据库都出现过,则表明该关键字可能为通用关键字,而不具备恶意程序的特征,可相应降低该关键字的匹配度得分,反之,如果只在少数甚至一个恶意程序特征数据库中出现,则可提高该关键字的匹配度得分;此外,对于true/http/android/edit等常规单词并不能代表恶意程序的特征,因此可降低常规单纯的匹配度得分。
识别子模块320用于根据多个匹配度识别待测程序所属的恶意广告程序类型。
其中,识别子模块320中的获取单元321用于根据多个匹配度确定与至少一个对象数据匹配度最高的子特征库,并获取匹配度最高的子特征库对应的恶意广告程序类型。识别子模块320中的确定单元322用于在匹配度大于预设阈值时,确定待测程序所属的恶意广告程序类型为匹配度最高的子特征库对应的恶意广告程序类型,并在匹配度小于预设阈值时,确定待测应用程序为非恶意广告程序。其中,预设阈值可由默认设定值。
根据本发明实施例的恶意广告程序的识别装置,可将待测程序在运行过程中产生的对象数据与预设的恶意广告特征数据库中每个子特征库进行匹配,并根据匹配度确定待测程序所属的恶意广告程序的类型,提高了判断待测程序的类型的准确性,从而能够对恶意程序进行具有针对性的拦截,进一步提高了用户数据安全性。
为了实现上述实施例,本发明还提出一种客户端。
在本发明的一个实施例中,客户端可以是个人计算机PC、笔记本、智能手机、平板电脑、个人数字助理等硬件设备。根据本发明实施例的客户端包括:外壳,屏幕,处理器和电路板;屏幕安置在外壳上,电路板安置在外壳围成的空间内部,处理器设置在电路板上;处理器用于处理数据,并具体用于:运行待测程序;获取待测程序运行过程中产生的至少一个对象数据;以及将至少一个对象数据与预设的恶意广告特征库进行匹配,以识别待测程序所属的恶意广告程序类型。
在本发明的一个实施例中,可在客户端提供的虚拟环境,如安卓模拟器,或在客户端自身加载并运行待测程序。举例来说,待测程序可为可疑广告程序、可疑扫描程序等。
在本发明的实施例中,对象数据为待测程序在运行过程中产生以及获取的数据,可包括待测程序的网络访问信息、文件创建信息、文件存储信息以及关键字信息中的一种或多种。
具体地,网络访问信息为待测程序在运行过程中进行网络访问时产生的信息,可包括待测程序在运行过程中连接的主机,连接主机之后URI中的相对路径、待测程序向与其连接的主机发送的请求消息以及该主机向待测程序反馈的响应消息中的一种或多种。例如,恶意广告程序会与其相应的广告商所在主机进行连接,并向该主机发送广告请求消息,并接收主机反馈的广告或者其他信息。
文件存储信息为待测程序在运行过程中产生的文件或数据库的存储路径、目录或者存储的特定文件等。例如,恶意广告程序会在运行过程中建立该恶意广告程序特有的存储路径,并将从广告服务器获取的广告文件存储在该路径下,并建立相应的存储目录。
文件创建信息为待测程序在运行过程中在本地创建的文件的相关信息,举例来说,在运行过程中创建的数据库或者产生的文件等。例如,用于记录与服务器的通信内容的文件、输出的结果、运行过程中构造的字符串以及输出的调试日志等。其中,数据库可以是待测程序为从网络获取的文件(如,恶意广告程序获取的广告等)或在本地创建的文件建立的数据库,可以是SQLite数据库等。
关键字信息为待测程序在运行过程中创建文件的配置文件中不随静态代码混淆或加密而变化的字段名,如在运行过程中构造的字符串以及输出的调试日志、JSON文件中的关键字等。举例来说,对于待测程序在运行过程中建立的数据库的数据库名、表名和字段名(如图2所示的数据库,pdownloads是表名,url、file、size等是该表的字段名)可作为关键字信息;对于具有下述代码的配置文件,其中,“test_adtype”、“message_date”、“push_num”等都可作为配置文件的关键字信息。
进而可将至少一个对象数据与预设的恶意广告特征库进行匹配,以识别待测程序所属的恶意广告程序类型。
在本发明的一个实施例中,预设的恶意广告特征数据库中包括多个子特征库,其中,多个子特征库分别对应多个恶意广告程序类型,每个子特征库分别为存储了大量的某一恶意类型的恶意程序运行过程中产生的对象数据的数据库。因此,可首先分别获取至少一个对象数据与多个子特征库的多个匹配度,然后根据多个匹配度识别待测程序所属的恶意广告程序类型。
具体地,可通过朴素贝叶斯算法分别计算至少一个对象数据与多个子特征库的匹配度。更具体地,可将待测程序运行过程中产生的对象数据分别与每个子特征库中的对象数据进行匹配,以获取待测程序运行过程中的每个对象数据的匹配度得分。其中,匹配度得分为表示对象数据与恶意程序特征库中的对象数据相匹配程度的数值。进而,可根据上述至少一个对象数据与每个子特征库中的每个对象数据的匹配度得分计算上述至少一个对象数据与每个子特征库的匹配度。
在本发发明的实施例中,可对每个对象数据的匹配度得分进行修正以使根据匹配度得分计算的匹配度能够更准确的反映上述至少一个对象数据与每个子特征库的匹配程度。举例来说,可将行为特征较强的对象数据(即较容易判断其类型的对象数据,如URI数据等)的匹配度得分提高,将行为特征较弱的对象数据(即较难判断其类型的对象数据,如待测程序输出的调试日志的字符串)的匹配度得分降低;还可将丢弃无信息价值的字符数据,如随机数、与MD5类似的哈希值等数据,使其不参与匹配度评分;还可根据关键字的出现频率对其匹配度得分进行调整,例如,如过一个关键字几乎在每一个恶意程序特征数据库都出现过,则表明该关键字可能为通用关键字,而不具备恶意程序的特征,可相应降低该关键字的匹配度得分,反之,如果只在少数甚至一个恶意程序特征数据库中出现,则可提高该关键字的匹配度得分;此外,对于true/http/android/edit等常规单词并不能代表恶意程序的特征,因此可降低常规单纯的匹配度得分。
在本发明的实施例中,可根据上述获取到的多个匹配度确定与至少一个对象数据匹配度最高的子特征库,并获取匹配度最高的子特征库对应的恶意广告程序类型。如果该最高的匹配度大于预设阈值,则待测程序所属的恶意广告程序类型为匹配度最高的子特征库对应的恶意广告程序类型。如果该最高的匹配度小于预设阈值,则待测应用程序为非恶意广告程序。其中,预设阈值可由默认设定值。
根据本发明实施例的应用程序客户端,可将待测程序在运行过程中产生的对象数据与预设的恶意程序特征库进行匹配,以确定待测程序所属的恶意广告程序类型,能够对程序变种进行持续跟踪和分类,不受代码混淆对抗和程序加密的限制,准确判断待测程序的类型,进而对恶意程序进行有效拦截,为用户的数据安全提供保障。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
1.一种恶意广告程序的识别方法,其特征在于,包括以下步骤:
运行待测程序;
获取所述待测程序运行过程中产生的至少一个对象数据;以及
将所述至少一个对象数据与预设的恶意广告特征库进行匹配,以识别所述待测程序所属的恶意广告程序类型,其中,所述预设的恶意广告特征数据库中包括多个子特征库,所述多个子特征库分别对应多个恶意广告程序类型,分别获取所述至少一个对象数据与所述多个子特征库的多个匹配度;根据所述多个匹配度确定与所述至少一个对象数据匹配度最高的子特征库,并获取所述匹配度最高的子特征库对应的恶意广告程序类型;如果所述匹配度大于预设阈值,则所述待测程序所属的恶意广告程序类型为所述匹配度最高的子特征库对应的恶意广告程序类型;如果所述匹配度小于预设阈值,则所述待测应用程序为非恶意广告程序。
2.如权利要求1所述的方法,其特征在于,所述分别获取所述至少一个对象数据与所述多个子特征库的多个匹配度,具体包括:
通过朴素贝叶斯算法分别计算所述至少一个对象数据与所述多个子特征库的匹配度。
3.如权利要求1-2任一项所述的方法,其特征在于,所述至少一个对象数据包括网络访问信息、文件创建信息、文件存储信息以及关键字信息中的一种或多种。
4.一种恶意广告程序的识别装置,其特征在于,包括以下步骤:
程序运行模块,用于运行待测程序;
获取模块,用于获取所述待测程序运行过程中产生的至少一个对象数据;以及
识别模块,用于将所述至少一个对象数据与预设的恶意广告特征库进行匹配,以识别所述待测程序所属的恶意广告程序类型,其中,所述预设的恶意广告特征数据库中包括多个子特征库,所述多个子特征库分别对应多个恶意广告程序类型,所述识别模块包括:获取子模块,用于分别获取所述至少一个对象数据与所述多个子特征库的多个匹配度;识别子模块,所述识别子模块具体包括:获取单元,用于根据所述多个匹配度确定与所述至少一个对象数据匹配度最高的子特征库,并获取所述匹配度最高的子特征库对应的恶意广告程序类型;确定单元,用于在所述匹配度大于预设阈值时,确定所述待测程序所属的恶意广告程序类型为所述匹配度最高的子特征库对应的恶意广告程序类型,并在所述匹配度小于预设阈值时,确定所述待测应用程序为非恶意广告程序。
5.如权利要求4所述的装置,其特征在于,所述获取子模块具体通过朴素贝叶斯算法分别计算所述至少一个对象数据与所述多个子特征库的匹配度。
6.如权利要求4-5任一项所述的装置,其特征在于,所述至少一个对象数据包括网络访问信息、文件创建信息、文件存储信息以及关键字信息中的一种或多种。
7.一种客户端,其特征在于,包括:外壳,屏幕,处理器和电路板;
所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;
所述处理器用于处理数据,并具体用于:
运行待测程序;
获取所述待测程序运行过程中产生的至少一个对象数据;以及
将所述至少一个对象数据与预设的恶意广告特征库进行匹配,以识别所述待测程序所属的恶意广告程序类型,其中,所述预设的恶意广告特征数据库中包括多个子特征库,所述多个子特征库分别对应多个恶意广告程序类型,所述处理器用于:分别获取所述至少一个对象数据与所述多个子特征库的多个匹配度;根据所述多个匹配度确定与所述至少一个对象数据匹配度最高的子特征库,并获取所述匹配度最高的子特征库对应的恶意广告程序类型;如果所述匹配度大于预设阈值,则所述待测程序所属的恶意广告程序类型为所述匹配度最高的子特征库对应的恶意广告程序类型;如果所述匹配度小于预设阈值,则所述待测应用程序为非恶意广告程序。
8.如权利要求7所述的客户端,其特征在于,所述处理器通过朴素贝叶斯算法分别计算所述至少一个对象数据与所述多个子特征库的匹配度。
9.如权利要求7-8任一项所述的客户端,其特征在于,所述至少一个对象数据包括网络访问信息、文件创建信息、文件存储信息以及关键字信息中的一种或多种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310528946.0A CN104598815B (zh) | 2013-10-30 | 2013-10-30 | 恶意广告程序的识别方法、装置及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310528946.0A CN104598815B (zh) | 2013-10-30 | 2013-10-30 | 恶意广告程序的识别方法、装置及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598815A CN104598815A (zh) | 2015-05-06 |
CN104598815B true CN104598815B (zh) | 2018-09-11 |
Family
ID=53124592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310528946.0A Active CN104598815B (zh) | 2013-10-30 | 2013-10-30 | 恶意广告程序的识别方法、装置及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598815B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138640A (zh) * | 2015-08-24 | 2015-12-09 | 成都秋雷科技有限责任公司 | 基于云的网页广告筛选方法 |
US10817913B2 (en) * | 2015-10-16 | 2020-10-27 | Akamai Technologies, Inc. | Server-side detection and mitigation of client-side content filters |
CN106936793B (zh) | 2015-12-30 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 一种信息拦截处理方法及终端 |
CN107124386B (zh) * | 2016-02-24 | 2021-05-04 | 深信服科技股份有限公司 | 黑色产业内容的检测分析方法及装置 |
CN105912935B (zh) * | 2016-05-03 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 广告检测方法及广告检测装置 |
CN107480674A (zh) * | 2017-07-25 | 2017-12-15 | 中国地质大学(武汉) | 一种古文字识别系统及方法 |
CN110555304A (zh) * | 2018-05-31 | 2019-12-10 | 武汉安天信息技术有限责任公司 | 恶意包名检测方法、恶意应用检测方法及相应装置 |
CN109241742B (zh) * | 2018-10-23 | 2021-03-30 | 北斗智谷(北京)安全技术有限公司 | 一种恶意程序的识别方法及电子设备 |
CN110889116B (zh) * | 2019-11-15 | 2024-02-27 | 珠海豹趣科技有限公司 | 一种广告拦截方法、装置及电子设备 |
CN110955895B (zh) * | 2019-11-29 | 2022-03-29 | 珠海豹趣科技有限公司 | 一种操作拦截方法、装置及计算机可读存储介质 |
CN113127365A (zh) * | 2021-04-28 | 2021-07-16 | 百度在线网络技术(北京)有限公司 | 确定网页质量的方法、装置、电子设备和计算机可读存储介质 |
CN113742727A (zh) * | 2021-08-27 | 2021-12-03 | 恒安嘉新(北京)科技股份公司 | 程序识别模型训练和程序识别方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102938040A (zh) * | 2012-09-29 | 2013-02-20 | 中兴通讯股份有限公司 | Android恶意应用程序检测方法、系统及设备 |
CN103226583A (zh) * | 2013-04-08 | 2013-07-31 | 北京奇虎科技有限公司 | 一种广告插件识别的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309864B (zh) * | 2012-03-07 | 2018-10-19 | 深圳市世纪光速信息技术有限公司 | 一种搜索结果显示方法、装置及系统 |
-
2013
- 2013-10-30 CN CN201310528946.0A patent/CN104598815B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102938040A (zh) * | 2012-09-29 | 2013-02-20 | 中兴通讯股份有限公司 | Android恶意应用程序检测方法、系统及设备 |
CN103226583A (zh) * | 2013-04-08 | 2013-07-31 | 北京奇虎科技有限公司 | 一种广告插件识别的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104598815A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598815B (zh) | 恶意广告程序的识别方法、装置及客户端 | |
US11120018B2 (en) | Spark query method and system supporting trusted computing | |
US10305889B2 (en) | Identity authentication method and device and storage medium | |
Costin et al. | A {Large-scale} analysis of the security of embedded firmwares | |
US10073916B2 (en) | Method and system for facilitating terminal identifiers | |
US9003529B2 (en) | Apparatus and method for identifying related code variants in binaries | |
US9015102B2 (en) | Match engine for detection of multi-pattern rules | |
Garcia et al. | Obfuscation-resilient, efficient, and accurate detection and family identification of android malware | |
US20150186649A1 (en) | Function Fingerprinting | |
CN107506256B (zh) | 一种崩溃数据监控的方法和装置 | |
Gao et al. | Android malware detection via graphlet sampling | |
JP2009134404A (ja) | 入力補助装置、入力補助システム、入力補助方法、及び、入力補助プログラム | |
CN109995876B (zh) | 文件传输方法、装置、系统和计算机存储介质 | |
CN108090351A (zh) | 用于处理请求消息的方法和装置 | |
CN109376277B (zh) | 确定设备指纹同源性的方法及装置 | |
US10701087B2 (en) | Analysis apparatus, analysis method, and analysis program | |
Chen et al. | Slam: A malware detection method based on sliding local attention mechanism | |
Akram et al. | DroidMD: an efficient and scalable android malware detection approach at source code level | |
US20210342447A1 (en) | Methods and apparatus for unknown sample classification using agglomerative clustering | |
CN107085684B (zh) | 程序特征的检测方法和装置 | |
CN109145589B (zh) | 应用程序获取方法及装置 | |
He et al. | Mobile app identification for encrypted network flows by traffic correlation | |
CN116055067B (zh) | 一种弱口令检测的方法、装置、电子设备及介质 | |
US9398041B2 (en) | Identifying stored vulnerabilities in a web service | |
CN112416875B (zh) | 日志管理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100041 A-0071 2, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant after: Beijing cheetah Mobile Technology Co., Ltd. Applicant after: BEIJING LIEBAO NETWORK TECHNOLOGY CO., LTD. Address before: 100041 room 3, 3 West well road, Badachu hi tech park, Shijingshan District, Beijing, 1100A Applicant before: SHELL INTERNET (BEIJING) SECURITY TECHNOLOGY CO., LTD. Applicant before: Beijing Kingsoft Internet Science and Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |