在不太适用的用例上过度依赖人工智能(AI)和机器学习,可能遭致不必要的危险。
网络安全行业的短板之一,是过多关注方法学本身,错把方法当成解决方案,而没有认真考虑怎么发挥这些方法的最大效能。当下网络安全行业对AI和机器学习(ML)的大肆吹捧,恰恰反映出了这一现象,令人不由得回想起2003年时的防火墙。
2003年,模式匹配是威胁检测的主要方法。当硬件级模式匹配得以实现的时候,硬件驱动的解决方案(比如防火墙)和基于软件的解决方案(如入侵检测系统)之间的分界线,就已经受到了侵蚀。
迷失在这一演变中的,是入侵检测系统已经纳入了模式匹配之外的其他方法的事实,比如异常检测和事件关联。但这些方法根本没能引入到防火墙中。因此,基于防火墙的模式匹配,成为了威胁检测的默认解决方案,而不仅仅是该方案的一个重要部分。
这段历史我们需要加以关注,因为AI,或者说,ML,也是工具发展中用以解决信息安全工作流中特定方面的一种方法,其本身并不能完全撑起信息安全。
找到AI和ML在安全上的应用价值
人工智能被定义成让机器在无人监管的情况下自行从事“智慧性”工作。机器学习则是让机器通过人类提供的数据自行“学习”。从定义上看,AI并不真正存在于信息安全领域,未来很长时间内都不会。
ML能比现有方法更高效地解决部分定义明确的安全难题。
大多数情况下,市场营销材料中提到AI/ML的时候,一般描述的都是启发式方法,而不是计算统计方法。启发法虽然比AI简单得多,却非常适用于多种安全行为,且比基于数据科学的方法在算力上节省得多。
ML基本上就是异常行为识别工具箱中的一种工具,处理起边界明确的已知问题来得心应手。
ML在恶意软件检测方面的惊人成功毋庸置疑,但这一技术上的成功根植于所解决问题的有界性,尤其是以下几个方面的有界性:
结构有界性:数据类型和结构要么不变,要么变化非常缓慢。这种情况下,数据结构由文件格式规范定义。
行为有界性:ML的良好用例中,被建模数据将仅作为有限行为集的结果出现,让数据点可预见地映射到已知行为上。
没有颠覆性影响:这是信息安全领域特有的一个重要因素。想要找出并利用ML模型弱点的恶人从来不少。话虽如此,想要对文件作出足够修改,对文件进行足够的模糊化处理,让文件既能免于被统计分析,又能被操作系统有效加载,其中难度常人难以想象。
恶意软件分析与终端检测及响应,正是符合以上3条限制的信息安全挑战之一,所以机器学习在该领域相当有效。
但将同样的思维过程应用到网络上就很危险了,因为网络数据的结构和行为都不受限制,攻击者可以在网络上发送任意0/1序列。那么,AI和ML就真的遭遇了网络数据分析的死胡同了吗?
这个问题还真不好回答。说是也是,说不是也不是。如果所用方法就是简单地用这些强大的技术来识别每个用户每台设备偏离正常行为基线的奇点,那我们会失败得很彻底。这些“智能”方法产生的误报和漏报仍需由人来分析之后才可以采取行动。
比如说,基于网络异常来发出警报的流量分析方法可能会告诉你某个IP地址突然发出了大量异常流量,但很多情况下这不过是启动了新的备份进程而已。是否加以缓解仍需人类分析师来判定。这便又将我们带回了AI旨在解决的人才短缺危机问题。
相反,如果我们用AI和ML通过环境内全面比较,尤其是通过与相似实体的行为进行比较,来确定良性与恶意行为,那么系统将能自动学习诸如新备份进程启动之类的合理变化。
无论从技术层面看,还是从哲学层面看,信息安全领域的ML用例都是生而不平等的。正如2003年的防火墙,机器学习确实拥有某些能够大幅推进企业防护状态的良好用例。
但在不太适用的用例上过于依赖机器学习,反而会给企业带来不必要的额外风险与开销,还会造成其他持续性的负面影响,比如妨碍了能够弥补ML弱点的其他方法的发展。