网络安全态势感知
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2 面向网络安全态势感知的安全要素和安全特征

从分析师的角度而言,分析师很难采集和分析与网络空间相关的所有数据,需要结合各种辅助性防御设备的数据进行融合分析。由于不同分析师对于网络安全态势的理解不一致,因此在分析网络攻击事件时的关注点也不一致,很难形成一个统一的态势理解。为了辅助分析师对其关注的网络安全数据进行靶向提取,本节将介绍常用的安全要素和安全特征。为了便于读者理解,本节将从资产维度数据、漏洞维度数据、威胁维度数据三个方面介绍网络安全态势感知过程中可以采集的安全要素和安全特征。其中,资产维度数据主要包括网络空间中的资产数据,从防御者角度而言,主要包括需要防护的网络系统中的资产数据等;漏洞维度数据是指网络空间中可能存在的漏洞、弱点、缺陷等各类数据,通过和资产数据的关联可以有效分析防护网络系统中可能存在的漏洞维度数据;威胁维度数据是指针对网络空间各类软件和硬件等可能发生的威胁行为等数据,包括各类不同的攻击行为数据、系统异常数据等。威胁维度数据一般是攻击者利用漏洞维度信息在对网络系统中的资产实施威胁行动过程中留下或被系统、防御设备检测到的数据。

3.2.1 资产维度数据

面向网络安全态势感知的资产维度数据是指各类硬件、软件等数据。从防御者角度而言,资产维度数据是指需要保护的网络系统中各类资产及不同资产之间的关联情况。各类资产在硬件层面包括计算机、服务器、路由器、交换机、打印机、扫描仪等;在软件层面包括运行在系统中的各种应用软件,如办公软件、计算软件、娱乐软件、社交软件、浏览器软件、音频软件、杀毒软件、系统工具、下载软件、办公软件、手机数码软件、输入法软件、图形图像软件等;在数据层面包括各类关键数据,如用户密码、配置文件、个人文件、企业数据等。不同资产之间的关联情况包括网络拓扑、硬件和软件之间的适配关系等。与各类资产相关的可以采集的数据包括但不限于下述数据:

(1)硬件数据:包括磁盘、内存、CPU(Central Processing Unit,中央处理器)等硬件设备的型号、版本号等基础信息;

(2)操作系统数据:包括操作系统的型号、版本号等基础信息;

(3)软件数据:包括不同软件的类别、型号、版本号等基础信息;

(4)CPU占用率:用于评估计算机、服务器等硬件的CPU运行情况,以便评估硬件资产的状态;

(5)内存占用率:用于评估计算机、服务器等硬件的内存占用情况,以便评估硬件资产的状态;

(6)磁盘占用率:用于评估计算机、服务器等硬件的磁盘占用情况,以便评估硬件资产的状态;

(7)磁盘IO信息:用于评估计算机、服务器等硬件的磁盘工作状态;

(8)注册表:用于评估计算机、服务器上的重要软件和硬件的运行状态;

(9)系统调用:通过系统函数被调用的频次评估软件和硬件、驱动程序和驱动器的运行状态;

(10)进程:用于观察和评估是否存在异常运行的软件和进程;

(11)端口:通过端口的状态评估是否存在异常运行的软件、服务等;

(12)服务:用于评估计算机、服务器等的相关服务运行状态;

(13)网络状态:查看网络连接、网络服务、丢包率等网络相关的运行状态;

(14)出入流量:用于评估计算机、服务器出入的流量,通过出入流量评估是否存在异常软件、服务的运行等;

(15)用户数据:通过用户名、用户群组等评估用户相关的数据;

(16)权限数据:查看不同用户的权限数据,用于评估是否存在异常用户、异常权限更换等情况;

(17)文件系统:评估计算机、服务器上文件系统的变化情况,用于评估是否存在异常的文件修改、文件删除等操作。

需要保护的网络系统中的各类资产数据较多,本书将资产维度数据划分为两类:静态资产信息和动态资源信息。其中,静态资产信息包括需要保护的各类计算机硬件、软件数据,即型号、版本等各类基础数据;动态资源信息反映资产状态、业务运行状态,包括运行的程序信息、配置信息、身份信息、资源状态信息等。资产维度数据一般会与执行业务相关联,对网络系统的防御目的也是为了保证业务的正常运行,因此与业务运行相关的信息也被划分为资产维度数据。

3.2.2 漏洞维度数据

漏洞维度数据是指网络空间存在的各类漏洞、弱点、缺陷等数据。对于使用网络安全态势感知系统的防御者而言,漏洞维度数据体现为需要防御的网络系统在资产维度可能存在的漏洞、弱点、缺陷等数据。一般而言,漏洞维度数据表现为在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,可使攻击者能够在未授权的情况下访问或破坏系统。从攻击者角度而言,攻击者在进行攻击之前,首先会寻找目标网络系统存在的漏洞、弱点、缺点等,然后分析和利用这些漏洞数据来入侵目标网络系统。因此,对于防御者而言,通过采集相关的数据提取防护系统存在的漏洞数据,能在一定程度上提前预知攻击者可能会利用的漏洞数据。因此,采集漏洞维度数据具有重要的作用和意义。一般而言,常见的网络安全漏洞数据包括以下几类:

(1)软件漏洞:是指计算机、服务器上运行软件存在的脆弱性,可以看作是系统或软件的脆弱性。一般而言,软件漏洞可能是由于操作系统本身的设计缺陷所带来的,可被设计在操作系统中的软件继承。另外,还有一类软件漏洞是软件程序自身的安全漏洞,如在软件程序自身设计过程中的漏洞、在编写程序实现的过程中未充分考虑的边界条件、软件和硬件及框架的不适配所导致的漏洞等。

(2)配置漏洞:主要是指在进行安全配置、系统配置、软件配置时,由于配置不合理,在网络、软件和硬件环境发生变化以后,未及时将安全配置进行调整,导致资产安全未得到保障而造成漏洞。

(3)结构漏洞:是指由于网络系统没有采取有效的安全措施导致网络系统处于不设防的状态。另外,在一些重要的网络系统中,由于交换机等网络设备设置不当,还可能造成网络流量被攻击者盗取等漏洞。

网络安全漏洞数据还包括由管理人员造成的漏洞等。本书重点关注存在于网络空间安全中可采集的漏洞,主要包括软件、协议、配置等方面的漏洞。从漏洞的威胁程度而言,漏洞数据可以分为低危漏洞、中危漏洞、高危漏洞。

(1)低危漏洞:能够导致轻微信息泄露的安全漏洞,包括反射型XSS(包括反射型DOM-XSS)、CSRF(Cross Site Request Forgery,跨站请求伪造)、路径信息泄露、SVN信息泄露、phpinfo等。

(2)中危漏洞:能被用来直接盗取用户身份信息或能够导致普通级别用户信息泄露的漏洞,包括存储型XSS漏洞、客户端明文密码存储等。

(3)高危漏洞:可被攻击者远程利用并能直接获取系统权限或导致严重级别信息泄露的漏洞,包括远程命令执行、SQL注入、缓冲区溢出、绕过认证直接访问管理后台、核心业务非授权访问等,可导致服务器端权限、客户端权限等被攻击者获取,造成大量用户信息、企业机密信息泄露等。

从漏洞被利用的方式而言,漏洞维度数据可以分为本地漏洞数据和远程漏洞数据。其中,本地漏洞数据是指攻击者需要登录到本地系统时才能利用的漏洞数据,如权限提升等攻击行为利用的漏洞;远程漏洞数据是指攻击者可以通过远程访问目标网络进行攻击和利用的漏洞数据。从威胁类型而言,漏洞维度数据可以分为获取控制、获取数据、拒绝服务类型的数据。其中,获取控制类型的数据是指可用于执行攻击者制定的指令或命令的漏洞数据;获取数据类型的数据是指可导致劫持程序访问预期外的资源并泄露给攻击者的漏洞数据;拒绝服务类型的数据是指可以导致目标系统、任务等暂时或永远性失去响应正常服务能力的漏洞数据。从技术类型而言,漏洞维度数据可以分为内存破坏类漏洞数据、逻辑错误类漏洞数据、输入验证类漏洞数据、设计错误类漏洞数据、配置错误类漏洞数据等。

3.2.3 威胁维度数据

威胁维度数据主要是指攻击者在对网络空间的软件和硬件等资产进行攻击时遗留或暴露出来的相关数据。对于防御者而言,最关注的是攻击者可能针对目标网络系统发起的攻击行为。由于很多网络攻击并非单独行为,比如APT(Advanced Persisted Threat,高级持久性威胁)攻击等往往通过多步攻击行为执行,其威胁维度数据是指在这些攻击行为过程中留下的痕迹,以及被防御设备发现的一些行为数据。威胁维度数据一般与攻击行为相关,因此需要设定与攻击行为相关的安全特征,并对具有该类安全特征的数据进行靶向采集,而不是采集和分析所有的数据,以便解决数据过载的问题。

威胁维度数据一般分为终端数据和流量数据。对于终端数据,防御者需要关注要保护的系统终端的各类数据,从而能从终端数据中发现并采集异常数据;对于流量数据,由于攻击者可能利用远程漏洞数据进行攻击,防御者需要关注网络流量的数据,通过网络流量数据采集威胁维度数据,以便进行态势提取。

3.2.3.1 终端数据

终端数据一般是指由防御者保护的单个计算机、服务器等终端设备的有关数据,按照数据种类可以分为终端资产数据、终端日志数据、终端告警数据。

(1)终端资产数据:与前面讲到的资产维度数据类似,更关注位于具体终端上的资产数据,如设备CPU、内存、硬盘、端口、文件系统、网络等终端设备上与资产相关的数据,用于评估终端的安全状态,当终端资产数据发生异常时,便可以采集相关的威胁维度数据。

(2)终端日志数据:计算机系统运行过程、用户执行各类操作等的过程性事件记录数据,主要用于了解具体哪个用户、在什么时间、对哪台设备、哪个软件、做了具体什么操作。终端日志数据包括但不限于:

①操作系统日志:包括在操作系统中执行各类操作时所产生的过程性记录;

②浏览器日志:包括在浏览器上执行各类操作时所产生的过程性记录;

③文件日志:包括在不同文件上执行各类操作时所产生的过程性记录;

④应用程序日志:包括在各类应用程序上执行各类操作时所产生的过程性记录;

⑤网络日志:包括对网络状态、信息产生变化的过程性记录;

⑥数据库日志:包括对各类数据库执行各种操作时所产生的过程性记录。

(3)终端告警数据:一般通过在终端部署终端检测与响应系统(Endpoint Detection & Response,EDR),可主动监控终端,及时发现与记录终端的各种安全事件检测告警数据,便于网络安全分析师进一步深入分析终端资产的安全。终端告警数据包括但不限于:

①异常登录告警:包括检测出的用于异常登录的告警信息;

②远程控制告警:包括检测出的针对终端远程控制的告警信息;

③木马控制告警:包括检测出的针对终端木马控制的告警信息;

④后门控制告警:包括检测出的针对终端后门控制的告警信息;

⑤本地提权告警:包括检测出的在终端本地进行提权(提高权限)的告警信息;

⑥webshell检测告警:包括检测出的sebshell告警信息;

⑦文件完整性检测告警:包括检测出的文件被篡改等告警信息;

⑧暴力破解告警:包括检测出的在终端进行暴力破解的告警信息。

3.2.3.2 流量数据

流量数据是指对网络协议实时解码、提取元数据、对网络中的流量进行采集等操作时所形成的数据。一般而言,流量数据包括完整内容数据、提取内容数据、会话数据、统计数据、告警数据等。

(1)完整内容数据:包捕获数据,即在网络中传输过的没有被过滤、没有被筛选过的原始数据,具有完整的内容描述。包捕获数据提供了两个端点之间传输的完全数据包信息,捕获这些信息对分析安全事件具有重要的意义。

(2)提取内容数据:包字符串数据,即从包捕获数据导出来的数据。由于包捕获数据体量大,分析师很难对所有的包捕获数据进行分析,而且包捕获数据往往只能保存数天至几个星期,因此从包捕获数据中提取出有用信息,对分析师非常有帮助。

(3)会话数据:流数据,即两个网络设备之间通信行为的汇总,通常为五元组,包含源IP地址、源端口、目的IP地址、目的端口、传输协议等五组信息。

(4)统计数据:对网络流量数据进行组织、分析等形成的统计性数据,可以描述来源于各类活动的各个方面的流量。

(5)告警数据:当各类型检测系统检测出某些量超过了所规定的界限,或者数据出现异常情况时,系统自动产生的告警信息,有助于分析师更好地分析网络安全状态,但是告警信息存在大量误报、错报的情况,使得告警信息在目前有时难以被有效、高效地利用。

在采集威胁维度数据时不能对所有的终端数据、网络数据进行采集和分析。虽然现在已经有各种工具能够支持对终端数据和网络数据的采集,但是数据体量大、数据更新速度快。如果采集所有的数据进行分析,将导致分析效率低下,而且分析师也不可能查看所有的数据去分析网络空间中可能面临的攻击行为。因此,为了解决数据采集过程中的数据过载问题,需要对不同类型的威胁行为设计相关的规则和特征,从而能对已知的各种威胁行为进行靶向采集;而对于未知的攻击行为,将通过采集终端的异常数据进行分析,并通过本书介绍的溯源等技术对攻击行为进行复现,在安全特征中加入新攻击行为的特征。