人工智能解决问题的时候通常是去收敛、去逼近、去寻找拟合,是一个逐步强化的过程。但是对于安全来讲,它是一个发散性的问题,是不收敛的,它的目标就是要通过不收敛的方法去对抗,要绕开你。所以这点上来讲网络安全和当前的整个人工智能大方向就是完全冲突的。 但是人工智能范围很大,我们还是可以在安全的整个过程当中使用这些先进的理念、方法和新的意识的东西。但是我觉得不要盲目地使用机器学习或者是这些新的算法。这里,我们需要先弄清楚为什么要用机器去学习前面的认知的过程,然后再讲讲我们怎么用,最后讲讲我们用的姿势和尝试的方法。一. (WHY)移动威胁的对抗升级
移动威胁对抗的场景和特点直接驱动了新的对抗形势。PC时代的恶意代码——速度和深度的对抗
首先还是回到移动威胁和安全问题的认知来看。我们以PC时代为例做一个比对。PC时代是一个非常经典的情况,今天有一个主机被攻陷了,一秒钟它自己变了两个,两秒钟以后变成了四个,你会发现它是以幂函数增长的。这个曲线的增长是一个从少到多逐步攻击面扩大的过程。而从这个过程中来看,基本是顺着网络结构,比如说扫描、嗅探,在网络上发散的方式直接传播的。移动时代的恶意代码——不一样的攻击前提
但是对于移动上来讲,你会发现有很大的问题。 第一,没有直接穿透的攻击路径和攻击目标标定 到目前为止除了少数的几个案例和漏洞,能够达到这样的效果以外,目前不具备普遍的、广泛的、直接可以穿透打到一个攻击目标的移动终端的这样一种线路和模式; 第二,攻击之间缺少关联和网络效应 对于PC来讲,我知道你的IP,知道你的端口或者是你的公网IP,只要你在PC上有一个漏洞,这个漏洞是一个远程可溢出的,几乎意味着你只要插了电我就可以把这个电脑攻破。 但是手机不一样,手机到目前来看这种攻击模式目前没有普遍存在。对于手机来讲,以及它的网络结构上来看,你可以发现终端和终端之间的网络拓扑并不明显。 第三,没有规模化探测通道入口 虽然我们每个手机都上网,但是每个手机是通过运营商的网络中转和代理之后再去接入互联网的。每个手机随着基站的接入,随着网络的一些漫游,你会发现它的IP策略、整个路由的策略。一是一个大局域网的策略,也是一个变动的策略;二是我们在操作系统的设计和定义的时候你会发现,对于微软的操作系统,它大量地引入了像RTC COM组件、远程服务执行,这种远程通信能力很强的服务模式。 第四,没有低成本的规模化攻击模式 但是移动终端不一样。你会发现,它在操作系统的设计上,首先采用了双层的操作系统设计,底层的指令系统是Linux的,上层的指令下通常是面向与解释型的代码的指令,而且大量地引入了虚拟机,引入了多层的权限控制。本身来看它的终端的操作系统的目的就是功能和服务,而且是面向使用者服务,而不是面向其他的网络节点去通信和服务。 所以基本上来讲,在终端和终端之间的这种网络效应,通常来看是比较低耦合的,所以你会发现今天绝大部分的移动上的威胁和攻击,就是从社交网络来的欺诈、欺骗。 第五,天然碎片化和移动化 另外在动移动上一个很明显的点,天然的碎片化。每个人都有不同的移动终端,不同的移动终端拥有不同的操作系统,不同的操作系统拥有不同的版本。所以你会发现这种碎片化本身也是攻击的一种前置障碍和前提。因为攻击的前提如果不一样的话,攻击的可行性和有效性也会快速下降。移动时代的恶意代码——广度和个性化
整个移动的恶意代码或者是威胁攻击的模式,我们在终端上、网络流量行为上以及在后端捕获的层面看一下分布的情况。你会发现它的整体分布和行为逻辑都是符合长尾模型的,基本上意味着整个恶意代码和威胁的头部的20%占了整个威胁量的80%。头部的效应非常明显,通常是艳遇、欺诈,在整个长尾的中部来看都是属于遭遇战,在长尾的尾部来看看起来像是一种巧遇,恰好盯上你了,恰好攻击到你了。长尾上的分布和对抗策略
经过进一步的分析,能够间接的推导和证明,整个长尾上是结合产业链有一些相关的协作和分析关系的。比如说头部的色情键,不干嘛只干两个事儿,一是我要你的通讯录,要你的短信数据;二是时不时的分发一些其他的应用。包括后面来看,你会发现为什么有的移动恶意代码,尤其是面向银行的木马,攻击的那么准,很大的前提是因为在其他的产业链和黑产环节,早就已经具备了很强的个性化的精准定位能力。移动威胁和攻击步骤在长尾上的展开
第一,移动威胁可以分阶段和步骤进行。 第二,移动威胁可以用产业链和交易的方式协作。有的人负责从隐私数据里面筛选出攻击目标,还有一些人专门是解决木马植入的。而且去年还看到非常有意思的现象,木马植入者地按小时提供木马植入服务。就是说我的木马不是卖给你,是按2小时有效、4小时有效等的小时计费的方式卖给你。甚至可以做到的是,你想什么时候有效,我都能帮你解决,达到这样一种高质量和高成功攻击率的效果,非常猖狂。 第三,移动威胁的价值变现手段和通道多样化。这是完全不同于PC时代的,我一直认为勒索软件在PC时代一直不是一个很大的威胁。只不过在PC威胁的末期,实在没有什么好的新的能够引起广泛重视的威胁出来。当然Wannacry不一样,Wannacry的本质是蠕虫。移动时代的恶意代码——新平台带来的最大差异化
在移动上来讲,你会发现一个移动的勒索软件可能也就5块钱、20块钱,相比于其他的那些变现手段来讲,简直是小巫见大巫了。 所以移动威胁基本上不需要走网络规模化的幂增长曲线。也就是说,我要攻击哪些定向的人群,甚至要攻击哪个定向的个人,甚至是说我先看一下,这个终端上我是不是有手机号码了,是不是有验证码可以拦截了,这个手机对应的用户的银行帐号密码是不是齐全了。然后先解决这些信息都齐全的人。它是直接到攻击目标或者是分阶段逐步的组合成直接到攻击目标的效果。移动威胁的核心对抗逻辑发生了倒置
在移动的时代,威胁攻击的模型带来的直观影响是入口效应被减弱了,直接意味着原来在整个PC时代的安全软件作为一个入口型的产品,商业价值被削弱了。 二是威胁一旦碎片化以后,对于安全厂商来讲,它的处置手段是急剧上升的。而这个时候如果还有免费的互联网模式,或者其他各种各样的变相的竞争参与的话,对于安全厂商来说,成本模型是进一步失控的。 最后,对抗的策略一定也要发生变化。因为你对抗的形式不太一样了,被动的防守策略已经不顶用了。长尾的特点驱动出的机器学习的对抗动机
第一,温水煮青蛙模式。每个人都在以一个可以接受的程度被迫害。比如说我用一个应用,它有很多权限,要求我提供很多隐私。这好像对我也没有什么实际的损害,我就用了吧。有一些东西也是刚需,看起来图象很诱人,打开以后还有小视频之类的,对我也没有什么损害,甚至有些应用来讲一两块钱,我也接受了。 你其实会发现对于整个长尾的前端的一个很大的问题是,它到底恶意不恶意,它到底产生什么样的影响和危害。在这种情况下,我们通常需要高度依赖于行为和主观认知以及上下文去检测和判定。 二是通常来看需要大量的隐私数据,才能够判定出来这个应用到底有没有访问你的隐私,有没有回传、有没有处理。因为一旦要做检测,安全软件就要触碰隐私。 三是本地需要有优质的检测识别模型来对抗判定上的复杂度和逻辑。在中部来看,你会发现,我们是需要机器学习和自动化的手段,需要在时间、机理的复杂度和威胁的精细化聚类和分类上去对抗。在长尾上来讲,通常是需要通过机器学习的方法提供高效率的分类。 换言之,我能不能通过机器学习的算法或者是其他的方法,通过一个模型解决一个家族后面几十万个不同的变种,降低我人工介入的成本。在这个背景下,才产生真正意义上的我们为什么要用机器学习以及引用这样一些新的方法来解决移动威胁对抗的问题的前提。 也是在这个前提下,才产生了说为什么我们要去用人、要去用机器的引入来解决这个问题。当时要说清楚这个问题,我们还是得回到PC时代看以前是什么东西,从以前的角度再来看今天,为什么今天要不一样。二. (WHAT)人和机器的接力
我们首先需要重新思考机器的定义和范围.PC时代的归一化设计的思路和架构体系
对于以前的抗病毒思路(AV)大部分来看都是三大块: 第一,样本的捕获和样本的流转体系。 第二,引擎规划的检测逻辑和识别架构。 第三,整个样本分析流转的工程化平台以及对引擎的支撑逻辑。怎么样做自动化的静态、自动化的动态,人工分析做什么,怎么结合,最后怎么样让引擎的能力得到维系。 基本上这三块能代表一个传统AV厂商绝大部分的工作体系和内容工作了。PC时代的恶意代码对抗是和时间的赛跑
那从这几大块可以发现,原来的整个PC时代的很多安全厂商在如今新一代的做法是什么。比如说我们要加强第一手样本的捕获,比如说我们要通过云计算的手段降低终端上的特征的更新周期,提高我们终端检测的延时性;比如说我们要在整个后端体系引入大数据的算法、优化我们的预警、预判能力;比如说我们要把沙箱所谓的下一代终端产品直接步入到企业级的内网,把安全厂商的能力打入到企业网络内部。思科2016年发布的一个报告里面提到了一个术语叫TTD。其实就是在发现威胁以后怎么样尽可能降低企业实际检测和发现威胁的时间的周期和能力。 所以你会发现PC时代的恶意代码对抗本质上就是和时间赛跑。但是对于移动来讲,由于前面的威胁对抗的模型不一样,对于整个原来传统的工程化体系和架构体系进行判定逻辑的时候,移动时代可能逻辑就不一样了。移动威胁对抗中对机器能力的需求定义
- 从样本的流转和样本的工程化的体系来看,在机器学习和人工智能的背景下需要做的更多。一是要有更多精细化的知识;二是可以作为低成本的分类器,减少我们的响应周期;三是可以为我们提供一些对抗性的训练,通过对抗性的训练来提高我们自身的响应能力、分解能力和产品能力的验证。
- 在引擎上。怎么样引入机器学习?自然就绕不开在终端,在末端和这些所谓逻辑上和物理上的边缘,怎么样把边缘的引擎和整个后端平台上的引擎,形成一个基于机器学习视角的规划的一个架构。
- 在工程化平台上,也就是后端的样本的自动化分析和流转的模型上,怎么样引入机器学习,怎么样通过机器学习的视角,重新的对工程化平台进行重构。
- 原来在PC时代进行对抗的时候,不需要过多考虑威胁整体的分布和整体宏观的概念。但是今天来看如果我们没有大局观,在移动威胁的对抗一定是打不赢的。
移动威胁对抗中对机器的定义
边缘数据本地计算和处理的需求来自于移动威胁的碎片化和长尾分布的特点,也间接的要求了工程化体系中重新用“机器”资源的视角看待终端。基于机器学习视角重新解读恶意代码后端工程化体系和重构
我们对于整个移动的恶意代码,包括恶意代码的后端工程化体系的平台,分别进行了重构。比如说原来的恶意代码的工程化体系、样本捕获、样本库和目标样本,在现在看来,其实就是数据集合、怎么样选择你要用哪些数据做训练、以及怎么样做特征提取的问题。原来的人工分析和自动化的分析,人工分析本质上是干聚类化分类的活,机器也是。 所以当前对于我们来讲,原来的整个恶意代码的工程化体系的平台,本质上是如何在机器的自动化的聚类和分类的基础上引入高级和高精准的人工的聚类和分类,形成成本模型的平衡。 最后,从输出上来讲,无非是输出模型、输出分类标签、输出结构化知识。基于机器学习视角重新解读恶意代码识别引擎体系和重构
下一步就是对于一个引擎的重构,原来的逻辑可能是检测对象、上下文的信息,通过引擎本地的脱壳、其他的预处理,转化成我的目标检测数据。但是对于今天来看,我们把目标数据按照机器学习算法的需要转化为向量数据,通过向量数据结合本地的检测策略,适配合适的模型来通过模型得出合适的对应的结果。 这里有三个非常关键的基本能力指标: 一是除输出的检测结果。因为原来只是输出恶意代码检测的名称,但是今天来看可能就必须要能够输出基础向量,因为没有基础向量不能够和后端联动。 二是必须输出中间的分析结果。如果不输出中间分析结果,本地模型不能迭代。 三是第三方交换样本文件数据。在这个视角上来讲,你会发现第三方的样本和数据本质上是一个客观世界的流通,第三方的引擎其实就是第三方的分类器,会带来第三方的知识和第三方的情报。基于机器学习视角重新解读样本捕获和交换体系
这里和生成对抗性网络的一些思路有点相似。但是在这里,目的不是通过对抗去强化算法的分类识别能力,而是通过对抗去验证。 所以在这里来讲,第三方的样本的交换数据和我们自己的分类器,也就是引擎,对相关数据得到的结果进行了交叉的比对。 输出有以下三类: 一是会输出新的标签和知识。这些标签和知识,应该是刚才说到的已知的未知。 二是对这些事情来讲,既然是已知的未知,怎么样和我原来的工程化平台结合,让我去加速和提高效率。 三是可以通过对抗的方式不断地验证和跟踪。移动威胁对抗中对工程化支撑体系的需求
那对于我们今天来看,我们引入机器学习一个很大的目标点,其实要面向认知和面向知识来重构原来的工程化体系,尤其是要引入人机协作。因为到这个阶段来看的话,我们还是把机器学习和人工智能当成一种辅助增强,再去提高效率和优化能力。 它要解决的问题是什么呢?它要解决的问题能不能用线性人力成本的增长来解决机器非线性增长的问题。 所以你会发现通过两次降维,基本上可以让我们解决的问题是,不管你多线性的增长,通过机器先降一次维,通过人再降一次维,你会发现我们可以用限定的人力成本和机器结合去解决开发性、非线性的问题。 对于下一步来讲,你怎么样真正意义上把机器成本也去降维?在这个点上你会发现必须得有面向商业价值驱动体系来解决这个问题。因为机器的成本,包括机器带来的网络流量的成本几乎是刚性成本,这个成本也很高。 其实是怎么样解决原来人工的作业和机器学习的视角一个融合的问题。以及怎么样解决我们在每个终端上,然后通过机器学习的视角进行隐形重构的问题。通过这样一些重构呢,它实际上是可以形成基本内部的循环和基本逻辑的。在这个基本逻辑之下,基本上就完成了整个机器、人,包括新的模式、新的算法的能力引入。在这个过程的角度来讲,通过机器和人的显著的降维,是可以实现一个对恶意代码规模化增长的对抗。三. (HOW&TRY)人和机器的协作
机器的加入首先是一场安全商业游戏其次才是威胁对抗。移动威胁对抗中对机器和协作关系的重新定义
一旦我们把机器的范围从后端延展到了边缘端和终端的时候,其实就带来了新的资源。哪怕在一部手机上,每天只用引擎做了一次扫描,这一次扫描的时间是1分钟。但是当你有1亿部机器,乘以1分钟的时间计算资源,可能不亚于你整个后端平台上投入的资源了,而且还有分布式的,以及更好的一些效果。 那在这里来看的话,其实要把整个边缘带来计算的资源,通过大局观的模型,再转化成推荐和反馈的能力,重新回到你原来的平台能力基础之上。在这个基础之上来看的话,我们今天也在做一些新的尝试。 那第二点来看的话,怎么样把我们今天在终端上海量多维的覆盖,转化成真正意义上,对这些机器带来的资源和多边能力的使用。 最后来看,还是说怎么样把边缘侧计算能力通过合理的计算方式和计算的模型,转化成三个驱动力。 第一个驱动力是防御效果的驱动力,它是一个基础。因为你如果不能够为你整体的防御能力的提高和有效性的提高做出贡献的话,那可能你的基本功没有做好。 第二个是威胁事件的驱动。因为我们需要终端上边缘的感知能力,告诉我们到底真正高价值的数据和计算资源在哪里。 第三个是能不能通过边缘的计算和边缘的能力,给我们带来新的商业和业务驱动的能力。 通过这三个方向来讲的话,就需要重新回到我们后端的平台去重构和改变。现场视频
width="640" height="498" allowfullscreen="allowfullscreen" src="https://v.qq.com/iframe/player.html?vid=h0539djnmb6&tiny=0&auto=0" frameborder="0">查看原文:http://blog.nsfocus.net/mobile-threat-techworld2017/