Android系统下VPN应用的识别方法及系统技术方案

技术编号:18292291 阅读:319 留言:0更新日期:2018-06-24 08:14
本发明专利技术提供了一种Android系统下VPN应用的识别方法及系统,包括:通过VpnService特征,初步筛选得到一批App,针对筛选得到的App,利用关键词匹配App信息,命中者识别为目标App,针对剩余未命中者,依据其同类App的分布,判定是否为目标App;对于非目标App:根据App代码中VpnService所在类的触发层次直接服务于对应App主要功能而非附属功能的App和在VPN建立过程中需要与远端服务器建立连接的App判定为目标App;对App运行过程中流量数据进行标签化分析,筛选VPN服务端ip:port信息。本发明专利技术可以方便的在海量App中自动筛选出服务于突破访问限制的App。

【技术实现步骤摘要】
Android系统下VPN应用的识别方法及系统
本专利技术涉及通信
,具体地,涉及一种Android系统下VPN应用的识别方法及系统。
技术介绍
Android从4.0开始(APILEVEL15),通过VpnService框架帮助APP在设备上建立VPN连接的解决方案。VpnService可以让APP方便的截获设备上所有发送出去和接收的数据包。因此建立在VpnService基础上的APP,功能多样,并非所有的VPNAPP都是用于突破访问限制。比如,大致分类为:VPNClients、Enterprise、TrafficOptimizer、CommunicationTools、Trafficfilters、Trafficlogger、Antivirus、Torclients等。各类别典型代表,如Trafficlogger类别中packetcapture,借助VpnService实现对Android设备上流量的抓取;Antivirus中百度手机卫士、360手机助手等借助VpnService及时拦截恶意流量。从上述内容可知,使用VpnService的VPNAPP,功能多样,单纯的依赖VpnService无法严格筛选出真正服务于突破访问限制的APP。如何在海量的移动应用程序中,自动的筛选出用于突破访问限制类的VPNAPP是目前需要解决的技术问题。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种Android系统下VPN应用的识别方法及系统。根据本专利技术提供的一种Android系统下VPN应用的识别方法,包括步骤:VpnService特征筛选步骤:通过VpnService特征,初步筛选得到一批App;关键词匹配步骤:针对筛选得到的App,利用关键词匹配App信息,命中者识别为目标App;同类App判定步骤:针对剩余未命中者,依据其同类App的分布,判定是否为目标App;VpnService触发层次判定步骤:对于非目标App,根据App代码中VpnService所在类的触发层次,直接服务于对应App主要功能而非附属功能的App判定为目标App;远端连接判定步骤:对于非目标App,根据App代码,在VPN建立过程中,需要与远端服务器建立连接的App判定为目标App;流量数据分析步骤:对App运行过程中流量数据进行标签化分析,筛选VPN服务端ip:port信息。较佳的,所述VpnService特征包括:继承VpnService的子类需要声明权限android.permission.BIND_VPN_SERVICE和相应的intent-filter;prepare函数调用、establish函数调用、protect函数调用或者addAddress函数调用。较佳的,所述关键词包括VPN,所述App信息包括App名称、包名以及描述。较佳的,所述与远端服务器建立连接包括创建tun0接口。较佳的,所述标签化分析包括:利用dns信息,对ip打标签;利用http.host,ssl.handshake.extensions_server_name对ip打标签;利用地理位置、所有者信息,对ip打标签。根据本专利技术提供的一种Android系统下VPN应用的识别系统,包括:VpnService特征筛选模块:通过VpnService特征,初步筛选得到一批App;关键词匹配模块:针对筛选得到的App,利用关键词匹配App信息,命中者识别为目标App;同类App判定模块:针对剩余未命中者,依据其同类App的分布,判定是否为目标App;VpnService触发层次判定模块:对于非目标App,根据App代码中VpnService所在类的触发层次,直接服务于对应App主要功能而非附属功能的App判定为目标App;远端连接判定模块:对于非目标App,根据App代码,在VPN建立过程中,需要与远端服务器建立连接的App判定为目标App;流量数据分析模块:对App运行过程中流量数据进行标签化分析,筛选VPN服务端ip:port信息。较佳的,所述VpnService特征包括:继承VpnService的子类需要声明权限android.permission.BIND_VPN_SERVICE和相应的intent-filter;prepare函数调用、establish函数调用、protect函数调用或者addAddress函数调用。较佳的,所述关键词包括VPN,所述App信息包括App名称、包名以及描述。较佳的,所述与远端服务器建立连接包括创建tun0接口。较佳的,所述标签化分析包括:利用dns信息,对ip打标签;利用http.host,ssl.handshake.extensions_server_name对ip打标签;利用地理位置、所有者信息,对ip打标签。与现有技术相比,本专利技术具有如下的有益效果:本专利技术基于Android系统下VPNApp的静态、动态特征,结合突破访问限制类VPN的原理,有针对性的对各环节进行筛选,以方便的在海量App中自动筛选出服务于突破访问限制的VPNApp;同时,对动态流量数据进行标签化分析,可以快速筛选出可能的vpn服务端ip:port信息。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术的流程图;图2为本专利技术初步筛选结果示意图;图3为ToyVpn示例代码示意图;图4为创建tun0接口的网卡接口信息代码示意图;图5为本专利技术部分测试结果示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。如图1所示,本专利技术提供的一种Android系统下VPN应用的识别方法包括步骤:VpnService特征筛选步骤、关键词匹配步骤、同类App判定步骤、VpnService触发层次判定步骤、远端连接判定步骤以及流量数据分析步骤。1、VpnService特征筛选步骤:通过VpnService特征,初步筛选得到一批App,依据https://developer.android.com/reference/android/net/VpnService.html,VpnService具备如下的特征:1)AndroidManifest.xml中需要声明指定的权限信息如上所示,继承VpnService的子类需要声明权限android.permission.BIND_VPN_SERVICE和相应的intent-filter;2)两个主要的函数调用:prepare(Context)和establish()Landroid/net/VpnService;->prepare(Landroid/content/Context;)Landroid/content/Intent;Landroid/net/VpnService$Builder;->establish()Landroid/os/ParcelFileDescriptor;prepare和establish本文档来自技高网...
Android系统下VPN应用的识别方法及系统

【技术保护点】
1.一种Android系统下VPN应用的识别方法,其特征在于,包括步骤:VpnService特征筛选步骤:通过VpnService特征,初步筛选得到一批App;关键词匹配步骤:针对筛选得到的App,利用关键词匹配App信息,命中者识别为目标App;同类App判定步骤:针对剩余未命中者,依据其同类App的分布,判定是否为目标App;VpnService触发层次判定步骤:对于非目标App,根据App代码中VpnService所在类的触发层次,直接服务于对应App主要功能而非附属功能的App判定为目标App;远端连接判定步骤:对于非目标App,根据App代码,在VPN建立过程中,需要与远端服务器建立连接的App判定为目标App;流量数据分析步骤:对App运行过程中流量数据进行标签化分析,筛选VPN服务端ip:port信息。

【技术特征摘要】
1.一种Android系统下VPN应用的识别方法,其特征在于,包括步骤:VpnService特征筛选步骤:通过VpnService特征,初步筛选得到一批App;关键词匹配步骤:针对筛选得到的App,利用关键词匹配App信息,命中者识别为目标App;同类App判定步骤:针对剩余未命中者,依据其同类App的分布,判定是否为目标App;VpnService触发层次判定步骤:对于非目标App,根据App代码中VpnService所在类的触发层次,直接服务于对应App主要功能而非附属功能的App判定为目标App;远端连接判定步骤:对于非目标App,根据App代码,在VPN建立过程中,需要与远端服务器建立连接的App判定为目标App;流量数据分析步骤:对App运行过程中流量数据进行标签化分析,筛选VPN服务端ip:port信息。2.根据权利要求1所述的Android系统下VPN应用的识别方法,其特征在于,所述VpnService特征包括:继承VpnService的子类需要声明权限android.permission.BIND_VPN_SERVICE和相应的intent-filter;prepare函数调用、establish函数调用、protect函数调用或者addAddress函数调用。3.根据权利要求1所述的Android系统下VPN应用的识别方法,其特征在于,所述关键词包括VPN,所述App信息包括App名称、包名以及描述。4.根据权利要求1所述的Android系统下VPN应用的识别方法,其特征在于,所述与远端服务器建立连接包括创建tun0接口。5.根据权利要求1所述的Android系统下VPN应用的识别方法,其特征在于,所述标签化分析包括:利用dns信息,对ip打标签;利用http.host,ssl.handshake.extensions_server_name对ip打标签;利用地理位置、所有者信息,对ip打标签...

【专利技术属性】
技术研发人员:何建安唐祝寿崔红军燕锦华池定程封亮王勇解群龙刚邓朝日郭玉环李巍李翔徐文博
申请(专利权)人:中国电子科技集团公司第三十二研究所
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1