Android应用安全开发
About Me
• 沈沈明星
• 网易安全网易安全专专家家
Company
Logo
议程
• Android基基础础
• AndroidAndroid应应用客用客户户端安全端安全
• Android应用通信安全
• Android应用服务端安全
• 总结总结
Android系统市场占有率巨大
4
Andriod整体构架
OWASP Mobile Top 10
与传统Web应用相比
• 手机机上存的存的东东西更隐隐私私
• 手机直接关手机直接关联联运运营营商商账账号号
• 手机更容易物理丢失
• 手机更多使用公用wifi上网
• AndroidAndroid系系统统的开放性的开放性
• Android机最大的乐趣‐刷机(root)
• Android混乱的应用市场
Android客户端安全
从AndroidManifest.xml说起
• 每个每个Android程序中必程序中必须须的的文件件
• 它位于整个它位于整个项项目的根目目的根目录录
• 定义应用程序及其组件的结构和元数据
– Permissions
– Activities
– Intents
– NotificationsNotifications
– ContentProviders
– 。。。
AndroidManifest.xml 实例
Permission
• 利用Linux 已有的有的权权限管限管理机制机制,为为每每一个个
Apppplication 分配不同的uid 和ggid
• 在此基在此基础础上上,对对Appllication 可以可以执执行的某些行的某些
具体操作进行权限细分和访问控制
Permission实例
滥用权限
组件间调用
• 四大大组组件件
– Activityy
– Service
– BroadcastBroadcast ReceiverReceiver
– Content Provider
• 如果配置不当,会被其他如果配置不当,会被其他应应用用调调用用
ContentProvider
• 为为存存储储和和获获取数据提供数据提供统统一的接的接口
• 可以在不同的可以在不同的应应用程序之用程序之间间共享数据共享数据
• ContentProvider提供的方法
– query :查询
– insert :插入
– update :更新
– deletedelete ::删删除除
– getType :得到数据类型
– onCreate :创创建建数据据时时调用的回调函数
滥用ContentProvider
滥用ContentProvider
Andriod应用反编译
• Andriod 应应用程序使程序使用java开发发,可通通过过反编编
译的方式获取对应的源码
• APK包其实就是个ZIP包,用WinRAR