一、安全需求
脱离需求谈规划一切都是空谈,所以我还是先简单总结下目前的收集到的安全需求。我把这些需求分为两大类,一类是客户反馈的外部需求,一类是我们自己产生的内部需求。先说外部需求,主要有以下几点:
- 镜像漏洞扫描
- 镜像精简与安全加固
- 容器合规审计
- 木马病毒、webshell检测
- 入侵行为检测
- 文件防篡改
- 容器和集群日志审计
- 容器防火墙
内部需求主要有:
- 不断有高质量容器安全技术输出,打响公司品牌
- 围绕容器安全相关领域做安全攻防研究,以攻触防
- 测试自己产品安全性和检测能力,促进产品功能加强
- 容器安全渗透测试与培训服务
- 安全事件响应和分析
- 公司定位
公司目前没有安全服务,是以产品为导向的安全公司,目前安全人员与研发人员目前比例为1:4。公司目标是做云原生安全领域的平台型公司,提供云原生的整体安全解决方案。
- 产品本质
产品目前主要功能为镜像扫描和容器安全,其本质上是一个容器化的HIDS(主机型入侵检测系统)。HIDS的发展方向主要分两大类:
1)向下做深端的采集能力,提高对抗成本。
2)向上提高数据分析能力,挖掘更多信息。
目前产品在agent端采集的数据有:(进程名、进程所在路径、进程命令行参数、进程的父进程及命令行参数、进程的祖先进程、网络连接五元组信息等。)可见目前agent端采集的数据仅有进程信息,缺少日志数据、系统调用数据、网络内容数据等。
目前产品在server端的数据分析能力仅有:镜像深度扫描
理想中的HIDS应该具有如下能力,可参考wazuh:
- 什么是好的入侵检测系统
- 能够检测到整个链路的攻击行为(ATT&CK)
参考:阿里云安全中心-自动化入侵回溯
- 有强大的IOC(indicator of compromise)
IOC: 表示攻击模式的信息片段,包括在系统日志条目或文件中找到的数据,用于识别系统或网络上的潜在恶意活动。IOC包含的信息可以帮助入侵检测系统检测到攻击行为,通过监控IOC,组织可以检测攻击并迅速采取行动,防止此类攻击发生,或通过阻止早期攻击来限制损害。
简单来说,IOC特征就是指的威胁情报。
IOC分类:
- Snort和Suricata 规则
- Yara规则
- OpenIOC
- STIX和TAXII
- 产品稳定、高性能
- 有丰富的接口,可与其他安全产品联动
- 安全的着力点在哪
在谈提升产品安全能力之前,我先说下安全的着力点。因为没有着力点,安全能力提升就无从谈起。就目前的产品来说,主要有这几个功能:
- 镜像安全:扫描软件的CVE漏洞、木马病毒、历史分析、加固建议
- 容器安全:检测容器的配置信息、环境变量、挂载卷和异常行为、处理建议
- 应用安全:扫描微服务的OWASP TOP 10的安全漏洞
- 安全合规:对镜像、容器和集群的配置进行合规检测
将来可能会有的功能:
- 集群日志审计
- 容器应用防火墙
结合产品功能和工作现状,目前安全的着力点有如下五点:
- CVE和CNNVD数据库更新与维护
- 病毒木马库更新与维护
- 镜像安全加固建议与容器异常行为处理建议
- 容器入侵检测规则
- 镜像、容器和集群的合规基线制定
简单来说,安全的着力点,目前就是规则和库。
- 如何提升产品安全能力
- 完善产品已有安全功能
- 镜像的精简与加固功能研发
- 各种库的更新与维护
- CVE漏洞库
- CNNVD漏洞库
- 恶意病毒库
- webshell库
- 中间件漏洞库
- 漏洞修复建议库
- 威胁情报库
- 合规审计规则库
- 容器的入侵检测规则完善
- 集成Yara规则(针对文件和进程的检测)
- 集成Suricata规则(针对流量内容、网络行为的检测)
- 更新和维护我们的轻量级规则库
- 以攻触防,红蓝对抗
围绕容器研究各种攻防场景持续研究,持续追踪、横向对比各种安全产品的功能和检测效果,考虑可以移植到我们产品的点。
人员分工:
攻击队:pytbull、ATT&CK、wazuh、sysdig......
防守队:Suricata、Yara、wazuh、sysdig......
pytbull:
pytbull download | SourceForge.net
ATT&CK:
国内首个云上容器ATT&CK攻防矩阵发布,阿里云助力企业容器化安全落地-阿里云开发者社区
Suricata:
Yara:
YARA - The pattern matching swiss knife for malware researchers
GitHub - VirusTotal/yara: The pattern matching swiss knife
- 数据安全分析能力建设
阿里云安全的数据安全分析能力建设经历了三个阶段:
- 第一阶段:单点日志+规则审计。
- 第二阶段:基于双流join的关联分析,能够连接两三种异构日志并建模。
- 第三阶段:利用图计算连接更多数据。
目前我们的产品还处于第1阶段,在agent端根据内置规则直接报警,在server端无分析过程。我们需要先把日志收上来,然后再关联分析。安全有可运营、可分析的点才能产生安全价值。