CN116414269B - 流氓应用的识别方法和电子设备 - Google Patents
流氓应用的识别方法和电子设备 Download PDFInfo
- Publication number
- CN116414269B CN116414269B CN202310657717.2A CN202310657717A CN116414269B CN 116414269 B CN116414269 B CN 116414269B CN 202310657717 A CN202310657717 A CN 202310657717A CN 116414269 B CN116414269 B CN 116414269B
- Authority
- CN
- China
- Prior art keywords
- application
- data
- identified
- rogue
- behavior
- 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
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000012545 processing Methods 0.000 claims abstract description 96
- 238000004458 analytical method Methods 0.000 claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 32
- 230000001960 triggered effect Effects 0.000 claims abstract description 10
- 230000006399 behavior Effects 0.000 claims description 376
- 230000006870 function Effects 0.000 claims description 27
- 230000000694 effects Effects 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 18
- 230000002776 aggregation Effects 0.000 claims description 12
- 238000004220 aggregation Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006378 damage Effects 0.000 abstract description 5
- 239000010410 layer Substances 0.000 description 40
- 238000004891 communication Methods 0.000 description 35
- 238000009434 installation Methods 0.000 description 28
- 238000007726 management method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 11
- 230000008447 perception Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 238000007619 statistical method Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 244000035744 Hura crepitans Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000282376 Panthera tigris Species 0.000 description 1
- 229920002334 Spandex Polymers 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了流氓应用的识别方法和电子设备,应用于终端技术领域,能够准确的识别出流氓软件,避免流氓软件对终端设备造成危害,提高了用户满意度。本公开提供的方法包括:获取预设时长内,待识别应用的应用数据,应用数据包括应用行为数据和用户行为数据,应用行为数据用于表征待识别应用触发的行为;用户行为数据用于表征用户针对待识别应用触发的行为;对应用数据进行统计处理,得到应用特征数据;对应用特征数据进行分析处理,得到应用分析特征;利用应用数据、应用特征数据以及应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型,训练后的流氓应用识别模型具有识别应用是否为流氓应用的功能。
Description
技术领域
本公开涉及终端技术领域,尤其涉及流氓应用的识别方法和电子设备。
背景技术
随着终端技术的发展,各种终端设备(例如,智能手机、平板电脑等)已成为人们日常生活中不可或缺的工具。为了赋予终端设备更多的功能,通常需要在终端设备安装各种应用程序。在此过程中,一些流氓应用也会趁机被安装到终端设备上。
流氓应用(Application,APP)经常通过弹出广告弹窗来向用户推广各种产品。例如,在用户使用的智能手机的锁屏界面、桌面以及运行的APP界面频繁弹出广告弹窗,给用户带来极大困扰。因此,如何识别流氓软件是目前亟需解决的问题。
发明内容
本公开实施例提供一种流氓应用的识别方法和电子设备,能够准确的识别出流氓软件,避免流氓软件对智能设备造成危害,提高了用户满意度。
为达到上述目的,本公开的实施例采用如下技术方案:
第一方面,本公开提供了一种流氓应用的识别方法,该方法包括:首先,获取预设时长内,待识别应用的应用数据,应用数据包括应用行为数据和用户行为数据,应用行为数据用于表征待识别应用触发的行为;用户行为数据用于表征用户针对待识别应用触发的行为;然后,对应用数据进行统计处理,得到应用特征数据;接着,对应用特征数据进行分析处理,得到应用分析特征;最后,利用应用数据、应用特征数据以及应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型,训练后的流氓应用识别模型具有识别应用是否为流氓应用的功能。
基于第一方面的流氓应用的识别方法,由于流氓应用存在大量的恶意行为(例如,弹广告等),所以本公开获取待识别应用的行为数据(即应用行为数据和用户行为数据),该行为数据可以清楚的说明待识别应用是否存在恶意行为。然后继续对该行为数据进行统计和分析,得到统计分析结果(即应用特征数据和应用分析特征),统计分析结果会明显的朝向两个方向(方向1(数值大),代表恶意行为多。方向2(数值小),代表恶意行为少)。基于统计分析结果可以更加直观的说明待识别应用是否存在恶意行为以及恶意行为的数量,从而为待识别应用是否为流氓应用提供判断基础。之后,本公开利用训练数据集(即待识别应用的行为以及统计分析结果)得到训练后的流氓应用识别模型。由于训练数据集可以清楚说明待识别应用是否存在恶意行为以及恶意行为的数量,因此,利用训练数据集得到的训练后的流氓应用识别模型也可以更加精确的识别待识别应用是否为流氓应用。
结合第一方面,另一种可能的实现方式中,方法还包括:利用训练后的流氓应用识别模型识别待识别应用,得到待识别应用对应的第一识别结果,第一识别结果包括待识别应用是流氓应用或待识别应用是非流氓应用。基于该可能的实现方式,可以利用训练后的流氓应用识别模型对待识别应用进行识别。提供一种训练后的流氓应用识别模型的使用方法。
结合第一方面,另一种可能的实现方式中,方法还包括:在第一识别结果为流氓应用的情况下,基于预设规则对待识别应用进行判断,得到第二识别结果,预设规则用于对第一识别结果进行校正。基于该可能的实现方式,当训练后的流氓应用识别模型认为待识别应用是流氓应用的情况下,为了得到更加准确的识别结果,本公开还引入预设规则,通过预设规则进一步判断,从而提高待识别应用的识别结果的准确率。
结合第一方面,另一种可能的实现方式中,预设规则包括白名单规则和/或高风险规则,高风险规则包括若待识别应用的应用信息中包括流氓应用对应的分类词,确定待识别应用为流氓应用。基于该可能的实现方式,提供一种预设规则的具体内容。
结合第一方面,另一种可能的实现方式中,基于预设规则对待识别应用进行判断,得到第二识别结果,包括:利用白名单规则,在待识别应用的应用信息中不包括白名单应用对应的分类词时,确定待识别应用为非白名单应用;利用高风险规则,在待识别应用的应用信息中包括流氓应用对应的分类词时,确定待识别应用为流氓应用。基于该可能的实现方式,预设规则可以包括白名单规则和高风险规则,通过这两个规则可以对待识别应用的识别结果进行更严格的把控,从多方面提高待识别应用的识别准确性。
结合第一方面,另一种可能的实现方式中,应用特征数据包括多周期应用特征数据,多周期应用特征数据包括多个单周期应用特征数据,单周期应用特征数据包括单周期应用特征数据和单周期用户行为特征数据,单周期应用特征数据包括单周期用户数特征数据、单周期行为次数特征数据、单周期时间跨度特征数据以及单周期行为次数分布特征数据;单周期用户行为特征数据包括单周期用户行为统计特征和单周期用户行为比例特征。基于该可能的实现方式,提供一种应用特征数据的具体内容。
结合第一方面,另一种可能的实现方式中,应用分析特征包括聚合特征和记录特征;对应用特征数据进行分析处理,得到应用分析特征,包括:对应用特征数据进行聚合处理,得到应用特征数据对应的聚合特征;聚合特征包括平均值、最大值、最小值、标准差和变异系数中的至少一项;对应用特征数据进行记录处理,得到应用特征数据对应的记录特征。基于该可能的实现方式,可以对应用特征数据进行多维度统计,例如,平均值、最大值、最小值等等,从而使得到的应用分析特征更加客观,更有利于得到精确的识别结果。
结合第一方面,另一种可能的实现方式中,应用行为数据包括锁屏后台弹窗、桌面后台弹窗、待识别应用后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起待识别应用、待识别应用后台启动活动以及后台弹窗且访问广告网址库中的至少一项;用户行为数据包括安装待识别应用、卸载待识别应用以及更新待识别应用中的至少一项。基于该可能的实现方式,提供一种应用行为数据和用户行为数据的具体内容。
第二方面,本公开实施例提供一种流氓应用的识别装置,该流氓应用的识别装置可以应用于电子设备,用于实现上述第一方面中的方法。该流氓应用的识别装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,例如,获取模块、处理模块和训练模块等。其中,获取模块,被配置为获取预设时长内,待识别应用的应用数据,应用数据包括应用行为数据和用户行为数据,应用行为数据用于表征待识别应用触发的行为;用户行为数据用于表征用户针对待识别应用触发的行为;处理模块,被配置为对应用数据进行统计处理,得到应用特征数据;处理模块,还被配置为对应用特征数据进行分析处理,得到应用分析特征;训练模块,被配置为利用应用数据、应用特征数据以及应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型,训练后的流氓应用识别模型具有识别应用是否为流氓应用的功能。
结合第二方面,在一种可能的实现方式中,流氓应用的识别装置还包括识别模块。识别模块,被配置为利用训练后的流氓应用识别模型识别待识别应用,得到待识别应用对应的第一识别结果,第一识别结果包括待识别应用是流氓应用或待识别应用是非流氓应用。
结合第二方面,在一种可能的实现方式中,识别模块,还被配置为在第一识别结果为流氓应用的情况下,基于预设规则对待识别应用进行判断,得到第二识别结果,预设规则用于对第一识别结果进行校正。
结合第二方面,在一种可能的实现方式中,预设规则包括白名单规则和/或高风险规则,高风险规则包括若待识别应用的应用信息中包括流氓应用对应的分类词,确定待识别应用为流氓应用。
结合第二方面,在一种可能的实现方式中,识别模块,还被配置为利用白名单规则,在待识别应用的应用信息中不包括白名单应用对应的分类词时,确定待识别应用为非白名单应用;利用高风险规则,在待识别应用的应用信息中包括流氓应用对应的分类词时,确定待识别应用为流氓应用。
结合第二方面,在一种可能的实现方式中,应用特征数据包括多周期应用特征数据,多周期应用特征数据包括多个单周期应用特征数据,单周期应用特征数据包括单周期应用特征数据和单周期用户行为特征数据,单周期应用特征数据包括单周期用户数特征数据、单周期行为次数特征数据、单周期时间跨度特征数据以及单周期行为次数分布特征数据;单周期用户行为特征数据包括单周期用户行为统计特征和单周期用户行为比例特征。
结合第二方面,在一种可能的实现方式中,应用分析特征包括聚合特征和记录特征;处理模块,还被配置为对应用特征数据进行聚合处理,得到应用特征数据对应的聚合特征;聚合特征包括平均值、最大值、最小值、标准差和变异系数中的至少一项;对应用特征数据进行记录处理,得到应用特征数据对应的记录特征。
结合第二方面,在一种可能的实现方式中,应用行为数据包括锁屏后台弹窗、桌面后台弹窗、待识别应用后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起待识别应用、待识别应用后台启动活动以及后台弹窗且访问广告网址库中的至少一项;用户行为数据包括安装待识别应用、卸载待识别应用以及更新待识别应用中的至少一项。
第三方面,本公开提供一种电子设备,包括:存储器、显示屏和一个或多个处理器;存储器、显示屏与处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当电子设备运行时,该处理器用于执行该存储器存储的一个或多个计算机指令,以使电子设备执行如上述第一方面中任一项的流氓应用的识别方法。
第四方面,本公开提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一项的流氓应用的识别方法。
第五方面,本公开提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面中任一项的流氓应用的识别方法。
第六方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持第一设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存第一设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
应当理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本公开实施例提供的一种流氓应用的显示示意图;
图2为本公开实施例提供的一种系统架构示意图。
图3为本公开实施例提供的一种终端设备的硬件结构示意图。
图4为本公开实施例提供的一种终端设备的软件结构示意图。
图5为本公开实施例提供的一种服务器的结构示意图。
图6为本公开实施例提供的一种流氓应用的识别方法的流程示意图。
图7为本公开实施例提供的一种可视化图表。
图8为本公开实施例提供的另一种可视化图表。
图9为本公开实施例提供的一种显示示意图。
图10为本公开实施例提供的另一种流氓应用的识别方法的流程示意图。
图11为本公开实施例提供的一种流氓应用的识别装置的结构示意图。
图12为本公开实施例提供的一种流氓应用的识别架构图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行描述。其中,在本公开的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本公开中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,在本公开的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。另外,为了便于清楚描述本公开实施例的技术方案,在本公开的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本公开实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
此外,本公开实施例描述的网络架构以及业务场景是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
随着通信技术的发展,人们在日常工作生活中开始使用越来越多的终端设备,例如手机和平板电脑等。相应地,这些终端设备的功能也越来越丰富,在终端设备中可以开发安装的应用程序也越来越多,大量的应用程序可以给用户带来多种多样的功能体验,也存在一些流氓应用给用户带来负担。
流氓应用存在大量的恶意行为,例如:弹窗广告、强制安装、难以卸载、捆绑下载其他软件、过度获取手机隐私权限等等。这些恶意行为会对用户的财产安全、信息安全造成一定的影响。图1示例性的示出了几种流氓应用的恶意行为。例如,图1中的(a)示出一种流氓应用在终端设备的锁屏界面,弹出无关应用的推广广告。图1中的(b)示出一种流氓应用在其他应用的显示界面,弹出无关应用的产品介绍。图1中的(c)示出一种流氓应用在其他应用的显示界面,弹出无关游戏应用的游戏界面。图1中的(d)示出一种流氓应用在用户点击关闭按钮时,弹出无关社交应用的显示界面。图1中的(e)示出一种在用户误触的情况下,流氓应用使界面自动跳转到其他游戏应用的界面。图1中的(f)示出一种在用户点击home键或者返回键后,流氓软件使显示界面弹出广告。除了上述图1所示的恶意行为外,流氓应用还存在其他恶意行为。
在流氓应用的安装前期(即冷启动阶段),由于流氓应用的行为数据较少,无法获取到有价值的数据,所以安装流氓应用的终端设备无法快速识别出流氓应用。当终端设备获取到足够的数据时,流氓应用可能更换了应用程序包名,以其他应用的形式再次出现。这就使得在一段时间内,流氓应用会对用户体验造成不可逆转的损伤。相关技术中,流氓应用的处理方法有多种,例如静态检测法、大数据管控法以及沙箱模拟法等等。
以下对静态检测法、大数据管控法以及沙箱模拟法进行详细介绍。
静态检测法的实现过程为:分析应用的代码以及应用的安装包,若应用的代码中包含了弹广告代码就认为该应用为流氓应用。这种检测方法适用于病毒检测,而且仅通过弹广告代码就认为该应用为流氓应用过于片面,从而使得最终的识别结果不准确。
大数据管控法的实现过程为:通过获取大量的应用行为数据,对应用行为数据进行分析以确定应用是否为流氓应用。由于该方法需要统计大量的应用行为数据,这样就无法及时识别流氓应用,具有明显的滞后性。而且应用行为数据统计也需要耗费大量的人力资源。
沙箱模拟法的实现过程为:利用操作系统提供的技术,对外建立一道“屏蔽墙”,以使落在墙内的流氓应用只做具体的数据处理,隔离流氓应用的无关行为。但是目前流氓应用可以通过反沙箱逃避“屏蔽墙”,这也使得该方法不能完全杜绝流氓应用的无关行为。
由此可知,相关技术中针对流氓应用的识别以及处理都存在不足,有的技术识别结果不准确,有的技术无法完全杜绝流氓应用的无关行为。因此,目前亟需一种更好的识别方法来识别流氓软件。
为此,本公开实施例提供一种流氓应用的识别方法,利用该识别方法能够更加准确的识别出流氓应用,便于终端设备及时对流氓应用进行管控,以降低流氓应用对终端设备带来的危害,也能提高用户满意度。
如图2所示,为本申请实施例提供的一种系统架构示意图。该系统可以包括端侧(终端设备侧)和云侧(服务器侧)。其中,端侧可以包括至少一个终端设备。例如,端侧可以包括手机201、手机202和平板203等等。图1中仅以手机201、手机202和平板203作为示例,不对终端设备的数量做具体限制。云侧可以包括至少一个服务器,例如,云侧可以包括服务器204。
需要说明的是,端侧中的终端设备可以通过无线通信技术或有线通信技术与云侧中的服务器保持连接。另外,图2是以端侧和云侧直接连接为例进行说明的,在实际实现时,在端侧和云侧之间可以设置边缘服务器、路由器、基站或网关等节点设备,可以根据实际使用需求确定,本公开实施例不作限定。
本公开实施例所涉及的端侧中的终端设备主要用于生成待识别应用的应用数据,并将该应用数据发送至云侧。
例如,该终端设备可以是用户设备、移动设备、用户终端、无线通信设备、用户代理或者用户装置,还可以是智能手机、平板电脑、笔记本电脑、可穿戴设备、个人计算机(personal computer,PC)、车载设备、上网本或者个人数字助理(personal digitalassistant,PDA)等,本公开实施例对此不作具体限定。需要说明的是,本公开实施例中的端侧可以具备采集应用程序的应用数据的功能等。本公开实施例对上述端侧中的电子设备的具体类型和结构等不作特殊限制。
本公开实施例所涉及的云侧中的服务器主要用于在接收到应用数据后,对该应用数据进行统计分析,以得到应用特征数据和应用分析特征,之后根据该应用数据、应用特征数据和应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型。并使用训练后的流氓应用识别模型对待识别应用进行识别,以输出识别结果。识别结果包括该待识别应用为流氓应用,或者该待识别应用为非流氓应用。
例如,该服务器可以包括台式机、便携式电脑、掌上电脑(personal digitalassistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备等,服务器具有图5中类似结构的设备。该服务器可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。本公开的实施例对服务器所采用的具体技术和具体设备形态不做限定。
本公开实施例描述的系统架构是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
可选地,图3示出了一种端侧中的终端设备的硬件结构示意图。如图3所示,终端设备可以包括:处理器310,外部存储器接口320,内部存储器331,通用串行总线(universalserial bus,USB)接口330,充电管理模块340,电源管理模块341,电池342,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口330D,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriber identification module,SIM)卡接口395等。其中传感器模块380可以包括压力传感器380A,陀螺仪传感器380B,气压传感器380C,磁传感器380D,加速度传感器380E,距离传感器380F,接近光传感器380G,指纹传感器380H,温度传感器380J,触摸传感器380K,环境光传感器380L,骨传导传感器380M等。
可以理解的是,本实施例示意的结构并不构成对终端设备的具体限定。在另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,AP),Modem,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
充电管理模块340用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块341用于连接电池342,充电管理模块340与处理器310。电源管理模块341接收电池342和/或充电管理模块340的输入,为处理器310,内部存储器331,显示屏394,摄像头393,和无线通信模块360等供电。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360,调制解调器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块350可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块360可以提供应用在终端设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bl终端设备tooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(freq终端设备ncy modulation,FM),近距离无线通信技术(near fieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块360可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
终端设备通过GPU,显示屏394,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏394和应用处理器。
显示屏394用于显示图像,视频等。终端设备的显示屏394上可以显示一系列图形用户界面(graphical user interface,GUI)。
终端设备可以通过ISP,摄像头393,视频编解码器,GPU,显示屏394以及应用处理器等实现拍摄功能。
摄像头393用于捕获静态图像或视频。
外部存储器接口320可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。
内部存储器331可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器310通过运行存储在内部存储器331的指令,从而执行终端设备的各种功能应用以及数据处理。
终端设备可以通过音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口330D,以及应用处理器等实现音频功能。例如音乐播放,录音等。终端设备还可以包括压力传感器380A,气压传感器380C,陀螺仪传感器380B,磁传感器380D,加速度传感器380E,距离传感器380F,接近光传感器380G,环境光传感器380L,指纹传感器380H,温度传感器380J,触摸传感器380K,骨传导传感器380M,按键390,马达391,指示器392等。
SIM卡接口395用于连接SIM卡。SIM卡可以通过插入SIM卡接口395,或从SIM卡接口395拔出,实现和终端设备的接触和分离。终端设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口395可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口395可以同时插入多张卡。SIM卡接口395也可以兼容外部存储卡。终端设备通过SIM卡和网络交互,实现通话以及数据通信等功能。
另外,在上述部件之上,运行有操作系统,例如鸿蒙操作系统、iOS操作系统,Android操作系统,Windows操作系统等。在该操作系统上可以安装运行应用程序。在另一些实施例中,终端设备内运行的操作系统可以有多个。
应理解,图3所示终端设备包括的硬件模块只是示例性地描述,并不对终端设备的具体结构做出限定。事实上,本公开实施例提供的终端设备中还可以包含其它与图中示意的硬件模块具有交互关系的其它硬件模块,这里不作具体限定。例如,终端设备还可以包括闪光灯、微型投影装置等。又如,若终端设备是PC,那么终端设备还可以包括键盘、鼠标等部件。
上述终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android®系统为例,示例性说明手机的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过接口通信。在一些实施例中,将Android ®系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括待识别应用,相机,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
其中,待识别应用是指符合预设条件的应用。预设条件可以是新安装的应用。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
应用程序框架层可以包括活动管理器、窗口管理器,内容提供器,视图系统,资源管理器,通知管理器等,本公开实施例对此不做任何限制。
活动管理器(Activity Manager):用于管理每个应用的生命周期。应用通常以Activity的形式运行在操作系统中。对于每一个Activity,在活动管理器中都会有一个与之对应的应用记录(ActivityRecord),这个ActivityRecord记录了该应用的Activity的状态。活动管理器可以利用这个ActivityRecord作为标识,调度应用的Activity进程。
窗口管理器(WindowManagerService):用于管理在屏幕上使用的图形用户界面(graphical user interface,GUI)资源,具体可用于:获取屏幕大小、窗口的创建和销毁、窗口的显示与隐藏、窗口的布局、焦点的管理以及输入法和壁纸管理等。
应用程序框架层以下的系统库和内核层等可称为底层系统,底层系统中包括用于提供显示服务的底层显示系统,例如,底层显示系统包括内核层中的显示驱动以及系统库中的surface manager等。
安卓运行时(Android Runtime)包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图像引擎(例如:SGL),算法库等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
OpenGL ES用于实现三维图形绘图,图像渲染,合成,和图层处理等。
SGL是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
可选地,本公开实施例的云侧中的服务器可采用图5所示的组成结构或者包括图5所示的部件。图5为本公开实施例提供的一种服务器50的结构示意图,如图5所示,该服务器50包括一个或多个处理器501,通信线路502,以及至少一个通信接口(图5中仅是示例性的以包括通信接口503,以及一个处理器501为例进行说明),可选的还可以包括存储器504。
处理器501可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本公开方案程序执行的集成电路。
通信线路502可包括一通路,用于不同组件之间的通信。
通信接口503,可以是收发模块用于与其他设备或通信网络通信,如以太网,RAN,无线局域网(wireless local area networks,WLAN)等。例如,收发模块可以是收发器、收发机一类的装置。可选的,通信接口503也可以是位于处理器501内的收发电路,用以实现处理器的信号输入和信号输出。
存储器504可以是具有存储功能的装置。例如可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路502与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器504用于存储执行本公开方案的计算机执行指令,并由处理器601来控制执行。处理器501用于执行存储器504中存储的计算机执行指令,从而实现本公开实施例中提供的流氓应用的识别方法。
或者,可选的,本公开实施例中,也可以是处理器501执行本公开下述实施例提供的流氓应用的识别方法中的处理相关的功能,通信接口503负责与其他设备或通信网络通信,本公开实施例对此不作具体限定。
可选的,本公开实施例中的计算机执行指令也可以称之为应用程序代码,本公开实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图5中的CPU0和CPU1。
在具体实现中,作为一种实施例,服务器50可以包括多个处理器,例如图5中的处理器501和处理器507。这些处理器中的每一个可以是一个单核(single-core)处理器,也可以是一个多核(multi-core)处理器。这里的处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。
在具体实现中,作为一种实施例,服务器50还可以包括输出设备505和输入设备506。输出设备505和处理器501通信,可以以多种方式来显示信息。例如,输出设备505可以是液晶显示器(liquid crystal display,LCD),发光二极管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备506和处理器501通信,可以以多种方式接收用户的输入。例如,输入设备506可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的服务器50有时也可以称为通信设备,其可以是一个通用设备或者是一个专用设备。例如服务器50可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备、上述终端设备,上述训练设备、或具有图5中类似结构的设备。本公开实施例不限定服务器50的类型。
下面将结合图1至图5,对本公开实施例提供的流氓应用的识别方法进行描述。其中,下述实施例中的设备可以具有图3所示部件或者具有图5所示部件。其中,本公开各实施例之间涉及的动作,术语等均可以相互参考,不予限制。本公开的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。
下面对本公开实施例提供的流氓应用的识别方法的流程进行说明,如图6所示,具体包括:
步骤601、终端设备检测到用户对待识别应用的安装操作。
其中,待识别应用为符合预设条件的应用。预设条件为终端设备中新安装的应用。安装操作用于触发待识别应用安装。示例性的,待识别应用可以包括多个应用。安装操作可以是单击操作、双击操作、指关节敲击,多指选择操作中任一种。
在一些示例中,当用户需要使用待识别应用时,用户可以在软件下载网络或者终端设备的应用市场中搜索待识别应用。当用户在软件下载网络或者应用市场查找到待识别应用后,可以在软件下载网络或者应用市场的显示界面点击“安装按钮”。终端设备在检测到用户点击“安装按钮”之后,可默认需要终端设备安装待识别应用。然后终端设备并从服务器下载待识别应用的安装包,在终端设备中安装待识别应用。待识别应用在终端设备安装完成后,终端设备可显示待识别应用的图标。示例性的,以终端设备采用Android®系统为例,待识别应用的安装包可以包括但不限于是Android应用程序包(Androidapplication package,APK)。
在另一些示例中,待识别应用还可能以其他形式被用户下载到终端设备,例如,待识别应用可以利用广告、推送等方式,在终端设备的易触位置,如“关闭”等按钮中藏入下载链接,一旦用户点击该“关闭”按钮,终端设备便开始在后台下载并安装该流氓应用。
可以理解的是,待识别应用的下载安装方式不限于上述方式,待识别应用还可以通过其他方式下载安装,例如,待识别应用捆绑到其他应用,当用户下载其他应用时,终端设备后台会附带下载已经捆绑的待识别应用。又例如,待识别应用还可以伪装成正常的用户日常所需的软件,误导用户在不知情的情况下载并安装到终端设备上。本申请实施例不限制待识别应用的具体安装方式。
步骤602、响应于上述安装操作,终端设备获取待识别应用的应用信息。
其中,待识别应用的应用信息包括但不限于待识别应用的包名、待识别应用的名称、待识别应用的图标、待识别应用的版本、待识别应用的应用类型以及待识别应用的关键字等等。当执行不同的功能操作时,终端设备获取的应用信息可以不同,本申请对此不作限制。
在一些示例中,为了避免用户下载的应用为病毒应用或者流氓应用,终端设备在检测到用户的安装操作后,手机可以获取待识别应用的应用信息,以通过待识别应用的应用信息来识别待识别应用是否为非流氓应用。
步骤603、基于待识别应用的应用信息,终端设备确定待识别应用是否为白名单中的应用。
其中,白名单中的应用可以是开发人员根据开发经验或者相应的阈值默认设置的应用,这些应用为系统或用户授权的应用。示例性的,白名单中可以包括多个应用的包名、多个应用的服务名或者多个应用的应用类型等等。
为了降低流氓应用给用户带来的危害,当终端设备检测到新的应用(即待识别应用)在终端设备上安装后,终端设备可以先利用白名单来判断待识别应用是否为非流氓应用。
在一些示例中,当终端设备检测到待识别应用在终端设备上安装后,终端设备可以基于待识别应用的应用信息,判断该待识别应用是否为预设白名单中的应用。例如,终端设备可以基于待识别应用的应用信息中待识别应用的包名,在白名单中查找与待识别应用的包名相同的包名,以得到查找结果。然后根据查找结果,确定白名单中是否包含待识别应用。
若白名单中包含与待识别应用的包名相同的包名,说明待识别应用为非流氓应用。若白名单中不包含与待识别应用的包名相同的包名,则需要继续判断待识别应用是否为流氓应用。
步骤604、在白名单中不包含待识别应用的情况下,终端设备采集待识别应用对应的应用数据。
当终端设备基于白名单确定待识别应用不在白名单内时,终端设备需要进一步判断待识别应用是否为流氓应用。
在一些示例中,终端设备判断待识别应用是否为流氓应用可以通过采集待识别应用对应的应用数据来判断待识别应用是否为流氓应用。示例性的,终端设备采集待识别应用对应的应用数据可以是终端设备调用终端设备中的动态行为采集单元采集待识别应用对应的应用数据。
终端设备调用动态行为采集单元采集待识别应用对应的应用数据的过程为:首先,终端设备向动态行为采集单元发送采集通知。响应于采集通知,然后动态行为采集单元根据采集通知中待识别应用的应用信息,采集待识别应用对应的应用数据。其中,采集通知用于请求动态行为采集单元获取待识别应用对应的应用数据。
在一些示例中,待识别应用对应的应用数据包括多周期的应用数据。多周期的应用数据包括多个单周期的应用数据。示例性的,若单周期是“一天”,则单周期的应用数据又可以称为单日应用数据,多周期的应用数据也可以称为多日应用数据。多周期可以是“7天”。
需要说明的是,单周期还可以以小时计算,或者以星期计算的,又或者按月计算。多周期可以根据实际需求灵活配置,本申请对此不作限制,符合实际需求即可。
下面以单周期是“一天”为例进行示例性说明。
单周期的应用数据(即单日应用数据)包括单日应用行为数据和单日用户行为数据。其中,单日应用行为数据中所涉及的应用行为可以有多个。单日用户行为数据中所涉及的用户行为也可以有多个。
示例性的,单日应用行为数据中所涉及的应用行为以及单日用户行为数据中所涉及的用户行为如表1所示:
表1
;
如表1所示,应用行为和用户行为分别对应多个行为,可以按照行为id对多个行为进行区分。
其中,应用行为可以对应10个行为,10个行为的行为id分别是1、2、3、4、5、6、7、8、9和10。行为id是1(即行为1)对应的行为含义是锁屏后台弹窗。行为id是2(即行为2)对应的行为含义是桌面后台弹窗。行为id是3(即行为3)对应的行为含义是待识别应用后台弹窗。行为id是4(即行为4)对应的行为含义是图标透明。行为id是5(即行为5)对应的行为含义是图标隐藏。行为id是6(即行为6)对应的行为含义是锁屏禁用。行为id是7(即行为7)对应的行为含义是锁屏恢复。行为id是8(即行为8)对应的行为含义是系统应用拉起待识别应用。行为id是9(即行为9)对应的行为含义是待识别应用后台启动活动。行为id是10(即行为10)对应的行为含义是后台弹窗且访问广告网址库。
其中,用户行为可以对应3个行为,3个行为的行为id分别是11、12和13。行为id是11(即行为11)对应的行为含义是安装待识别应用。行为id是12(即行为12)对应的行为含义是卸载待识别应用。行为id是13(即行为12)对应的行为含义是更新待识别应用。
需要说明的是,单日应用行为数据中所涉及的应用行为包括上述锁屏后台弹窗、桌面后台弹窗、待识别应用后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起待识别应用、待识别应用后台启动活动以及后台弹窗且访问广告网址库中的至少一项。该应用行为还可以包括其他行为。单日用户行为数据中所涉及的用户行为包括上述安装待识别应用、卸载待识别应用以及更新待识别应用中的至少一项。用户行为还可以包括其他行为,本申请对此不作限制,具体以实际应用为准。
基于上述应用行为和用户行为,当待识别应用触发上述应用行为和用户行为时,终端设备可以进行数据统计。以天为周期进行统计可以得到单日应用数据。通过统计多天,可以得到多日应用数据。最后基于单日应用数据和多日应用数据可以得到待识别应用对应的应用数据。
步骤605、终端设备向服务器发送待识别应用对应的应用数据。
结合步骤604可知,终端设备采集的应用数据包括多周期的应用数据。当终端采集到应用数据后可以按照约定的发送周期向服务器发送。
在一些示例中,发送周期可以和单周期相同。即终端设备每获取到一个周期的应用数据便将该周期的应用数据发送至服务器。例如,单周期为1天,多周期为7天,即终端设备每采集一天的应用数据就向服务器发送,并持续发送7天。该发送周期还可以和多周期相同,即终端设备获取到多周期的应用数据后,一起发送至服务器。或者该发送周期与上述单周期、多周期均不同,本申请对终端设备发送应用数据的发送周期不作限制,以实际使用为准。
步骤606、服务器接收来自终端设备的待识别应用对应的应用数据。
在一些实施例中,终端设备可以包括多个终端设备,例如,终端设备1、终端设备2以及终端设备3等等。待识别应用也可以是符合预设条件的多个应用。例如,应用1和应用2。因此,服务器可以接收到来自多个终端设备中每个终端设备的多个应用对应的应用数据。
当服务器接收到大量的应用数据后,可以对应用数据进行处理,以基于处理后的数据训练流氓应用识别模型,从而得到训练后的流氓应用识别模型。
步骤607、服务器对待识别应用对应的应用数据进行统计处理,得到应用特征数据。
结合步骤604可知,待识别应用对应的应用数据包括多周期(又称预设时长)的应用数据。在服务器获取到多周期的应用数据后,可以对多周期的应用数据进行分析,得到多周期的应用数据对应的多周期应用特征数据(即应用特征数据)。
其中,多周期应用特征数据是根据多个单周期应用特征数据得到的。单周期应用特征数据包括单周期应用行为特征数据和单周期用户行为特征数据。单周期应用行为特征数据包括单周期用户数特征数据、单周期行为次数特征数据以及单周期时间跨度特征数据。单周期用户行为特征数据包括单周期用户行为统计特征和单周期用户行为比例特征。
结合步骤605可知,终端设备可以按照约定的发送周期向服务器发送待识别应用对应的应用数据。在服务器接收到多个终端设备发送的待识别应用对应的应用数据后,可以按照固定的处理周期对多个终端设备发送的待识别应用对应的应用数据进行处理。例如,在接收到多个终端设备发送的待识别应用对应的应用数据,服务器可以立即对待识别应用对应的应用数据进行统计处理。或者,服务器在固定时间内对待识别应用对应的应用数据进行统计处理。
下面以终端设备采集应用数据的单周期是“天”,终端设备的发送周期是“天”、服务器的处理周期也是“天”为例进行说明。
结合步骤604可知,单周期的应用数据(即单日应用数据)包括单日应用行为数据和单日用户行为数据。
首先,对服务器处理单日应用行为数据的处理方式进行详细描述。
当服务器接收到多个终端设备发送的待识别应用对应的应用数据(即单日应用数据)后,服务器对单日应用数据中的单日应用行为数据进行统计处理,得到单日应用行为特征数据。
在一些示例中,当服务器接收到多个终端设备发送的单日应用数据后,服务器将单日应用数据中的单日应用行为数据按照用户数维度、行为次数维度以及时间跨度维度进行统计,可以得到单日用户数特征数据、单日行为次数特征数据以及单日时间跨度特征数据。
其中,单日应用行为特征数据包括单日用户数特征数据、单日行为次数特征数据以及单日时间跨度特征数据。
单日用户数特征数据是指在一天内,每个行为所涉及的用户个数。单日用户数特征数据用于表征在一天内,待识别应用所影响的用户个数。单日行为次数特征数据是指在一天内,每个行为的发生次数。单日行为次数特征数据用于表征在一天内,待识别应用对用户的打扰程度。单日时间跨度特征数据是指在一天内,每个行为所分布的时间区间的个数。单日时间跨度特征数据用于表示在一天内,待识别应用的行为是自发行为还是用户主动触发的行为。
在得到单日行为次数特征数据后,还可以对单日行为次数特征数据进行进一步分类,得到单日行为次数特征数据对应的单日行为数据均值、单日行为次数的中位数、单日行为次数的最大值、单日行为次数的第2大值、单日行为次数的第3大值、单日行为次数的第4大值以及单日行为次数的第5大值。
在得到单日时间跨度特征数据后,还可以对单日时间跨度特征数据进行进一步分类,得到单日时间跨度特征数据包括单日时间段数据以及单日时间区间数据。
示例性的,单日用户数特征数据、单日行为次数特征数据和单日时间跨度特征数据如表2所示:
表2
;
如表2所示,单日应用数据可以包括单日用户数特征数据、单日行为次数特征数据以及单日时间跨度特征数据。
其中,单日用户数特征数据可以通过“Cloud_{i}_usernum”表示。单日用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户个数。{i}=1,2,3,…,10。
也就是说,单日用户数特征数据是指统计在一天内,待识别应用的行为1对应的“锁屏后台弹窗”行为所涉及的用户个数。待识别应用触发行为2对应的“桌面后台弹窗”行为所涉及的用户个数。待识别应用触发行为为3对应的“待识别应用后台弹窗”行为所涉及的用户个数。待识别应用触发行为4对应的“图标透明”行为所涉及的用户个数。待识别应用触发行为5对应的“图标隐藏”行为所涉及的用户个数。待识别应用触发行为6对应的“锁屏禁用”行为所涉及的用户个数。待识别应用触发行为7对应的“锁屏恢复”行为所涉及的用户个数。待识别应用触发行为8对应的“系统应用拉起待识别应用”行为所涉及的用户个数。待识别应用触发行为9对应的“待识别应用后台启动活动”行为所涉及的用户个数以及待识别应用触发行为10对应的“后台弹窗且访问广告网址库”行为所涉及的用户个数。
单日行为次数特征数据包括单日行为数据的均值、单日行为次数的中位数、单日行为次数的最大值、单日行为次数的第2大值、单日行为次数的第3大值、单日行为次数的第4大值以及行为次数的第5大值。
单日行为数据的均值可以通过“Cloud_{i}_avgnum”表示。单日行为数据均值的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}的发生次数的均值。{i}=1,2,3,…,10。类似的,单日行为数据均值可以参考上述单日用户数特征数据的内容,此处不再赘述。
例如,服务器接收用户1对应的待识别应用的行为1的发生次数是5。用户2对应的待识别应用的行为1的发生次数是3。用户3对应的待识别应用的行为1的发生次数是2,则单日待识别应用的行为1的发生次数的均值为(5+3+2)/3=10/3,即单日行为数据均值为10/3。
单日行为次数的中位数可以通过“Cloud_{i}_mediannumusernum”表示。单日行为数据的中位数的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}的发生次数的中位数。{i}=1,2,3,…,10。类似的,单日行为数据的中位数可以参考上述单日用户数特征数据和单日行为数据的均值的内容,此处不再赘述。
单日行为次数的最大值可以通过“Cloud_{i}_top1”表示。单日行为次数的最大值的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}的发生次数的最大值。{i}=1,2,3,…,10。类似的,单日行为数据的最大值可以参考上述单日用户数特征数据和单日行为数据的均值的内容,此处不再赘述。
单日行为次数的第2大值可以通过“Cloud_{i}_top2”表示。单日行为次数的第2大值的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}的发生次数的第2大值。{i}=1,2,3,…,10。类似的,单日行为数据的第2大值可以参考上述单日用户数特征数据和单日行为数据的均值的内容,此处不再赘述。
单日行为次数的第3大值可以通过“Cloud_{i}_top3”表示。单日行为次数的第3大值的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}的发生次数的第3大值。{i}=1,2,3,…,10。类似的,单日行为数据的第3大值可以参考上述单日用户数特征数据和单日行为数据的均值的内容,此处不再赘述。
单日行为次数的第4大值可以通过“Cloud_{i}_top4”表示。单日行为次数的第4大值的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}的发生次数的第4大值。{i}=1,2,3,…,10。类似的,单日行为数据的第4大值可以参考上述单日用户数特征数据和单日行为数据的均值的内容,此处不再赘述。
单日行为次数的第5大值可以通过“Cloud_{i}_top5”表示。单日行为次数的第5大值的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}的发生次数的第5大值。{i}=1,2,3,…,10。类似的,单日行为数据的第5大值可以参考上述单日用户数特征数据和单日行为数据的均值的内容,此处不再赘述。
单日时间跨度特征数据包括单日时间围栏数据以及单日时间区间数据。
单日时间围栏数据可以通过“Cloud_{i}_avgfencenum”表示。单日时间围栏数据的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}在几个时间围栏内发生。{i}=1,2,3,…,10。
例如,一个时间围栏为10分钟。对于一天24小时而言,1小时对应6个时间围栏,24小时对应24*6=144个时间围栏。服务器接收用户1对应的待识别应用的行为1是在9点02。用户2对应的待识别应用的行为1的发生次数是在11点05。由于9点01对应的时间围栏是9:01-9:10。11点05对应的时间围栏是11:01-11:10。所以所有用户对应的待识别应用的行为1在2个时间围栏内发生,即单日时间围栏数据为2。
需要说明的是,时间围栏还可以是20分钟、30分钟或者40分钟,时间围栏的划分可以以实际应用为准,本申请对此不作限制。
单日时间区间特征可以通过“Cloud_{i}_avghourenum”表示。单日时间区间特征的具体含义是指:统计在一天内所有用户对应的待识别应用的行为{i}在几个时间区间内发生。
例如,时间区间可以是一个小时,还可以是两个小时或者三个小时,时间区间的划分可以以实际应用为准,本申请对此不作限制。单日时间区间特征的确定方式与单日时间围栏特征的确定方式类似,此处不再赘述。
结合上述表2的内容,可以充分说明单日应用行为数据中各应用行为的分布情况。由于单日用户数特征数据中不同行为对应的用户数差异较大,为了消除用户数差异所引起的量级问题,可以对单日用户数特征数据进行进一步的分割配置,以得到单日行为次数分布特征数据。单日行为次数分布特征数据能够更清楚的说明不同配置区间对应的用户数之间的差别。
在一些示例中,结合表2,为单日用户数特征数据划分多个分割区间。例如,以1,5,10,20,50,100作为分割点,得到区间[0,1)、[1,5)、[5,10)、[10,20)、[20,50)、[50,100)以及[100,+∞)。然后按照上述区间,重新统计多个单日区间用户数特征数据。然后根据多个单日区间用户数特征数据中每个单日区间用户数特征数据占单日用户数特征数据的比例,确定出每个单日区间比例特征数据。其中,单日行为次数分布特征数据包括多个单日区间用户数特征数据和多个单日区间比例特征数据。
其中,多个单日区间用户数特征数据包括单日[0,1)区间内的用户数特征数据、单日[1,5) 区间内的用户数特征数据、单日[5,10)区间内的用户数特征数据、单日[10,20)区间内的用户数特征数据、单日[20,50)区间内的用户数特征数据、单日[50,100)区间内的用户数特征数据以及单日[100,+∞)区间内的用户数特征数据。
示例性的,单日行为次数分布特征数据中的多个单日区间用户数特征数据和多个单日区间比例特征数据如表3所示:
表3
;
如表3所示,多个单日区间用户数特征数据中的单日[0,1)区间内的用户数特征数据可以通过“Cloud_{i}_usernum0-1”表示。单日[0,1)区间内的用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[0,1)区间内的数量。{i}=1,2,3,…,10。
单日[1,5) 区间内的用户数特征数据可以通过“Cloud_{i}_avgnum1-5”表示。单日[1,5)区间内的用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[1,5)区间内的数量。{i}=1,2,3,…,10。
单日[5,10)区间内的用户数特征数据可以通过“Cloud_{i}_avgnum5-10”表示。单日[5,10)区间内的用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[5,10)区间内的数量。{i}=1,2,3,…,10。
单日[10,20)区间内的用户数特征数据可以通过“Cloud_{i}_usernum10-20”表示。单日[10,20)区间内的用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[10,20)区间内的数量。{i}=1,2,3,…,10。
单日[20,50)区间内的用户数特征数据可以通过“Cloud_{i}_usernum20-50”表示。单日[20,50)区间内的用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[20,50)区间内的数量。{i}=1,2,3,…,10。
单日[50,100)区间内的用户数特征数据可以通过“Cloud_{i}_usernum50-100”表示。单日[50,100)区间内的用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[50,100)区间内的数量。{i}=1,2,3,…,10。
单日[100,+∞)区间内的用户数特征数据可以通过“Cloud_{i}_usernum100-∞”表示。单日[100,+∞)区间内的用户数特征数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[100,+∞)区间内的数量。{i}=1,2,3,…,10。
在得到单日[0,1)区间内的用户数特征数据、单日[1,5) 区间内的用户数特征数据、单日[5,10)区间内的用户数特征数据、单日[10,20)区间内的用户数特征数据、单日[20,50)区间内的用户数特征数据、单日[50,100)区间内的用户数特征数据以及单日[100,+∞)区间内的用户数特征数据之后,还可以根据每个单日区间用户数特征数据占单日用户数特征数据的比例,确定出单日[0,1)区间内的比例特征数据、单日[1,5) 区间内的比例特征数据、单日[5,10)区间内的比例特征数据、单日[10,20)区间内的比例特征数据、单日[20,50)区间内的比例特征数据、单日[50,100)区间内的比例特征数据以及单日[100,+∞)区间内的比例特征数据。
示例性的,多个单日区间比例特征数据中单日[0,1)区间内的比例特征数据可以通过“Cloud_{i}_avgnum0-1ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[0,1)区间内的数量占单日用户行为总数据的比例。
其中,单日[0,1)区间内的比例特征数据满足如下关系:
cloud_{i}_usersnum0-1ratio= cloud_{i}_usersnum0-1/cloud_{i}_usersnum
例如,单日[0,1)区间内的比例特征数据大于0.9,则说明待识别应用的弹窗很少。
单日[1,5)区间内的比例特征数据可以通过“Cloud_{i}_avgnum1-5ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[1,5)区间内的数量占单日用户行为总数据的比例。
其中,单日[1,5)区间内的比例特征数据满足如下关系:
cloud_{i}_usersnum1-5ratio= cloud_{i}_usersnum1-5/cloud_{i}_usersnum
单日[5,10)区间内的比例特征数据可以通过“Cloud_{i}_avgnum5-10ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[5,10)区间内的数量占单日用户行为总数据的比例。
其中,单日[5,10)区间内的比例特征数据满足如下关系:
cloud_{i}_usersnum5-10ratio= cloud_{i}_usersnum5-10/cloud_{i}_usersnum
单日[10,20)区间内的比例特征数据可以通过“Cloud_{i}_avgnum10-20ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[10,20)区间内的数量占单日用户行为总数据的比例。
其中,单日[10,20)区间内的比例特征数据满足如下关系:
cloud_{i}_usersnum10-20ratio= cloud_{i}_usersnum10-20/cloud_{i}_usersnum
单日[20,50)区间内的比例特征数据可以通过“Cloud_{i}_avgnum20-50ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[20,50)区间内的数量占单日用户行为总数据的比例。
其中,单日[20,50)区间内的比例特征数据满足如下关系:
cloud_{i}_usersnum20-50ratio= cloud_{i}_usersnum20-50/cloud_{i}_usersnum
单日[50,100)区间内的比例特征数据可以通过“Cloud_{i}_avgnum50-100ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[50,100)区间内的数量占单日用户行为总数据的比例。
其中,单日[50,100)区间内的比例特征数据满足如下关系:
cloud_{i}_usersnum50-100ratio= cloud_{i}_usersnum50-100/cloud_{i}_usersnum
单日[100,+∞)区间内的比例特征数据可以通过“Cloud_{i}_avgnum100-∞ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,待识别应用的行为{i}所涉及的用户数落在[100,+∞)区间内的数量占单日用户行为总数据的比例。
其中,单日[100,+∞)区间内的比例特征数据满足如下关系:
cloud_{i}_usersnum100-∞ratio= cloud_{i}_usersnum100-∞/cloud_{i}_usersnum
可以理解的是,上述分割区间还可以是[0,10)、[10,20)、[20,30)、[30,50)、[50,70)、[70,90)以及[90,+∞)。本申请对此不作限制,符合实际需求即可。
接着,对服务器处理单日用户行为数据的处理方式进行详细描述。
当服务器接收到多个终端设备发送的待识别应用对应的应用数据(即单日应用数据)后,服务器首先对单日应用数据中的单日用户行为数据进行统计处理,得到单日用户行为特征数据。
在一些示例中,当服务器接收到多个终端设备发送的单日应用数据后,服务器将单日应用数据中的单日用户行为数据进行统计处理,得到单日用户行为统计特征。然后再利用单日用户行为统计特征可以确定出单日用户行为比例特征。其中,单日用户行为特征数据包括单日用户行为统计特征和单日用户行为比例特征。
单日用户行为统计特征包括单日用户行为总数据、单日安装行为总数据、单日卸载行为总数据以及单日更新行为总数据。单日用户行为总数据、单日安装行为总数据、单日卸载行为总数据以及单日更新行为总数据用于表征用户对待识别应用的操作情况。
单日用户行为比例特征包括单日安装比例数据、单日卸载比例数据以及单日更新比例数据。单日安装比例数据、单日卸载比例数据以及单日更新比例数据用于表征待识别应用单日的安装率、卸载率以及更新率。
示例性的,单日用户行为统计特征以及单日用户行为比例特征如表4所示。
表4
;
如表4所示,单日用户行为统计特征中的单日用户行为总数据可以通过“Cloud_market_totalnum”表示。单日用户行为总数据的具体含义是指:统计在一天内,所有用户对待识别应用执行的用户行为的总个数。用户行为包括用户安装待识别应用、用户卸载待识别应用以及用户更新待识别应用。
单日安装行为总数据可以通过“Cloud_install_totalnum”表示。单日安装行为总数据的具体含义是指:统计在一天内,所有用户安装待识别应用(即行为11)的总个数。
单日卸载行为总数据可以通过“Cloud_uninstall_totalnum”表示。单日卸载行为总数据的具体含义是指:统计在一天内,所有用户卸载待识别应用(即行为12)的总个数。
单日更新行为总数据可以通过“Cloud_update_totalnum”表示。单日更新行为总数据的具体含义是指:统计在一天内,所有用户更新待识别应用(即行为13)的总个数。
单日用户行为比例特征中的单日安装比例数据可以通过“Cloud_install_ratio”表示。单日安装比例数据的具体含义是指:统计在一天内,所有用户安装待识别应用(即行为11)的总个数占单日用户行为总数据的比例。
其中,单日安装比例数据满足如下关系:
Cloud_install_ratio = Cloud_install_totalnum/Cloud_market_totalnum
单日卸载比例数据可以通过“Cloud_uninstall_ratio”表示。单日卸载比例数据的具体含义是指:统计在一天内,所有用户卸载待识别应用(即行为12)的总个数占单日用户行为总数据的比例。
其中,单日卸载比例数据满足如下关系:
Cloud_ uninstall _ratio= Cloud_uninstall_totalnum/Cloud_market_totalnum
单日更新比例数据可以通过“Cloud_update_ratio”表示。单日更新比例数据的具体含义是指:统计在一天内,所有用户更新待识别应用(即行为13)的行为总个数占单日用户行为总数据的比例。
其中,单日更新比例数据满足如下关系:
Cloud_update_ratio= Cloud_update_totalnum/Cloud_market_totalnum
最后,当服务器对单日应用数据中的单日应用行为数据进行统计处理,可以得到单日用户数特征数据、单日行为次数特征数据和单日时间跨度特征数据;服务器还对单日用户数特征数据进行分割配置,得到单日行为次数分布特征数据(即多个单日区间用户数特征数据以及多个单日区间比例特征数据)。另外,服务器也对单日应用数据中的单日用户行为数据进行统计处理,得到单日用户行为统计特征以及单日用户行为比例特征。后续,服务器可以按照上述对单日应用数据的处理方式对多日应用数据进行处理,从而得到多日应用特征数据,最后可以基于单日应用特征数据和多日应用特征数据得到应用特征数据。
步骤608、服务器对应用特征数据进行分析处理,得到应用分析特征。
当服务器得到应用特征数据(即多周期应用特征数据)后,可以对多周期应用特征数据进行分析处理,从而得到应用分析特征。之后可以利用应用数据、应用特征数据以及应用分析特征训练流氓应用识别模型,从而得到识别精度更高的训练后的流氓应用识别模型。
在一些示例中,服务器对多周期应用特征数据进行分析处理包括服务器对多周期应用特征数据进行聚合处理和记录处理,从而得到聚合特征和记录特征。其中,应用分析特征包括聚合特征和记录特征。聚合特征至少包括平均值、最大值、最小值、标准差和变异系数。记录特征至少包括出现天数以及预设时长的出现率。
示例性的,服务器对多周期应用特征数据进行聚合处理包括对多周期应用特征数据进行求平均处理、求最大值处理、求最小值处理、求标准差处理以及求变异系数处理。
结合步骤607,求平均处理是指对上述多周期应用特征数据中的每一项数据进行求平均处理,得到平均值。求平均处理是指用于表征预设时长内,应用特征数据的平均程度。
求最大值处理是指对上述多周期应用特征数据中的每一项数据进行求最大值处理,得到最大值。求最小值处理是指对上述多周期应用特征数据中的每一项数据进行求最小值处理,得到最小值。求最大值处理和求最小值处理用于表征预设时长内,应用特征数据的极限情况。
求标准差处理是指对上述多周期应用特征数据中的每一项数据进行求标准差处理,得到标准差。求标准差处理用于应用特征数据的变化情况。
求变异系数处理是指对上述多周期应用特征数据中的每一项数据进行求变异系数处理,得到变异系数。求变异系数处理用于表征应用特征数据的离散程度。
需要说明的是,服务器执行的聚合处理包括但不限于上述处理方式。聚合处理还可以包括其他处理方式,本申请对此不作限制,具体以实际应用为准。
服务器对多周期应用特征数据进行记录处理包括对多周期应用特征数据进行求出现天数处理以及求预设时长的出现率处理。
求出现天数处理是指确定上述多周期应用特征数据中每个应用行为和用户行为的出现天数。求预设时长的出现率处理是指确定上述多周期应用特征数据中每个应用行为和用户行为在预设时长内的出现率(例如,过去七天的出现率)。出现天数以及预设时长的出现率均用于表征待识别应用的单日特征的稳定性。
例如,通过记录流氓应用和非流氓应用的应用特征数据对应的出现天数,可以得到图7。参考图7可知,流氓应用和非流氓应用的应用特征数据的出现天数存在明显差异。流氓的应用特征数据的出现天数普遍高于非流氓应用的出现天数。
示例性的,应用分析特征如表5所示。
表5
;
如表5所示,平均值可以通过“Cloud_1_avgnum_mean”表示。平均特征的具体含义是指:在预设时长(又称时间窗)所有单日应用特征数据的平均值。最大值特征可以通过“Cloud_1_avgnum_max”表示。最大值特征的具体含义是指:在预设时长(又称时间窗)所有单日应用特征数据的最大值。最小值特征可以通过“Cloud_1_avgnum_min”表示。最小值特征的具体含义是指:在预设时长(又称时间窗)所有单日应用特征数据的最小值。标准差特征可以通过“Cloud_1_avgnum_std”表示。标准差特征的具体含义是指:在预设时长(又称时间窗)所有单日应用特征数据的标准差。变异系数特征可以通过“Cloud_1_avgnum_variation”表示。变异系数特征的具体含义是指:在预设时长(又称时间窗)所有单日应用特征数据的变异系数。多日特征的出现天数可以通过“Cloud_1_avgnum_length”表示。最大值特征的具体含义是指:在预设时长(又称时间窗),单日应用特征数据大于0的天数。预设时长出现率可以通过“Cloud_1_avgnum_lengthratio”表示。最大值特征的具体含义是指:在预设时长(又称时间窗),单日应用特征数据大于0的天数占总预设时长的比例。
也就是说,在得到应用特征数据后,可以对应用特征数据进行多维度统计,例如,平均值、最大值、最小值等等,从而使得到的应用分析特征更加客观,更有利于得到精确的识别结果。
步骤609、利用应用数据、应用特征数据、应用分析特征训练流氓应用识别模块,以得到训练后的流氓应用识别模型。
其中,训练后的流氓应用识别模型具有识别应用是否为流氓应用的功能。
在一些示例中,流氓应用识别模块可以基于经典的深度学习神经网络模型生成。示例性的,流氓应用识别模块可以是卷积神经网络(Convolutional Neural Network,CNN)以及轻量的梯度提升机(Light Gradient Boosting Machine,LGB)等基础网络模型构建的。
其中,CNN通常包括:输入层、卷积层(Convolution Layer)、池化层(Poolinglayer)、全连接层(Fully Connected Layer,FC)和输出层。一般来说,CNN的第一层是输入层,最后一层是输出层。卷积层(Convolution Layer)通常包含若干个特征平面,每个特征平面可以是由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,共享的权重即为卷积核。池化层(Pooling layer)通常在卷积层之后,池化层可以得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,从而得到新的、维度较小的特征。全连接层(Fully-Connected layer)可以把所有局部特征结合变成全局特征,用来计算最后每一类的得分。
LGB是一个实现梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法的框架。LGB支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。GBDT是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT通常被用于多分类、点击率预测、搜索排序等任务中。
需要说明的是,上述流氓应用识别模块可以基于多个经典神经网络构建,还可以只使用多个经典神经网络中的一个构建,本公开对此不作限制。示例性的,流氓应用识别模块可以是基于LGB网络构建的。
在一些示例中,利用应用数据、应用特征数据、应用分析特征训练流氓应用识别模块可以是将应用数据、应用特征数据、应用分析特征作为数据集,将数据集输入到LGB模型中进行多次模型训练,并根据每次训练结果调整LGB模型的参数,直至得到最优LGB模型,即得到训练后的流氓应用识别模型。其中,每次输入到LGB模型中的数据集的数量可由本领域技术人员根据实际情况设定。本公开对流氓应用识别模型的训练方式不作限定,符合实际需求即可。
例如,待识别应用包括应用1和应用2。多个终端设备采集的应用数据包括应用1的应用数据,以及应用2的应用数据。应用1的应用数据的采集时间为2023年1月6日。应用2的应用数据的采集时间为2023年1月6日。
利用上述步骤607得到应用1的单日应用特征数据以及应用2的单日应用特征数据。应用1的单日应用特征数据包括cloud_{i}_usernum、…、cloud _update_ratio。其中,应用1的cloud_{i}_usernum(即单日用户数特征数据)对应的值为2。cloud _update_ratio(即单日更新比例数据)对应的值为0.4。应用2的单日应用特征数据包括cloud_{i}_usernum、…、cloud _update_ratio。其中,应用2的cloud_{i}_usernum(即单日用户数特征数据)对应的值为2。cloud _update_ratio(即单日更新比例数据)对应的值为0.4。
利用步骤608得到应用1的应用分析特征和应用2的应用分析特征。应用1的应用分析特征包括cloud_1_avgnum_mean、…、cloud_1_avgnum_length。其中,应用1的cloud_1_avgnum_mean(即平均值)对应的值为3。cloud_1_avgnum_length(即出现天数)对应的值为5。应用2的单日应用特征数据包括cloud_1_avgnum_mean、…、cloud_1_avgnum_length。其中,应用2的cloud_1_avgnum_mean(即平均值)对应的值为70。cloud_1_avgnum_length(即出现天数)对应的值为4。将上述应用1和应用2的应用数据、多个单日应用特征数据以及应用分析特征输入流氓应用识别模型进行训练,以得到训练后的流氓应用识别模型。
在另一些示例中,得到训练后的流氓应用识别模型后,还可以将训练后的流氓应用识别模型与现有的识别模型进行比较,得到比较结果。后续可以根据比较结果配置更新训练后的流氓应用识别模型,以克服异常数据带来的模型干扰问题。示例性的,将训练后的流氓应用识别模型与现有的识别模型进行比较可以是比较训练后的流氓应用识别模型与现有的识别模型的准确率和召回率。
在另一些示例中,在训练流氓应用识别模型之前,可以将训练数据集中的异常数据剔除。例如,该异常数据为流氓软件当天无弹窗、非流氓应用因为个人原因导致的弹窗过多。图8示例性示出另一种可视化图表。基于图8可知,流氓应用的用户群体均值小于非流氓应用的用户群体均值,流氓软件的弹窗比非流氓应用的弹窗还少。因此,在模型训练之前,需要剔除训练数据集中的异常数据,这样能够减少异常数据对模型的干扰。需要说明的是,异常数据还可以包括其他数据,本申请对此不作限制,符合实际需求即可。
步骤610、利用训练后的流氓应用识别模型确定待识别应用是否为流氓应用。
在利用应用数据、应用特征数据、应用分析特征训练流氓应用识别模块,得到训练后的流氓应用识别模型。可以利用训练后的流氓应用识别模型识别待识别应用,输出识别结果。其中,识别结果包括待识别应用是流氓应用或者待识别应用是非流氓应用。
示例性的,将上述步骤609中的应用1和应用2输入训练后的流氓应用识别模型。训练后的流氓应用识别模型输出应用1为非流氓应用,应用2为流氓应用。
步骤611、在训练后的流氓应用识别模型确定待识别应用是流氓应用的情况下,服务器调用预设规则对待识别应用进行进一步判断,以得到判断结果。
其中,预设规则包括白名单规则和/或高风险规则。白名单规则包括若待识别应用的应用信息中包括白名单应用对应的目标词语,确定待识别应用为白名单应用(即非流氓应用)。高风险规则包括若待识别应用的应用信息中包括流氓应用对应的分类词,确定待识别应用为流氓应用。判断结果包括待识别应用是流氓应用或者待识别应用是非流氓应用。
在一些场景中,预设规则包括白名单规则。当训练后的流氓应用识别模型确定待识别应用是流氓应用的情况下,服务器还可以调用白名单规则对待识别应用进行识别判断,若白名单规则中包含待识别应用的应用信息,则认为待识别应用是非流氓应用。
在另一些场景中,预设规则包括白名单规则和高风险规则。当训练后的流氓应用识别模型确定待识别应用是流氓应用的情况下,服务器还可以调用白名单规则对待识别应用进行识别判断,若白名单规则中包含待识别应用的应用信息,则认为待识别应用是非流氓应用。
若白名单规则中不包含待识别应用的应用信息,则可以继续使用高风险规则对待识别应用进行识别。当高风险规则中包含待识别应用的应用信息,则认为待识别应用是流氓应用。当高风险规则中不包含待识别应用的应用信息,则认为待识别应用不是流氓应用。
在一些场景中,预设规则包括高风险规则。当训练后的流氓应用识别模型确定待识别应用是流氓应用的情况下,服务器还可以调用高风险规则对待识别应用进行识别判断,若高风险规则中包含待识别应用的应用信息,则认为待识别应用是流氓应用。
在另一些场景中,预设规则包括白名单规则和高风险规则。当训练后的流氓应用识别模型确定待识别应用是流氓应用的情况下,服务器还可以调用高风险规则对待识别应用进行识别判断,若高风险规则中包含待识别应用的应用信息,则认为待识别应用是流氓应用。
若高风险规则中不包含待识别应用的应用信息,则可以继续使用白名单规则对待识别应用进行识别。当白名单规则中包含待识别应用的应用信息,则认为待识别应用是非流氓应用。
需要说明的是,预设规则包括白名单规则和高风险规则。当训练后的流氓应用识别模型确定待识别应用是流氓应用的情况下,可以先使用白名单规则判断、后使用高风险规则判断,还可以先使用高风险规则判断,后使用白名单规则判断,或者同时使用白名单规则和高风险规则进行判断,本申请对此不作限制。
在一些实施例中,在使用白名单规则判断待识别应用时,白名单规则中的“目标词语”与待识别应用的应用信息可以包括4种匹配方式,分别是前缀匹配、后缀匹配、关键字匹配和精确匹配。服务器可以利用上述4种匹配方式中的任一种将待识别应用的应用信息和白名单规则进行匹配,从而得到匹配结果。其中,前缀匹配是指当待识别应用的应用信息中的域名或统一资源定位器(Uniform Resource Locator, URL)的前缀是“目标词语”就可以命中白名单规则。后缀匹配是指当待识别应用的应用信息中的域名或URL的后缀是“目标词语”就可以命中白名单规则。关键字匹配是指当待识别应用的应用信息中的域名或URL中包含“目标词语”就可以命中白名单规则。精确匹配是指当待识别应用的应用信息中的域名(或URL)和host-text(或url-text)完全一致,才能命中白名单规则。
示例性的,白名单规则中的目标词语至少包括词语1、词语2、词语3和词语4。其中,词语1包括“taxi”、“driver”、“Driver”“daijia”“Taxi”“driving、…”。词语1用于表征应用可能是与代驾、出租车、司机接单版本等相关的应用。词语2包括“com.qihoo.magic”。词语3为360的奇虎分身大师。词语3包括 “swiftpass.enterprise”。词语3用于表征银行的APP。词语4包括“.messenger”。词语4用于表征电报收到的消息。
高风险规则包括流氓应用对应的多个分类词。例如,多个分类词包括分类词1、分类词2、分类词3、分类词4、分类词5、分类词6、分类词7和分类词8。分类词1包括clean/clear/qingli/safe等。分类词1说明该应用可能是清洁软件、杀毒软件。分类词2包括wifi/wf等。分类词2说明该应用可能是万能wifi系列应用。分类词3包括Weather/tq等。分类词3说明该应用可能是天气类应用。分类词4包括Calendar/rl等。分类词4说明该应用可能是日历类应用。分类词5包括Show/ring等。分类词5说明该应用可能是来电秀类应用。分类词6包括Walk/xmbranch等。分类词6说明该应用可能是计步类应用。分类词7包括Power等。分类词7说明该应用可能是省电系列应用。分类词8包括Server/yl/ntyy/cts。当待识别应用的应用信息中包括上述多个分类词中的至少一项时,认为待识别应用是流氓应用。需要说明的是,流氓应用对应的多个分类词不限于上述公开的分类词,还可以包括其他分类词,本申请对此不作限制。
当确定待识别应用是流氓应用时,服务器可以将待识别应用设置到黑名单中。之后可以将黑名单发送至终端设备,从而避免终端设备下载黑名单中的流氓应用。
也就是说,当训练后的流氓应用识别模型认为待识别应用是流氓应用的情况下,为了得到更加准确的识别结果,本公开还引入预设规则,预设规则可以包括白名单规则和高风险规则,通过这两个规则可以对待识别应用的识别结果进行更严格的把控,从多方面提高待识别应用的识别准确性。
在另一些示例中,通过大量的数据分析发现,流氓应用的公司大概率开发的应用也是流氓应用。从这一方面考虑,服务器可以根据一个流氓应用识别出更多的流氓应用。例如,根据一个流氓应用的开发公司查询该开发公司旗下上市的其他流氓应用。这样,能够大大提升流氓应用的识别的效率和速度。在识别出其他流氓应用后,服务器可以将所有的流氓应用的信息全部同步到黑名单。之后还可以将黑名单下发至终端设备。从而避免终端设备下载黑名单中的流氓应用。如图9所示,在确定应用2是流氓应用后,可以通过应用2的应用信息中的同开发者应用查询到开发应用2的公司开发的其他应用,即应用3、应用4、应用5和应用6。则认为应用3、应用4、应用5和应用6都是流氓应用。
由于流氓应用存在大量的恶意行为(例如,弹广告等),所以采用本公开的方案,获取待识别应用的应用数据(即应用行为数据和用户行为数据)。该应用行为数据和用户行为数据可以清楚的说明待识别应用是否存在恶意行为。然后继续对该应用行为数据和用户行为数据进行统计和分析,得到应用特征数据和应用分析特征。应用特征数据和应用分析特征会明显的朝向两个方向,分别是方向1(数值大),代表恶意行为多。方向2(数值小),代表恶意行为少。基于应用特征数据和应用分析特征可以更加直观的说明待识别应用是否存在恶意行为以及恶意行为的数量,从而为待识别应用是否为流氓应用提供判断基础。之后,本公开利用应用行为数据、用户行为数据、应用特征数据以及应用分析特征,得到训练后的流氓应用识别模型。由于训练数据集可以清楚说明待识别应用是否存在恶意行为以及恶意行为的数量,因此,利用训练数据集得到的训练后的流氓应用识别模型也可以更加精确的识别待识别应用是否为流氓应用。
为了便于理解,下面结合附图10对本申请实施例提供的流氓应用的识别方法进行说明。如图10所示,该流氓应用的识别方法可以包括以下步骤1001-步骤1004。
步骤1001、获取预设时长内,待识别应用的应用数据,应用数据包括应用行为数据和用户行为数据,应用行为数据用于表征待识别应用触发的行为;用户行为数据用于表征用户针对待识别应用触发的行为。
在一些示例中,应用行为数据包括锁屏后台弹窗、桌面后台弹窗、待识别应用后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起待识别应用、待识别应用后台启动活动以及后台弹窗且访问广告网址库中的至少一项。
用户行为数据包括安装待识别应用、卸载待识别应用以及更新待识别应用中的至少一项。
本申请实施例中获取预设时长内,待识别应用的应用数据,可以参考上述图6所示的实施例中的步骤601-步骤606,本申请实施例在此不再赘述。
步骤1002、对应用数据进行统计处理,得到应用特征数据。
在一些示例中,应用特征数据包括多周期应用特征数据,多周期应用特征数据包括多个单周期应用特征数据,单周期应用特征数据包括单周期应用特征数据和单周期应用行为特征数据,单周期应用特征数据包括单周期用户数特征数据、单周期行为次数特征数据、单周期时间跨度特征数据以及单周期行为次数分布特征数据;单周期用户行为特征数据包括单周期用户行为统计特征和单周期用户行为比例特征。
本申请实施例中对应用数据进行统计处理,得到应用特征数据,可以参考上述图6所示的实施例中的步骤607,本申请实施例在此不再赘述。
步骤1003、对应用特征数据进行分析处理,得到应用分析特征。
在一些示例中,应用分析特征包括聚合特征和记录特征。
在一些示例中,对应用特征数据进行聚合处理,得到应用特征数据对应的聚合特征;聚合特征包括平均值、最大值、最小值、标准差和变异系数中的至少一项;对应用特征数据进行记录处理,得到应用特征数据对应的记录特征。
本申请实施例中对应用特征数据进行分析处理,得到应用分析特征,可以参考上述图6所示的实施例中的步骤608,本申请实施例在此不再赘述。
步骤1004、利用应用数据、应用统计特征以及应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型,训练后的流氓应用识别模型具有识别应用是否是流氓应用的功能。
本申请实施例中利用应用数据、应用统计特征以及应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型,可以参考上述图6所示的实施例中的步骤609,本申请实施例在此不再赘述。
在一些示例中,在步骤1004之后,方法还可以包括:利用训练后的流氓应用识别模型识别待识别应用,得到待识别应用对应的第一识别结果,第一识别结果包括待识别应用是流氓应用或待识别应用是非流氓应用。
其中,第一识别结果可以是上述图6所示的实施例中的步骤610中的识别结果。
本申请实施例中利用训练后的流氓应用识别模型识别待识别应用,得到待识别应用对应的第一识别结果,可以参考上述图6所示的实施例中的步骤610,本申请实施例在此不再赘述。
在另一些示例中,在步骤1004之后,方法还可以包括:在第一识别结果为流氓应用的情况下,基于预设规则对待识别应用进行判断,得到第二识别结果,预设规则用于对第一识别结果进行校正。
其中,预设规则包括白名单规则和/或高风险规则,高风险规则包括若待识别应用的应用信息中包括流氓应用对应的分类词时,确定待识别应用为流氓应用。第二识别结果可以是上述图6所示的实施例中的步骤611中的判断结果。
在一些示例中,在预设规则包括白名单规则的情况下,上述基于预设规则对待识别应用进行判断,得到第二识别结果,可以包括:利用白名单规则,在待识别应用的应用信息中包括白名单应用对应的分类词时,确定待识别应用为白名单应用,即待识别应用为非流氓应用。
在待识别应用的应用信息中不包括白名单应用对应的分类词时,确定待识别应用为非白名单应用。在确定待识别应用为非白名单应用时可以继续结合高风险规则进行判断。
在一些示例中,在预设规则包括高风险规则的情况下,上述基于预设规则对待识别应用进行判断,得到第二识别结果,可以包括:利用高风险规则,在待识别应用的应用信息中包括流氓应用对应的分类词时,确定待识别应用为流氓应用。
在待识别应用的应用信息中不包括流氓应用对应的分类词时,可以继续结合白名单规则进行判断。
在一些示例中,在预设规则包括白名单规则和高风险规则的情况下,上述基于预设规则对待识别应用进行判断,得到第二识别结果,可以包括:利用白名单规则,在待识别应用的应用信息中包括白名单应用对应的分类词时,确定待识别应用为白名单应用,即待识别应用为非流氓应用。
在待识别应用的应用信息中不包括白名单应用对应的分类词时,利用高风险规则,在非白名单应用的应用信息中包括流氓应用对应的分类词时,确定待识别应用为流氓应用。
在另一些示例中,在预设规则包括白名单规则和高风险规则的情况下,上述基于预设规则对待识别应用进行判断,得到第二识别结果,可以包括:利用高风险规则,在待识别应用的应用信息中不包括流氓应用对应的分类词时,利用白名单规则,在待识别应用的应用信息中包括白名单应用对应的分类词时,确定待识别应用为非流氓应用。
需要说明的是,在预设规则包括白名单规则和高风险规则的情况下,可以先利用白名单规则对待识别应用进行判断,再利用高风险规则对待识别应用进行判断。还可以先利用高风险规则对待识别应用进行判断,再利用白名单规则对待识别应用进行判断。或者,同时利用白名单规则和高风险规则对待识别应用进行判断,并根据白名单规则输出的结果和高风险规则输出的结果综合判断。
本申请实施例中在第一识别结果为流氓应用的情况下,基于预设规则对待识别应用进行判断,得到第二识别结果,预设规则用于对第一识别结果进行校正,可以参考上述图6所示的实施例中的步骤611,本申请实施例在此不再赘述。
对应于前述实施例中的方法,本公开实施例还提供一种流氓应用的识别装置。该流氓应用的识别装置可以应用于电子设备,用于实现前述实施例中的方法。该流氓应用的识别装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
例如,图11示出了一种流氓应用的识别装置1100的结构示意图,如图11所示,该流氓应用的识别装置1100可以包括:获取模块1101、处理模块1102和训练模块1103等。
其中,获取模块1101,被配置为获取预设时长内,待识别应用的应用数据,应用数据包括应用行为数据和用户行为数据,应用行为数据用于表征待识别应用触发的行为;用户行为数据用于表征用户针对待识别应用触发的行为。
处理模块1102,被配置为对应用数据进行统计处理,得到应用特征数据。
处理模块1102,还被配置为对应用特征数据进行分析处理,得到应用分析特征。
训练模块1103,被配置为利用应用数据、应用特征数据以及应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型,训练后的流氓应用识别模型具有识别应用是否为流氓应用的功能。
在一种可能的实现方式中,流氓应用的识别装置还包括识别模块1104。识别模块1104,被配置为利用训练后的流氓应用识别模型识别待识别应用,得到待识别应用对应的第一识别结果,第一识别结果包括待识别应用是流氓应用或待识别应用是非流氓应用。
在一种可能的实现方式中,识别模块1104,还被配置为在第一识别结果为流氓应用的情况下,基于预设规则对待识别应用进行判断,得到第二识别结果,预设规则用于对第一识别结果进行校正。
在一种可能的实现方式中,预设规则包括白名单规则和/或高风险规则,高风险规则包括若待识别应用的应用信息中包括流氓应用对应的分类词,确定待识别应用为流氓应用。
在一种可能的实现方式中,识别模块1104,还被配置为利用白名单规则,在待识别应用的应用信息中不包括白名单应用对应的分类词时,确定待识别应用为非白名单应用;利用高风险规则,在待识别应用的应用信息中包括流氓应用对应的分类词时,确定待识别应用为流氓应用。
在一种可能的实现方式中,应用特征数据包括多周期应用特征数据,多周期应用特征数据包括多个单周期应用特征数据,单周期应用特征数据包括单周期应用特征数据和单周期用户行为特征数据,单周期应用特征数据包括单周期用户数特征数据、单周期行为次数特征数据、单周期时间跨度特征数据以及单周期行为次数分布特征数据;单周期用户行为特征数据包括单周期用户行为统计特征和单周期用户行为比例特征。
在一种可能的实现方式中,应用分析特征包括聚合特征和记录特征;处理模块1102,还被配置为对应用特征数据进行聚合处理,得到应用特征数据对应的聚合特征;聚合特征包括平均值、最大值、最小值、标准差和变异系数中的至少一项;对应用特征数据进行记录处理,得到应用特征数据对应的记录特征。
在一种可能的实现方式中,应用行为数据包括锁屏后台弹窗、桌面后台弹窗、待识别应用后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起待识别应用、待识别应用后台启动活动以及后台弹窗且访问广告网址库中的至少一项;用户行为数据包括安装待识别应用、卸载待识别应用以及更新待识别应用中的至少一项。
应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
最后,结合图12所示的一种流氓应用的识别架构图来详细介绍本申请提供的流氓应用的识别方法。
如图12所示,该流氓应用识别架构图由端侧(例如终端设备)和云侧(例如服务器)执行。其中,终端设备包括打点数据采集模块、Kit开放模块、感知中台1、数据中台、决策中台、计算引擎、端侧安全管控名单以及管控执行模块。
打点数据采集模块包括动态行为采集单元、系统事件监听单元以及静态数据。打点数据采集模块用于采集待识别应用的应用数据(即应用行为数据和用户行为数据)。
Kit开放模块包括数据输入单元。Kit开放模块用于接收来自打点数据采集模块采集的待识别应用的应用数据。
感知中台1包括事件监听模块。感知中台1用于获取Kit开放模块接收的待识别应用的应用数据。
数据中台包括数据存储上模块。数据中台用于存储感知中台1的数据,并将存储的待识别应用的应用数据发送到服务器的机器学习平台。
决策中台包括触发决策风险识别模块和结果导出模块。决策中台用于获取感知中台1的待识别应用的应用数据,并基于感知中台1的待识别应用的应用数据生成识别结果(识别结果至少包括识别出的流氓应用以及病毒应用等等),接着将识别结果存储至端侧安全管控名单。
计算引擎包括模型管理模块和模型推理模块。计算引擎用于为模型处理提供支持。
端侧安全管控名单至少包括流氓应用名单以及病毒名单。端侧安全管控名单可以按照固定周期被下发至管控执行模块,以使管控执行模块按照端侧安全管控名单对终端设备的业务进行管控。
服务器包括机器学习平台、感知中台2、管理前台以及安全云平台。
机器学习平台包括事中识别模型训练模块、事后识别模型训练模块以及事后识别模型推理模块。机器学习平台用于训练模型和使用模型。
感知中台2包括事后识别处理模块和事中识别处理模块。机器学习平台中的事后识别模型推理模块可以将识别结果(即待识别应用是否为流氓应用的识别结果)发送至感知中台2中的事后识别处理模块。终端设备中的决策中台可以将识别结果发送至感知中台2中的事中识别处理模块。事后识别处理模块和事中识别处理模块可以将得到的识别结果一起发送至管理前台。
管理前台包括黑名单结果审核模块和黑名单结果分发模块。工作人员可以基于黑名单结果审核模块中的黑名单内容审核黑名单。黑名单结果分发模块用于将审核后的黑名单发送到安全云平台。安全云平台包括黑白名单以及行为采集规则。最后安全云平台可以把黑白名单下发到端侧安全管控名单,以起到补充更新黑白名单的目的。
本申请提供的流氓应用的识别方法主要涉及上述流氓应用识别架构图中的动态行为采集单元、事后识别模型训练模块、事后识别模型推理模块以及事后识别处理模块。
基于动态行为采集单元、事后识别模型训练模块、事后识别模型推理模块以及事后识别处理模块,流氓应用的识别方法详细执行过程如下:首先,终端设备利用动态行为采集单元采集待识别应用对应的应用数据。该部分内容可以参考步骤601-步骤604,在此暂不赘述。然后,终端设备将待识别应用对应的应用数据发送至服务器。该部分内容可以参考步骤605,在此暂不赘述。接着,服务器接收待识别应用对应的应用数据,并基于待识别应用对应的应用数据,利用事后识别模型训练模块训练流氓应用识别模型,以得到训练后的流氓应用识别模型。该部分内容可以参考步骤606-步骤609,在此暂不赘述。再然后,服务器利用事后识别模型推理模块,使用训练后的流氓应用识别模型对待识别应用进行识别,输出识别结果。该部分内容可以参考步骤610,在此暂不赘述。最后,当识别结果输出待识别应用为流氓应用的情况下,将该识别结果输入事后识别处理模块,事后识别处理模块可以利用白名单规则和/或高风险规则对待识别应用进行进一步判断,以输出待识别应用的判断结果。该部分内容可以参考步骤611,在此暂不赘述。
应理解,本申请提供的上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或这些集成电路形式中至少两种的组合。
再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统SOC的形式实现。
在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例的方法。
例如,本公开实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例的流氓应用的识别方法。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述的电子设备上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
例如,本公开实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施例中的方法。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备可以实现如上述的流氓应用的识别方法。
本公开实施例还提供一种计算机程序产品,包括如上述电子设备运行的计算机指令,当计算机指令在电子设备中运行时,使得电子设备实可以现如上述的流氓应用的识别方法。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
例如,本公开实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中的流氓应用的识别方法。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种流氓应用的识别方法,其特征在于,方法包括:
获取预设时长内,待识别应用的应用数据,所述应用数据包括应用行为数据和用户行为数据,所述应用行为数据用于表征所述待识别应用触发的行为;所述用户行为数据用于表征用户针对所述待识别应用触发的行为;所述用户行为数据包括安装所述待识别应用、卸载所述待识别应用以及更新所述待识别应用中的至少一项;
对所述应用数据进行统计处理,得到应用特征数据;所述应用特征数据包括多周期应用特征数据,所述多周期应用特征数据包括多个单周期应用特征数据,所述单周期应用特征数据包括单周期应用行为特征数据和单周期用户行为特征数据,所述单周期应用行为特征数据包括单周期用户数特征数据、单周期行为次数特征数据、单周期时间跨度特征数据以及单周期行为次数分布特征数据;所述单周期用户行为特征数据包括单周期用户行为统计特征和单周期用户行为比例特征;
对所述应用特征数据进行分析处理,得到应用分析特征;
利用所述应用数据、所述应用特征数据以及所述应用分析特征训练流氓应用识别模型,得到训练后的流氓应用识别模型,所述训练后的流氓应用识别模型具有识别应用是否为流氓应用的功能。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用训练后的流氓应用识别模型识别所述待识别应用,得到所述待识别应用对应的第一识别结果,所述第一识别结果包括所述待识别应用是流氓应用或所述待识别应用是非流氓应用。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一识别结果为流氓应用的情况下,基于预设规则对所述待识别应用进行判断,得到第二识别结果,所述预设规则用于对所述第一识别结果进行校正。
4.根据权利要求3所述的方法,其特征在于,预设规则包括白名单规则和/或高风险规则,所述高风险规则包括若所述待识别应用的应用信息中包括流氓应用对应的分类词,确定所述待识别应用为流氓应用。
5.根据权利要求4所述的方法,其特征在于,所述基于预设规则对所述待识别应用进行判断,得到第二识别结果,包括:
利用所述白名单规则,在所述待识别应用的应用信息中不包括白名单应用对应的分类词时,确定所述待识别应用为非白名单应用;
利用所述高风险规则,在所述待识别应用的应用信息中包括所述流氓应用对应的分类词时,确定所述待识别应用为流氓应用。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述应用分析特征包括聚合特征和记录特征;所述对所述应用特征数据进行分析处理,得到所述应用分析特征,包括:
对所述应用特征数据进行聚合处理,得到所述应用特征数据对应的聚合特征;所述聚合特征包括平均值、最大值、最小值、标准差和变异系数中的至少一项;
对所述应用特征数据进行记录处理,得到所述应用特征数据对应的记录特征。
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述应用行为数据包括锁屏后台弹窗、桌面后台弹窗、所述待识别应用后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起所述待识别应用、所述待识别应用后台启动活动以及后台弹窗且访问广告网址库中的至少一项。
8.一种电子设备,其特征在于,所述电子设备包括处理器,用于存储所述处理器可执行指令的存储器;所述处理器被配置为执行所述指令时,使得所述电子设备实现如权利要求1至7中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序指令;其特征在于,
当所述计算机程序指令被电子设备执行时,使得电子设备实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310657717.2A CN116414269B (zh) | 2023-06-06 | 2023-06-06 | 流氓应用的识别方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310657717.2A CN116414269B (zh) | 2023-06-06 | 2023-06-06 | 流氓应用的识别方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116414269A CN116414269A (zh) | 2023-07-11 |
CN116414269B true CN116414269B (zh) | 2023-10-20 |
Family
ID=87059662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310657717.2A Active CN116414269B (zh) | 2023-06-06 | 2023-06-06 | 流氓应用的识别方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116414269B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205111A (zh) * | 2012-03-19 | 2014-12-10 | 高通股份有限公司 | 用以检测恶意软件的计算装置 |
WO2019125516A1 (en) * | 2017-12-23 | 2019-06-27 | Barkly Protects, Inc. | Continuous malicious software identification through responsive machine learning |
CN112347479A (zh) * | 2020-10-21 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
CN113486350A (zh) * | 2021-08-18 | 2021-10-08 | 平安普惠企业管理有限公司 | 恶意软件的识别方法、装置、设备及存储介质 |
CN115221516A (zh) * | 2022-07-13 | 2022-10-21 | 中国电信股份有限公司 | 恶意应用程序识别方法及装置、存储介质、电子设备 |
CN115408696A (zh) * | 2022-11-02 | 2022-11-29 | 荣耀终端有限公司 | 应用识别方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086769B2 (en) * | 2019-03-25 | 2021-08-10 | Aurora Labs Ltd. | Proving whether software functionality has changed following a software change |
-
2023
- 2023-06-06 CN CN202310657717.2A patent/CN116414269B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205111A (zh) * | 2012-03-19 | 2014-12-10 | 高通股份有限公司 | 用以检测恶意软件的计算装置 |
WO2019125516A1 (en) * | 2017-12-23 | 2019-06-27 | Barkly Protects, Inc. | Continuous malicious software identification through responsive machine learning |
CN112347479A (zh) * | 2020-10-21 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
CN113486350A (zh) * | 2021-08-18 | 2021-10-08 | 平安普惠企业管理有限公司 | 恶意软件的识别方法、装置、设备及存储介质 |
CN115221516A (zh) * | 2022-07-13 | 2022-10-21 | 中国电信股份有限公司 | 恶意应用程序识别方法及装置、存储介质、电子设备 |
CN115408696A (zh) * | 2022-11-02 | 2022-11-29 | 荣耀终端有限公司 | 应用识别方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116414269A (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106133642B (zh) | 在移动设备中通过执行行为分析操作推断应用状态的方法和系统 | |
CN110431585B (zh) | 一种用户画像的生成方法及装置 | |
US11526701B2 (en) | Method and system of performing data imbalance detection and correction in training a machine-learning model | |
US20160381057A1 (en) | Customized Network Traffic Models To Detect Application Anomalies | |
US11521115B2 (en) | Method and system of detecting data imbalance in a dataset used in machine-learning | |
US20200380398A1 (en) | Remote Validation of Machine-Learning Models for Data Imbalance | |
US20150100887A1 (en) | Metering user behaviour and engagement with user interface in terminal devices | |
US20200380309A1 (en) | Method and System of Correcting Data Imbalance in a Dataset Used in Machine-Learning | |
CN110458360B (zh) | 热门资源的预测方法、装置、设备及存储介质 | |
CN109784351B (zh) | 行为数据分类方法、分类模型训练方法及装置 | |
CN112069414A (zh) | 推荐模型训练方法、装置、计算机设备及存储介质 | |
CN110782289B (zh) | 一种基于用户画像的业务推荐方法和系统 | |
EP3276487B1 (en) | Method of detecting similar applications and electronic device adapted to the same | |
CN114881711B (zh) | 基于请求行为进行异常分析的方法及电子设备 | |
US20220138237A1 (en) | Systems, devices, and methods for content selection | |
CN110119340A (zh) | 异常监测方法、装置、电子设备和存储介质 | |
CN109934194A (zh) | 图片分类方法、边缘设备、系统及存储介质 | |
CN110019813A (zh) | 寿险案例检索方法、检索装置、服务器及可读存储介质 | |
CN116414269B (zh) | 流氓应用的识别方法和电子设备 | |
KR102407241B1 (ko) | 렌탈 마켓 시스템 | |
CN113762585B (zh) | 数据的处理方法、账号类型的识别方法及装置 | |
US20160300138A1 (en) | Method and system for context-based intent verification | |
CN112765470A (zh) | 内容推荐模型的训练方法、内容推荐方法、装置及设备 | |
CN116739627B (zh) | 一种产品销量预测方法和电子设备 | |
US20240080371A1 (en) | System for use-case classification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |