Android软件安全 攻防研究现状

原文链接: http://www.secmobi.com/wp-content/uploads/AndroidAppSecurity-ISF2012.pdf

统计数据
案例学习
安全开发方法

发现安全漏洞
自动化漏洞挖掘
攻击缓解技术
开放问题
统计数据

案例学习
外部存储问题导致数据泄露
将个人数据和系统数据存储在SD卡
将个人社交信息存储在SD卡
内部存储问题导致数据泄露
账户密码明文存储
敏感数据明文存储
传输问题导致数据泄露
传输问题导致会话劫持
数据验证问题导致客户端注入
代码验证问题导致代码执行
数据验证问题导致服务端注入
登陆认证问题导致非法访问
可伪造的登陆凭据
SSL证书不当验证
不验证客户端身份
组件暴露导致能力泄露
多款手机Android系统远程擦除漏洞
Android系统任意构造短信和彩信漏洞
旁路数据泄露
不必要的Logcat
系统级键盘记录
密码学算法使用不当
可逆编码、弱哈希算法
自定义安全算法
无密码、弱密码、硬编码密码
安全开发方法
数据存储
问题:数据泄露
-外部数据转到内部存储
-外部数据加密存储
–新问题:密码的选择和保存
-敏感数据尽可能不存储
–新问题:用户体验
–新问题:应对内存取证
数据传输
问题:监听、劫持、中间人攻击
-用SSL加密传输个人数据和敏感数据
-用证书锁定验证服务器合法性
数据验证
数据来源:
– 用户输入 完整性:防篡改
– 组件通信 有效性:验身份
– 网络接收 格式:防畸形   代码类型:防注入
代码来源:
– 网络接收
– 本地存储
组件间通信
- 最小化组件暴露
- 设置组件访问权限
– 自定义signature级别的权限
- 暴露组件的代码检查
密码与认证
- 算法使用不当 
- 弱密码
- 弱密码算法
- C/S单向认证
- 认证凭据保存不当
 系统提供的账户管理
 系统提供的算法库
 “最佳安全实践”
发现安全漏洞
组件暴露(一)
activity, service和receiver的暴露
– 攻击者调用这些组件,获得额外的能力/权限
– 攻击者构造数据并调用这些组件,进一步控制其代码的执行
 Intent劫持
– 读取intent传递的extra数据
– 构造组件,响应intent,钓鱼攻击
– 构造组件,响应intent,劫持
组件暴露(二)
provider默认暴露,可以读写
– 攻击者读取其中的敏感数据
– 攻击者篡改其中的数据,影响程序后面的执行
SSL通信
问题:
– 不使用SSL
– 不验证服务器证书/忽略证书验证错误
– 不验证证书主机名
攻击:
– 嗅探
– MITM
产业界部分工作
OWASP
– Mobile Security Project
– Top 10 Mobile Risks/Controls
– AppSec Conferences
viaForensics
– Santoku
JSSEC
– whitepapers
自动化漏洞挖掘
学术界工作(一)
ComDroid
– 介绍组件暴露和intent劫持
– 基于manifest和CFG寻找漏洞
CHEX
– 组件劫持漏洞
– 数据流-> hijack-enabling flows
DroidChecker

学术界工作(二)
Woodpecker
– 组件暴露
– 系统预装软件
– CFG + 数据流分析
MalloDroid
– SSL/MITM问题
– 数据流分析
产业界的工作
Mercury
ASEF
SPF
Intent Sniffer/Intent Fuzzer
攻击缓解技术
IPC加固(Intent Process Communication)
ComDroid
– IPC检查
QUIRE
– 加固IPC和RPC
– 跟踪调用链,轻量级签名
Bugiel et al
– 对IPC的监控
– 在内核层对文件系统、网络访问的控制
SEAndroid
SELinux based
阻止从用户层的root exploit
基于中间件的MAC
Android官方系统更新
Android 4.0
– ASLR
Android 4.1
– 应用加密
Android 4.2
– Libcore的SSL实现支持证书锁定
– ContentProvider默认不暴露
产业界
Android任意构造短信漏洞


开放问题(一)
新的漏洞类型
– Android软件独有的漏洞还有哪些?
与软件业务相关的漏洞
服务器端安全问题


开放问题(二)
与系统机制相关的漏洞
– 点击劫持
– Activity劫持
– 键盘记录
– 锁屏软件失效
开放问题(三)
漏洞自动挖掘的困难:
– 如何区分敏感数据?
– NDK代码如何自动分析和挖掘?
– 对用户交互界面的自动触发
自动的动态挖掘方法?
对现有漏洞的细化挖掘
– 数据传输和存储
没有讨论的话题
软件版权保护
内核和系统安全
ARM的漏洞利用和防御







你可能感兴趣的:(Android软件安全 攻防研究现状)