IT的资产管理在国外有专门的领域叫做ITAM(IT Asset Management),主要视角集中在包括硬件角度、财务角度和合同角度,比如购买的硬件资产的状况、资产价值、供应商的服务水平、拥有者等等相关信息。融合了相关的硬件信息、财务信息以及合同信息等相关信息。
后面出现了CMDB专注于资产配置类信息的产品,现代的CMDB保存资产信息要比ITAM要更多,细节信息更丰富。比如说ITAM只有设备信息,而CMDB会有更多的IP类和MAC类信息,ITAM只有软件的License信息,而CMDB则包含软件的版本信息等。
图1:ITAM产品和CMDB产品包含
资产及功能差异
随着时代的发展,对于ITAM的要求也在变化,包括从网络安全角度,信息资产管理角度,新型License模型,都要求ITAM要增加新的功能来满足这些需求,这对于ITAM就是全新挑战。除了ITAM之外,CMDB同时也在演变,有了一些SaaS类厂商,比如ServiceNow、Device42等公司有一些创新的做法,后面也会提到一些。由于这篇文章主要专注于网络安全领域的资产管理,IT领域的资产管理概念这块就不赘述。
图2:ITAM快速新挑战
1
网络安全资产管理的标准
NIST CSF
NIST CSF标准是国内外安全领域都十分认可的框架。在其六大领域:识别(Identify)、保护(Protect)、检测(Detect)、响应(Respond)和恢复(Recover)中,识别是NIST CSF第一步的动作,而资产管理(Asset Management)则是识别第一步。对于资产管理本身,又有6个子分类,包括:物理设备的信息、软件平台和应用的信息、数据和通信的信息、外部信息系统、基于分类、重要性和商业价值的优先级排序、人员角色的相关责任包括了供应商、客户和合作伙伴等。这几个方面相对来说比较全面,但是只是在笼统层面的一种表述。
图3:资产管理六个方面
NIST SP 1800-5
NIST SP 1800-5 是专门针对于安全资产管理的标准。从架构和实例都讲的比较详细。如下图所示整个功能架构图,第三层主要是各种设备,包括硬件设备和软件系统以及虚拟机等资产;第二层是数据收集的方式,将资产信息收集上来,主要是一些配置相关的信息;第一层是数据存储、数据分析以及报告和可视化方面,可以做到合规等方面的工作。
图4:ITAM资产管理相关功能
下图是一种网络拓扑结构的例子,该组织有5个子网都经过防火墙和路由器连接到DMZ网络。DMZ区会放置一些资产收集装置,包括补丁服务器,VPN,流量分析设备等,其他每个网络收集的资产信息都不太一样,ITAM网络里面主要是域控服务器、CA服务器、邮件服务器、运维服务器以及办公终端等资产;物理资产管理网络里面主要是路由器、交换机以及相关资产管理的系统;物理安全网络范围内主要是OT类的设备,包括摄像头、视频存储、门禁等设备;网络安全网络主要管理漏洞扫描、SIEM、IPDS等安全类设备;Lab5 是实验室跟实验相关的设备相关。
图5:资产管理网络拓扑图
根据上述的资产总体架构以及网络架构,实现了一种资产统一管理的示例方案,针对这些不同的资产,采用了相关开源或者是比较主流的解决方案,在Tier2层可以发现有很多相关的系统,进行资产的收集和管理,最后全部汇总到Splunk进行统一展示、分析。
图6:统一资产管理方案
CIS Control
CIS Control 对于资产管理有更具体的表述,主要集中在硬件资产和软件资产的表述。对于硬件资产有8个方面的要求:1.要有主动发现资产的工具;2.有被动发现资产的工具;3.通过DHCP进行更新资产信息;4.维护资产的目录信息;5.维护资产的信息数据;6.管理未授权资产;7.使用访问控制,比如802.1X的标准接入;8.使用证书机制来验证硬件。这几个方面讲的比较具体分类三大类:资产发现类,资产维护类和资产安全类。资产发现除了主动扫描和被动流量分析之外,还加入了DHCP这种自动分配IP的服务进行资产发现,也是一种很好的思路。资产维护类的需要维护资产的基本信息和详细信息,基本信息包括硬件信息和IP信息等,详细信息包括机器名、所有者,部门负责人等,这些信息必须定期更新维护,否则资产一旦有变化这些信息就会不准。资产安全类的主要在于访问控制类的内容,防止非法接入,使用ACL机制进行保证,使用证书机制进行验证等都是属于这种资产安全接入的方式。
图7:CIS硬件资产发现和控制8项规则
下图是个硬件资产管理的总体示意图,主动和被动发现资产方式,网络级别的认证和PKI证书体系的安全保证来进行资产信息数据库的更新,从而进行分析和报告。
图8:CIS硬件资产管理的总体示意图
对于软件资产相关的内容有10项相关内容:1.保证授权软件;2.保证软件有厂商进行维护;3.使用软件资产管理工具;4.跟踪软件资产信息;5.关联软件和硬件资产;6.发现未授权软件;7.使用应用白名单;8.使用加载库白名单;9.使用白名单脚本;10.隔离高危险应用。这些内容看起来很合理,但是做到实在太难。关于授权软件这个事情其实已经出了很多类型的事件,比如Xcode事件和Lastpass事件都是类似的情况,盗版软件被植入了木马,引发的安全事故,但是盗版软件使用仍然很常见,很多组织也没有很有效的管理起来。还有一些不在LTS版本规范中系统也无法进行更新,也依然在使用,比如Windows XP和Windows 7等,就算爆出0Day,微软一般也不会支持了。白名单这个事情更难了,应用级别、加载库和脚本级别,想完全实现白名单会极大增加运维的成本和影响上线速度。
图9:CIS软件资产管理10项规则
2
资产管理的总体架构
上面讲到了NIST和CIS的标准是从基本面上说明了网络安全领域资产管理应该做的内容,结合这些理论的内容和产品研发的相关理解,总结了以下一些内容,主要从功能要求、数据要求以及资产收集技术路线三个方面进行讲述。
资产管理功能
**资产属性标记:**有了这些基本信息之外还需要一些额外的信息进行填充。比如负责人员、地理位置等,这都是管理类信息需要对资产进行标记。
**资产分组及重要性标记:**资产所属的业务组以及重要性,也需要相应的标记。这样对于安全事件发生之后或者漏洞管理方面都是很重要的参考维度。
**资产发现:**对于安全来说,就害怕存在未纳入安全管控范围的资产,所以通过资产发现能够发现那些僵尸资产或者是未受安全保护的资产。这个能力是一个必备能力,常常是通过扫描或者其他服务相互验证进行发现。
资产合规:对于管理规范的组织来说,使用什么软硬件都是有相应的规范的,比如只使用Debian8这一种操作系统,也是为了方便管理和维护。有上述的资产信息,就可以很容易的做到资产合规性检查。
**资产查询:**资产查询对于突发的0Day或者高危的漏洞来说是最好的方式了,可以迅速定位可能受到影响的资产,比如meltdown这种CPU级别的漏洞就很快能够定位,还比如有新发现的Weblogic RCE的0Day,也能迅速定位。
**资产授权管理:**对于大型机构和集团公司,不同的资产对应不同的部门和公司,需要对这些不同的组织进行授权管理,只允许针对自身的资产进行查看和管理,同时受到上级部门的监督和管理。
**资产变更管理:**资产的变更有时候能够发现很多异常安全事件,比如突然增加了一个库,增加了一个应用软件或者计划任务,或者新增的端口等,这些都有可能是入侵过程中遗留的内容。正常的变更也是日常运维管理和安全管理的一部分。同时也会存在新上线系统的安全检查以及资产从一个部门换到另外一个部门后的安全策略调整。
**资产信息集成:**CMDB是一个重要的资产信息来源,但从安全视角来看还是不够的。还需要集成IP库,DNS信息以及统一身份认证系统。这些都是基础资产信息,有条件的可以结合相关的安全产品进程资产信息的集成,比如SIEM或者是终端类的安全产品也有类似资产的情况。
**资产风险:**根据实际的情况来决定风险问题,这个跟漏洞和维护情况有关。尤其对于已知的风险情况要定期进行梳理,对于处于高危风险的软硬件,就不应该上线。对于资产风险做统一的管理,尤其常见的RCE的中间件或者库,在上线之前要做到风险检查。
资产数据类型
**硬件资产清单:**硬件的相关配置信息,包括芯片、内存、存储、主板等相关信息。
**软件资产清单:**操作系统、数据库、中间件、应用软件、第三方软件,开发库等。这里面的内容相当庞杂,仅操作系统一项,包括的内容就非常多,如操作系统版本、进程信息、端口信息、账号信息、计划任务、安装软件等。数据库的相关配置信息也有一些,比如连接信息,账号信息等配置信息,也包括日志路径等。其他的软件资产也根据其自身的特性需要维护相关的内容,比如开发库的版本号就是很重要的资产信息。
**云计算资产清单:**云计算资产信息会结合软硬件信息,包括云计算资源池的位置,云计算分组信息和相关使用云计算产品的信息等等。但是深入到相关实例的信息可能又关联到软件资产信息。
**信息资产清单:**主要包括一些基本的网络信息,比如IP、DNS等信息,也会包括一些业务方面的信息,比如交易系统等,当然也可以通过结合软硬件信息进行标签化处理。
**数据资产清单(Option):**这个内容跟数据治理有一定的相关性,但是数据安全越来越受到重视。如何识别数据资产的类型和分类,从广义上也属于安全领域需要关注的资产类型之一。
**人力资源和认证清单(Option):**这些人员本质上来说是跟资产有一定的关联性,资产会落到每个人身上。对于管理完善的组织,每个资产都有相应的负责人。同时每个人的权限也算是必要的一种资产标记,每个人的对于每个资产的权限也是一种很重要的信息。
资产收集方案
**主动流量探测:**这是目前市面上比较主流方案,对于客户来说接受度比较高。通过扫描方式,获取相关的banner或者TCP/IP各个层面的扫描方式进行确认,比如通过ICMP、ARP、SNMP、HTTP等协议方式进行探测。这种方式如果在各种隔离的环境需要部署多套扫描器或者通过隧道的方式进行内网扫描。这种方式的优点是能够发现一些隐藏的资产、相对全面,但是缺点是效率较低,对于内网的带宽会有一定消耗。还有就是会存在一定的误报的情况,识别资产上可能不准,一些细粒度的信息也是无法获取的,比如进程数据。
**被动流量探测:**这种方式侵入性比较低,可以通过流量进行判断。需要对于流量进行分析,但是这个被动的流量分析大部分的情况都是用于IPDS的设备,没有这个角度去看待资产问题。可以在被动流量的分析上以资产的视角分析,也是一个很好的资产管理的补充。同时这种方式会比较片面,如果没有访问过的资产或者只在内网交互的资产,可能在边界流量探测就可能发现不了此类资产。
**统一身份认证系统探测:**前提有统一身份认证系统,同时管理比较严格,这种方式才可以进行相关资产的探测。比较依赖于IAM系统的接口和信息收集,所有的资产登录都需要统一身份认证系统进行维护和配置的情况下就可以收集相关的信息,比如通过IAM的后台系统进行统计。
**Agent探测:**这是一种常见的资产采集的方式,优点是采集数据准确率高,资产的丰富度高,对于主机或者设备可以进行全面的数据收集。
**其它服务探测:**自有系统或者服务也是资产探测的来源。比如DHCP服务可以探测相关的IP信息,DNS服务可以发现内部的所有域名。
**ShadowIT资产探测:**影子IT需要外网的扫描器,关注于对外可能暴露的资产情况。这个手段就会比较多样,可能跟每个可能会用到的平台有关。比如代码类的GitHub和国内的码云等,存储的也会有网盘的分享之类,也可以通过shodan等相关数据来源进行收集。其他的IT环境可能用到的外部IT系统都在考虑之内。
**系统集成对接:**这种方式是对接其他的资产收集系统或者方式,这种对接不直接探测和收集资产信息只是做聚合。
3
资产管理的厂商介绍
Axonius
Axonius做为2019年的RSAC的创新沙盒冠军。其产品做法也是比较巧妙,这个产品不使用任何终端和网络的agent资产采集功能,不做资产收集只做资产聚合。可以通过它的产品界面可以看出来是什么环境的,可能是Windows的某个版本,外加使用VMware和McAfee的杀毒软件。需要对接这些所有产品系统,能够对接的产品的列表非常多,但是只关注资产层面的信息,包括各种资产管理系统,安全产品以及云平台,宣称已经支持了232中各种系统和设备的对接和适配。
图10:Axonius资产管理产品界面
其用法就是首先部署Axonius的服务端,然后进行适配连接相关设备和系统,最后就可以进行相关资产查询。比如想知道Windows系统中使用McAfee杀毒软件的覆盖率是多少,这种综合条件的查询比较便利。下图是根据Azure的使用进行的资产分析,包括实例类型分布,设备位置以及端口对外情况以及未被扫描到的实例。
图11:Axonius资产查询界面图
Panaseer
这家公司提出的一个新的概念叫做CCM,即持续控制检测。目的是为了将资产等各个方面的安全做到持续的安全监控。其本质做法也和Axonius类似,通过Connector连接器将各种系统对接,收集相关设备、应用、人员、账号以及数据库的相关信息。在这个基础上有很多模块,包括资产管理、漏洞管理、用户安全意识、特权账号管理、身份访问管理、终端管理、引用管理和补丁管理。在资产分析上可以做到展示已知和未知的资产信息;持续监控资产状态,发现未被管理的资产以及不在维保范围的资产;获取相关资产的属性信息,包括业务和技术方面的内容,包括业务组以及地理位置等信息;并可以灵活的搜索相关的资产信息。安全控制层面的做法有一定的特色,可以统计EDR产品的覆盖率,其他的安全产品是不是都在运营过程中,监控安全产品的部署情况,可以跟踪修复进程并说明相关进度。其他方面包括诊断和合规方面算是比较传统的功能。
图12:Panaseer基于CCM资产管理产品
JupiterOne第一步也是做各种系统的集成,尤其在云平台方面,对于AWS云平台内部的各种应用的梳理相当的全面。这些数据会按照他的数据模型进行格式化和存储,为后续的查询等工作奠定基础。同时支持API和CLI的方式进行对接,可以将相关的内容对接给JupiterOne。
根据上述的集成操作,第二步就可以将各种资产自动发现并进行展示。对于云内资产有深度对接和展示,也有相关的访问控制信息,对数据进行相关聚合,并30分钟做一次资产数据同步,同时也有资产的相关图关系的展示。
同时可以做到的就是相关合规性的检测,包括了相关国外的主流标准,比如PCI-DSS、NIST相关标准、SOC2、CSA等标准,对于合规的报警和修复反馈也是功能之一。
比较核心的能力有两个,其一就是有一套语言可以查询分析,另外一个就是图关系展示。有一套自研的JupiterOne Query Language (J1QL)查询语言,对于资产以及合规情况可以很好的查询分析。有很多内置的语句和说明可以使用,包括某些关键字,就可以将所有的相关信息输出出来。
图13:LifeOmic’s JupiterOne产品资产查询页面
另外一个核心能就是资产图关系的展示。比如说下图就是一个账号可能关联到的所有资产信息,也可以展示网络拓扑结构以及安全策略和跟踪某些特定资产可能受到攻击的情况。
图14:LifeOmic’s JupiterOne产品资产关系图
ServiceNow
ServiceNow作为SaaS类型的ITSM的供应商,作为了一种平台型公司。ITAM算是其中的一个重要模块,这个模块有四个部分构成:硬件资产管理,软件资产管理(SAM),CMDB和资产发现。硬件资产管理和软件资产管理更多是从财务角度进行统计,硬件资产涉及的合同管理,合规管理,SLA管理,入职资产分配等等方面。软件资产管理涉及费用管理,license管理,合规管理、性能分析、漏洞管理等等方面。
图15:ServiceNow产品资产概览视图
图16:ServiceNow产品界面图
而CMDB的信息大部分都是配置类型信息,他们的关系可以理解为,配置的信息大多来自于硬件资产的一些目录信息和软件的相关信息。
图17:ServiceNow产品配置信息来源
ServiceNow的CMDB其数据来源也是来自于其他的平台,包括VMware的vCenter和微软的SCCM或者是其他的终端管理平台,也可以通过excel的方式进行导入。同时也会对CMDB中的数据做健康性检查,包括完整度打分、合规性打分以及正确性打分,也可以对某些数据做补全和修复。
图18:ServiceNow CMDB健康度检查
也可以对资产的配置信息进行查询,并对查询结果进行可视化显示。
图19:ServiceNow产品查询结果展示
ServiceNow的资产发现模块,通过在内网环境中某台机器上安装一个软件,染过通过内网扫描的方式发现各种资产,针对不同的资产使用不同的协议进行信息收集。同时也可以通过其他云平台的接口接入云计算的相关资源,甚至包括Red Hat的OpenShift和Nutanix的超融合架构。
Lansweeper
Lansweeper是一家比较纯粹的做资产管理的公司,产品主要分了三个模块:资产发现,资产清点和资产分析。针对于资产发现,手段比较多样,有被动的网络发现,也有主动的网络发现,同时也有基于agent方式发现更细节的资产信息,也能够对接各种平台。对接的资产方面也很全面,有本地的资产,也有云端的资产,甚至有移动端的资产。
资产清点的内容包括了虚拟机的资产信息,交换机的端口映射信息,性能数据,授权信息,设备相关信息,还包括windows事件日志信息以及注册表和文件信息。
图20:Lansweepe产品资产管理图
最后一步分析,主要是报表等Dashboard之类的展示,也有漏洞和补丁相关的信息。也可以做到筛选和查询相关的功能。整体产品感觉比较朴素,设计上没有下太多功夫。
图21:Lansweepe产品报表及展示图
Device42
Device42的产品有一定的特色,尤其在可视化层面。从数据中心的资产开始,比如有机房的布局可视化、机架的结构图以及硬件面板的连接关系展示以及编辑。这个是DCIM领域的产品。
图22:Device42产品可视化界面
其他的对接的内容也类似,跟云平台的对接和运维工具可以对接。设备类型的信息也是比较标准的内容,可以查询可以浏览,也有资产自动发现的功能。根据netflow的数据做的相关应用依赖的拓扑图,同时也有IP地址管理。
图23:Device42设备信息说明
其产品概括起来,就是个强大的CMDB,产品结合了自动发现、应用依赖、DCIM、ITAM和IPAM的内容。
4
总结
本文主要在从网络安全的角度来看待资产管理,主要分为三个部分:第一部分,主要讲解了相关国外主流标准中资产管理的位置以及如何进行资产管理;第二部分,结合笔者的理解试图设计一种比较全面的资产管理的总体架构,主要分了资产收集、资产数据以及资产功能三个方面;最后一部分,选择了比较主流的安全角度资产管理的三家厂商和运维角度资产管理的三家厂商对他们的产品进行了相关的描述。资产管理是网络安全领域重要的起点功能,资产扫描也是攻击者进行攻击的第一步,对于自身资产的理解是做好网络安全的根基。最终目的是提高资产的可见性,降低资产的风险性,保证资产的合规性。引用国外的一句话:你保护不了你看不见的资产。