android漏洞检测工具,Android漏洞检测——模糊测试

前言

Android在目前的市场上占有率很高,用户数量庞大,而在该平台下的应用程序开发成本低,开发难度低,发布容易,缺少监管和审查,导致大量低质量App流入市场,这些App由于开发者缺乏安全编程技能或缺乏测试和审查,可能存在着一些严重的漏洞,对用户的隐私以及财产安全造成巨大风险。因此,移动应用尤其是Android平台下的应用的开发应该对此引起高度重视。

Android常见漏洞

越权绕过:没有对调用activity的组件进行权限验证,就会造成验证的安全问题

钓鱼欺诈:启动一个activity时,加入标志位FLAG_ACTIVITY_NEW_TASK,能够使被启动的activity立马呈现给用户,可用于钓鱼欺诈

拒绝服务:本地组件启动时没有对Intent.getXXXExtra()获取或处理的数据进行异常捕获,从而导致攻击者可通过向受害者应用发送空数据、异常或者畸形数据来使该应用crash的目的

权限提升:当一个具有高权限的service是被导出的时,如果没对调用这个Service进行权限限制和调用者的身份验证时,那么恶意的app将具有调用高权限的service的能力来执行高权限行为等

权限泄露:主要存在于某些具有高权限操作的组件被导出,而系统没有进行严格的身份验证和权限控制而导致的其他应用可以利用该组件而产生越权操作的行为。

Android常见漏洞检测方法

静态分析

利用apktool、dex2jar、jd-gui、smali2dex等静态分析工具对应用进行反编译,并对反编译后的java文件、xml文件等文件静态扫描分析,通过关键词搜索等静态方式将具有安全隐患的代码进行摘录并存入到检测平台后台,为后续的安全检测报告提供数据依据。

动态分析

对应用软件安装、运行过程的行为监测和分析。检测的方式包括沙箱模型和虚拟机方式。虚拟机方式通过建立与Android手机终端软件运行环境几乎一样的虚拟执行环境,手机应用软件在其中独立运行,从外界观察应用程序的执行过程和动态,进而记录应用程序可能表现出来的恶意行为。

人工分析

专业安全人员对待检测应用,对其进行安装、运行和试用,通过在试用过程中,逐步掌握应用的特点,并通过专业经验,来圈定检测重点。人工专业检测在涵盖基础检测和深度检测的全部检测项的同时,兼顾侧重点检测,给予应用更全面、更专业、更贴合应用的量身打造的检测服务。

模糊测试

简介

模糊测试(Fuzzing),是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。我个人理解,这是一种随机或伴随机的测试方法,与Monkey等随机测试工具有异曲同工之妙,只是其关注点不同。

模糊测试的执行过程:

1.测试工具通过随机或是半随机的方式生成大量数据;

2.测试工具将生成的数据发送给被测试的系统(输入);

3.测试工具检测被测系统的状态(如是否能够响应,响应是否正确等);

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值