2018年8月9日,全球顶级安全会议——Black Hat USA在美国拉斯维加斯的曼德勒海湾会议中心落下了帷幕,这场盛会在全球黑客心中几乎等同于“世界杯”和“奥斯卡”同样的存在。这场一年一度的盛会已经有着21年的悠久历史,也被公认为世界信息安全行业的最高盛会之一。ios
做为在国内安全领域拥有多年的实战经验和技术积累的安全团队,美团安全研究院再次受邀参加了本次盛会。在议题经过率不足20%的严苛筛选条件下,美团安全工程师Ju Zhu与小伙伴一块儿带着本次演讲的议题“Art of Dancing with Shackles: Best Practice of App Store Malware Automatic Hunting System”,荣登Black Hat USA 2018的国际舞台。算法
Ju Zhu目前就任于美团基础研发平台/信息安全中心/基础研究组,拥有超过8年的安全研究经验,其中6年左右时间都在从事高级威胁相关的研究,包括0Day、nDay和漏洞挖掘等等。Ju Zhu一直致力于使用自动化系统来Hunt野外的高级威胁,曾屡次得到CVE,而且屡次受到Google、Apple、Facebook等厂商的致谢。他也屡次做为Speaker受邀参加BlackHat、CSS等国内外的顶级安全会议。数据库
Apple的iOS系统是全部流行操做系统中最安全的系统之一,正由于如此,也是黑客重要的攻击目标和研究对象。虽然攻击难度大,但一旦成功,所得到的商业价值很是之高,因此iOS系统备受黑客“青睐”。浏览器
由于苹果的商业模式比较特别,并且iOS系统并不是开源系统,同时Apple高度重视安全,因此对iOS系统进行了周密的安全设计,这使iOS系统的安全性远超其余操做系统。安全界对于大规模自动化捕获该平台的高级威胁,一直面临困难和挑战,同时当终端用户遭受真正的APT攻击(如PEGASUS)时,防护检测解决方案也没法得到足够的权限来检测深层攻击,甚至都没法得到足够的信息。安全
本议题正是在这个方向通过深刻研究作了突破性的进展,成功设计出一套可大规模自动获取应用样本的Crawl系统,经过使用基于Raspberry Pi构建集群实现了低成本、可扩展的安全沙箱自动分析系统,最终实现了自动化收集样本并对样本进行自动化安全分析的APT攻击捕获及分析系统。服务器
首先,咱们先来看一下这个系统的总体架构。网络
实际上,整个iOS恶意软件Hunt系统基本上分为两个不一样的部分:架构
第一部分,是App Crawl系统,主要用于从App Store收集新发布或现有的应用程序。固然做为感染链源之一,还会收集来自第三方App Store甚至公共恶意软件存储库(例如Virus Total)的应用程序以加强咱们的恶意软件数据库。除应用程序外,其余潜在的恶意文件类型(如Profile)也是咱们的收集目标,(顺便说一句,您能够参考我在BlackHat Asia 2018中关于”野外iOS Profile攻击“的名为“Death Profile”的文章)。并发
另外一部分,是沙盒分析系统,主要是动态跟踪应用程序行为,并根据规则决策引擎关联行为日志以给出最终结果。实际上,沙盒系统包含不一样的类型,包括基于Frida的iOS真实设备、ARM服务器的用户模式仿真(例如Raspberry Pi系统)以及完整的系统仿真VM。app
具体来讲,整个系统主要由五个模块构成。
那么,它们是怎么有效的运转起来的呢?
下面,咱们将基于各个模块的分解来详谈它们的运做模式。
首先,App Store应用程序的Crawl基本能够理解为iTunes协议的灰盒逆向工程。
通过研究,咱们发如今PC主机上经过iTunes实现App Store Crawl的基本步骤包括如下几个方面:
所以,基于上面的流程,咱们能够设计成如下架构。
从架构图来看,该系统实现的功能,包括应用程序Meta信息Crawl、Apple ID登陆、PC受权、iOS设备受权、IPA签名和安装后的Crack。它其实是一个基于iTunes Store应用程序的自动系统。
App Meta信息Crawler负责获取应用程序详细信息,包括下载URL和价格信息。应用下载抓取工具能够经过这些网址自动下载应用。而后,这些应用程序将发送到每一个越狱设备进行解密,这将用于之后的静态和动态分析。
对于Crawl系统,咱们能够分为三个部分来运做。
咱们都知道,从App Store下载的App是加密的。这样不利于咱们使用越狱设备和模拟器来分析行为,因此还须要对IPA进行解密。下面咱们说一下,Crack系统的技术要点。
若是用户的账户历来没有在iOS设备上登陆过,则它购买的App是没法在该设备上运行的,即DRM保护。
若是在一台设备上,用户登陆了本身的账户,Apple会认为用户受权此设备,而使用该账户购买的一切应用程序则可安装、也可运行。可是咱们须要让这一切变得自动化。
经过逆向“设置”程序,咱们发现“StoreServices.framework”是用来管理帐户信息的,最后咱们作了一个Tweak,并配合Undocument API实现了Apple ID登陆过程。
咱们有了大量待分析的样本,下面的工做就是静态和动态分析。业界对于静态分析已经很是成熟,好比MachOView等等,这里咱们就很少介绍了。而动态分析,目前主要以基于Frida的系统居多。
Frida是一个功能强大且便携的Hook系统,支持移动(例如iOS和Android)和PC系统(例如MacOS)。更重要的是,它容许在没有配置和编译的状况下根据脚本(例如JavaScript)控制Hook点。因此说,它是目前最流行的动态分析框架系统。固然它们都必须依赖真机设备。
接下来,咱们来介绍一下传统的基于真机(iOS设备)的沙盒系统。
从上图来看,这种基于Frida实现真机(iOS设备)沙盒系统的工做流程主要包括如下几个方面:
虽然Frida一直是App动态检测的主流,可是若是咱们须要检测大量样本或者大量Case时,则会出现严重瓶颈,由于面临大量的真机(iOS设备)投入,并且成本、扩展性都是致命问题,因此咱们创新的使用了低成本Raspberry Pi来替代它,并成功的实现了虚拟化、集群化。
在虚拟化方面,咱们实现了一个动态加载器,它能够加载iOS可执行文件,并从新实现了System Library和Framework,以保证iOS可执行文件可以正常运行等等。
这样咱们就能够轻松动态监控Mach-O的行为,并将这些日志提交给决策引擎,以肯定该应用程序是否为恶意软件,甚至是不是APT攻击的一个Chain等等。
若是但愿利用现有的服务器来运维,咱们也能够将其移植到QEMU中运行。
经过这种“低成本硬件仿真器”的设计,天天均可以自动化扫描大量的样本,从而节省了成本,并提高了可扩展性,提升了样本的检测效率。
这种高效的沙盒分析系统,必然会产生大量的分析日志,因此,咱们须要一种高性能、高实时性的规则决策引擎系统来作最后的判断处理。
Nools是一个基于Rete并使用JavaScript实现的规则引擎推理系统。它能够支持连续日志输入时的实时判断模式,并且用其编写的决策规则,具备强灵活性和可移植性,使得咱们对于样本的检测得到了高可用性。
一直以来,业界对于“iOS大量样本检测实现自动化Hunt高级威胁”都没有很好的实践,而咱们已经证实了基于自动抓取、安全沙箱自动分析系统以及iOS虚拟化的高级威胁Hunt系统的可行性。而这样大量的样本检测Case和日志,也为之后咱们引入AI系统提供了必要条件。
美团点评集团安所有的大多数核心开发人员,拥有多年互联网以及安全领域实践经验,不少同窗参与过大型互联网公司的安全体系建设,其中也不乏全球化安全运营人才,具有百万级IDC规模攻防对抗的经验。安所有也不乏CVE“挖掘圣手”,还有不少受邀在Black Hat等国际顶级会议发言的讲者,固然还有不少漂亮的运营妹子。
目前,美团点评安所有涉及的技术包括渗透测试、Web防御、二进制安全、内核安全、分布式开发、大数据分析、安全算法等等,同时还有全球合规与隐私保护等策略制定。咱们正在建设一套百万级IDC规模、数十万终端接入的移动办公网络自适应安全体系,这套体系构建于零信任架构之上,横跨多种云基础设施,包括网络层、虚拟化/容器层、Server 软件层(内核态/用户态)、语言虚拟机层(JVM/JS V8)、Web应用层、数据访问层等,并可以基于大数据+机器学习技术构建全自动的安全事件感知系统,努力打形成业界最前沿的内置式安全架构和纵深防护体系。
随着美团点评的高速发展,业务复杂度不断提高,安所有门面临更多的机遇和挑战。咱们但愿将更多表明业界最佳实践的安全项目落地,同时为更多的安全从业者提供一个广阔的发展平台,并提供更多在安全新兴领域不断探索的机会。
美团安全2018秋季招新开始啦!这里有数据安全、Web安全、移动安全、IT安全、渗透测试、安全研究、隐私保护合规、产品研发等十余个热门岗位欢迎你的加入,详情戳这里。简历请投至 zhaoyan17@meituan.com