CN108614709A - 一种控制Android应用安全访问网络的方法及系统 - Google Patents

一种控制Android应用安全访问网络的方法及系统 Download PDF

Info

Publication number
CN108614709A
CN108614709A CN201611075729.0A CN201611075729A CN108614709A CN 108614709 A CN108614709 A CN 108614709A CN 201611075729 A CN201611075729 A CN 201611075729A CN 108614709 A CN108614709 A CN 108614709A
Authority
CN
China
Prior art keywords
android
smali
decompiling
file
control
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.)
Granted
Application number
CN201611075729.0A
Other languages
English (en)
Other versions
CN108614709B (zh
Inventor
孙飞
王志海
喻波
廖黄河
张静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wondersoft Technology Co Ltd
Original Assignee
Beijing Wondersoft Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Wondersoft Technology Co Ltd filed Critical Beijing Wondersoft Technology Co Ltd
Priority to CN201611075729.0A priority Critical patent/CN108614709B/zh
Publication of CN108614709A publication Critical patent/CN108614709A/zh
Application granted granted Critical
Publication of CN108614709B publication Critical patent/CN108614709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种控制Android应用安全访问网络的方法及系统,该方法包括以下步骤:通过Web管理控制台的应用管理界面上传所述Android应用;通过反编译生成所述Android应用安装包;在应用管理界面中使用推送服务将所述Android应用安装包推送到终端设备并安装;将Android应用管控策略推送给终端设备管控应用;所述Android应用运行时接受所述Android应用管控策略的策略控制。通过该发明的方案,用户不需要对App做二次开发,节约成本;不会影响App原有功能;不会改变用户使用习惯,方便对Android应用的监控。

Description

一种控制Android应用安全访问网络的方法及系统
技术领域
本发明涉及数据安全领域,具体涉及一种控制Android应用安全访问网络的方法及系统。
背景技术
目前,随着移动网络的发展,智能移动终端设备的增加,尤其是智能手机、平板电脑的使用对人们的工作和生活越来越重要的地位。移动应用呈现平台化和垂直化双向发展趋势,在很短的时间里,不管是应用的数量还是覆盖领域都达到了指数级增长,但是随之而来的各种各样的网络安全问题也呈现增长的趋势,为了解决这些问题,市场上出现了对智能机上App进行管控软件,这些应用一般都是通过VPN功能对整个门户应用内的应用系统进行网络控制,此种方式需要App应用与门户应用内的各个应用系统进行二次开发。例如:
某企业需要对其原有的办公系统实现移动化办公,将所有的应用系统纳入到门户中,在终端上开发出一个App,通过此App访问门户内的所有应用办公系统,用户根据权限访问不同的应用办公系统。这种方式要求,每增加一个应用办公系统,终端App和应用系统就要做二次开发。
从市场上现有软件来看,通过VPN链路服务来控制终端上APP网络访问权限,只有加入到VPN链路服务控制白名单中的APP才有权限使用VPN链路访问内网资源的技术与本专利比较接近,但其要依赖于VPN链路服务,对第三方应用系统集成有一定的工作量,并且对应用系统接口类型等存在一些限制条件,无形中就增加了用户成本等问题。
以下给出通过VPN网关来控制终端App访问权限实现流程,参见附图1。该技术是目前最为普遍的终端App访问权限控制的一种实现。其技术实现是由VPN网关接收到App访问请求后,通过获取App访问应用服务器的目标地址来判断是否有访问权限,如果有访问权限,则VPN网关会将请求转发给目标应用服务器;如果没有访问权限,则VPN网关直接将此请求拦截。
此种实现方式已被广大开发人员和用户接受和认可,但是它要求用户必须安装VPN,并且只能控制通过VPN的内网应用,而不能控制公网上的应用;另外这种技术要求VPN网关具有强大的数据包分析能力。
本发明从实际需求和应用的角度出发,设计出一个完整的App访问网络控制方案,它主要采用反编译技术,对App原始安装包进行反编译,分析替换每个API接口,增加对要控制的API进行监控,根据用户策略来控制API,并且对数据增加校验等安全机制,最后对App进行重新签名打包等步骤,不需要用户App软件做二次开发,并且不改变用户使用习惯。
发明内容
为解决上述技术问题,本发明提供了一种生成安全Android应用安装包的方法,该方法包括以下步骤:。
1)对所Android应用安装包进行反编译处理得到反编译文件;
2)逐个分析所述反编译文件,生成一个树状结构类;
3)将API监控接口注入到所述树状结构类的接口中;
4)保存所述树状结构类,生成新的反编译文件;
5)对所述新的反编译文件进行打包,并对其进行签名,生成新的Android应用安装包。
优选的,在一个实施例中,所述反编译文件为一个或多个smali语言格式的文件。
优选的,在一个实施例中,所述步骤2)逐个分析所述反编译文件,生成一个树状结构类具体为:
根据Android平台SDK的android.jar包,逐个分析所述反编译后的smali语言格式的文件,将所有smali语言格式的文件生成一个smali树状结构类。
优选的,在一个实施例中,所述步骤3)中将API监控接口注入到所述树状结构类的接口中具体为:
在生成的所述smali树状结构类中,根据API监控配置列表,对所述smali树状结构类进行修改,将API监控接口注入到所有的smali树状结构类的接口中。
优选的,在一个实施例中,所述步骤4)保存所述树状结构类,生成新的反编译文件具体为:
将注入所述API监控接口的所述smali树状结构类保存,生成新的smali语言格式文件,并覆盖原有的smali语言格式的文件。
为解决上述技术问题,本发明提供了一种控制Android应用安全访问网络的方法,该方法包括以下步骤:
1)通过Web管理控制台的应用管理界面上传所述Android应用;
2)通过所述生成安全Android应用安装包所述的方法生成所述Android应用安装包;
3)在应用管理界面中使用推送服务将所述Android应用安装包推送到终端设备并安装;
4)将Android应用管控策略推送给终端设备管控应用;
5)所述Android应用运行时接受所述Android应用管控策略的策略控制。
为解决上述技术问题,本发明提供了一种控制Android应用安全访问网络的系统,该系统包括:Web管理控制台、服务器、业务数据库、终端设备管控应用、终端设备;
其中,业务数据库用于存储:用户信息、终端设备信息、Android应用管控策略信息、需要推送的各种数据信息、应用信息、日志信息;
所述服务器根据上述方法执行反编译/注入/签名打包控制服务,生成所述Android应用安装包;
该系统执行控制Android应用安全访问网络所述的方法。
为解决上述技术问题,本发明提供了一种生成安全Android应用安装包的装置,该装置包括:
反编译模块,对所Android应用安装包进行反编译处理得到反编译文件;
分析模块,逐个分析所述反编译文件,生成一个树状结构类;
API监控接口注入模块,将API监控接口注入到所述树状结构类的接口中;
反编译文件生成模块,保存所述树状结构类,生成新的反编译文件;
Android应用安装包生成模块,对所述新的反编译文件进行打包,并对其进行签名,生成新的Android应用安装包。
优选的,在一个实施例中,所述分析模块根据Android平台SDK的android.jar包,逐个分析所述反编译后的smali语言格式的文件,将所有smali语言格式的文件生成一个smali树状结构类。
优选的,在一个实施例中,所述API监控接口注入模块在生成的所述smali树状结构类中,根据API监控配置列表,对所述smali树状结构类进行修改,将API监控接口注入到所有的smali树状结构类的接口中。
优选的,在一个实施例中,所述反编译文件生成模块将注入所述API监控接口的所述smali树状结构类保存,生成新的smali语言格式文件,并覆盖原有的smali语言格式的文件。
为解决上述技术问题,本发明提供了一种终端设备,该终端设备安装执行生成安全Android应用安装包的方法生成的Android应用安装包。
优选的,在一个实施例中,所述Android应用运行时接受终端设备管控应用的策略控制。
通过本发明的技术方案取得了以下技术效果:用户不需要对App做二次开发,节约成本;不会影响App原有功能;不会改变用户使用习惯。
附图说明
图1是现有技术中的App访问权限控制流程图
图2是本发明总体架构图
图3是本发明生成App安装包流程图
图4是本发明App访问权限控制流程图
图5是本发明App访问权限控制系统框图
具体实施方式
名词解释:
smali/baksmali:指Android系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。
MDM:Mobile Device Management,移动设备管理,主要指智能手机和平板电脑的管理。
图2展示了本发明的系统架构图。
上图中,本发明的关键是不需要用户App做二次开发,只需将要安装管控的用户App应用通过应用安全监控管理服务处理,经过反编译、策略API注入、重新对其进行签名打包,生成新的用户App安装包即可,将新的用户App安装包分发给用户流程就不再本文的中做说明了。
结合图3,下面将给出生成App安装包的具体流程。
用户App上API监控接口注入技术实现过程中主要有以下几个步骤:
1)将用户整个App进行反编译
采用反编译技术对App安装包进行反编译,主要对安装包中的Java层实现接口进行反编译,将classes.dex文件反编译成smali语言格式的文件。
2)逐个分析smali语言格式文件
根据Android平台SDK的android.jar包,逐个分析上述反编译后的smali语言格式的文件,将其所有文件生成一个smali树状结构类。
3)将API控制接口注入到API中
在生成的smali树状结构类中,根据API监控配置列表,对smali树状结构进行修改,将API监控接口注入到所有的smali树状结构类的接口中。
4)保存smali语言格式文件
将注入API监控接口的smali树状结构类保存,生成新的smali语言格式文件,并覆盖原有的smali语言格式的文件。
5)签名打包
对上述所有文件进行打包,并使用系统配置的APK签名证书对其进行签名,生成最终的APK安装包。
6)结束。
结合附图4,描述对App应用进行网络访问控制的流程。
用户App运行控制技术实现过程中主要有以下几个步骤:
App启动后,运行到监控API接口时,则根据当前用户的API控制策略判断是否允许执行此接口,如果控制策略允许,则正常执行此接口;否则不执行此接口,退出此执行流程。
结合附图5,描述了该系统包含五部分:Web管理控制台、服务器、业务数据库、终端设备管控应用、终端设备用户App。
Web管理控制台主要包含用户管理、设备管理、策略管理、应用管理、推送服务。
服务器主要提供用户认证管理服务、终端设备管理服务、策略管理服务、推送管理服务、反编译/注入/签名打包控制服务(及按照附图3所示生成App安装包)、日志管理服务。
终端设备管控应用主要包含(服务器推送的)应用管理、消息管理、用户认证、策略控制、MDM服务。
终端设备用户App主要包含策略控制模块。
业务数据库主要用于户存储用户信息、设备信息、策略信息、推送应用/消息/图片等数据信息、应用信息、日志信息。
本发明的主要业务流程如下:
(1)由管理员将要接受管控的用户App通过Web控制台上应用管理界面上传到此系统;
(2)用户App上传成功后,服务器会对其进行反编译、smali文件分析、注入API、保存注入API后的smali文件、签名制作生成用户App新的安装包;
(3)在应用管理界面中使用推送服务将用户App新的安装包推送到终端设备上并安装。
(4)由管理员将用户管控策略下发到终端设备上的终端设备管控应用。
(5)用户App运行后则接受终端设备管控应用的策略,接受其策略控制。
此外,本发明还提供了一种生成安全Android应用安装包的装置,该装置包括:
反编译模块,对所Android应用安装包进行反编译处理得到反编译文件;
分析模块,逐个分析所述反编译文件,生成一个树状结构类;
API监控接口注入模块,将API监控接口注入到所述树状结构类的接口中;
反编译文件生成模块,保存所述树状结构类,生成新的反编译文件;
Android应用安装包生成模块,对所述新的反编译文件进行打包,并对其进行签名,生成新的Android应用安装包。
所述分析模块根据Android平台SDK的android.jar包,逐个分析所述反编译后的smali语言格式的文件,将所有smali语言格式的文件生成一个smali树状结构类。
所述API监控接口注入模块在生成的所述smali树状结构类中,根据API监控配置列表,对所述smali树状结构类进行修改,将API监控接口注入到所有的smali树状结构类的接口中。
在一个实施例中,所述反编译文件生成模块将注入所述API监控接口的所述smali树状结构类保存,生成新的smali语言格式文件,并覆盖原有的smali语言格式的文件。
此外,本发明还提供了一种终端设备,该终端设备安装执行如附图3所示生成安全Android应用安装包的方法生成的Android应用安装包。所述终端设备上的Android应用运行时接受所述终端设备管控应用下发的Android应用管控策略控制。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应保护在本发明的保护范围之内。

Claims (13)

1.一种生成安全Android应用安装包的方法,该方法包括以下步骤:。
1)对所Android应用安装包进行反编译处理得到反编译文件;
2)逐个分析所述反编译文件,生成一个树状结构类;
3)将API监控接口注入到所述树状结构类的接口中;
4)保存所述树状结构类,生成新的反编译文件;
5)对所述新的反编译文件进行打包,并对其进行签名,生成新的Android应用安装包。
2.根据权利要求1所述的方法,所述反编译文件为一个或多个smali语言格式的文件。
3.根据权利要求2所述的方法,所述步骤2)逐个分析所述反编译文件,生成一个树状结构类具体为:
根据Android平台SDK的android.jar包,逐个分析所述反编译后的smali语言格式的文件,将所有smali语言格式的文件生成一个smali树状结构类。
4.根据权利要求3所述的方法,所述步骤3)中将API监控接口注入到所述树状结构类的接口中具体为:
在生成的所述smali树状结构类中,根据API监控配置列表,对所述smali树状结构类进行修改,将API监控接口注入到所有的smali树状结构类的接口中。
5.根据权利要求4所述的方法,所述步骤4)保存所述树状结构类,生成新的反编译文件具体为:
将注入所述API监控接口的所述smali树状结构类保存,生成新的smali语言格式文件,并覆盖原有的smali语言格式的文件。
6.一种控制Android应用安全访问网络的方法,该方法包括以下步骤:
1)通过Web管理控制台的应用管理界面上传所述Android应用;
2)通过权利要求1-5之一所述的方法生成所述Android应用安装包;
3)在应用管理界面中使用推送服务将所述Android应用安装包推送到终端设备并安装;
4)将Android应用管控策略推送给终端设备管控应用;
5)所述Android应用运行时接受所述Android应用管控策略的策略控制。
7.一种控制Android应用安全访问网络的系统,该系统包括:Web管理控制台、服务器、业务数据库、终端设备管控应用、终端设备;
其中,业务数据库用于存储:用户信息、终端设备信息、Android应用管控策略信息、需要推送的各种数据信息、应用信息、日志信息;
所述服务器根据权利要求1-5之一的方法执行反编译/注入/签名打包控制服务,生成所述Android应用安装包;
该系统执行如权利要求6所述的方法。
8.一种生成安全Android应用安装包的装置,该装置包括:
反编译模块,对所Android应用安装包进行反编译处理得到反编译文件;
分析模块,逐个分析所述反编译文件,生成一个树状结构类;
API监控接口注入模块,将API监控接口注入到所述树状结构类的接口中;
反编译文件生成模块,保存所述树状结构类,生成新的反编译文件;
Android应用安装包生成模块,对所述新的反编译文件进行打包,并对其进行签名,生成新的Android应用安装包。
9.根据权利要求8所述的装置,所述分析模块根据Android平台SDK的android.jar包,逐个分析所述反编译后的smali语言格式的文件,将所有smali语言格式的文件生成一个smali树状结构类。
10.根据权利要求9所述的装置,所述API监控接口注入模块在生成的所述smali树状结构类中,根据API监控配置列表,对所述smali树状结构类进行修改,将API监控接口注入到所有的smali树状结构类的接口中。
11.根据权利要求10所述的装置,所述反编译文件生成模块将注入所述API监控接口的所述smali树状结构类保存,生成新的smali语言格式文件,并覆盖原有的smali语言格式的文件。
12.一种终端设备,该终端设备安装执行如权利要求1-5之一的方法生成的Android应用安装包。
13.根据权利要求12所述的终端设备,所述Android应用运行时接受终端设备管控应用的策略控制。
CN201611075729.0A 2016-11-29 2016-11-29 一种控制Android应用安全访问网络的方法及系统 Active CN108614709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611075729.0A CN108614709B (zh) 2016-11-29 2016-11-29 一种控制Android应用安全访问网络的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611075729.0A CN108614709B (zh) 2016-11-29 2016-11-29 一种控制Android应用安全访问网络的方法及系统

Publications (2)

Publication Number Publication Date
CN108614709A true CN108614709A (zh) 2018-10-02
CN108614709B CN108614709B (zh) 2021-08-03

Family

ID=63643107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611075729.0A Active CN108614709B (zh) 2016-11-29 2016-11-29 一种控制Android应用安全访问网络的方法及系统

Country Status (1)

Country Link
CN (1) CN108614709B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188535A (zh) * 2019-06-10 2019-08-30 南京领创信息科技有限公司 一种基于Android系统实现设备管控的方法
CN110896540A (zh) * 2019-11-21 2020-03-20 国网辽宁省电力有限公司电力科学研究院 移动互联网客户端安全评估工具、方法、计算机设备及存储介质
CN112596823A (zh) * 2020-12-23 2021-04-02 支付宝(杭州)信息技术有限公司 安全管控方法、装置及电子设备
CN113420312A (zh) * 2021-07-08 2021-09-21 山东云缦智能科技有限公司 一种动态控制api接口访问的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
US20140215564A1 (en) * 2013-01-25 2014-07-31 International Business Machines Corporation Indicating organization of visitor on user interface of user engaged in collaborative activity with visitor
CN103973642A (zh) * 2013-01-30 2014-08-06 中国电信股份有限公司 实现js应用程序接口安全访问控制的方法与装置
CN104331662A (zh) * 2013-07-22 2015-02-04 深圳市腾讯计算机系统有限公司 Android恶意应用检测方法及装置
CN105786511A (zh) * 2016-02-29 2016-07-20 四川长虹电器股份有限公司 终端设备Web应用管理的实现方法
CN105930692A (zh) * 2016-04-20 2016-09-07 北京鼎源科技有限公司 一种Android应用程序的动态脱壳方法
CN105988923A (zh) * 2015-02-09 2016-10-05 株式会社理光 一种录制被测Android程序的用户操作的方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
US20140215564A1 (en) * 2013-01-25 2014-07-31 International Business Machines Corporation Indicating organization of visitor on user interface of user engaged in collaborative activity with visitor
CN103973642A (zh) * 2013-01-30 2014-08-06 中国电信股份有限公司 实现js应用程序接口安全访问控制的方法与装置
CN104331662A (zh) * 2013-07-22 2015-02-04 深圳市腾讯计算机系统有限公司 Android恶意应用检测方法及装置
CN105988923A (zh) * 2015-02-09 2016-10-05 株式会社理光 一种录制被测Android程序的用户操作的方法及系统
CN105786511A (zh) * 2016-02-29 2016-07-20 四川长虹电器股份有限公司 终端设备Web应用管理的实现方法
CN105930692A (zh) * 2016-04-20 2016-09-07 北京鼎源科技有限公司 一种Android应用程序的动态脱壳方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王健康 等: "Android应用程序的隐式控制流图构建", 《电子技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188535A (zh) * 2019-06-10 2019-08-30 南京领创信息科技有限公司 一种基于Android系统实现设备管控的方法
CN110896540A (zh) * 2019-11-21 2020-03-20 国网辽宁省电力有限公司电力科学研究院 移动互联网客户端安全评估工具、方法、计算机设备及存储介质
CN112596823A (zh) * 2020-12-23 2021-04-02 支付宝(杭州)信息技术有限公司 安全管控方法、装置及电子设备
CN112596823B (zh) * 2020-12-23 2023-03-21 支付宝(杭州)信息技术有限公司 安全管控方法、装置及电子设备
CN113420312A (zh) * 2021-07-08 2021-09-21 山东云缦智能科技有限公司 一种动态控制api接口访问的方法
CN113420312B (zh) * 2021-07-08 2022-04-26 山东浪潮超高清视频产业有限公司 一种动态控制api接口访问的方法

Also Published As

Publication number Publication date
CN108614709B (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
US11714902B2 (en) Use of an application controller to monitor and control software file and application environments
US11936619B2 (en) Combined security and QOS coordination among devices
US10474448B2 (en) Method and system for providing software updates to local machines
US8346923B2 (en) Methods for identifying an application and controlling its network utilization
CN105027493B (zh) 安全移动应用连接总线
CN105247531B (zh) 提供受管浏览器
US20080109871A1 (en) Policy management
CN108614709A (zh) 一种控制Android应用安全访问网络的方法及系统
US10936470B2 (en) Systems and methods for performance bug and grievance reports for SaaS applications
Kumar et al. Exploring security issues and solutions in cloud computing services–a survey
Sahd et al. Mobile technology risk management
Bradatsch et al. ZTSFC: A Service Function Chaining-Enabled Zero Trust Architecture
CN114072798A (zh) 内联恶意软件检测
US11770361B1 (en) Cobalt strike beacon HTTP C2 heuristic detection
Sentanoe et al. Vmiguard: Detecting and preventing service integrity violations by malicious insiders using virtual machine introspection
US20220385683A1 (en) Threat management using network traffic to determine security states
US20240039952A1 (en) Cobalt strike beacon https c2 heuristic detection
US20240039951A1 (en) Probing for cobalt strike teamserver detection
Marengereke et al. Cloud based security solution for android smartphones
Geissler et al. Applying security standards to multi agent systems
US20230334150A1 (en) Restricted execution mode for network-accessible devices
WO2024025705A1 (en) Cobalt strike beacon http c2 heuristic detection
CN114285631A (zh) 一种基于安全网关的自动化数据加密系统及其应用
Shivakumar et al. Digital Workplace Security Framework
CN117240495A (zh) 一种IoT远程RPC安全控制的方法及装置

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