人工智能|人工智能与信息安全:新的革命与挑战( 四 )


?智能化漏洞搜索:
随着如今计算机系统与应用软件的日益复杂化 , 新发现的安全漏洞也在逐年增加 。 传统的漏洞搜索需要由具备信息安全相关经验的安全专家对代码进行大量分析 , 人工费用昂贵 , 操作繁琐且耗时 。
安全漏洞检测的根基是大多数存在问题的代码具有相似性 , 而深度学习技术能够高效学习数据中的特征表示和复杂的非线性结构 , 利用深度学习来建模漏洞的结构以及相关的语义特征之后 , AI系统会自动对代码进行对比 , 评估存在漏洞的可能性 。 相较于传统的漏洞检测技术 , AI的使用可以更好地对漏洞特征进行建模 , 且生成的模型具有良好的泛化性能 。 这极大的提高了漏洞挖掘的时间与效率 , 且节约了相当可观的人力物力资源 。
因此使用基于深度学习的AI技术进行系统的漏洞挖掘前景巨大 。 当下结合AI进行漏洞检测的方法主要集中于以下几点:
a.从二进制代码中检测漏洞:将二进制文件看作字节序列或者机器指令的集合 , 采用处理对象序列的深度学习模型(如递归神经网络)进行特征提取 。 在模型的训练阶段可使用类似语言模型的无监督训练方式 , 从而避免了对大量数据进行标注 。 之后进行有监督的微调 , 使模型在训练出的嵌入空间中能够表征漏洞[21] 。
b.将二进制代码转换为控制流程图(如CFG,AST等) 。 结合AI的模型会对这些流程图进行建模分析 , 以便利用代码中的语义以及句法结构的信息 。 譬如使用图神经网络(GNN)对代码的流程图进行图嵌入 , 训练完成之后的模型便可基于漏洞代码所具有的独特逻辑结构进行发掘[22] 。
c.使用生成对抗网络技术对漏洞数据集代码进行增强 , 生成对抗网络技术可以对数据核心特征进行建模并找到其编码空间 , 从编码空间中抽取的样本可能会发现之前没有见过的全新漏洞 , 这为漏洞发掘提供了全新的思路与方向 。
水能载舟 , 亦能覆舟 , 智能化的漏洞搜索可以是黑客的攻击手段 , 当然也可以成为防御利器 , 只要在产品发布前 , 将漏洞查找出来 , 危机自然能消弭于无形 。 深入网络安全行业 , 极光无限率先布局 , 以AI赋能实战 , 助推网络安全智能化 。 在无人区探索两年以后 , 我们建立了大型漏洞数据集 , 提出了一种利用神经语言模型结合图神经网络的方法来进行漏洞的识别 , 推出了AI自动化漏洞挖掘产品——维阵 , 对未知漏洞具备检测、预警、快速响应和处置等主动防护的能力 , 助力未来网络安全防御体系全局化、整体化发展 。
防御方
?借助AI检测WEB攻击
当前 , 大多数针对WAF恶意请求的检测主要集中于撰写规则或正则表达式 。 但面对海量的恶意请求 , 一方面不同的恶意请求具有各种不同的规则 , 想要编写万能的正则表达式几乎不可能实现 , 且机械式的规则往往会造成误判 。 另一方面 , 基于规则的检测无法发现新型的攻击 。 针对以上两点 , 可以使用长短期记忆网络(LSTM)来解决 。 一般情况下在日志中关键词的二义性往往是造成误判的主要原因 。 针对字符级别的LSTM可以根据上下文判断关键词在出现之处的具体含义 。 也因如此 , 使用LSTM的WAT攻击识别也具备了一定对未知攻击的识别能力 , 由于LSTM将每个字符作为特征 , 且字符之间具有上下文联系 , 对于某些掺杂了特殊字符之后的命令 , 使用LSTM的模型亦有能力将其识别出来 。
除此之外 , 也可使用基于词嵌入的深度学习技术进行恶意请求识别 , 该方法首先会使用词嵌入对数据包进行降维处理 , 此举旨在减少数据包的有效荷载维数 , 之后使用深度卷积神经网络对潜入之后的词向量提取局部特征 , 最后于头部特征一起送入LSTM学习全局时态特征 , 从而识别恶意请求 。 相较于简单的字符级LSTM , 此方法虽然复杂 , 但检测精度也更加高效[24] 。