如何DIY一个攻击面管理方案?
近日工商银行、波音公司、迪拜环球港务集团等巨头因未能及时修复暴露资产的高危漏洞或错误配置而接连遭遇勒索软件攻击,再次凸显了攻击面管理(ASM)的重要性。
根据Sevco最新发布的《2023年企业攻击面调查报告》11%的企业IT资产缺少端点保护,15%的IT资产未被企业补丁管理解决方案覆盖,31%的IT资产未被企业漏洞管理系统覆盖。中小企业的情况更糟,未使用托管安全服务的中小企业中,21%的IT资产缺少端点保护。
攻击面管理是加强主动防御能力的关键所在,但对于大多数企业(尤其是中小企业)来说,随着数字化和云计算应用的不断深入,资产增长、迁移、变动加剧,提高攻击面可见性变得越来越有挑战性。雪上加霜的是,很多企业安全团队往往缺乏足够的人才和预算实施成熟的商业攻击面管理解决方案。
为了帮助缺乏足够资源的企业提高攻击面管理能力,本文我们将介绍“DIY”攻击面管理方案的工具和方法。
如何修补和强化未知资产?
今天,企业的资产规模不断扩大,除经营实体外,还蔓延到云和第三方托管设施。不同规模的企业资产,例如域名、子域名和企业IP地址范围内的资产数量动辄数千、数十万甚至数百万不等。
临时的错误配置或暴露可能随时出现,虽然可以很快修复,但检测难度很大。因此,攻击面管理工具必须有极高的可扩展性和速度,才能平衡可接受的准确性损失水平,缩短查找资产和检测短暂风险的时间。对于数百万资产规模的攻击面,传统的慢速扫描已经过时了。
攻击面管理可以看作是一种递归发现练习,不断地以新知识(信息)为基础来识别更多的资产和组织环境。通常只需一个初始域名或“种子数据点”即可开始。
用于发现资产的许多数据源可以完全被动地运行,且无需与目标组织的基础设施交互。
在执行基本的资产发现任务时,企业安全团队需要回答一些初始问题:
外部攻击者如何观察我的企业?例如历史收购、垂直行业、历史事件等,以及:
- 我的企业控制多少个域名?
- 我的企业有多少个子域名?
- 我的企业有多少个网段?
- 资产分布在哪些云提供商上?
- 在已发现的资产中,有多少拥有活跃的DNS记录?
- 在发现的资产中,有多少拥有开放端口/可定位服务?
- 其中有多少资产已登记在资产清单中?
安全团队可以通过无数途径来获取企业的攻击面信息,可谓“条条大道通罗马”,这也意味着企业完全可以DIY自己的攻击面管理用例。
如何用开源工具DIY攻击面管理方案
攻击面管理如今已经从“小众”网络安全市场迅速成长为大多数企业安全策略的“刚需”和重要组成部分。用户市场关注度的飙升推动了攻击面识别方法和技术的创新和研究。大量的开源工具套件已被开发出来,可通过SaaS平台甚至第三方专业人士提供攻击面管理服务。
企业可以使用开源命令行工具快速深入了解其攻击面的全貌,这些工具可用于搭建简单、可重复和可扩展的攻击面管理工作流程,帮助识别资产边界变化。
如果企业无法获得商业攻击面管理供应商的支持,那么利用开源工具自行搭建这些工作流程和方案也可以支持许多安全用例,其效果和竞争力甚至不比某些付费工具差。
以下是企业可以使用流行开源工具轻松创建的安全用例:
- 发现与企业主域名关联的子域名:使用开源工具(例如Project Discovery的subfinder)可以从各种被动数据源(例如证书透明度)获取信息,以识别与域关联的历史和当前子域。
- 通过活动DNS记录识别企业的全部资产:使用开源工具(例如Project Discovery中的dnsx或ZMap Project中的zdns)可以深入了解各种查询类型中具有当前DNS记录的资产。此外,通过当前A/AAAA/CNAME记录识别资产可以使组织确定资产的优先级,以进行额外审查和进一步丰富。
- 识别企业所有活跃的Web应用程序:使用Project Discovery中的httpx或ZMap Project中的zgrab2等开源工具可以识别Web应用程序及其关联的Web框架并对其进行指纹识别。此外,创建包含常见标头信息(例如HTTP服务器、HTTP标题、图标哈希值)的易于阅读的CSV/JSON文件并存储Web应用程序响应,可以轻松识别某些攻击技术以响应新披露的漏洞。
- 识别常见的文件泄露和错误配置:使用Project Discovery中的nuclei等开源工具,企业可以快速评估其面向公众的Web应用程序是否存在常见的错误配置和高风险文件泄露(例如配置文件)。确保根据可接受的风险级别适当地审查漏洞模板。有些漏洞利用是侵入性的,可能会留下痕迹。
上述用例未必是识别某些特定资产类型的最全面或最有效的方法,但足以帮助企业轻松建立一个初始的可重复机制,用来发现企业资产边界的盲区,确定需要改进的地方。
最后,大多数企业经常在第三方网站和代码托管平台(例如GitHub)上存放重要资产,这些网站和代码托管平台可能会无意中公开暴露敏感信息。如果机密信息扫描仪没有及时发现和标记这些敏感信息,将导致凭证和敏感信息的长期暴露。
企业可以使用GitHub事件API开源工具实时监控可归因于其主域名的公共GitHub提交,从而保持领先一步。虽然这不是检测企业机密信息泄露的完整方法,但与GitHub预提交挂钩和更广泛的安全策略结合使用时,可以显著缩短修复信息漏点的时间并改善整体安全状况。
总之,大量收集企业资产相关信息只是一个起点,企业应该建立持续的监控和评估机制,实时监控网络活动,及时发现和响应安全事件,定期评估安全策略的有效性,并根据评估结果进行调整优化。