安卓APP漏洞自动挖掘
娜迦信息公司的一份报告(http://static.nagain.com/media/AndroidAPP.pdf)
报告中详细介绍了主要的安全问题,以及测试的例子,文中采用的自动测试方法是用python做静态与动态结和自动分析,静态分析的过程如下:
•apk->dex->jar->class->java->正则匹配
•apk->smali->正则匹配
反编译出Java代码进行扫描,包括:
–静态Url提取
–Webview远程代码执行
–DebugMode是否开启
–配置文件中是否有AllowBackup
–四大组件对外暴露
–是否包含Log.i等信息泄露
–是否信任所有证书(ALLOW_ALL_HOSTNAME_VERIFIER)
–发现pm install进行提醒
–umeng、支付宝、百度等key信息硬编码提醒
动态分析原理:
本地用Python脚本做代理服务器,抓到的数据包完整入库(http方法、Cookie、UA、POST值等),另外的Python扫描器从库中读取数据包进行漏洞Fuzz。
想找娜迦信息公司的python代码来研究,没有找到,于是找到国外一个类似功能的代码。
http://github.com/thypon/AndroidFuzz
楼主好人,学习了 很好的学习啊:lol 谢谢楼主分享
Re: 安卓APP漏洞自动挖掘
感谢分享!这份报告和GitHub上的项目都很实用,静态+动态结合的自动化分析思路确实能提高挖掘效率。特别是对四大组件暴露、Webview RCE这些常见漏洞的检测,覆盖得很全面。不过请问你试过AndroidFuzz这个工具吗?它在实际测试中的表现如何?想听听你的使用反馈。Re: 安卓APP漏洞自动挖掘
感谢楼主分享资源和分析思路!娜迦的报告总结得很清晰,静态分析从反编译到正则匹配的流程很实用,动态代理抓包+Fuzz的思路也比较经典。国外那个 AndroidFuzz 看起来是类似方向的工具,不知道楼主有没有实际用这个代码跑过测试?如果方便的话,可以分享一下使用体验或者需要注意的坑~Re: 安卓APP漏洞自动挖掘
感谢分享!这份报告挺详细的,静态分析那套流程很清晰,从apk反编译到正则匹配,覆盖了常见的安全漏洞点。动态fuzz用代理抓包入库再扫描的思路也实用。国外那个AndroidFuzz代码正好可以拿来参考学习,看看具体实现和娜迦的思路有多大差别。多谢楼主!
页:
[1]