Android漏洞检测与分析初探

本文介绍了Android漏洞检测的基础知识,包括程序正确性证明方法、漏洞与缺陷的定义、Android安全机制。目前,Android漏洞检测主要结合动静态分析,通过模式匹配检测特定漏洞。重点讨论了Android组件权限、敏感API调用作为检测特征,并概述了漏洞检测的一般流程。文章提出对通用漏洞表示模式和机器学习在漏洞检测中的应用进行探讨。
摘要由CSDN通过智能技术生成

近两天对Android漏洞检测的基础知识进行了初步了解,现总结如下:

程序正确性证明

对于程序的正确性证明,有公理证明、静态分析、动态分析、符号执行等方法。从公理角度证明程序的正确性就是想通过某种公理系统对程序进行描述,判断程序能否转移到正确状态或满足某种安全性质。而对于静态分析或动态分析方法则是从检测程序的执行路径角度对程序的正确性进行检验。静态分析方法由于执行方便,覆盖面广,可以广泛地检验程序执行路径,但误报率较高;而动态分析方法由于对程序进行执行,针对性强,误报率较低,但由于检验的路径覆盖面小,故漏报率较高。具体内容参见参考文献【1】。

漏洞与缺陷

首先明确一下漏洞的概念。在软件设计开发过程中,由于软件开发人员的疏漏或失误,必然存在使软件运行失效的缺陷。如果软件缺陷可以被攻击者利用,进而产生安全问题,则称为漏洞。

漏洞检测与恶意软件检测的概念也是不同的。漏洞的存在应该是无意的,而恶意软件是黑客为达到某种明确的目的而开发的危害用户安全的软件。目前,由于恶意软件与正常软件具有显著不同的行为,可通过分析软件是否具有恶意行为,如是否申请了过多的权限,对恶意软件进行检测。

漏洞的分类

对于漏洞的分类目前了解不多,还需进一步了解。虽然文献【7】中有提到漏洞的分类问题,但感觉该分类不适用于目前课题的研究。文献【4】把常见的Android漏洞分为:组件权限暴露漏洞、WebView远程代码执行漏洞、弱随机数漏洞、Intent注入漏洞、SQL注入漏洞、敏感数据泄露漏洞、运行时动态代码加载漏洞。

Android安全机制

针对Android平台的漏洞检测,首先应对Android操作系统的系统架构以及安全机制进行了解。Android是一款基于Linux系统的开源操作系统,其系统自下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值