Android平台恶意应用检测方法及装置与流程

文档序号:11287150阅读:408来源:国知局
Android平台恶意应用检测方法及装置与流程

本发明涉及移动安全及机器学习技术领域,尤其涉及一种android平台恶意应用检测方法及装置。



背景技术:

在移动智能终端领域,存在大量恶意软件,它们往往能够在用户没有察觉的情况下隐蔽获取用户存储在设备上的隐私数据,并发送到攻击者的邮箱或服务器中,对用户的财政安全和隐私安全带来极大的困扰。随着安卓android平台智能终端普及,android智能终端上的隐私窃取攻击与恶意应用检测技术也越来越受到人们重视。

目前,现有对android平台恶意应用进行检测的数据流分析技术主要包括:动态污点追踪和静态数据流分析技术两种。动态污点追踪是通过对敏感数据进行污点标记,并在应用运行时对污点数据进行动态追踪,判断是否发生恶意泄露。静态数据流分析技术是通过构建应用的函数调用图,并对其中可到达函数进行逐一分析,将敏感的源信息进行传播来监控其在整个系统中的信息流流向。

但是,动态污点追踪面临如何覆盖程序中所有代码路径的挑战;而且,部分恶意应用能够判断动态监控器的存在,并隐藏其恶意行为,导致检测结果存在一定的假阴性。静态数据流分析技术需要对应用运行流程进行准确的建模;而且,android应用程序运用了大量的组件间通信,一个组件能够发送intent调用另一个组件,intent中可能被放入数据。如何准确地获取组件间通信的目标组件也是静态数据流分析技术的一个难点。

另外,由于近年来机器学习与数据挖掘技术的广泛应用,目前还利用基于传统机器学习算法对android平台恶意应用进行检测。该类方法首先使用静态方法提取应用的权限、api调用、函数调用等特征,或使用动态方法提取应用的行为、系统参数变化、系统调用等特征;然后,选取机器学习算法,如:决策树、朴素贝叶斯、支持向量机等,对这些特征数据进行训练,构建恶意应用检测模型;并最终利用该模型判断应用的安全性。

但是,针对同一类型的应用行为特征,不同的机器学习算法有着不同的检测结果。选取合适的机器学习算法处理合适类型的应用行为特征,对最终的检测结果至关重要。同时,传统的机器学习算法具有浅层的模型结构,对于最终的检测结果有一定的影响。

鉴于此,如何提供一种android平台恶意应用检测方法及装置,以避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模以及需要准确获取组件间通信的目标组件的两大挑战,实现对android应用敏感数据流的准确全面的提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性,实现对android平台恶意应用的准确检测成为目前需要解决的技术问题。



技术实现要素:

为解决上述的技术问题,本发明提供一种android平台恶意应用检测方法及装置,能够避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模以及需要准确获取组件间通信的目标组件的两大挑战,实现对android应用敏感数据流的准确全面的提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性,实现对android平台恶意应用的准确检测。

第一方面,本发明提供一种android平台恶意应用检测方法,包括:

调用flowdroid工具,提取待测android应用的静态数据流特征;

利用susi技术,对所述待测android应用的静态数据流特征进行处理,生成待测android应用的数据流的特征向量;

将生成的待测android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测android应用是否是恶意应用的检测结果。

可选地,在所述将生成的待测android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型之前,所述方法还包括:

获取android应用样本,所述android应用样本包括:安全android应用样本和恶意android应用样本;

调用flowdroid工具,提取所述android应用样本的静态数据流特征;

利用susi技术,对所述android应用样本的静态数据流特征进行处理,生成android应用样本的数据流的特征向量;

根据所述android应用样本的数据流的特征向量进行训练,构建深度置信网络检测模型。

可选地,所述根据所述样本android应用的数据流的特征向量进行训练,构建深度置信网络检测模型,包括:

将未标记的安全android应用样本和恶意android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机rbm的输入,采用无监督学习方法,自下而上逐层预训练多层rbm,生成深度置信网络dbn,直至dbn网络处于平衡状态;

在所述dbn网络的最后一个隐含层后增加一个分类层;

将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛。

可选地,所述将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛,包括:

将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用反向传播bp算法,有监督地微调整个网络各层的参数,直至收敛。

可选地,在所述获得待测android应用是否是恶意应用的检测结果之后,所述方法还包括:

若待测android应用是恶意应用,则提示用户所述待测android应用是恶意应用,并向用户展示待测android应用是恶意应用的分析报告;

若待测android应用不是恶意应用,则提示用户所述待测android应用不是恶意应用。

第二方面,本发明提供一种android平台恶意应用检测装置,包括:

第二提取模块,用于调用flowdroid工具,提取待测android应用的静态数据流特征;

第二处理模块,用于利用susi技术,对所述待测android应用的静态数据流特征进行处理,生成待测android应用的数据流的特征向量;

检测模块,用于将生成的待测android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测android应用是否是恶意应用的检测结果。

可选地,所述装置还包括:

获取模块,用于获取android应用样本,所述android应用样本包括:安全android应用样本和恶意android应用样本;

第一提取模块,用于调用flowdroid工具,提取所述android应用样本的静态数据流特征;

第一处理模块,用于利用susi技术,对所述android应用样本的静态数据流特征进行处理,生成android应用样本的数据流的特征向量;

构建模块,用于根据所述android应用样本的数据流的特征向量进行训练,构建深度置信网络检测模型。

可选地,所述构建模块,包括:

预训练单元,用于将未标记的安全android应用样本和恶意android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机rbm的输入,采用无监督学习方法,自下而上逐层预训练多层rbm,生成深度置信网络dbn,直至dbn网络处于平衡状态;

增加单元,用于在所述dbn网络的最后一个隐含层后增加一个分类层;

微调单元,用于将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛。

可选地,所述微调单元,具体用于

将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用反向传播bp算法,有监督地微调整个网络各层的参数,直至收敛。

可选地,所述装置还包括:

第一提示模块,用于若待测android应用是恶意应用,则提示用户所述待测android应用是恶意应用,并向用户展示待测android应用是恶意应用的分析报告;

第二提示模块,用于若待测android应用不是恶意应用,则提示用户所述待测android应用不是恶意应用。

由上述技术方案可知,本发明的android平台恶意应用检测方法及装置,通过调用flowdroid工具,提取待测android应用的静态数据流特征,利用susi技术对所述待测android应用的静态数据流特征进行处理,生成待测android应用的数据流的特征向量,将生成的待测android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测android应用是否是恶意应用的检测结果,由此,能够避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模以及需要准确获取组件间通信的目标组件的两大挑战,实现对android应用敏感数据流的准确全面的提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性,实现对android平台恶意应用的准确检测。

附图说明

图1为本发明一实施例提供的一种android平台恶意应用检测方法的流程示意图;

图2为图1中的步骤101调用flowdroid工具提取一举例应用程序中从source到sink的数据流的示意图;

图3为本发明一实施例提供的一种android平台恶意应用检测装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。

图1示出了本发明一实施例提供的一种android平台恶意应用检测方法的流程示意图,如图1所示,本实施例的android平台恶意应用检测方法如下所述。

101、调用flowdroid工具,提取待测android应用的静态数据流特征。

可以理解的是,一个android应用包含多个组件,如activity、service、contentprovider、broadcastreceiver,其中,activity是分析的主要入口。与传统的java程序不同,android应用(程序)中不存在主函数,因此在分析的过程中,不能简单的通过主函数找到程序的入口和出口来构建控制流图。但是,android应用的每个组件都有函数来反映该组件的生命周期,可以根据这些生命周期构建android应用的控制流图。为了生成android应用的控制流图,本实施例调用arzt,s.等人提出的开源工具flowdroid将activity生命周期和所有回调函数之间的控制流调用关系用一个虚主函数来模拟。下面用某个android应用中的一段代码的例子来讲解flowdroid的实现原理。

该应用程序通过调用百度地图提供的api,读取用户的位置信息,包括经度、维度以及详细的地址,然后通过短信将位置信息发送到手机号“+111”上。这个简单的应用程序反映了常见的隐私攻击方式,敏感数据流从locationclient(source)流向smsapi(sink),从而导致了隐私泄露。

flowdroid工具的数据流分析过程是执行顺序相关的,可以分为两个部分:向前的污点分析用于找出被污染的变量传递到了何处,以及向后的请求式别名分析用于查找source之前所有对同一被污染的heap位置的别名。参见图2,flowdroid采用以下的步骤提取上述应用程序中从source到sink的数据流:

(1)从source获取的longitude、latitude和detail作为被污染了的变量,被向前传递给函数loc(detail,latitude,longitude);

(2)当函数loc(detail,latitude,longitude)被调用时,发现longitude、latitude和detail是作为参数传递进来的。因此执行后向分析,发现调用函数的参数a、b和c即被调用函数的参数longitude、latitude和detail对a、b和c进行污染。

(3)继续追踪a,b和c,l被污染;

(4)发现l是被调用函数的返回值,进行后向分析,对location进行污染;

(5)对location做前向分析,判断其被传递到sink。

可以理解的是,由于flowdroid工具的分析过程是上下文相关的,因此能够有效地区分对函数loc()基于不同参数的不同调用。同时,flowdroid工具采用特殊的手写总结方式处理对库函数的调用。除此之外,flowdroid工具采用大量的优化手段拓展操作规模,同时降低噪音,从而能够准确全面的提取android应用内部的敏感数据流特征数据。

102、利用susi技术,对所述待测android应用的静态数据流特征进行处理,生成待测android应用的数据流(规范化)的特征向量。

可以理解的是,flowdroid工具提取的原始静态数据流特征的信息中包含完整的source和sink函数名。然而,在android函数库里,存在成千的source和sink函数,这些函数中只有极少数会在一个应用中被调用。如果用这些函数之间的数据流作为特征,特征向量是稀疏向量,需要进行处理以改进训练结果。因此,本实施例利用rasthofer,s.等人提出的susi技术对flowdroid工具提取的静态数据流特征进行处理,生成数据流(规范化)的特征向量。susi技术基于机器学习算法,能够根据函数代码判断其属于source函数或者sink函数;同时,susi技术将当前存在的source函数和sink函数分别划分为17个source类和19个sink类;其中:

17个source类包括:

(1)unique_identifier;

(2)location_information;

(3)network_information;

(4)account_information;

(5)file_information;

(6)bluetooth_information;

(7)database_information;

(8)email;

(9)synchronization_data;

(10)sms_mms;

(11)contact_information;

(12)calendar_information;

(13)system_setting;

(14)image;

(15)browser_information;

(16)nfc;

(17)no_category。

19个sink类包括:

(1)location_information;

(2)phone_connection;

(3)voip;

(4)phone_state;

(5)email;

(6)bluetooth;

(7)account_setting;

(8)audio;

(9)synchronization_data;

(10)network;

(11)file;

(12)log;

(13)sms_mms;

(14)contact_information;

(15)calendar_information;

(16)system_setting;

(17)nfc;

(18)browser_information;

(19)no_category。

通过susi分类可以更清晰地了解某恶意应用泄露的信息种类,以及信息泄露的路径。

本实施例将flowdroid工具和susi两种技术结合起来,从每个android应用中可以提取323个数据流特征,特征向量可以表示为:

features(app)=(src_category1→sink_category1,src_category1→sink_category2,…,src_category17→src_category18,src_category17→src_category19)

当一个source类src_categoryi(i=1,2,…,17)和一个sink类sink_categoryj(j=1,2,…,19)之间存在数据流时,在特征向量中对应的值src_categoryi→sink_categoryj=1,否则,该值为0。

可以理解的是,步骤102是针对flowdroid提取的数据流特征存在的不利于训练的问题,利用开源的敏感api分类工具susi对数据流特征进行处理,形成的特征向量能更好地反应每个应用内部敏感数据的流向。

103、将生成的待测android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测android应用是否是恶意应用的检测结果。

在具体应用中,在所述步骤103之前,所述方法还包括图中未示出的步骤s1-s4:

s1、获取android应用样本,所述android应用样本包括:安全android应用样本和恶意android应用样本。

具体地,所述步骤s1可以利用爬虫技术不断从网络中抓取最新的android恶意应用作为所述android应用样本中的恶意android应用样本,以及利用爬虫技术不断从网络中抓取最新的android安全应用作为所述android应用样本中的安全android应用样本。

在具体应用中,所述步骤s1可以将所述android应用样本分为两部分:一部分为未标记的安全android应用样本和恶意android应用样本,另一部分为标记的安全android应用样本和恶意android应用样本。

s2、调用flowdroid工具,提取android应用样本的静态数据流特征。

具体地,本步骤flowdroid工具的原理可以参见对上述步骤101的说明,此处不再赘述。

s3、利用susi技术,对所述android应用样本的静态数据流特征进行处理,生成android应用样本的数据流的特征向量。

具体地,本步骤susi技术可以参见对上述步骤102的说明,此处不再赘述。

s4、根据所述android应用样本的数据流的特征向量进行训练,构建深度置信网络检测模型。

可以理解的是,基于深度学习的深度置信网络检测模型比传统的浅层模型具有更深层的结构和更强大的特征描述能力,因此,可以更深层次地挖掘应用数据流特征反映出来的应用安全性,具有更高的检测准确率。

具体地,所述步骤s4可以具体包括图中未示出的步骤s41-s43:

s41、将未标记的安全android应用样本和恶意android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机rbm的输入,采用无监督学习方法,自下而上逐层预训练多层rbm,生成深度置信网络dbn,直至dbn网络处于平衡状态。

需要说明的是,深度置信网络dbn由多个受限制玻尔兹曼机rbm层组成,每个rbm层包括接收输入数据的可见层和输出数据的隐含层,层间存在连接,但是层内的单元间不存在连接。

举例来说,所述步骤s41可以将未标记的安全android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机rbm的输入,采用逐层贪心算法,自下而上无监督地逐层预训练多层rbm,生成深度置信网络dbn,直至dbn网络处于平衡状态。

s42、在所述dbn网络的最后一个隐含层后增加一个分类层。

s43、将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛。

举例来说,所述步骤s43可以将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用反向传播(backpropagation,简称bp)算法,有监督地微调整个网络各层的参数,直至收敛。

需要说明的是,因为每一层rbm的训练过程是相互独立的,所以对每一层rbm的训练只能得到这一层的隐藏层对可见层最好的表达。但是,整个dbn网络不是对输入数据的最好表达。因此,在dbn网络的最后一个隐含层后增加一个分类层(有监督学习网络),例如bp神经网络。这样可以将整个dbn网络看作一个多层的bp神经网络,自顶向下地进行微调,这个过程可以看作对一个深层bp网络权值参数的初始化。dbn的这种训练过程可以有效地改善可能存在的局部最优和训练时间长的问题。根据具体应用的不同,dbn网络最上面的有监督学习层(即分类层)可以选取不同的分类器。自此,基于深度学习算法的检测android恶意应用的深度置信网络检测模型训练完成。

在具体应用中,在所述步骤103之后,本实施例所述方法还可以包括:

若待测android应用是恶意应用,则提示用户所述待测android应用是恶意应用,并向用户展示待测android应用是恶意应用的详细的分析报告;

若待测android应用不是恶意应用,则提示用户所述待测android应用不是恶意应用。

由于实现隐私窃取攻击的android恶意应用在处理应用内部敏感数据的方式上,一方面与android安全应用存在很大的不同,另一方面又与其他恶意应用存在一定的相同之处。因此,本实施例利用机器学习算法分析这种不同性与相似性,主要关注于android平台智能终端的数据流分析技术和基于机器学习算法的恶意应用检测技术的发展状况,基于android应用内部的敏感数据流信息进行深度分析,探究恶意应用和安全应用在敏感数据处理上的不同性,从而对恶意应用进行检测。

本实施例的android平台恶意应用检测方法,通过调用flowdroid工具提取待测android应用的静态数据流特征,利用susi技术对所述待测android应用的静态数据流特征进行处理,生成待测android应用的数据流的特征向量,将生成的待测android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测android应用是否是恶意应用的检测结果,由此,能够实现对android平台恶意应用进行较高准确率地检测,可以避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模以及需要准确获取组件间通信的目标组件的两大挑战,实现对android应用敏感数据流的准确全面的提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性,能在很大程度上提高对未知恶意应用的检测率。

图3示出了本发明一实施例提供的一种android平台恶意应用检测装置的结构示意图,如图3所示,本实施例的android平台恶意应用检测装置,包括:第二提取模块31、第二处理模块32和检测模块33;其中:

第二提取模块31,用于调用flowdroid工具,提取待测android应用的静态数据流特征;

第二处理模块32,用于利用susi技术,对所述待测android应用的静态数据流特征进行处理,生成待测android应用的数据流的特征向量;

检测模块33,用于将生成的待测android应用的数据流的特征向量输入预先训练好的深度置信网络检测模型,获得待测android应用是否是恶意应用的检测结果。

在具体应用中,本所述装置还可以包括图中未示出的:

获取模块,用于获取android应用样本,所述android应用样本包括:安全android应用样本和恶意android应用样本;

第一提取模块,用于调用flowdroid工具,提取所述android应用样本的静态数据流特征;

第一处理模块,用于利用susi技术,对所述android应用样本的静态数据流特征进行处理,生成android应用样本的数据流的特征向量;

构建模块,用于根据所述android应用样本的数据流的特征向量进行训练,构建深度置信网络检测模型。

在具体应用中,所述获取模块可以利用爬虫技术不断从网络中抓取最新的android恶意应用作为所述android应用样本中的恶意android应用样本,以及利用爬虫技术不断从网络中抓取最新的android安全应用作为所述android应用样本中的安全android应用样本。

在具体应用中,所述获取模块可以将所述android应用样本分为两部分:一部分为未标记的安全android应用样本和恶意android应用样本,另一部分为标记的安全android应用样本和恶意android应用样本。

在具体应用中,所述构建模块,可以包括图中未示出的:

预训练单元,用于将未标记的安全android应用样本和恶意android应用样本的数据流的特征向量作为最底层受限制玻尔兹曼机rbm的输入,采用无监督学习方法,自下而上逐层预训练多层rbm,生成深度置信网络dbn,直至dbn网络处于平衡状态;

增加单元,用于在所述dbn网络的最后一个隐含层后增加一个分类层;

微调单元,用于将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用有监督学习方法,自上而下逐层微调整个网络各层的参数,直至收敛。

具体地,举例来说,所述微调单元可以将标记的安全android应用样本和恶意android应用样本的数据流的特征向量输入所述分类层,采用反向传播bp算法,有监督地微调整个网络各层的参数,直至收敛。

在具体应用中,本实施例所述装置还可以包括图中未示出的:

第一提示模块,用于若待测android应用是恶意应用,则提示用户所述待测android应用是恶意应用,并向用户展示待测android应用是恶意应用的分析报告;

第二提示模块,用于若待测android应用不是恶意应用,则提示用户所述待测android应用不是恶意应用。

由于实现隐私窃取攻击的android恶意应用在处理应用内部敏感数据的方式上,一方面与android安全应用存在很大的不同,另一方面又与其他恶意应用存在一定的相同之处。因此,本实施例利用机器学习算法分析这种不同性与相似性,主要关注于android平台智能终端的数据流分析技术和基于机器学习算法的恶意应用检测技术的发展状况,基于android应用内部的敏感数据流信息进行深度分析,探究恶意应用和安全应用在敏感数据处理上的不同性,从而对恶意应用进行检测。

需要说明的是,对于装置/系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本实施例的android平台恶意应用检测装置,能够实现对android平台恶意应用进行较高准确率地检测,可以避免动态污点追踪存在的路径覆盖问题,克服静态数据流分析技术需要对应用运行流程进行准确建模以及需要准确获取组件间通信的目标组件的两大挑战,实现对android应用敏感数据流的准确全面的提取,同时克服传统浅层机器学习算法在构建检测模型时存在的局限性,能在很大程度上提高对未知恶意应用的检测率。

本实施例的android平台恶意应用检测装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1