Android应用安全专利技术综述
摘要 Android操作系统已成为全球第一大操作系统,其安全性关乎海量用户的信息和财产安全。本文对Android应用安全技术领域专利技术进行分析和整理,以Android应用安全检测技术和安全加固技术为主线,重点关注了本领域的全球专利申请趋势、技术发展走向以及主要技术方案,有助于全面了解Android应用安全技术领域的发展态势。
关键词 Android系统;安全技术;专利
1 Android系统简介及其安全性分析
安卓软件签名工具Android(中文俗称“安卓”),是一个基于Linux内核的开源移动操作系统,由Google成立的开放手机联盟(Open Handset Alliance)持续领导与开发,主要设计用于智能手机等移动终端。2017年3月,Android全球网络流量和设备超越了Windows,成为全球第一大操作系统。
Android操作系统架构自底向上分为4个层次:Linux内核层、系统库层、应用框架层、应用层[1]。其中应用层为用户提供各式各样的应用程序,是Android系统面临的安全风险和威胁的“重灾区”。Android应用层安全研究和相关技术聚焦于Android应用本身的安全,包括了2个
主要技术分支:一是针对应用是否存在恶意行为、漏洞等进行安全检测,规避安全风险,保证系统及其他应用不受恶意行为、漏洞的影响;二是针对应用进行安全加固,保护应用安全[2-5]。
2 Android应用安全技术专利申请情况
2.1 国内外相关专利申请趋势分析
Android应用安全技术的专利申请趋势总体上可以分为二个阶段,其中:2008-2010年为萌芽期:在该阶段,国外由于先发技术优势在申请量上领先于国内,国内起步时间相对略有滞后。2011-2016年为增长期:自2011年开始Android应用安全领域专利申请量开始明显地快速增长并在2016年达到峰值。
2.2 全球专利申请来源国/地区分布
截至2018年5月,Android应用安全技术全球专利申请的来源国/地区主要为中国、美国、韩国。其中中国1112项,占比79%,美國167项,占比12%,韩国89项,占比6%。目标市场是专利申请进入的国家/地区,反映出世界范围内该项技术的主要专利应用市场,其中中国
占比69%,美国占比13%,韩国占比6%,同时PCT申请公开量占到了总量的8%。由此可知Android应用安全技术在全球范围内都已经得到了比较好的研究和应用,其中中国,美国,韩国既是主要的技术来源地也是关键的市场目标地。
3 Android应用安全技术演进及主要方案
3.1 Android应用安全技术演进路线
以Android应用安全检测技术和安全加固技术为两大主线得到Android应用安全技术演进路线:(1)前期(2010-2013):主要涉及单一地利用名称、特定代码、安装行为等特征来进行Android应用安全性的检测,并采用代码加密、嵌入签名等技术手段进行基本的Android应用安全加固,这段时期的技术方案对人工操作的依赖较大,对危险应用的判断及应用加固操作均不够准确和自动化;(2)后期(2014-2017):在安全检测方面逐步开始注重将静态检测技术和动态检测技术相结合,并将人工智能相关技术引入到Android应用安全性检测中来,弥补了单一检测方式暴露出来的缺陷,并大幅提高了安全检测的智能化水平;在安全加固方面注重采用代码混淆、动态加载和动态反调试等技术手段的结合进行更全面的Android应用安全加固,同时降低因执行安全保护技术而对Android应用执行效率的
负面影响。
3.2 主要技术方案
(1)Android应用安全检测技术
(a)静态检测:基于特征的检测方面,KR20110084693A通过分析应用的属性文件l中的特征,进行快速匹配检测;CN107808093A基于日志提炼恶意软件特征集,使用聚类算法进行恶意应用家族聚类;基于图理论的检测方面,CN107239706A通过构建Android应用源代码中方法的控制流图、数据流图挖掘Android平台下应用软件的安全漏洞;CN106951780A构建基于类的函数调用关系图,以类为单位进行提取恶意代码,从而保证对变种的恶意代码有较高的准确度;在基于语法语义分析的检测方面,CN106228068A通过语法特征和语义特征的提取和建模,对特征值规范化后进行聚类和相似度计算;CN107122660A通过分析用户隐私输入点的上下文语义和存储方式,对隐私数据进行跟踪,记录隐私数据的变形和流向;在基于污点分析的检测方面,US2014059690A1通过静态污点分析判断应用是否被重打包;CN106709356A在基本的静态污点分析技术的基础上通过符号执行扩展漏洞挖掘的范围,提高了漏洞挖掘结果的精确
度。
(b)动态检测:在基于行为特征的检测方面,US20180139216A1通过分析应用的运行时行为检测恶意应用;CN102254113A基于拦截和检测应用安装中的行为进行风险应用判断;CN104036188A通过监控应用程序对于ACTIVITY的调用判断所述调用是否符合预设规则;CN104915600A监视并统计应用程在运行中调用的所有API事件及频率,得到应用程序的整体风险水平评价值;在基于语义的检测方面CN106371994A提出一种基于自然语言处理的动态移动APP测试方法;CN107967210A通过结合分析用户的显式意图进行行为恶意性识别;在基于污点分析的检测方面,CN103177210A通过在Android中植入动态污点分析模块对敏感信息操作进行监控分析;CN105550594A在污点访问路径上执行污点传播规则,出数据泄露的路径以减少隐私泄露漏洞的漏报和误报;CN107623738A在WebView桥接口通信数据传输方法中增加了对应的污点记录模块和污点还原模块实现污点映射,当敏感数据在Android原生环境与Web环境之间通过WebView桥接口进行传输时,能够通过该污点映射方法使敏感数据的污点标记跟随数据进行跨语言传输,从而实现跨语言污点分析。(c)混合检测及基于人工智能技术的检测:无论是静态检测还是动态检测,都具有自身固有的缺陷,因此“动静结合”的思路在专利申请中不断体现,CN103685251A实现Androi
d恶意软件静态检测和动态检测的有机结合,通过把应用程序安装到Android沙盒中,通过对应用程序运行情况的监视获得应用程序的API调用信息以及各种动态行为,以此达到检测应用程序恶意行为的目的;CN104462970A通过扫描应用程序源码获取运行必需的权限集合并设置敏感权限集合及建模,随后运行待测应用程序依据模型进行全覆盖分层次的动态检测,提高了权限滥用检测的效率。
为了解决传统检测方法在面对不断加速涌现的海量恶意应用特征时分类速度不足的问题,近年来发展迅速的人工智能技术被引入到Android应用安全检测技术矩阵中并获得了良好的效果。CN104598825A通过改进贝叶斯算法对安卓恶意程序和良性程序的特征属性进行分析和分类,判断分析是否为恶意软件;CN104794398A对待检测的程序提取权限信息生成特征向量,基于SVM和KNN进行训练和分类,得到待测程序是恶意程序或正常程序的判别结果;CN105205396A将深度学习模型与恶意代码检测相结合,同时将静态特征与动态特征相结合,提高了系统对于未知恶意代码的甄别能力和检测的准确性。CN105550583A基于随机森林分类器对待检测APP进行检测,实现对恶意APP的高效检测,提高Android平台的安全性。
(2)Android应用安全加固技术
(a)防反编译:防反编译常用技术包括代码混淆与动态加载、代码加密、加壳等。KR101391982B在应用中插入特殊的防护代码以使得反编译工具无法获取源代码;CN103324872A通过生成混淆应用程序时所需要的置换矩阵,并对Android应用程序的二进制代码进行混淆;CN104317625A提出一种APK文件的动态加载方法,在运行第一APK文件时,通過Android API提供的DexClassLoader类从第二APK文件中将核心功能部分源代码动态加载至第一APK文件,并从Android系统内部存储之中删除该第二APK文件以规避现有Android逆向工具的反编译;CN102236757A对应用的DEX文件的部分关键信息进行加密,提高了加密/解密的执行效率;CN107196907A对应用环境信息进行加密并发送加密后的环境信息至服务器,当接收到所述服务器基于加密后的所述环境信息返回的密钥时基于所述密钥解密并调用SO文件,以解决现有技术中SO文件容易被轻易获取和盗用,存在的安全性低的技术问题;CN103530535A提出一种Android平台应用程序保护的加脱壳方法,面向Android平台应用程序原可执行文件的加壳步骤和脱壳步骤两部分。
(b)防动态调试:防动态调试技术用于防止破解者使用调试器或者模拟器获得临时文件或内存数据等。防动态调试技术包括防内存窃取、防动态跟踪等。CN106055983A提出一种基于IDA通信的Android应用反调试方法,将反调试程序写在Android应用程序中对Android
应用程序进行版权保护;CN106843919A提出当检测到目标类已经被加载到内存空间中时,删除dex文件中类的类数据信息class_data_item以解决了现有技术中能够从内存中提取完整dex文件的问题。
(c)防篡改:防篡改技术用于保护应用程序的完整性,以防止破解者修改应用或破坏应用。防篡改技术包括签名机制、水印与指纹等。KR101416717B提出一种通过在应用程序中内嵌特定HASH值的方法用以判定应用的完整性;CN103886260A通过引入第三方检测签名及Android终端的安全管控模块固化签名信息;CN104156638A提出一种面向安卓系统软件的扩展签名的实现方法,在不破坏安卓系统自签名机制的基础上进行了一次扩展签名,该扩展签名可用于开发者身份认证、安全检测认证等第三方数字认证;CN105574371A提出一种基于文本水印的安卓应用程序信息隐藏与软件保护方法,其中信息隐藏方法包括将需要隐藏的信息M加密并将密文按照规定格式保存到数组中,分析出l文件中可以利用的位置,按照规定的格式将密文隐藏到相应位置中并生成APK文件。
3 结束语
本文以Android应用安全检测技术和安全加固技术为主线,重点关注了本领域的全球专利申请趋势、专利技术发展走向以及主要技术方案,分析表明Android应用安全技术的国内外研究正呈逐年递增的趋势,且中国企业已经成为该领域的研发主力。经过对专利技术的梳理,有助于全面了解Android应用安全技术领域的发展态势,对涉及Android应用安全技术领域的研发工作有一定帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。