资产管理,虽然是安全工作的基础,但是一直以来很多人不屑于做这些基础工作,因为资产管理不是高大上且见效快的工作,是累活苦活远不如挖个洞或发现黑客攻击有成就感。笔者认为,特别是大型互联网企业基于安全需求和存在的问题,搭建安全资产平台,能够为监控、应急响应及数据泄露溯源等提供资产定位,能够快速定位被攻击、渗透的对象或泄露源并止损,将大幅提升安全运营效率。与此同时,通过对资产的进一步挖掘和分析更能为确定安全工作优先级及投入产出比(ROI)提供决策支撑。
安全资产管理的重要性
安全资产是安全运营的必备基础能力之一,重要性主要体现在以下几个方面“:
1、资产全覆盖
摸清家底,掌握资产全貌是安全治理的基石。通过各种技术手段,识别发现资产,并能够清楚知道资产的分布情况、部署情况和使用情况,能够提高安全管理效率。
2、资产可管理
成为安全运营的基础支撑能力。随着信息系统业务规模逐步扩展及人员的变化,如何跟踪资产的变化,准确定位资产,并在发现安全威胁时,快速定位威胁的影响范围从而能够快速判定和处理威胁,能够提升安全运营响应速度。
3、资产可视化
特别是上下游资产关系可视化,可为业务和安全管控提供决策支撑。随着业务数字化,数据越来越重要,同时攻击手段的多样化、攻击场景的复杂化,业务目标越来越分散,但是安全防护目标必须足够聚焦,通过可视化手段能够准确定位安全防护的重点。
安全资产管理遇到的问题
随着近年来移动互联网的快速发展,企业内部的IT资产亦是是成倍数级增加。由于各部门的管理需求不同,各自管理的资产都是孤立、碎片化的,没有进行统一整合。尤其是当那些集中爆发的黑客攻击或0day漏洞发生时,需要快速确定影响业务范围,但由于受限于资产信息形成的竖井,已经影响到安全运营的高效运行。在安全运营工作中通常主要存在如下几个问题:
1、资产无统一管理
无全局的平台掌握资产全貌,了解哪些资产是对外提供服务、哪些是对内提供服务,同时各业务线的资产占比是什么情况,安全资源如何进行分配和投入等。
2、资产属性覆盖不全
无有效的技术手段,对资产的安全属性进行识别和补全,各个业务系统上运行了什么程序、具体是什么版本覆盖不全,未形成自动化、周期性的资产识别、更新和检查校验机制。
3、资产归属责任不清
资产责任不清晰,当资产负责人异动或离职时,未变更资产负责人或交接资产,特别是发生安全事件或安全漏洞时,无法准确定位到资产负责人。
4、资产之间无关联
各个维度的资产之间都是孤立的竖井,无关联性,各个节点和系统之间有着怎样的对应关系和依赖关系。如域名与应用之间、应用与数据库之间未建立关联关系,发生安全事件无法准确判断对业务系统的影响范围。
安全资产管理的解决思路
基于遇到的问题,可以通过全面整合当前资产相关信息,建设安全资产平台,一站式地让安全运营团队更清楚的看到资产相关情况,在发生安全风险时,能够快速地进行定位和响应。
因此,安全资产平台将统一化解决设备资产、网络资产、应用资产、组件资产、接口资产、数据资产之间无协同性的问题,安全资产平台总体可以分为三个部分:Web展示层、数据采集处理层和数据存储层,整体架构设计如下图所示:
图1:资产平台架构图
1、安全资产平台实现
安全资产平台按照创建的任务列表,会通知给外部部署平台采集资产数据,所有的采集请求会先通过外部接口校验后进行数据采集,并记录相应日志信息,然后根据任务类型执行不同操作,如每天定期或资产属性发生变化时进行采集。任务生成模块负责对任务进行细粒度的拆分,数据处理模块负责采集资产属性和入库,例如针对所有的IP资产、域名资产、设备资产、应用资产、组件资产、接口资产、数据资产进行资产属性采集,采集完成后通过消息队列通知构建资产模块去进行资产构建。考虑到安全事件的溯源,会对每次采集资产属性数据同步到ES存储,如保存最近1个月历史资产属性数据。
数据构建和聚合模块负责对原始资产数据进行重新构建,通过消息队列按照安全需求对各类资产属性进行聚合和更新,资产属性聚合依托于安全使用场景,分别存储不同使用场景维度的资产属性数据,并标记数据来源,最后按照资产类型入库。
数据关系构建模块负责计算各个资产模块的关系图谱,通过各个资产之间关联关系建立数据关系和关联键值,并标记安全级别,最后将关系数据存储到资产关系数据库,如通过查询IP地址,可关联到相关的域名、端口、服务、主机信息、应用名称、接口名称、数据库名称、机房、负责人、时间戳等信息。
对外接口查询模块负责提供对外数据查询能力,提供多为维度的资产数据为各运营平台赋能。同时资产关系数据库如被大量的查询,将热点数据缓存到Redis,来应对高QPS查询,保证平台的高可用。
2、安全资产平台建设挑战及应对思路
1)资产完整性:安全资产管理平台是对现有的各部署平台的信息进行整合,如果各部署平台没有相关资产信息,就会影响到资产库的完整性。因此在平台建设过程中,同时要推动内部业务系统部署要使用公司统一部署平台,通过制定相关管理制度约束业务方减少系统自建,同时要求各部署平台在发生资产属性变化时要及时进行更新,确保资产属性的完整。
2)资产变更管控:当员工异动或离职时,员工名下的资产没有进行交接,这样定位到资产就无法找到准确的资产归属人,会影响安全运营效率。因此推动员工交接平台与各系统部署平台对接,在员工异动或离职时,将名下资产进行交接,保证资产归属人及时更新。
3)资产准确性:为保证资产属性准确性,从以下几方面入手:第一,当运营人员发现资产属性不准确或无法定位时,可通过资产平台提供的任务接口建立任务工单,推送任务工单给部署平台进行资产属性修改、完善或协助资产定位;第二,当监控发现无人认领的资产或长期无流量访问的业务,依据建立的资产停用管理制度,逐步先将无归属人的资产或不使用的资产先停用,如关闭端口或服务,到最后系统下线;第三,使用安全扫描工具或源码审计工具,对资产属性进行补全,如安全扫描工具可以对IP开放的端口、服务等进行校正,源码审计工具可以对应用开发框架或接口属性进行补全。
3、安全资产平台信息展示
资产数据以卡片或关系图形式展示,同时支持多语法搜索,便于应急排查过程中定位到具体的业务方,包括的信息列举如下:
1)IP信息:公/内网、开放端口、机房、运营商、部门、负责人等。
2)域名信息:公/内网、端口、解析类型、状态、部门、负责人、VIP、真实IP、机房、URL、响应状态、请求/返回值、HTTPS强跳、应用名称。
3)主机信息:物理机/Docker、状态、SN号、操作系统、主机名称、组件版本、服务名称、部署位置、设备型号、应用名称、负责人等。
4)应用信息:部署平台、系统名称、应用名称、状态、开发语言、开发框架、接口类型、接口名称、接口是否认证、组件版本、安全等级、部门、负责人、上线包名、上线人及时间等。
5)数字资产:数据库名称、业务标签、表名、表注释、表数据类型及级别、字段、字段注释、字段数据类型及级别(包括个人敏感信息)、字段是否加密、部门、负责人、关联应用名称等。
总结
随着业务数字化,企业安全将逐渐回归本质,以资产为核心,风险为要点,安全应该贯穿业务系统的整个生命周期,用好资产基础安全工具。通过对其整合利用,安全资产可以更全面多维度地覆盖所有资产属性,提高了资产数据的完整性和准确性,但这也意味着加大了资产数据整合难度,需要从安全角度自动化构建细粒度资产信息,支持业务和安全运营对资产精准识别和动态感知。