攻击面管理(ASM, Attack Surface Management)
相关技术点:外部攻击面管理(EASM)、网络资产攻击面管理(CAASM)、数字风险保护服 务(DRPS)、漏洞评估(VA)、弱点/漏洞优先级技术(VPT)
- 资产的识别及清点:识别未知的(影子)数字资产(如网站、IP、域名、SSL证书和云服 务),并实时维护资产列表;
- 漏洞修复及暴露面管控:将错误配置、开放端口和未修复漏洞根据紧急程度、严重性来进 行风险等级分析以确定优先级;
- 云安全与治理:识别组织的公共资产,跨云供应商,以改善云安全和治理,EASM可以提供 全面的云资产清单,补充现有的云安全工具;
- 数据泄漏检测:监测数据泄漏情况,如凭证泄漏或敏感数据;
- 子公司风险评估:进行公司数字资产可视化能力建设,以便更全面地了解和评估风险;
- 供应链/第三方风险评估:评估组织的供应链和第三方有关的脆弱性及可见性,以支持评 估组织的暴露风险;
- 并购(M&A)风险评估:了解待并购公司数字资产和相关风险。
攻击面管理产品的实现
-
攻击面管理(ASM)功能组
- 网络空间测绘(CAM)
- 组织架构和关联组织的识别
- 数字足迹的映射,即将相关组织、子公司、关联组织等与IT资产进行映射
- 供应链的识别和风险暴露面
-
威胁情报(TI),该部分需要包含对暗网的可视性
- 业务数据和数字资产泄露情报
- 隐私数据泄露和内部人员数据泄露情报
-
漏洞优先级技术(VPT)功能组
- 全面、快速的资产发现能力
- 多类型扫描器调度和多维度漏洞评估
- 漏洞情报和智能优先级排序
- 漏洞全生命周期管理流程和自动编排
一些开源项目
-
https://github.com/lyft/cartography 收集企业信息和漏洞情报之后,通过neo4j 数据库将不同端点连接起来,以此发现隐藏 的映射关系
可以参考其实现来对发现的资产进行存储、映射
-
https://github.com/OWASP/Amass Go 实现的信息收集工具,可以用来挖掘或枚举域名、IP、ASN 等信息,或者通过反向 WHOIS 查询挖掘企业的不同根域名(貌似不太准)
viz 子命令可以将数据可视化
-
https://github.com/smicallef/spiderfoot Python 实现的 OSINT 自动化工具,收集了丰富的 API,可以用来挖掘社交帐号,有 Web 界面
不太相关的:
- https://github.com/microsoft/attacksurfaceanalyzer
- https://github.com/microsoft/msticpy
- https://github.com/Security-Onion-Solutions/securityonion
使用 Cartography 掌握企业的云资产
https://blog.marcolancini.it/2020/blog-mapping-moving-clouds-with-cartography/
管理云资产的难点:
- 云基础设施的规模基本上没有限制,因为云提供商的机房规模通常很大
- 云资产的规模和弹性难于管理,因为云服务经常通过 APIs 的形式提供,只需要在代码 中修改配置参数就可以初始化多个相同的云环境,其数量基本没有限制,而且分配很灵活
- 异构性。由于不同云提供商有不同的运营管理机制,所以能否找到一个固定的策略来管 理不同来源的云资产,也是一个挑战
- 连通性。鉴于云资产生命周期可能非常短暂,如何发现和连接服务具有一定的挑战性, 并且要做到实时同步云资产的连通性状态
产品应该解决的需求:
- 资产识别和分类能力,比如是来自 CSPs(EC2, S3…)还是 Kubernetes 集群
- 多云支持
- 能够识别出提供商
- 丰富的数据
- 资产可视化
- 资产分析能力
- 了解资产间的依赖关系
- 识别出具有安全风险(配置不当)的资产
- 可以以容器化方式部署(Kubernetes/docker)
- 集成第三方应用的能力