概述

近些年来,随着网络攻防对抗不断演化升级,人工智能在网络空间安全领域的应用也逐步展开。人工智能因其智能化与自动化的识别及处理能力、强大的数据分析能力,已成为网络攻防的核心关键技术之一,并持续为自动化网络攻防提供助力。

在攻击面管理中,一些场景已经充分应用了人工智能技术;同时还有一些人工智能的应用场景处于探索发展阶段,例如人工智能在指纹识别、路径决策、攻击过程数据的分析等,今天我们来对这些尚处于探索阶段的应用先睹为快。

人工智能在指纹识别方面的应用

网络资产探测识别指追踪、掌握网络资产情况的过程。从安全攻击的角度看,网络资产探测识别可用于渗透(或攻击)前的信息收集,了解目标网络内主机的操作系统类型、开放端口以及所运行的应用程序类型与版本信息。准确掌握目标网络的安全状况,有助于选取高效的攻击方法。

在网络资产探测识别的人工智能应用方面,华云安引入机器学习、深度学习等方法进行操作系统指纹识别,可以在较短时间,实现基于协议栈指纹的操作系统被动识别,大幅提高未精确匹配指纹的识别率,从而弥补和提高基于规则库的操作系统指纹识别速度和准确性

常用的操作系统指纹识别特征有:IP头中的总长度(toG tallength)、标志(ID)、是否分片(DF)、生存时间(TTL)字段等,TCP头中的可选项,TCP 头部的窗口大小(wsize)、可选项等,以及ICMP、UDP协议指纹、SYN-ACK 包重传时延等

在匹配方法上,除了最基础的精确匹配外,考虑到网络延时、动态配置等现实因素,类似正则表达式的模糊匹配方法也被广泛应用,如目前最新版的 p0fv3指纹库将操作系统指纹分为两类(specified,generic),增加了用于模糊匹配的g类,在s类无法精确匹配的情况下,为避免直接给出未知的结果,对 mss,wsize,scale等字段均允许使用“∗”进行模糊匹配,进而粗略地给出目标操作系统所属的大类;SinFP中的启发式匹配机制也是一种分层次的模糊匹配

使用机器学习模型对操作系统属性值(端口、IPID、TTL、Do not Fragment、MSS、No operation、Selective Acknowledgement、Window scale 和 Window size等等参数)进行分类训练,以 94% 的概率正确识别操作系统,进而提高指纹识别规则匹配的检出率和准确率等。同时还有些其他问题未得到解决,如由于各个操作系统版本使用相同属性值的问题,无法对版本进行具体分类预测等。