发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种广告插件识别系统和相应的一种广告插件识别方法。
依据本发明的一个方面,提供了一种广告插件识别方法,包括:
查找应用插件相关的各文件;
基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;
根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件。
可选的,还包括:
通过云端服务器分析广告样本库中的各应用插件获取各特征维度下的特征数据,并根据所述特征数据构建广告的特征向量集。
可选的,还包括:
根据用户对应用插件的反馈信息,将反馈为包括广告的应用插件补充进入所述广告应用插件样本库。
可选的,还包括:
在云端服务器将所述各特征向量维度下的特征数据构建的广告的特征向量集预编译为二进制的XML格式。
可选的,所述基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度包括:
根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据;
将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度。
可选的,所述根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据包括:
扫描所述应用插件的安装包,从所述安装包获取所述广告的特征向量集中安装包维度下的各特征信息作为第一特征向量;
和/或,扫描所述配置文件,从所述配置文件中获取所述广告的特征向量集中配置信息维度下的各声明信息作为第一特征向量;
和/或,扫描所述可执行文件中的常量池,从所述常量池获取所述广告的特征向量集中常量池维度下的各字符串作为第一特征向量;
和/或,扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中包名和类名维度下的各包名和类名作为第一特征向量;
和/或,扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中类继承关系序列维度下的各类继承关系作为第一特征向量;
和/或,扫描所述可执行文件中的方法描述符,从所述方法描述符中获取所述广告的特征向量集中函数调用序列维度下的各函数调用序列作为第一特征向量。
可选的,所述将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度包括:
将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量对应的各种特征匹配条件进行匹配,根据匹配结果计算该特征维度下的特征向量相似度。
可选的,还包括:
记录对各应用插件扫描判断结果;当再次扫描时,根据对对各应用插件扫描判断结果的记录,跳过对已判断的应用插件的扫描。
可选的,所述的查找应用插件相关的各文件包括:
查找智能移动终端的应用平台中的应用插件相关的各文件。
可选的,判定所述应用插件是否为广告插件之后还包括:
检测所述广告插件对智能移动终端系统的操作行为。
依据本发明的另一个方面,还提供了一种广告插件识别系统,包括:
查找模块,适于查找应用插件相关的各文件;
特征扫描模块,适于基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;
广告相似度计算模块,适于根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
判断模块,适于将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件。
可选的,还包括:
云端服务器,所述云端服务器包括:
特征向量集构建模块,适于通过云端服务器分析广告样本库中的各应用插件获取各特征维度下的特征数据,并根据所述特征数据构建广告的特征向量集。
可选的,所述云端服务器还包括:
反馈补充模块,适于根据用户对应用插件的反馈信息,将反馈为包括广告的应用插件补充进入所述广告应用插件样本库。
可选的,还包括:
特征向量集转换模块,适于在云端服务器将所述各特征向量维度下的特征数据构建的广告的特征向量集预编译为二进制的XML格式。
可选的,所述特征扫描模块包括:
特征数据提取模块,用于根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据;
特征数据分析模块,用于将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度。
可选的,所述特征数据提取模块包括:
应用插件扫描模块,适于扫描所述应用插件的安装包,从所述安装包获取所述广告的特征向量集中安装包维度下的各特征信息作为第一特征向量;
和/或配置信息维度获取模块,适于扫描所述配置文件,从所述配置文件中获取与预置的广告的特征向量集中配置信息维度下的特征值相匹配的特征值;
和/或,常量池维度获取模块,适于扫描所述可执行文件中的常量池,从所述常量池获取与预置的广告的特征向量集中常量池维度下的各字符串相匹配的字符串;
和/或,包名和类名获取模块,适于扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中包名和类名维度下的各包名和类名作为第一特征向量;
和/或,类继承关系维度获取模块,适于扫描所述可执行文件中的类结构,从所述类结构中获取与预置的广告的特征向量集中类继承关系序列维度下的各类继承关系相匹配的类继承关系;
和/或,函数调用序列维度获取模块,适于扫描所述可执行文件中的方法描述符,从所述方法描述符中获取与预置的广告的特征向量集中函数调用序列维度下的各函数调用序列相匹配的函数调用序列。
可选的,所述特征数据分析模块包括:第一分析模块,食欲将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量对应的各种特征匹配条件进行匹配,根据匹配结果计算该特征维度下的特征向量相似度。
可选的,还包括:
记录模块,适于记录对各应用插件扫描判断结果;
进一步的,还包括快速扫描模块,适于当再次扫描时,根据对对各应用插件扫描判断结果的记录,跳过对已判断的应用插件的扫描。
可选的,所述查找模块包括:
第一查找模块,用于查找智能移动终端的应用平台中的应用插件相关的各文件。
可选的,还包括:行为检测模块,适于判定所述应用插件是否为广告插件之后,检测所述广告插件对智能移动终端系统的操作行为。
根据本发明的一种广告插件识别方法可以针对智能终端的应用插件分析各种特征维度下的特征数据,结合各种特征维度下的特征数据综合判断应用插件是否包括广告插件,由此解决了现有技术无法精确的识别广告插件,无法对混淆后的应用进行广告插件识别,广告插件识别率低的等问题,取得了有完善的特征识别规则,并可结合云端数据进行特征识别,实现了广告软件的精、准识别,对混淆后的广告软件代码具有较高的特征匹配识别能力,并且能够对识别出来的广告插件进行有效的行为检测的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,其示出了本发明实施例一的一种广告插件识别方法的流程示意图,具体可以包括:
步骤110,查找应用插件相关的各文件;
在本发明实施例中,在识别时,对于新安装的应用插件,查找应用插件的安装包及安装包的释放位置的相关文件,比如一个应用的应用插件在手机存储于手机SD卡(Secure Digital Memory Card,安全数码卡),比如在的根目录下,为SD:\A文件,该应用插件安装后其释放的文件在手机SD卡的SD:\program\m1文件中,文件包括配置文件,可执行文件(比如.Dex文件,.Dex文件一般为Android安卓系统的执行文件。)
另外对于安装完毕被删除安装包的文件,可扫描应用插件安装释放位置的文件,比如配置文件,可执行文件等。
优选的,步骤110可以为:查找智能移动终端的中的应用插件相关的各文件中的应用插件相关的各文件。
即本申请针对智能移动终端中的应用插件。比如智能手机中的APP等插件。
步骤120,基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;
在本发明中,优选的,还包括:
步骤S100,通过云端服务器分析广告样本库中的各应用插件获取各特征维度下的特征数据,并根据所述特征数据构建广告的特征向量集。
在本发明实施例中,可预先由构建广告的特征向量集D(d1,d2,d3.....dn),其中n为特征向量个数,其中每个特征向量对应特征匹配条件,,比如:
1)常量池维度特征向量
通过字符串常量池识别插件特定的广告特征,比如说很多插件版本号的字符串、广告插件联网域名字符串都会保存在常量池。
那么该维度中,比如统计广告软件的常量池得到100个字符串,其中存在各种字符条件组合,比如字符串A且字符串B,字符串C或字符串D或字符串E,非字符串F,等字符串条件才能判断属于广告插件的常量值维度的特征向量。那么“字符串A且字符串B,字符串C或字符串D或字符串E,非字符串F”及为该特征向量的特征匹配条件。
2)包名和类名维度特征向量
广告插件都会包含特定包名和类名,通过该信息可以判定是否含有特定的广告插件。然而很多广告插件会随着广告应用宿主的混淆而混淆,所以包名与类型特征值的选取应该是不会混淆的类名,比如说插件中包含的服务等组件的类名,还有广告View的类名。
3)配置信息维度特征向量
清单文件及配置中声明的信息,有些广告插件会在该文件中声明需要的信息,根据该特征可以提高识别率。很多广告插件会在例如AndroidMenifest.xml或者自定义的配置文件中存放广告插件的AppKey等信息。其中AppKey是广告提供商提供给开发者的唯一性Id。
4)类继承关系序列维度特征向量
广告插件识别在特定应用场景下,可能需要精确识别程序安装包里面的广告组件,而不是是否包含广告。这时候有些组件可以继承自某个已知的广告组件,这时候根据继承关系序列可以判定是否为广告组件。
那么该维度中,比如统计用于识别广告软件的类继承关系为类a->类b->类c,或者类a->类b->类d,那么“类a->类b->类c,或者类a->类b->类d”即为该维度下的特征匹配条件。
5)函数调用序列维度特征向量
根据对程序代码进行扫描,可以确定函数调用序列,通过分析函数调用序列,确定是否包含可疑的广告发送行为。
那么该维度中,比如统计用于识别广告软件的函数调用序列为函数a->函数b->函数c+函数d,或者类f->类b>函数c+函数d,那么“函数a->函数b->函数c+函数d,或者类f->类b>函数c+函数d”即为该维度下的特征匹配条件。
6)安装包维度特征向量
比如例如对于已经确定为广告的插件,可以通过下发其安装包的md5来判定该特征。
上述特征向量可由云端对的广告插件样本库中的各应用插件样本进行分析和统计获得,比如对1)至5),可对每个应用插件进行如下分析:
扫描所述配置文件,从所述配置文件中获取所述广告的特征向量集中配置信息维度下的各声明信息作为第一特征向量;
扫描所述可执行文件中的常量池,从所述常量池获取所述广告的特征向量集中常量池维度下的各字符串作为第一特征向量;
扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中包名和类名维度下的各包名和类名作为第一特征向量;
扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中类继承关系序列维度下的各类继承关系作为第一特征向量;
扫描所述可执行文件中的方法描述符,从所述方法描述符中获取所述广告的特征向量集中函数调用序列维度下的各函数调用序列作为第一特征向量。
可执行文件,以.Dex文件为例,通过.Dex文件头部索引以及偏移值可以查找到类结构的位置,从而可在该结构中提取到包名和类名,以及根据每个类的父子继承关系可以查找到类继承关系,还可根据通过.Dex文件头部索引以及偏移值查找到方法描述符位置,方法描述符记录了该插件执行过程中各种方法的函数之间的调用关系,那么即可查找函数调用关系。
对于6),可以对用户量较多的广告软件运用云端数据实现特征语义分析,达到快速、准确识别的目的,1)至5)的几个特征识别方案可以适用于大部分情况。对于安装包特定的特征更多的是要结合云端数据,例如通过云端和用户的反馈,已经确定为广告的插件,可以通过下发其安装包的md5来判定是否为广告插件。
另外,还包括:
步骤S121,根据用户对应用插件的反馈信息,将反馈为包括广告的应用插件补充进入所述广告应用插件样本库。
即可持续不断的接收用户对各种软件的反馈,根据反馈结果可将反馈为广告插件达到一定值的插件加入广告样本库,不断完善数据源,提高广告的特征向量集的准确度。
可选的,还包括:在云端服务器将所述各特征向量维度下的特征数据构建广告的特征向量集预编译为二进制的XML格式。
特征数据会预编译成二进制xml格式,首先会有较快的解析速度,适合于手机设备这样的低内存、低CPU的设备解析,再次因为会把xml文件中冗余的属性名、元素等字符串放在公共的字符串池中通过索引进行引用,可以大大减少数据文件的体积,适合于网络,特别是移动网络传输。在本发明实施例中,在构建了广告的特征向量集后,及可进行步骤120。
可选的,所述基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度包括:
步骤A11,根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据;
由于每种特征向量需要扫描指定文件或者指定位置才能获得,那么需要扫描预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据。
可选的,所述根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据包括:
步骤b11,扫描所述应用插件的安装包,从所述安装包获取所述广告的特征向量集中安装包维度下的各特征信息作为第一特征向量;
比如扫描应用插件对应的安装包,计算其md5值,将该md5值作为安装包维度下特征向量的特征值。
和/或,步骤b12,扫描所述配置文件,从所述配置文件中获取所述广告的特征向量集中配置信息维度下的各声明信息作为第一特征向量;
比如从扫描文件的安装包的释放位置,扫描该安装包释放得到的配置文件,比如AndroidMenifest.xml等配置文件,从中提取声明信息,比如AppKey,作为该维度下特征向量的特征值。
和/或,步骤b13,扫描所述可执行文件中的常量池,从所述常量池获取所述广告的特征向量集中常量池维度下的各字符串作为第一特征向量;
通过字符串常量池识别插件特定的广告特征,比如说很多插件版本号的字符串、广告插件联网域名字符串都会保存在常量池。那么本步骤获取插件版本号的字符串、广告插件联网域名字符串等字符串,作为该维度下特征向量的特征值。
和/或,步骤b14,扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中包名和类名维度下的各包名和类名作为第一特征向量;
比如扫描由应用插件安装包释放得到的.Dex文件,查找其中的类结构,从所述类结构中获取包名和类名,作为包名和类名维度下的特征向量的特征值。
和/或,步骤b15,扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中类继承关系序列维度下的各类继承关系作为第一特征向量;
比如扫描由应用插件安装包释放得到的.Dex文件,查找其中的类结构,从所述类结构中类的指向关系和继承关系,提取类继承关系序列,作为类继承关系序列维度的特征值。
和/或,步骤b16,扫描所述可执行文件中的方法描述符,从所述方法描述符中获取所述广告的特征向量集中函数调用序列维度下的各函数调用序列作为第一特征向量。
比如扫描由应用插件安装包释放得到的.Dex文件,查找其中的方法描述符,从所述方法描述符的记录函数调用关系,提取函数调用关系序列,作为函数调用关系序列维度的特征值。
步骤A12,将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度。
在扫描得到各特征维度下的特征数据后,与广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度。
可选的,所述将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度包括:
步骤b17,将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量对应的各种特征匹配条件进行匹配,根据匹配结果计算该特征维度下的特征向量相似度。
比如前述的对于广告的特征向量集中,常量池特征维度下的“符串A且字符串B,字符串C或字符串D或字符串E,非字符串F”匹配条件,扫描当前的应用插件的常量池得到字符串A、、C、N,那么完全符合匹配条件“”符串C或字符串D或字符串E,非字符串F,可计算相似度为2/3。
对于前述各种特征维度,计算得到每个特征维度i的特征向量相似度后,可得到该插件的特征向量相似度集S(s1,s2,si,...sn)(i=1,2...n),si取值范围为0到1,其中0为完全不相似,1为完全匹配。
步骤130,根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
在本发明中,对于每个特征维度,可设置相应的特征识别权重,然后将特征向量相似度和相应的特征识别权重带入特征向量相似度计算函数f计算当前应用插件的广告相似度V。比如对于前述预置的广告的特征向量集D(d1,d2,d3.....dn),其中n为特征向量个数,可预置广告的特征向量集对应的权重W(w1,w2,w3....wn)。
特别的,实际测试扫描准确度,大部分条件下相似度计算函数f退化为使用加权平均数即可满足条件,也考虑到了加权平均数计算简单,快速,较少的浮点运算,适合于手机等智能移动终端设备,即:v=s1*w1+s2*w2+...+sn*wn。步骤140,将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件。
本发明实施例中还可设置广告相似度阈值t,当v>t时,即可判断所述应用插件是否为广告插件。
可选的,还包括:
步骤C11,记录对各应用插件扫描判断结果;当再次扫描时,根据对对各应用插件扫描判断结果的记录,跳过对已判断的应用插件的扫描。
在本发明实施例中,可能存在智能移动终端重新安装本发明的系统的情况,或者存在重新安装已经安装过的应用插件的情况,那么上述情况中,则可对已经进行扫描判断的应用插件,利用记录的扫描判断结果进行快速扫描和判断。
本发明的应用的场景包括:
1)在最终用户在智能机上可以进行扫描,用户可以看到广告软件有哪些,有哪些行为,用户可以选择卸载该软件。也可以向广告拦截模块提供拦截数据。
2)在智能移动终端的平台上(比如应用市场)上可以对软件进行扫描,这样用户在下载安装前就可以了解到该软件是否为广告软件及其行为。
本发明实施例有完善的特征识别规则,并可结合云端数据进行特征识别,实现了广告软件的精、准识别,对混淆后的广告软件代码具有较高的特征匹配识别能力,提高了广告插件的识别率。
本发明实施例可以针对智能终端的应用插件分析各种特征维度下的特征数据,结合各种特征维度下的特征数据综合判断应用插件是否包括广告插件,由此解决了现有技术无法精确的识别广告插件,无法对混淆后的应用进行广告插件识别,广告插件识别率低的等问题,取得了有完善的特征识别规则,并可结合云端数据进行特征识别,实现了广告软件的精、准识别,对混淆后的广告软件代码具有较高的特征匹配识别能力,并且能够对识别出来的广告插件进行有效的行为检测的有益效果。
实施例二
参照图2,示出了根据本发明一个实施例的二的一种广告插件识别方法的流程示意图,具体可以包括:
步骤210,查找应用插件相关的各文件;
步骤220,基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;所述建广告的特征向量集由云端服务器构建并发送;
步骤230,根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
步骤240,将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件;
步骤250,如果所述应用插件是广告插件,则检测所述广告插件对智能移动终端系统的操作行为。
在本发明实施例中步骤210至步骤240与实施例一的类似步骤基本类似,在此不再加以详述。
对于步骤250,本发明实施例中可设置广告行为分析引擎对广告插件进行行为检测。比如检测广告插件运行时是否请求从网络获取广告内容,是否提取用户的隐私信息,其传输隐私信息的目标是否为外部网络等。又比如,通过主动防御引擎实时监测广告软件的敏感API(Application ProgrammingInterface,应用程序编程接口)调用,比如调用读取短信内容的API;或者来自广告特征中对该插件行为的描述,比如函数调用序列的描述;或者通过对插件代码进行静态分析,是否调用敏感API,比如调用读取联系人的API。该行为检测可在智能移动终端中实时检测以通知给用户,也可在应用插件所在平台中预先检测,再通知给用户。
本发明实施例,在能有效识别广告插件的情况下,可针对性的对广告插件进行行为检测,可提示用户当前广告插件的广告行为。
当然,本发明也可拦截广告插件后续的操作行为,比如检测到调用读取短信内容的API后,本发明则拦截该广告插件对具体广告内容的调用,其他行为的处理方法类似。
本发明实施例有完善的特征识别规则,并可结合云端数据进行特征识别,实现了广告软件的精、准识别,对混淆后的广告软件代码具有较高的特征匹配识别能力,提高了广告插件的识别率,并且可进一步对广告插件的行为进行检测。
实施例三
参照图3,其示出了本发明实施例三的一种广告插件识别方法的流程示意图,具体可以包括:
步骤S200,构建广告的特征向量集;
步骤S210,查找智能移动终端的应用平台中的应用插件相关的各文件;
即本申请可针对在智能移动终端的应用平台中查找应用插件。比如智能手机的应用平台中的各种APP等。
步骤S220,基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;步骤S230,根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
步骤S240,将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件;
步骤S250,如果所述应用插件是广告插件,则检测所述广告插件对智能移动终端系统的操作行为。
在用户的手机终端等智能移动终端下载被识别为广告插件的应用插件时,对用户进行提示,比如提示该应用插件为广告插件,其广告行为包括:调用短信、调用联系人等。
在本实施例中主要是在手机平台上对应用插件进行广告识别和处理,因此,如果对广告插件进行行为检测需要手机的实时信息时,可暂不检测该行为,其他检测方式与实施例二类似。
本实施例中的与实施例而类似的步骤原理也类似,在此不再详述。
本发明实施例有完善的特征识别规则,并可结合云端数据进行特征识别,实现了广告软件的精、准识别,对混淆后的广告软件代码具有较高的特征匹配识别能力,提高了广告插件的识别率,并且可再应用平台中预先对广告插件的行为进行检测。
实施例四
参照图4,示出了本发明实施例的四的一种广告插件识别系统的结构示意图,具体可以包括:
查找模块310,适于查找应用插件相关的各文件;
特征扫描模块320,适于基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;
广告相似度计算模块330,适于根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
判断模块340,适于将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件。
其中,所述查找模块包括:
第一查找模块,用于查找智能移动终端的应用平台中的应用插件相关的各文件。
可选的,还包括:
云端服务器,所述云端服务器包括:
特征向量集构建模块,适于通过云端服务器分析广告样本库中的各应用插件获取各特征维度下的特征数据,并根据所述特征数据构建广告的特征向量集。
可选的,所述云端服务器还包括:
反馈补充模块,适于根据用户对应用插件的反馈信息,将反馈为包括广告的应用插件补充进入所述广告应用插件样本库。
可选的,还包括:
特征向量集转换模块,适于在云端服务器将所述各特征向量维度下的特征数据构建广告的特征向量集预编译为二进制的XML格式。
可选的,所述特征扫描模块包括:
特征数据提取模块,用于根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据;
特征数据分析模块,用于将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度。
可选的,所述特征数据提取模块包括:
应用插件扫描模块,适于扫描所述应用插件的安装包,从所述安装包获取所述广告的特征向量集中安装包维度下的各特征信息作为第一特征向量;
和/或配置信息维度获取模块,适于扫描所述配置文件,从所述配置文件中获取与预置的广告的特征向量集中配置信息维度下的特征值相匹配的特征值;
和/或,常量池维度获取模块,适于扫描所述可执行文件中的常量池,从所述常量池获取与预置的广告的特征向量集中常量池维度下的各字符串相匹配的字符串;
和/或,包名和类名获取模块,适于扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中包名和类名维度下的各包名和类名作为第一特征向量;
和/或,类继承关系维度获取模块,适于扫描所述可执行文件中的类结构,从所述类结构中获取与预置的广告的特征向量集中类继承关系序列维度下的各类继承关系相匹配的类继承关系;
和/或,函数调用序列维度获取模块,适于扫描所述可执行文件中的方法描述符,从所述方法描述符中获取与预置的广告的特征向量集中函数调用序列维度下的各函数调用序列相匹配的函数调用序列。
可选的,所述特征数据分析模块包括:第一分析模块,食欲将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量对应的各种特征匹配条件进行匹配,根据匹配结果计算该特征维度下的特征向量相似度。
可选的,还包括:
记录模块,适于记录对各应用插件扫描判断结果;
进一步的,还包括快速扫描模块,适于当再次扫描时,根据对对各应用插件扫描判断结果的记录,跳过对已判断的应用插件的扫描。
实施例五
参照图5,示出了本发明实施例五的一种广告插件识别系统的结构示意图,具体可以包括:
智能移动终端410和云端服务器420;
所述智能移动终端包括:
查找模块411,适于查找应用插件相关的各文件;
特征扫描模块412,适于基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;
广告相似度计算模块413,适于根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
判断模块414,适于将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件:
行为检测模块415,适于判定所述应用插件是否为广告插件之后,检测所述广告插件对智能移动终端系统的操作行为。
本实施例与实施例四类似,在此不再详述。
实施例六,示出了本发明实施例五的一种广告插件识别系统的结构示意图,具体可以包括:
智能移动终端S410和云端服务器S420;
所述云端服务器S420包括:
向量集构建模块S421,适于构建广告的特征向量集。
查找模块S422,适于查找应用插件相关的各文件;
特征扫描模块S423,适于基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;
广告相似度计算模块S424,适于根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;
判断模块S425,适于将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件:
行为检测模块S426,适于判定所述应用插件是否为广告插件之后,检测所述广告插件对智能移动终端系统的操作行为。
在智能移动终端中,在智能移动终端下载被识别为广告插件的应用插件时,对用户进行提示。
本实施例与实施例五类似,在此不再详述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种广告插件识别设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为适于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了A1、一种广告插件识别方法,包括:查找应用插件相关的各文件;基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件。
A2、如A1所述的方法,还包括:通过云端服务器分析广告样本库中的各应用插件获取各特征维度下的特征数据,并根据所述特征数据构建广告的特征向量集。
A3、如A2所述的方法,还包括:根据用户对应用插件的反馈信息,将反馈为包括广告的应用插件补充进入所述广告应用插件样本库。
A4、如A2所述的方法,还包括:在云端服务器将所述各特征向量维度下的特征数据构建的广告的特征向量集预编译为二进制的XML格式。
A5、如A1所述的方法,所述基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度包括:根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据;将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度。
A6、如A5所述的方法,所述根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据包括:扫描所述应用插件的安装包,从所述安装包获取所述广告的特征向量集中安装包维度下的各特征信息作为第一特征向量;和/或,扫描所述配置文件,从所述配置文件中获取所述广告的特征向量集中配置信息维度下的各声明信息作为第一特征向量;和/或,扫描所述可执行文件中的常量池,从所述常量池获取所述广告的特征向量集中常量池维度下的各字符串作为第一特征向量;和/或,扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中包名和类名维度下的各包名和类名作为第一特征向量;和/或,扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中类继承关系序列维度下的各类继承关系作为第一特征向量;和/或,扫描所述可执行文件中的方法描述符,从所述方法描述符中获取所述广告的特征向量集中函数调用序列维度下的各函数调用序列作为第一特征向量。
A7、如A6所述的方法,所述将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度包括:将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量对应的各种特征匹配条件进行匹配,根据匹配结果计算该特征维度下的特征向量相似度。
A8、如A1所述的方法,还包括:记录对各应用插件扫描判断结果;当再次扫描时,根据对对各应用插件扫描判断结果的记录,跳过对已判断的应用插件的扫描。
A9、如A1所述的方法,所述的查找应用插件相关的各文件包括:查找智能移动终端的应用平台中的应用插件相关的各文件。
A10、如A1所述的方法,判定所述应用插件是否为广告插件之后还包括:检测所述广告插件对智能移动终端系统的操作行为。
本发明还公开了B11、一种广告插件识别系统,包括:查找模块,适于查找应用插件相关的各文件;特征扫描模块,适于基于预定的广告的特征向量集的各特征维度的特征向量,扫描所述应用插件相关的各文件,计算所述各文件中的数据与所述各特征维度的特征向量的特征向量相似度;广告相似度计算模块,适于根据每个特征维度的特征向量相似度以及该特征维度的特征识别权重,计算当前应用插件的广告相似度;判断模块,适于将所述广告相似度与阈值进行比较,根据比较结果,判定所述应用插件是否为广告插件。
B12、如B11所述的系统,还包括:云端服务器,所述云端服务器包括:特征向量集构建模块,适于通过云端服务器分析广告样本库中的各应用插件获取各特征维度下的特征数据,并根据所述特征数据构建广告的特征向量集。
B13、如B12所述的系统,所述云端服务器还包括:反馈补充模块,适于根据用户对应用插件的反馈信息,将反馈为包括广告的应用插件补充进入所述广告应用插件样本库。
B14、如B12所述的系统,还包括:特征向量集转换模块,适于在云端服务器将所述各特征向量维度下的特征数据构建的广告的特征向量集预编译为二进制的XML格式。
B15、如B11所述的系统,所述特征扫描模块包括:特征数据提取模块,用于根据所述预定的广告的特征向量集的各特征维度指定的扫描位置,获取相应特征维度下的特征数据;特征数据分析模块,用于将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量的特征值进行特征向量相似度计算,获取该特征维度下的特征向量相似度。
B16、如B15所述的系统,所述特征数据提取模块包括:应用插件扫描模块,适于扫描所述应用插件的安装包,从所述安装包获取所述广告的特征向量集中安装包维度下的各特征信息作为第一特征向量;和/或配置信息维度获取模块,适于扫描所述配置文件,从所述配置文件中获取与预置的广告的特征向量集中配置信息维度下的特征值相匹配的特征值;和/或,常量池维度获取模块,适于扫描所述可执行文件中的常量池,从所述常量池获取与预置的广告的特征向量集中常量池维度下的各字符串相匹配的字符串;和/或,包名和类名获取模块,适于扫描所述可执行文件中的类结构,从所述类结构中获取所述广告的特征向量集中包名和类名维度下的各包名和类名作为第一特征向量;和/或,类继承关系维度获取模块,适于扫描所述可执行文件中的类结构,从所述类结构中获取与预置的广告的特征向量集中类继承关系序列维度下的各类继承关系相匹配的类继承关系;和/或,函数调用序列维度获取模块,适于扫描所述可执行文件中的方法描述符,从所述方法描述符中获取与预置的广告的特征向量集中函数调用序列维度下的各函数调用序列相匹配的函数调用序列。
B17、如B15所述的系统,所述特征数据分析模块包括:第一分析模块,食欲将所述特征数据与所述广告的特征向量集中相应特征维度下的特征向量对应的各种特征匹配条件进行匹配,根据匹配结果计算该特征维度下的特征向量相似度。
B18、如B11所述的系统,还包括:记录模块,适于记录对各应用插件扫描判断结果;进一步的,还包括快速扫描模块,适于当再次扫描时,根据对对各应用插件扫描判断结果的记录,跳过对已判断的应用插件的扫描。
B19、如B11所述的系统,所述查找模块包括:第一查找模块,用于查找智能移动终端的应用平台中的应用插件相关的各文件。
B20、如B11所述的系统,还包括行为检测模块,适于判定所述应用插件是否为广告插件之后,检测所述广告插件对智能移动终端系统的操作行为。