关于安全:基于图的下一代入侵检测系统

5次阅读

共计 3825 个字符,预计需要花费 10 分钟才能阅读完成。

青藤云平安是一家主机平安独角兽公司,看名字就晓得以后很大一块方向专一云原生利用平安,目前主营的是主机万相 / 容器蜂巢产品,行业当先,累计反对 800 万 Agent。以后公司基于 NebulaGraph 联合图技术开发的下一代实时入侵检测零碎曾经初步投入市场,参加了 2022 护网口头,获得了不错的反应。

本文将简略介绍基于图的入侵检测零碎,抛砖引玉,冀望能有更多优秀人才参加开掘图与平安的联合利用。

入侵检测的现状与挑战

支流入侵检测零碎

入侵检测始终是平安钻研的一大方向,青藤的万相和蜂巢两套产品别离为基于主机和容器的主机入侵检测产品,它们的原理都相似,如下图。

Agent 埋在主机 / 容器侧,接管服务端下发的规定联合采集的原始事件(过程 / 网络连接 / 文件读写等),通过平安专家编写规定,比方:过程文件 MD5/ 文件 MD5/ 执行命令行 / 机器学习等特色,命中当做告警报进去,相干告警上报到服务端;另外全量的原始事件也上报给服务端日志收集零碎,入库保留到 SIEM 零碎。

这套零碎一旦告警上报到服务端,平安人员会拿以后告警相干信息到 SIEM 中查问告警产生时刻前后相干的事件,必要时登录相干机器查看相干信息,综合判断以后攻打告警是否无效并做相干处理。

这套零碎是以后入侵检测的支流架构,然而也存在诸多问题:

  1. 基于单事件 + 规定做单点检测,可能造成大量误报(规定太松)或漏报(规定太严)
  2. 同一次攻打触发的告警可能过多,平安剖析人员剖析溯源工作量微小
  3. 同一次告警相干原始事件须要借助 SIEM 人工剖析,不足可视化伎俩

图与平安钻研方向

其实,能够看到这里的几个问题点实质上都是独立去对待每个告警和事件,实际上一次攻打相干的告警 / 事件应该是彼此关联的,这里很天然想到用图去把这些原始事件 / 告警关联起来整体剖析。事实上,这也是以后平安钻研的一个热门方向——溯源图,借助溯源图咱们做如下多方面的平安剖析和检测:

1. 图检测

传统平安解决的相似 IOC 检测,也就是单点判断,针对过程 / 网络连接 / 文件等实体判断是不是平安的;理论攻打面临的问题,可能各个点都检测不进去,但理论行为是危险的——1 个规定写不全,就算规定能写进去,比方命中某个命令行,然而触发告警很多,最终也无奈利用。也就是要综合判断各种组合关系,这是图善于的事件,也就是平安中图检测的问题——把所有相干的事件放在一张图中来综合判断剖析是否为无效攻打。

图检测钻研很早,然而面临计算量和算法的双重挑战,目前行业利用很少,基本上组合判断都还是序列检测形式。问题是序列规定能写多少确定规定,规定太多也有问题,无奈利用;方才提到确定规定,无奈很好含糊匹配,也就是开掘,平安中规定太确定就能够被绕过,黑客很聪慧且借助自动化攻打更容易绕过这些规定。

2. 图关联和溯源

方才提到告警,也就是以后所有平安产品面临的另一个问题——要不是规定命中不了,要不就是规定命中太多,咱们叫 告警吞没,平安经营解决能力无限,可能一天 100 个告警还好,如果一天甚至一小时 10000 条告警就没法解决了,那和没告警没差异。

这其实是一个平安中关联分类和溯源的问题:

  1. 一次攻打会产生很多告警,比方:暴力破解登录,用了歹意文件,执行了歹意命令等等,关联分类把一次攻打中相干的告警关联在一起,这是图善于的事件。这些告警关联在一起,还能够综合评判也就是多个告警联结判断以后攻打是否无效;
  2. 每个告警只会通知你以后你是过程、文件、网络有问题,那这个问题是如何产生的,黑客是怎么进来的,文件是从哪里下载的,先干了什么后干了什么。平安产品须要帮忙客户实现这个剖析过程,目前行业是借助 SIEM/THP/SOC 等平安产品,所有原始事件都上传保留,找平安专家,从告警开始查原始事件日志,看告警前产生了什么,哪些有关系可能导致攻打,这个过程短则几分钟,长甚至数个小时。平安是个反抗过程,早就是优——越早发现越早反抗,封禁或隔离,否则就算发现也为时过晚。能够把相干的原始事件实体(过程 / 网络等)入图,借助图能够可视化摸索和溯源整个攻打过程,这就是图溯源的过程,学术叫因果图、溯源图。

3. 图常识图谱和预测

咱们晓得 以后平安从根本上讲还是基于规定或者说先验常识,每种破绽 / 木马 / 攻打工具 / 攻打过程 / 攻打组织都有它的特色,前几种规定还比拟好形容,攻打过程、攻打组织等就很难残缺形容了。

目前的支流做法是基于平安框架构建知识库,以后支流有 Kill Chain/ATT&CK 等框架,这是美国国防部主导的网络攻击和平相干两家公司提出的平安剖析框架,相当于划分了攻打的战术和具体攻打技术的映射,这个具体如何施行比拟难。平安学术界,比方:伊利诺伊大学 / 普渡大学近两年都在钻研相似问题,也就是平安知识库(平安常识图谱)的构建。有了这个欠缺的知识库,就能够实现平安的终极构想,比方:我晓得你的攻打过程 / 攻打组织,是不是就能够在攻打真正开始前,好比你打仗刚拿起枪冲到阵地上,判断你是要朝我开枪,预判间接击毙。

国内外现状

目前基于图的入侵检测零碎,真正率先投入到实战中的是美国的平安明星公司——Crowd Strike,它齐全基于图构建平安零碎,当初相当于做了图检测和图关联溯源这两块的事件,目前估值 670 亿美元。云计算巨头 AWS 和 Azure 都在跟进它的办法。国内基于图做入侵检测零碎的,目前有公开材料的是微步在线和深服气,他们相当于做了局部图关联和溯源的工作。

青藤云平安的万相和蜂巢在入侵检测深耕多年,曾经获得了行业认可的平安检测能力,所以抉择 从图关联和溯源动手,基于 NebulaGraph 联合图技术开发的下一代实时入侵检测零碎,先重点解决告警吞没和关联溯源的痛点问题

青藤云平安下一代入侵检测零碎

检测原理架构图

如下,外围是上报的攻打告警和局部原始事件对立在图中实时关联。

产品成果

通过关联引擎关联解决输入的就是攻打事件,一个攻打事件可能关联多个攻打告警并可视化出现进去,以后产品效果图如下:

同一次攻打利用歹意文件和木马

敏感容器挂载

自定义脚本检测

NebulaGraph 的劣势

抉择 NebulaGraph 次要基于如下思考:

  1. 图查问的刚需,特地是关联和溯源时多级过程关系查问,借助 Cypher 查问图数据库可能比借助 SQL 在关系数据库中查问多级关系容易多;
  2. 大规模存储,波及到大量事件和告警的存储;
  3. 高性能查问场景需要,关联须要保障近实时,以后相干查问都在 ms 级别;

得益于 NebulaGraph 的良好性能,关联引擎以近实时的形式入图和计算关联,入图局部是青藤本人基于 Flink 打造的实时入图组件,只须要更改配置文件即可实现图点边映射入图。

下一步钻研方向和打算

以后青藤云平安新入侵检测次要反对单机和局部多机场景的关联和溯源,下一步重点是借助图反对更多多机关联的场景,特地是一些典型的平安攻打场景(反弹 / 横移),进一步以图赋能平安,为客户提供更好的服务。

当然,以后在将 NebulaGraph 利用到图平安利用过程中,也遇到了很多问题,提一些倡议供参考。

1. 下推优化

在开发过程中,极关怀查问效率问题。咱们在应用过程中,最大的问题就是下推优化,比方一颗发散的过程树,同时指定根节点和叶子节点,语句书写程序不同就可能导致查问从叶子节点开始还是根节点开始,查问效率千差万别,最初不得不只指定叶子节点条件强制从叶子节点开始查。

MATCH 性能实质上也是下推优化问题,这个问题遇到也很多,目前咱们的做法是对于局部曾经查问过语句维持一个缓存池,也留神到官网企业版其实提供了局部缓存性能,这个点要是能思考加到社区版就好了,是一个理论利用刚需。

2. 实时场景一些技术需要点

因为咱们是基于 NebulaGraph 做实时关联,一个较大的问题是如何实现一致性和速度的均衡——因为目前 NebulaGraph 实现的是最终一致性,写入图后其实是不晓得到底是否实在入图实现。在理论利用中,关联引擎须要在上游轮询期待判断以后的点边是否真正的入图实现。这个对于理论应用和性能都会造成肯定影响,是否有更好的形式值得思考。

另一块其实还是效率相干的问题,咱们能够看到一些竞品 TigerGraph/TuGraph 都提供了自定义匹配 / 遍历算法和能力,比方:在咱们多机关联场景中就遇到这种需要,目前只能通过拆分多条门路而后拼接起来的实现形式,效率和速度无疑是打折扣的。

3.TOB 部署

另一个,感触较深的是 NebulaGraph 对 TOB 部署的痛点。平安这个行业,目前国内还是走现场部署的较多,特地是国企和政务相干对上 SaaS 绝对敏感,那么面临的问题就是效率和老本的问题——

第一个是单机部署,默认生产版本是为云设计的存算拆散分布式部署形式,对于 TOB 部署还是太繁琐,且资源占用绝对也较其余数据库多。

第二个是 HDD 部署,老本思考,很多公司特地中小公司平安估算无限,很难提供 SSD 环境,更别说官网要求的大容量 SSD 高配置机器,也就是针对 HDD 和低配机器的优化上须要思考更多。

以上,为青藤云平安团队工程师文洲带来的分享。


谢谢你读完本文 (///▽///)

要来近距离体验一把图数据库吗?当初能够用用 NebulaGraph Cloud 来搭建本人的图数据系统哟,快来节俭大量的部署安装时间来搞定业务吧~ NebulaGraph 阿里云计算巢现 30 天收费应用中,点击链接来用用图数据库吧~

想看源码的小伙伴能够返回 GitHub 浏览、应用、(^з^)-☆ star 它 -> GitHub;和其余的 NebulaGraph 用户一起交换图数据库技术和利用技能,留下「你的名片」一起游玩呢~

正文完
 0