安卓安全——读书笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhalang8324/article/details/89737552

想到什么就随手写点吧,最近刚看完《Android软件安全与逆向分析》。

另外还有一本《Android应用安全防护和逆向分析》,准备开始看。两本书的PDF链接我会放在末尾,需要的自取。

《Android软件安全与逆向分析》书中提到了多种去除Android本地限制的方法,倾向于基础性的安卓破解,比如去内购(不过本书的内购都是围绕着google play来讲的,和国内的内购相差很大,国内的话更多可以参考52pojie的教程帖子)。看完了这本书可以对smail语言更了解,初步接触到IDA这个神器。我看完的感受是基本能看懂smail大概的意思,然后配合jad和IDA能把代码逻辑理清楚,对代码关键点进行修改。(当然里边的实例记得动手,实例在图灵社区就可以下载)不过感觉这对于android安全来说仅仅是开始,更多的想接触加固,脱壳,hook。而这些,在《Android应用安全防护和逆向分析》书中都有涉及。不过这个汇编语言真的是我人生大敌ORZ。。。

组件安全——Activity安全

Activity可以在android:exported进行设置,如果为false则不可以被外部程序调用。

如果要进行外部调用的话,需要使用android:permission进行权限限制。

如果不进行限制,activity可以被劫持。

(等一个补坑。相关测试文档在公司电脑里)

组件安全——Broadcast Receiver安全

广播信息分无序广播(可以被所有接收者接收到,不能被abortBroadcast()中止)【sendBroadcast()】和有序广播【sendOrdererBroadcast()】。有序广播优先级高的接收者比优先级低接收者先接受,然后依次向下传递。这个时候存在的安全问题就是优先级高的接收者可以对广播内容进行篡改。android:priority属性的参数越大,优先级越高,最高位1000。

(测试过程待补坑)

安全建议的话是加入intent.setClass(MainActivity.this.DataReceiver.class);对广播权限进行限制,只能由本实例的DataReceiver接受。

组件安全——Service安全

Service一般是系统后台进程控制服务,恶意的service操作可以破解程序的执行环境,直接影响到程序的正常运行。

startService():启动服务。

bindService():绑定服务。

stopService():停止服务,对程序功能进行恶意破坏。

service也是可以进行权限控制的,参数为Android:exported--》false。同样支持多程序间调用的相互权限检查

(测试过程待补坑)

组件安全——Content Provider安全

数据共享交换服务(比如联系人,短信,账户等)。主要也是对权限进行检查。

(测试过程待补坑)

组件安全是移动应用安全的基础,同样也是乙方安服渗透测试的基础项。新人不了解移动安全,或者对APP渗透的了解仅限于业务安全的话可以了解下相关的成因和危害,以后在跟客户讲解的时候也可以更有底气。我这算是补坑了吧。

链接:https://pan.baidu.com/s/18lQvG1GRLO3AqVfUBod5-A 
提取码:tgop 

猜你喜欢

转载自blog.csdn.net/zhalang8324/article/details/89737552