QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

AI 与 Android 漏洞挖掘那些事儿

  • 2017-11-30
  • 本文字数:3041 字

    阅读完需:约 10 分钟

11 月 17 日,由阿里云主办的首届先知创新大会在京举行。来自量子技术、信息安全和人工智能等领域的技术专家齐聚一堂共同探讨中国原创安全技术,大会的初衷是希望成为中国原创安全技术的舞台,让安全研究者看到未来,让他们在安全技术上获得更多的创新和突破。更重要的是,为产业带来贡献助力解决社会问题是阿里一直以来对技术研究的坚持。

当前,最热门的技术非 AI 莫属,事实上,AI 已经在一些领域上展示了自身的应用潜力,在美国国防部高级研究计划局举办的“网络安全挑战赛”上,我们已经看到 AI 在网络安全上的应用,那么在移动端的安全方面,AI 可以发挥怎样的效力呢?蚂蚁金服巴斯光年安全实验室技术专家仲花和此彼就在本次先知创新大会上发表了《漏洞挖掘的工业时代尾声,Android 系统代码审计新思路与 AI 漏洞挖掘的结合》的主题演讲,介绍了一种批量挖掘 Android 系统漏洞的全新角度,关注被忽视的底层数据结构,以及通过代码审计发现 Android 系统中攻击面的方法,并展示相关实例。本文是对两位老师演讲后的专访整理。

受访嘉宾简介:

仲花 (温瀚翔),专注于 AOSP 漏洞挖掘与制作提权漏洞利用。发现并报告 CVE-2017-0418,CVE-2017-0665, CVE-2017-0681,CVE-2017-0737 等多个 Android 系统漏洞并获得 Google 致谢。现于蚂蚁金服巴斯光年安全实验室从事 Android 漏洞挖掘及利用相关研究。​

此彼 (吴潍浠) ,专注于研究 Android 安全。第一位 Google Android 安全奖金获得者。2016 年用自己发现的 Android 漏洞成功 root 当时 Google 官方搭载最新的 Android 系统的手机 Nexus 6 。曾从事 Android 恶意软件分析、反混淆、加密和漏洞挖掘利用等,现于蚂蚁金服巴斯光年安全实验室从事 Android 漏洞挖掘及利用相关研究。

Android 的漏洞有哪些?

仲花和此彼两位老师主要从 Android 漏洞的类型、高发点和触发途径为我们介绍了当前 Android 系统中的安全问题。

漏洞类型

Android 系统常规漏洞类型有内存拷贝不当导致的堆栈溢出、计数器溢出导致的整形溢出、越界的读和写、UAF、类型混淆、TOCTOU 等,还有一种是缺少权限检查,不过这种漏洞一般出现在 framworks 层的代码中,让我们比较容易地以高权限执行代码。

漏洞高发点

Android 系统漏洞的高发点一般在系统服务进程如 system_server 或 mediaserver 中;应用所依赖的一些 framework 层调用比如 WiFi 的 API 调用,跨平台的第三方库如 Skia,以及各种多媒体解码库,还有厂商的一些硬件相关的音视频编解码以及图形图像加速解决方案的支持库。

漏洞触发路径

触发路径主要有以下三种:

  1. 浏览器中的漏洞。这是最具有攻击性的,可以远程触发还可以造成代码执行;
  2. 文件解析漏洞。这种漏洞在 stagefright 后已经被 Android 系统的安全策略不断削弱,会造成影响但却不容易进行远程代码执行。
  3. 在手机本地的提权。应用程序通过与高权限的进行进行 Binder 通信,从而尝试以高权限进程的上下文执行代码。

AI 怎么进行漏洞挖掘?

AI 用于漏洞挖掘是基于遗传算法,遗传算法需要找到一个用例,能触发漏洞。首先,有一个用例的集合,变异函数就是先把一个或一个以上用例拿出来变异,放到适应函数里面进行运算,看这个新变异出来的用例是否是有价值的,如果有价值,就放到用例集合里面去,这是模拟生物进化的原理,通过变异和适应函数来筛选用例,即生物繁殖和适应环境。变异筛选逐渐把用例演化成能走入未走过的代码的用例,我们直接就相当于攻击者,就像军事演习一样,自己攻击自己的代码,模拟攻击者,攻击自己的软件,找出薄弱点即安全漏洞。

人工漏洞挖掘 vs AI 漏洞挖掘

传统的漏洞挖掘其实就是人盯着源代码看,通过反汇编别人编译已经完成的产品,分析运行原理,推算在哪种情况下可能会出现问题,然后试着去实践一下看看是否会真的产生问题,如果会,说明这有安全问题,从而达到发现漏洞的目的。

而 AI 是基于遗传算法、进化算法,它是根据程序内部的反馈运行的。如果发现当前用例促使程序内部在工作流程上有新的动作,从而推测新的动作可能会发生一些问题,那么我就重复进行这样的动作,并在这种动作的基础上稍加修改,其实就是自我尝试改进的过程。

由于 AI 在每秒中都会尝试成百上千次,并且可以快速地进行迭代,而人在跟踪代码执行的过程是很缓慢的,人为了弥补这样的不足,一般会通过类似符号类符号执行来猜测,必须进行高度抽象地猜测,就像下围棋一样,要在很高的层次上进行判断,是自我感觉的过程。而 AI 不一样,它可以把全部可能走入分支都尝试去走。再者,AI 可以全天候地工作,这是人无法做到的。

为何选 Android 而不是 iOS

虽然在苹果系统和 Android 系统上的漏洞挖掘大体上没有什么区别,但目前来看,在实践和适配的过程中,由于苹果有一些黑盒的程序,还是需要大量的人工参与的,而因为 Android 是开放的,而且文档很丰富,操作起来更方便。而且由于 Android 一直开源,文档也多,所以攻击 Android 的成本要比 iOS 低,所以大家都比较热衷于攻击 Android,Android 上的安全问题也就更加险峻,所以目前暂时选择在 Android 上用 AI 进行漏洞挖掘。

AI 漏洞挖掘与逃逸攻击

所有的攻击都是有场景的,逃逸攻击也不例外,逃逸攻击的场景一般指存在一个判别网络,逃逸攻击就是欺骗这个判别网络,让他识别成另一个东西。而漏洞挖掘是挖掘自己产品的漏洞,在这个场景中攻击者并没有参与来进来,也没有使用神经网络的判别,所以就没有逃逸攻击的问题。

AI 未来还能在安全领域做些什么?

机器漏洞挖掘还将在 PC 端和服务器上进行大规模训练。还有就是 Google 在手机上引入的 TensorFlow——手机上用的训练网络, 可能会产生新的安全问题,因为 AI 本身也是一个系统,它本身也会产生安全问题,就像上文提到的逃逸攻击那样。AI 经过大量训练之后,它内部会有训练出来的类似于算法的一个东西,然后可以通过生成对抗网络,训练出这个算法的逆算法去跟它进行对抗。

AI 为何受热捧?

目前的算力已经达到了一个瓶颈,摩尔定律已经可能不起作用了,过去,算力在疯狂地膨胀,代码可以随便写写,可以不注重效率的方式,但是现在很多问题已经无法用算力解决,只能通过人工智能的方式,像经验主义,向实际的解决方法逼近,在这种情况下去近似地解决一个问题,不可能是完美解决。

从国家的层面上来讲,现在人工智能已经成为了国家的战略,这是一个新的时代方向,是一个大趋势,大家都在投入。一个新的技术的投入会导致什么呢?这个技术的门槛会大大降低,为什么这么说呢?众所周知,现在很多框架都有了,直接调算法就行了,你只需要判断这个环境是否适用于这个算法,然后再调参数就 OK 了,所以说它的门槛已经被大大降低了。

从行业的角度来看,谷歌、微软和国内互联网巨头 BAT 起到了很好的带头作用,他们搭建了一些好的平台给一些创业型企业使用,不仅打开自己的知名度,也培养了大量的 AI 人才,在这一点上,我们国家的人才实力是有机会超越美国的。

传统开发人员应何去何从?

未来既懂传统技术又懂人工智能技术的开发人员将会很受市场欢迎,在现实中,我们需要专精于一个技术,但同时是我们还需要了解人工智能技术,因为了解人工智能的某些算法在将来可能会在你这个领域派上用场。

虽然很多人工智能技术会取代人类之前低效的工作,但是它毕竟还没有发展到超过人类智慧的程度,人类看事情的纬度会比机器多,我们知道这个东西什么时候该适用于什么经验,然后调到一个合适的点让机器去学习经验而不是完全地委派出去。所以机器还不能完全取代人,开发人员能做的就是保持一颗积极向上的心态,继续学习,跟紧时代的步伐,而不是过多地忧虑。

2017-11-30 18:002451
用户头像

发布了 83 篇内容, 共 49.5 次阅读, 收获喜欢 187 次。

关注

评论

发布
暂无评论
发现更多内容

使用 TypeScript 从零搭建自己的 Web 框架:领域特定语言(DSL) 与 Prisma 模型

RoyLin

typescript

掌握 HTTP:网络通信的核心技术详解

Liam

程序员 前端 Web 后端 HTTP

鸿蒙HarmonyOS实战-ArkUI组件(Flex)

蜀道山

鸿蒙 HarmonyOS Flex 鸿蒙开发 鸿蒙系统

浪潮信息持续更新“源2.0”基础大模型能力

财见

支持国密加密卡的堡垒机是什么牌子?电话多少?

行云管家

数据安全 堡垒机 国密 国密加密卡

Hugging Face推出全新代码大模型:支持80+编程语言,集成VSCode

百度开发者中心

人工智能 深度学习 大模型

鸿蒙HarmonyOS实战-ArkUI组件(Stack)

蜀道山

鸿蒙 HarmonyOS stack 鸿蒙开发 鸿蒙系统

和鲸科技将参与第五届空间数据智能学术会议并于应急减灾与可持续发展专题论坛做报告分享

ModelWhale

人工智能 大数据 空间数据库 空间数据智能学术会议

东周APP:投资新兴实业资产,助力实体经济高质量发展

极客天地

软件测试学习笔记丨Jenkins api接口

测试人

软件测试 jenkins API 测试开发

使用 Apifox 设置 OAuth 2.0 并快速获取访问令牌

Apifox

程序员 后端 oauth2.0 OAuth 2.0 API 安全

IPQ4019 PK IPQ9574——Processor chip performance and application comparison

wifi6-yiyi

WiFi 7 WiFi 5

智能商品计划系统如何提升鞋服零售品牌的竞争力

第七在线

拿到鹅厂的Offer啦!

王磊

Java 面试

NL2SQL进阶系列(4):ConvAI、DIN-SQL等16个业界开源应用实践详解[Text2SQL]

汀丶人工智能

大模型 text2sql NL2SQL

一本书精通推荐算法,轻松搞定入门、面试、进阶

博文视点Broadview

从零开始学习大模型

百度开发者中心

人工智能 大模型 LLM

一文读懂BTC生态新贵Giants Planet,将L2与现实世界整合

加密眼界

用海外云手机高效率运营TikTok!

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 跨境云手机

天翼云入选“2023年度数据要素价值创新标杆示范案例”!

天翼云开发者社区

云计算 大数据

OpenAI前商业化负责人Zack Kass中国行系列活动圆满落幕!

科技热闻

NineData正式将SQL开发正式升级为数据库DevOps

NineData

DevOps 数据库设计 数据管理 SQL开发 NineData

Python编程与算法面试-编程面试的重点

测试人

软件测试

MaxCompute 近实时增全量处理一体化新架构和使用场景介绍

阿里云大数据AI技术

大数据 阿里云

第47期 | GPTSecurity周报

云起无垠

秒开率破90%!交易后台渲染性能优化 | 得物技术

得物技术

性能优化 前端 企业号 4 月 PK 榜 后台管理

如何在面试中应对编程与算法面试?

霍格沃兹测试开发学社

基于afx透明视频的视觉增强前端方案

百度Geek说

开发效率 企业号 4 月 PK 榜 前端动效 透明视频 视觉增强

AI与Android漏洞挖掘那些事儿_Android/iOS_覃云_InfoQ精选文章