Android平台漏洞攻防和软件保护的技术趋势肖梓航安天实验室看雪安全网站2013中国互联网安全大会关于我肖梓航(ClaudXiao)•安天实验室高级研究员•看雪安全网站Android安全版版主•方向:移动反病毒、移动软件安全、开源硬件2013.09.23Android平台漏洞攻防和软件保护的技术趋势2今天的话题•在Android平台,此前大家更关注恶意代码问题。•从开发者的角度,还面临:–应用软件、在线服务和操作系统的安全漏洞;–对应用软件的破解和内容盗版。•从这两个角度,介绍近期的新进展、可预见的趋势、被忽略的问题。2013.09.23Android平台漏洞攻防和软件保护的技术趋势31DAY问题和设备商代码成为提权漏洞新来源趋势一2013.09.23Android平台漏洞攻防和软件保护的技术趋势4此前的情况•Android2.1–4.0.4存在许多通用提权漏洞:–ZergRush–Gingerbreak–Mempodroid–adbsetuid–……•并被大量恶意代码家族利用:–DroidDream–DroidKungfurootkit!–GingerMaster–TGLoader–……2013.09.235Android平台漏洞攻防和软件保护的技术趋势当前情况:Android系统版本分布2013.09.23Android平台漏洞攻防和软件保护的技术趋势6当前情况:1day提权漏洞和移植•CVE-2012-0056Linux的/proc/pid/mem文件被写入导致本地权限提升漏洞•CVE-2013-2094Linux性能计数器界限检查不当导致本地权限提升漏洞•CVE-2013-1773Linux内核VFAT文件系统实现缓冲区溢出导致本地权限提升漏洞•……•在LinuxKernel、驱动、第三方库中曾经出现的部分提权漏洞或其他漏洞,在Android上也可以利用。2013.09.23Android平台漏洞攻防和软件保护的技术趋势7案例:FirefoxOS提权•FirefoxOS复用了Android的驱动和NDK•2013.07.02,第一台FirefoxOS手机ZTEOpen发售•三天之后即被root:–•采用高通芯片Android驱动的已知提权漏洞–CVE-2012-4220(QualcommDIAGroot)2013.09.23Android平台漏洞攻防和软件保护的技术趋势8当前情况:厂商定制代码缺陷提权•Samsung、Motolora、LG、ZTE、Huawei、Sony……等厂商的设备都曾出现问题•原因:重要系统目录或文件的权限配置不当、自己添加的系统服务以过高的权限运行、定制的硬件驱动存在各类编码漏洞、写入文件没有考虑符号链接……•Seemore:平台漏洞攻防和软件保护的技术趋势9下一阶段趋势•由于Android的系统更新机制、更新周期和版本碎片化,1day提权问题将长期存在。•设备厂商定制代码的安全性仍处于较低水平,攻击者可能针对性挖掘提权漏洞。–JoshuaJ.Drake.ReversingandAuditingAndroid’sProprietaryBits•在真实世界,Android提权漏洞并未远去。2013.09.23Android平台漏洞攻防和软件保护的技术趋势10系统和框架漏洞大量出现,影响普通软件安全性趋势二2013.09.23Android平台漏洞攻防和软件保护的技术趋势11此前的情况•普通应用软件出现许多安全漏洞–敏感数据明文或可逆存储、全局访问–敏感数据明文传输–组件暴露或意图劫持–……•发起攻击存在前提:–大部分利用需要安装攻击软件到用户手机–少量利用需要提权,或者进入WiFi网络•系统中也出现过一些漏洞,影响自身安全性。2013.09.23Android平台漏洞攻防和软件保护的技术趋势12当前情况:adbbackup问题•将手机内部数据备份至PC,或者从PC恢复到手机–需要人工的界面确认操作–建议设置密码,但并不强制•可以从备份文件中提取出数据–应有root权限才能读写这些数据!–平台漏洞攻防和软件保护的技术趋势13当前情况:adbbackup问题•可以读取内部数据–明文密码、可逆密码、账户cookies/token等–各类其他敏感数据•可以改写内部数据–Android4.0.4Settings.apk文件遍历改写,可以用于GoogleGlass提权–也可以改写普通软件的数据或配置文件2013.09.23Android平台漏洞攻防和软件保护的技术趋势14当前情况:adbbackup问题•需要PC连接Android手机,从PC上攻击–这样的恶意代码已经出现•需要手机开启adb调试模式–国内的PC端手机辅助软件通常都会这么建议用户•需要用户的界面点击确认操作2013.09.23Android平台漏洞攻防和软件保护的技术趋势15攻击演示•去掉第三个利用条件,不再需要用户的界面点击确认操作•全自动地adbbackup读出内部数据(和密码)2013.09.23Android平台漏洞攻防和软件保护的技术趋势16当前情况:APK签名问题(MasterKey)•Bluebox:篡改任意代码不影响签名(bug8219321)–ZipEntry同名项目的不同解析方法•安卓安全小分队:篡改小于64KB的代码不影响签名(bug9695860)–ZipEntry长度解析整数溢出•JayFreeman:篡改任意代码不影响签名(bug9695860)–对上一个漏洞的利用方法改进,扩大适用范围–refer:•为什么这类问题很重要?2013.09.23Android平台漏洞攻防和软件保护的技术趋势17案例2013.09.23Android平台漏洞攻防和软件保护的技术趋势18•在第一个漏洞披露后,国内某个小规模第三方应用市场上大量软件利用这一漏洞植入恶意代码•包括其TOP榜的几乎所有软件71585342810887702250200400600800100012007/21/20137/22/20137/23/20137/24/20137/25/20137/26/2013当前情况:WebView问题•WebView1days远程shell–CrowdStrike@RSAC2011&BlackHat2012•WebView本地缓存记录–询问是否存储密码•WebViewJavaScript接口反射本地方法远程攻击–一个很早就被知道的老问题–更多八卦:•一些研究者称还有更多……2013.09.23Android平台漏洞攻防和软件保护的技术趋势19案例2013.09.23Android平台漏洞攻防和软件保护的技术趋势20反思一下这个案例或“闹剧”•个人观点:–对国内开发者和互联网企业–对国内安全企业–对安全平台和社区–对Google和手机厂商2013.09.23Android平台漏洞攻防和软件保护的技术趋势21下一阶段趋势•Android庞大的系统、框架和组件中会继续出现类似的安全问题。•它们会影响几乎所有上层应用软件的数据、业务和代码安全。•在版本碎片化的现状下,这些问题可能在部分设备中长期不被修复。•安全厂商能解决其中一部分问题,但不是全部。2013.09.23Android平台漏洞攻防和软件保护的技术趋势22应用软件自动化漏洞挖掘遭遇方法瓶颈趋势三2013.09.23Android平台漏洞攻防和软件保护的技术趋势23此前的相关工作•学术界对特定类型漏洞成功地做了半自动化挖掘–ComDroid–CHEX–DroidChecker–Woodpecker–MalloDroid–ContentScope–(国内一些团队的工作)•产生一些相关在线系统–SEDDroid–DroidBench–SCAP-Android–X-Ray•也发布了开源挖掘工具–Mercury/Drozer–IntentSniffer–IntentFuzzer–ASEF–AFE•制定了一些安全开发规范–AndroidBestPracticesforSecurity&Privacy–OWASPMobileSecurityTesting–viaForensics42+BestPractices•以及出现一些商业化测试工具2013.09.2324Android平台漏洞攻防和软件保护的技术趋势特点和遇到的困难•代码和框架–JavaonDalvik,C/C++onARM,HTMLonWebKit…–AndroidFramework的各类回调机制–异架构、OO语言的programanalysisframework•UI交互–代码和UI紧密交互,对程序分析和自动化挖掘造成困难•业务关联性–与PC不同,绝大部分漏洞均与应用的业务相关–如何产生有效的业务数据来驱使自动化动态分析?–如何判断什么业务数据是关键的、重要的?2013.09.23Android平台漏洞攻防和软件保护的技术趋势25下一阶段的趋势•自动化挖掘依然以足够小从而有技术特性的漏洞类型为主–例如:对组件间通信问题的细化、对密码存储和传输的发现•半自动的动态挖掘工具,高误报的静态分析工具将进一步改进•但前述困难短期内无法得到有效解决•移动软件安全问题需要开发者的深度配合–来自阿里的案例2013.09.23Android平台漏洞攻防和软件保护的技术趋势26恶意代码利用系统和软件漏洞展开高级攻击趋势四2013.09.23Android平台漏洞攻防和软件保护的技术趋势27案例一:特定提权漏洞•LinuxKernel的CVE-2013-2094本地提权漏洞•在公布后,被攻击者快速地移植到Android系统•并用于真实的恶意代码提权2013.09.23Android平台漏洞攻防和软件保护的技术趋势28案例二:签名漏洞2013.09.23Android平台漏洞攻防和软件保护的技术趋势29案例三:系统管理器漏洞•Obada.a•史上最复杂的Android木马•注册为系统管理器,防止卸载•利用系统管理器枚举漏洞,隐藏自身2013.09.23Android平台漏洞攻防和软件保护的技术趋势30案例四:短信构造漏洞•2012年11月2日,XuxianJiang公布任意短信构造漏洞•2012年11月3日,ThomasCannon公布PoC代码•2012年11月11日,发现利用该漏洞的家族新变种2013.09.2331Android平台漏洞攻防和软件保护的技术趋势造成的技术挑战•利用漏洞提权,如何清除?•对原有检测方法基本原理的颠覆•漏洞检测和漏洞修复的技术实现问题2013.09.23Android平台漏洞攻防和软件保护的技术趋势32APT攻击趋势下,信息泄漏型漏洞更加重要趋势五2013.09.23Android平台漏洞攻防和软件保护的技术趋势33此前的情况•重视程度:大范围账户和数据泄露问题远程攻击漏洞本地账户泄露漏洞本地信息泄露漏洞•大量应用软件在SD卡、Log等处泄露IMEI、GPS、SNS记录等数据•大量第三方广告库搜集用户隐私数据–MichaelGrace,etc.UnsafeExposureAnalysisofMobileIn-AppAdvertisements.WiSec2012•然而,现在已经是“APT时代”2013.09.23Android平台漏洞攻防和软件保护的技术趋势34移动设备隐私信息的APT价值2013.09