当 Adrian Luowig讲述理想的计算机安全方法时,他不是将其比喻为锁或防火墙或城堡周围的护城河,他说,计算机安全应该像信用卡业务一样。
他解释说,信用卡公司并不能消除风险。它只能管理风险,把市场作为一个整体的数据来为每个人建立不同的风险(和不同的利率)。Ludwig认为,计算机安全应该以大致相同的方式工作。 “安全社区如何规定是非黑白、好与坏?”他说。 “除非我们接受灰色地带,否则将是全黑的。”
Ludwig在谷歌工作,负责Android的安全,该移动操作系统,总是包含尽可能多的手机制造商,应用程序和人。但他和同事们的目标是把这个办法用在一个新的方向。他解释说,如果安全的未来在于管理风险,那么安全的未来就是机器学习,人工智能的同一品种已经证明在谷歌帝国的很多其他地方非常成功。我们不应该编写旨在停止一切网络攻击的强硬和快速的数字规定,随着互联网变得更加复杂,随着它的普及,这样做最终会导致大家都关闭起来。相反,我们应该建立一个可以分析较大范围和学会识别动态潜在问题的系统。
Ludwig用信用卡公司的比喻把谷歌和其主要竞争对手苹果,区分开来,因为苹果对iPhone死死地控制住。坦白说,苹果的安全模式确实有它的优势。美国联邦通信委员会正在调查为什么修补Android手机的漏洞需要这么久,这一问题很可能是谷歌有这么多不同的手机制造商,和支离破碎的Android系统的结果。而苹果仅仅是和一个手机制造商打交道:它本身。但Ludwig的观点是,在放任和锁定之间可以有一个中间地带。而这涉及到机器学习,包括越来越重要的人工智能技术深层神经网络。
“如果你有10亿个设备,不管你的安全做得有多好,它们中的一些始终会有漏洞,其中一些将受到损害。”Ludwig说。在加盟谷歌之前,他在国家安全局呆了8年,并在安全咨询公司@stake工作一段时间。 “要管理这么多设备,你需要数据,而且还需要分析它。”
初创Deep Instinct
他不是唯一一个推动这个大想法的人。百度也在使用深层神经网络识别恶意软件。同时还有安全的初创公司,如Deep Instinct和Cylance。正如一个神经网络可以识别照片的具体特点,它也可以识别恶意软件的应用程序,或可能暴露你的手机给恶意黑客有点缺陷的操作系统代码。
但革命的时机还没到。谷歌的努力仍处于早期阶段。 “这不是一个科学实验。它是真实的。但它不是最优的解决方案。”Ludwig说。目前,谷歌还没有足够的问题来训练神经网络。“大多数应用程序的安全性都很好。不过也有一些糟糕的。“和Ludwig一起工作的Rich Cannings说。讽刺的是,要真正“拥抱”机器学习,谷歌需要更多的Android问题来灌输神经网络或完善神经网络。
并不是说Android的安全记录是一尘不染。 “一年前,”在名为Zimperium安全装备工作,最近在Android中发现了显著串漏洞的研究人员Joshua Drake说,“我真的觉得Android没有在安全方面投资任何东西。”而且机器学习不是万能药。它不能帮助谷歌发放安全补丁给所有的Android手机制造商。但它可以帮助识别安全漏洞,如果目前的技术完善的话。
“门卫”Bouncer
Sebastian Porst运行谷歌的团队,负责辨别可能出现在Android手机上的任何恶意或脆弱的应用。他希望机器能取得自己的工作, “这是我们的目标。”他说。
在谷歌,这可以说是很寻常的态度。事实上,这是驱使该公司运作方式的理念。 “我们团队的人会很快因为手工执行任务变得无聊,有编写软件来取代他们以前的手工工作的技能。”Ben Treynor Sloss说,负责保持谷歌在线服务启动和运行。
在Android安全团队内部,这方面的努力还不是很久远,但Porst和他的团队已经建立了一个自动化系统Bouncer。该系统会分析每一个上传到谷歌Play商店的应用程序,寻找恶意或其他有问题的软件代码,然后运行每个应用程序,以分析它们的行为。这也关系到了谷歌的网络爬虫——谷歌搜索引擎的指标工具,因此它可以自动扫描上传到随机网站的Android应用。 “我们尽最大的努力在源头扫描每个应用程序。”Porst说。如果一个未知的应用程序被下载到一定数量的Android手机上,系统会“抓住”它,同时分析它的代码和行为。
在过去,Bouncer根据一组预定义的规则进行操作。但现在,在努力磨练系统的同时,谷歌还在依靠机器学习。在扫描所有这些应用程序后,该系统已经收集了每个程序大量的数据,Porst称之为“信号”——定义程序的特点和行为。目前,团队正在把这些信号灌输给神经网络,以便系统可以了解哪些特征的组合表明恶意软件。 “我们可以用机器学习弄清楚哪些信号实际上具有潜在有害的行为,哪些是完全无害的,”Porst说。
这的确很有用,但还不足够。目前,Porst说,“安全的专业知识不能被任何机器学习算法代替。”事实上,机器学习只是团队扫描渠道其中一部分,如果系统标记某个应用程序是有问题,人类工程师总是会再次检查。问题是数据太少。 Porst说,技术对Play商店外的应用程序更有效,主要是因为,如今,上传到Play商店的几乎没有有害软件。
这并不是说机器学习不会改善Porst和其团队的工作。安全初创Deep Instinct首席技术官Eli David说,他的公司通过分析数据而不仅仅是跨一个计算机平台,比如说Android,而是所有的平台,已建立有效的模型。他说,“你的范围一定要大。”
真正的Clusterfuzz
在识别移动操作系统有大洞后,Jon Larimer在谷歌找到了一份工作。他发现了图形设备驱动程序的瑕疵,呈现在Android手机的图形代码。他用这个漏洞通过互联网获得手机的完全控制。然后,他将它展示给Ludwig和其团队。
现在,Larimer和他的团队正在建立一个可以自主判断类似漏洞的系统。
像Nick Kralevich这样的Android安全工程师,构建代码的目的是消除操作系统可利用的漏洞。但这些漏洞接二连三地出现。因此,最初打造的处理谷歌Chrome网络浏览器的安全技术,Larimer和其他人建立在模糊测试,通过各种随机输入寻求在软件中的漏洞。模糊化是常有的事情,但是这个系统被称为Clusterfuzz,同时在几十台Android手机进行模糊测试。
在某些情况下,它在任何给定的时间横跨数千台服务器,分析约1500台手机,测试这些手机的虚拟化身。它还测试物理设备,因为硬件真的可以改变手机的行为。在谷歌总部43号楼内,你会发现大量的机架放着数百手机插入此扫描系统。 “我们团队没有很多人,”他说, “但是,我们的优势在于规模,可以接触成千上万的CPU。”
现在,为了努力鉴定更多的漏洞,谷歌将机器学习应用到该问题。Larimer和团队正在利用神经网络,使用Clusterfuzz鉴别每个文件的结构。如果系统知道该结构,它可以更彻底地测试该文件。在学习确定文件如何运行上,Larimer解释说,神经网络可以帮助模糊器“接触尽可能多的代码”。像Porst对机器学习所做的工作,该项目还年轻。但有前途。 “我们最终可以达到100%的覆盖率。”Larimer说。 “这就是未来。”
寻找中间地带
这一切的工作表明,Android的安全性正在改变。除了对机器学习的举动,该公司推出了一个大的赏金计划,在前微软人Scott Roberts的指导下,Ludwig作出更大的努力来解释他的团队是如何解决安全性的问题。外部研究人员外像Joshua Drake早年曾经质疑谷歌对Android安全的认真性。但即使Drake也会告诉你,他看到了改变的迹象,特别是因为他去年夏天暴露了Stagefright漏洞。 “过去和现在是一个巨大的差异,”德雷克说。 “谷歌已经意识到他们需要做更多的地步。”
谷歌不相信苹果的模式。但Ludwig和他的Android团队知道,旧的方法并不一定成功。他们认为理想的方法是介于两者之间,其他人也同意。 “这两个生态系统都有优点和缺点,”Drake说。 “不是那么简单就能解决问题。”如果是这样的话,机器学习可以在手机安全的未来确实发挥重要的作用。
via wired