机器智能的安全之困 |
来源:聚铭网络 发布时间:2019-10-29 浏览次数: |
信息来源:4hou 智能系统的核心范式 真正意义上的智能系统,实例的核心范式一定有如下几个组成部分:感知体系、认知体系、决策体系、行动体系。同时,一个智能系统的实例,一定离不开与环境的交互,过去我们总是过多的强调和关注系统内在本身,却容易忽视与环境交互的作用。
感知体系的作用是对环境进行观测和沉淀,产出的是数据。一切数据的产生都源于对环境的观测和沉淀,观测和沉淀背后的动机是我们测量、记录、分析世界的渴望。信息时时刻刻存在于环境中(数字空间或物理空间),在不同的场景下,我们用硬件、软件、算法的方式,将其「数据化」。硬件有如传感器、摄像头等,软件如日志记录器、数据采集器等,算法如各类智能视觉算法、智能语音算法等。终有一天,我们能够将一切物理空间都数据化,将物理空间完完全全映射到数据空间。 认知体系的作用是对数据进行归纳和总结,提炼出知识。人类理解的知识一定是要用自然语言表达,而对机器而言,用能够代表问题空间的数据集进行训练,再用训练好的「模型」来在新的数据空间中进行推理。只要是能解决特定目标任务,无论其表现形态是向量、图谱还是自然语言,其实都是知识,特征空间的表达本身就是一种知识。 决策体系的作用是对目标任务进行规划和决策,生成对目标任务的策略。行动体系根据策略执行具体动作,和环境进行交互、对环境产生影响。动作作用于环境后形成反馈,反馈又促进感知体系感知更多的数据,进而持续获取更多的知识,对目标任务作出更好的决策,形成闭环持续迭代进化。 从这个角度来看,机器智能的本质,实质是一种观测环境沉淀数据、归纳数据提炼知识、规划目标在线决策、作出行动影响环境的自主机器。机器智能是一种自主机器,而自主机器与过去自动化机器的最大区别在于其能否自主获取解决目标任务的知识。 单体智能到群体智能 今天大多数的智能系统,都是一个个孤立分布的单体智能实例,解决的相应也是一个个孤立分布的单体问题。云计算的本质是「计算在线」,大数据的本质是「数据在线」,而机器智能最终也需要实现让智能在线,让智能实例之间进行自主在线交互。
单个智能实例都是由「感知-认知-决策-行动」的体系构成的自主系统,有着自己的世界表征形式,能自主完成自身的目标任务。在同一个动态复杂的博弈环境之中,实例与实例之间通过互联实现在线,彼此存在相互作用,可以合作、竞争,可以竞合并存,也可以既不合作也不竞争。一个实例的策略变化不光会影响自身的环境,也会影响其他实例的策略变化。 对于合作的多个智能实例之间,可以选择共享数据、知识、策略或动作,协调协作以完成更为复杂的目标任务,共同形成更为高阶的智能实例。当单位空间内智能实例的覆盖密度足够大的时候,单体智能开始向群体智能演进。 智能与安全的四象限 安全是所有技术中最为特殊的一种,严格意义上甚至或许都不能称「安全」为一门技术。早在人类还未发明任何技术之前,安全就已经伴随着人类的各种活动。迄今为止,没有任何一种技术是安全领域独有或者说从安全领域长出来的,但安全从来都是与其他技术相伴相生、相辅相成。
任何一门通用技术,与安全的结合都有如下四种方式。机器智能技术也不例外,纵向是「给智能以安全」和「给安全以智能」,横向是「攻击视角」和「防御视角」。给智能以安全,是指机器智能技术本身会带来新的安全问题,一种是机器智能自身脆弱性导致的安全问题,一种是机器智能引发周边场景衍生出的安全问题。给安全以智能,是指将机器智能应用于安全场景,攻击者利用机器智能赋能攻击,防御者利用机器智能赋能防御。 而在这四个象限中,新技术与安全发生交集的时间和发展的成熟程度又有所不同。攻击者相比防御者而言,有更强的动机和利益,所以攻击相关的象限通常都会更容易去探索新技术去接纳新技术。防御者总是滞后,也总是容易沉迷于旧技术和人工经验营造出的安全假象中,导致第四象限总是发展最滞后最缓慢的一个象限。当然,这与防御视角自身的属性与困境也有直接关系。 机器智能的安全之困 围棋是简单的复杂游戏,而安全是复杂的简单游戏。1994年,认知科学家Steven Pinker在《The Language Instinct》中写道「对机器智能而言,困难的问题是易解的,简单的问题是难解的」。「简单的复杂问题」指的是问题空间是闭合的,但是问题本身却又有较高的复杂度,「复杂的简单问题」指的是问题空间是是无限开放式的,但问题本身却并没有很高的复杂度。今天机器智能技术在「简单的复杂问题」的领域,往往都比人类会更强,但对于「复杂的简单问题」,泛化界限引起的维数灾难,机器智能往往都会失效。
安全是一个典型的「复杂的简单问题」,莫拉维克悖论在安全领域更为明显。高度不确定性是安全最大的特点,安全自身最大的困境就是如何去应对「未知的未知」。很多时候我们问题都没定义清楚问题就冲上去说要用机器智能解决问题,这是绝大多数机器智能在安全领域失效的主要原因。今天在安全领域,不太需要去突破智能技术的天花板,亟待解决的反而是「定义清楚问题」,即如何闭合掉问题空间。 安全的问题空间通常都是无界的,同时问题空间对应的正负样本的样本空间却又严重的不对称。「未知的未知」引起的负向数据(如攻击数据、风险数据等)的严重缺乏导致特征空间的不对称,进而导致特征空间无法真正表征问题空间。「模型」是已有数据空间下关于世界的假设,并且用于在新的数据空间下进行推理。今天机器智能技术已经能很好的解决表示输入和输出之间的非线性复杂关系,但对于样本空间与问题空间存在的巨大鸿沟却依然比较乏力。 20世纪六十年代,贝尔-拉帕杜拉安全模型(Bell-La Padula )指出「当仅当系统开始于安全的状态,且一直不会落入非安全状态,它才是安全的」。由于安全的本质是对抗,对抗的存在导致安全领域的机器智能模型多数都逃不过的「上线即衰减」的命运。在训练集上表现良好的模型,对于大规模的现实环境,从上线那一刻起就在引起对抗升级,进而不断跌入失效的状态。模型衰减和封闭系统中的熵增一样,是一个必然。 同时,安全场景中对检测结果的准确性、结果可解释性都高度敏感。机器智能相比于传统安全中经常使用的基于规则、基于策略的检测技术,优势在于其强大的表征能力,但同时其不可解释性、模糊性导致推理结果在决策场景下无法直接使用,这也是今天很多智能安全系统大都只在做「感知」,至多也只是做辅助决策的原因。 然而这些都还不是最大的「困」,机器智能在安全领域最大的「困」是思维模式上的困局。安全的思维模式是「守正出奇」,而机器智能的思维模式是「Model The World」。这两种思维模式之间不仅存在巨大的差异,也异常难调和。一方面极少有人能同时驾驭这两种思维方式,另一方面把两种思维的人放到一起也极难协作起来,本质原因是缺少桥梁来衔接安全问题到算法问题之间的相互转换和定义。 问题空间之困、样本空间之困、推理结果之困、对抗衰减之困、思维模式之困,这些问题导致了今天绝大多数现实中的智能安全系统的表现都差强人意。或者也可以说得更悲观一点,今天在安全领域,迄今为止还没有真正意义的智能安全系统。 真正的智能安全系统 先来说说通用安全场景下的通用数据范式。柏拉图学派认为「我们感知的世界是洞穴里面墙壁上的投影」,现象世界都是理性世界的倒影,理性世界才是世界的本质或本原。「洞穴比喻」意味着存在一个外在的客观的知识体系,不依赖人类的认知而存在,人类探索知识的过程就是不断从现实世界的现象观察中,摸索、推测这个客观知识体系的过程。亚里士多德进一步奠定了本体论最初的思想,定义其为研究「存在」的科学,是形而上学的基本分支。再到17世纪,哲学家郭克兰纽 (R. Goclenius) 首次提出「Ontology」一词,再到20世纪60年代,机器智能领域开始引入Ontology的思想,之后又进一步演化出语义网、知识图谱等。 安全中的对抗本质是知识的对抗,获取知识更多的一方就能拥有更多的不对称优势。无论是威胁分析、情报研判、攻击检测、事件溯源……本质都是在探索知识的一个过程,这就是为什么Palantir的Gotham、IBM的I2、UEBA、各种威胁情报产品等等背后都不约而同或多或少借鉴了Ontology思想的根本原因。
而安全场景下的通用数据范式,也离不开Ontology。实体、属性、行为、事件、关系,通过这五大元数据类型,可以构建出所有安全场景中的数据架构(无论是基础安全、业务安全、数据安全、公共安全、城市安全……注:公共安全领域也单独关注「轨迹」这一类元数据类型,因「轨迹」是一种特殊的「行为」数据,故这里统一都合并成行为)。 · 实体:实体是客观存在并可以与其他对象区分开来的对象; · 属性:属性即为标签,是描述实体的表述,对实体抽象方面的刻画; · 行为:行为是实体在特定时间、空间下发出的动作; · 事件:事件是一定时空或条件下所认识到的可识别的事情; · 关系:关系是实体与其他实体之间的关联程度与表述。 安全领域绝大多数沉淀的源数据都是行为类数据,无论是网络流量日志、主机命令日志、业务日志、摄像头数据流、感知设备数据流……,这些都是行为数据。而实体、属性、关系、事件的产生都是从行为数据中进行萃取,通过对不同的行为数据运行不同的 Function 来产生。 当 Function 是生成事件的时候,即为安全检测问题,包括攻击检测、威胁检测、风险检测、异常检测等等。绝大多数安全检测问题的原子范式都可以抽象为Y=F(X),其中X是实体的行为数据,Y是检测结果,F是检测模型。F可以是基于规则、基于策略、词法语义、统计检测、机器学习、深度神经网络等等,Y可以是正常、异常、攻击或者未知。
更为复杂的检测场景也都可以通过一个个基本F与各类算子组装编排而成。每一种类型的F都有其优势和劣势,有不同的最优使用场景,并不存在一种绝对先进绝对领先的检测技术。事实上算法在安全检测中最应该关注的不是去做检测模型本身,而是能否自主化的根据各种场景生成最优的检测模型,并能自主化持续迭代检测模型。
真正意义上的智能安全系统一定也是具备感知体系、认知体系、决策体系和行动体系,同时和环境形成反馈闭环。感知体系至少包括异常感知器、攻击感知器、漏报感知器和误报感知器。「异常感知器」的作用一方面是保持感知「未知的未知」的能力,另一方面是利用「通过定义正常来寻找异常」的思想来解「样本空间之困」的问题。「攻击感知器」的作用是在异常数据的基础上去检测攻击,为了解「推理结果之困」的同时,也大大缩减推理结果误报漏报范围。「漏报感知器」和「误报感知器」是为了去解「对抗衰减之困」。由此可以看出,整个行业内大家最常关注的「用算法做攻击检测」,其实只是做了智能系统当中感知体系里很小的一小步。 认知体系沉淀的是跟安全相关的各种知识,至少包括正常知识、攻击知识、漏报知识、误报知识。安全知识可以是基于专家规则、向量、模型、图谱、自然语言等等,但无论是哪种形态,一定都是精细化个性化的「千人千面」的知识。即对每一个受保护对象(如用户、系统、资产、域名、数据等),沉淀形成适用于该受保护对象的一套感知异常、攻击、漏报、误报的知识。决策体系当中至少包含对目标任务的拦截策略、各类模型的上线下线等策略等,能自主决策哪些行为该拦截,哪些模型已经衰减该重训练该替换等。 行动体系当中是各类作用于环境的动作,如放行、阻断、重训练、发布等等。一个真正的智能安全 instance 里面包了含成千上万的 agent ,每一个 agent 只作用于其对应的受保护对象。最后,「问题空间之困」的解法是将开放的问题空间收敛为一个个小的闭合的风险场景,一方面靠的是四个感知器的级连形成的纵深检测,另一方面靠的就是「千人千面」的 agent 。 机器智能重塑新安全 安全领域发展至今,一直处于问题消灭得少概念却造得不少的阶段,亟待利用新技术去真正解决旧问题。机器智能在各个行业的炙手可热,同样也引起了安全行业的追捧。但今天安全领域的智能能力参差不一的同时,又难以分辨其真假。以至于但凡用了一丁点算法的,都会宣称「基于人工智能的XX安全系统」。同早年的智能驾驶领域一样,今天的智能安全也亟需统一的分级标准,用以明确不同级别智能安全技术之间的差异性。「安全的本质是智能体的对抗」,故根据自主对抗的程度,我们将智能安全划分为L0~5共如下6个级别:
· L0级别为「人工对抗」,即完全没有任何机器智能的能力,完全由防御者人工雨攻击者进行对抗,对抗操作、感知判断、任务支援全都由人工进行。 · L1级别为「辅助对抗」,由机器完成已知攻击的攻击检测和攻击防御,其余的操作(如感知未知威胁、感知漏报、感知误报等)由人类进行。 · L2级别为「低度自主对抗」,由机器完成已知攻击攻击检测和攻击防御,并具备能感知未知威胁或误报漏报,其余由人类操作。 · L3级别为「中度自主对抗」,由机器完成所有的对抗操作(攻击检测、攻击防御、主动感知未知威胁、误报漏报主动感知、对抗升级自动学习),根据系统要求,人类在适当的时候进行应答(中间过程必须需要人类参与)。 · L4级别为「高度自主对抗」,由机器完成所有的对抗操作,根据系统要求,人类不一定提供所有的应答(中间过程非必须有人类参与),但只能作用于限定的特定的安全场景(如网络域、主机域等)。 · L5级别为「完全自主对抗」,由机器完成所有的对抗操作,根据系统要求,人类不一定提供所有的应答,不限定特定的场景,作用于全域范围。 不同于智能驾驶技术,不同的 Level 采用的是完全不同的技术栈,智能安全中的 L0~5 是需要逐步往上构建往上发展。按照这个划分,今天行业内绝大部份的安全系统都是L1 的系统,极少一部分能达到 L2,但还没有真正意义上的L3及以上的智能安全系统。随着级别往上走,能够将防御者从低水平对抗中逐步释放出来,能更加关注高级对抗,L3是个分水岭,有望在5年内实现。「始于围棋终于安全」,机器智能在安全领域的终局是什么?网络层、主机层、应用层、业务层、数据层都分别有各自的智能实例,不同层的实例在线互联,实现真正意义的协同防御与情报共享。当智能「Intelligence」和情报「Intelligence」融合的那一天,才是真正的「Intelligence Remodels New Security」。
|
上一篇:边缘计算安全性的挑战与好处 |