【缘起】为何要做神龙AIGC漏洞监测平台

我对这个漏洞监测平台的三个关键词:

  1. 全自动
  2. AIGC (AI生成内容)
  3. 开发者友好(Developer Friendly)

1. 背景

网络安全一直是一个重人力,重运营的领域,即使是全球最强大的网络安全集团MITRE也是如此。

MITRE 公司在1999年发布了CVE(Common Vulnerabilities and Exposures)漏洞库,正如其名,该漏洞库列出了已公开披露的各种计算机安全缺陷,并对其进行唯一编号。

同时,美国国家标准技术研究所(NIST)也会对漏洞信息进行人工运营,补充漏洞的一些属性,例如“攻击方式是远程还是本地“、”是否对机密性和完整性造成影响“,并根据这些属性来对漏洞进行评分,这套评分机制就叫做CVSS。

在最新的CVSS 3.1的版本中,需要提取的漏洞属性有8个,而随着信息化的不断发展,信息系统越来越对,对应的漏洞也迎来了井喷式的增长(如下图)。 image

面对每年2万个左右的漏洞数,要对每个漏洞进行 8 个属性的标注。NVD的人员也有点人手不够了,从官网可以看到,又很多漏洞其实是来不及分析就公开了,如下图的漏洞,仅提供了一个漏洞描述信息,其他信息均为缺失状态。

https://github.com/aigcve/shenlong/assets/15059493/9489e3b1-a80d-43cd-9706-518a43626a0f

面对这种场景,各种下游机构或同类机构都会懵圈了,于是又需要人工参与,对漏洞信息进行信息搜集和人工标注,耗时耗力不说,人工的参与也容易出现漏洞信息更新不及时、标注出错等问题。

那么,有没有一种这样的可能性,我们引入一种AI或者大模型的技术,让“漏洞信息运营”这件小事变得简单又可持续呢。

2. 任务

从我的视角分析,漏洞的基础运营场景中有三个刚需问题需要解决:

  1. 漏洞标题生成 – 从文本中提取关键词或特征,生成漏洞标题
  2. 漏洞的评分 – 兼容现有的漏洞评分机制CVSS,根据漏洞既有的信息生成CVSS特征,计算风险等级
  3. 漏洞的翻译 – 根据英文描述,生成中文描述

使用算法的角度来分析这三个问题:

  1. 是一个典型的Text Summarize任务
  2. 是一个Text Classification任务
  3. 也是很经典的NLP问题:Translation

所以要想解决背景中的“解放劳动力”的问题,我们的任务就变得更加清晰了,既:

  1. 从漏洞描述中生成中文的漏洞标题
  2. 提取漏洞的属性,计算风险等级:严重/高危/低危/严重
  3. 用安全人员熟悉的方式描述漏洞、最好能够给出可行的修复意见

我正在摸索一套这样的AI程序,以能解决👆三个基础问题,并且持续观察其预测效果。

当前有如下难点:

  1. 漏洞的信息量少:在漏洞公布的初期,NVD仅提供了漏洞描述和一个不规整的参考链接。
  2. 要避免过拟合,训练出来的模型不仅要在测试数据集上表现良好,还要能够在新公布的漏洞中取得同样的效果。
  3. 模型可解释:能够告诉大家,Why神龙漏洞库这么觉得。
  4. 机翻效果要对标人工的翻译,这个是业界难题,存在很大挑战。

但是好消息是现在的AI技术对比几年前已经有了很大的突破,除了近期火热的语言大模型,也有很多的类库脚手架工具帮助我这个二把刀工程师快速上手。

请期待我的下一篇博客,谢谢!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注