陈益芳,宣羿,樊立波,孙智卿,屠永伟,张亦涵,蔡乾晨
(1.国网浙江省电力有限公司杭州供电公司,浙江 杭州 310016) (2.国网浙江省电力有限公司,浙江 杭州 310063) (3.深信服科技股份有限公司,广东 深圳 518000)
电力企业网络安全关系国家安全、经济命脉,网络安全事件给国计民生带来重大损失。而当今世界正处于信息时代,信息技术飞速发展,给社会、政治、经济、文化带来重大影响。生产生活信息化和经济全球化相互促进,互联网已经融入社会生活的方方面面, 深刻地改变了人们的生产和生活方式[1-5]。2015年12月,乌克兰电网遭到黑客的网络攻击,造成乌克兰境内多个区域停电数小时。2019年3月,委内瑞拉发生大规模停电,严重影响到了委内瑞拉整个国家的生产、交通、通讯系统。2019年7月,伊朗信息战队入侵美国纽约市电网控制中心,造成纽约市大规模停电数小时,引发了极大地混乱[6-10]。随着网络信息技术的发展和信息化与工业化的融合,网络安全的重要性愈发凸显。
基于某供电公司现有的网络安全系统以及安全日志数据,为提升公司整体安全能力建设,围绕“打造行业级网络安全平台和基础设施、提升网络安全技术防护能力、强化数据安全保障”三项重点目标,构建网络安全数据大平台,具备可视化、可预警、可建模、可扩展的能力,极大提升电力公司内部特定场景的安全检测威胁发现能力。提高电网系统安全管理水平,降低电网系统所面临的安全风险威胁,保证电网系统安全、稳定地运行。
本文研究网络安全大数据运营技术,运用大数据建立AI检测模型,通过持续安全运营迭代检测模型算法,构建自进化AI威胁检测引擎;推进自进化AI态势感知平台的试点部署及功能升级。研发属于电力行业的网络安全场景模型,搭建网络安全仿真验证环境基础结构,针对电力内网环境的因子变化,以及日志分析做到安全问题定位与分析[11-12]。全面采集杭州电网安全风险和接收来自各设备的安全信息,实现全网安全风险分析和整体安全运营。安全大数据平台打通安全运营人员和流程,并通过大数据、威胁情报、运营流程的交互界面,提升本地已部署的各类安全组件的联动能力,实现对各类安全威胁深度检测,安全风险全面分析。
网络安全大数据平台构建包括平台以及各类流程、日志采集探针,通过深度挖掘数据中存在的关联价值与AI建模,其中计划构建的模型如图1所示:
图1 网络安全大数据平台模型Fig.1 Cyber security big data platform model
根据业务系统账号的安全访问需求,建立一套账号越权访问管理的规范和预警规则。通过对汇集的自助设备日志、柜台终端日志、业务系统日志、流量数据等进行深度分析,以业务系统接入活动轨迹为主线,对业务系统连接访问情况、终端访问情况、客户端活跃程度等多位信息进行深度挖掘和分析判别,并结合用户实体行为分析(user and entity behavior analytics, UEBA)[13-16]技术进行持续的特征向量计算。对账号的关系进行分析如常用的登录设备、常用的登录IP、常用的登录地点,保障账号安全维护账号管控体系的安全,为账号越权行为涉及的需审查终端进行分析判别时提供依据。
2.1.1 模型构建思路
基于业务系统日志、流量访问日志[17-21]进行分析,可通过对业务系统的连接访问情况、对终端查询源、账号发起人、获取访问频次进行综合分析判别,建立账号越权访问的分析模型。具体可从以下维度进行分析:
(1)重点检测目标端口为22或3389的流量日志,防范异常的远程主机登录行为。
(2)对于账户信息、网络信息等信息搜集行为和其他凭证获取行为,结合终端日志进行检测与告警。
(3)分析关键账号或IP的登录次数、操作次数、访问次数,进行登录趋势的记录,当登录基线异常进行告警。
(4)分析关键账号的操作关系行为、登录关系行为,根据历史数据分析账号常用的关系,比如登录IP或地点,常用操作、常用登录时间段。当业务系统出现新的登录IP、多主机登陆同一账号、同一主机登陆多个账号、新的登录地点或旧IP下出现新的高权限账号,访问新的敏感数据、出现新的数据操作等行为判断为账号越权访问。
2.1.2 算法分析
账号越权模型中采用的UEBA技术通过建立用户风险评分模型,体现用户风险程度。通过公式从失陷账户、内部合规、数据泄露等多个维度计算风险分值,异常行为越多则风险分值越高。进行用户行为建模、行为关联分析、行为异常分析实现更加精确的电网系统安全威胁检测。
采用异常点监测算法[22-24]通过构建账号与IP的对应关系进行异常点建模如:N1、N2区域代表正常点的数据集合,区域中的点代表了时间T之内与账号Z之间的对应关系。而O1作为一个数据对象在建模的坐标系统明显远离其他的正常的N1、N2区域,因此标记为异常点(outlier)。如下图2所示,假定N1、N2为两个正常数据点集合。而距离集合N1、N2较远的O1、O2、O3集合则标记为异常点集合。
图2 异常点建模Fig.2 Anomaly modeling
移动平均(moving average)[25-28]常被用于时间序列分析,其本质上是低频滤波器,可以过滤时间序列中的高频扰动和检测序列数据中的异常点。本文通过利用移动平均原理计算某时间段内的用户行为风险分值的移动均值,并与该时刻T的风险分值进行对比,若两者相差超过一定阈值则可检测出该时刻T的用户行为异常。
针对本次账号越权的行为,经过多次实验从支持向量机、朴素贝叶斯、逻辑回归算法中选择最优的算法进行建模,实验结果是使用支持向量机的模型检测准确率最高。支持向量机(support vector machines, SVM)[29]有如下优点:
(1)适合解决小样本的机器学习问题;
(2)SVM 模型可以有效地避免维数灾难;
(3)没有局部极小值问题;
(4)能够有效处理高维数据,具有较强的泛化能力。
鉴于上述分析,本节提出以SVM模型为核心的账号越权模型。因此针对如何选择有代表性,更好的特征提高SVM分类准确率的问题, 利用RFE算法[30]先选出部分优秀的特征子集作为遗传算法解空间的先验知识,帮助遗传算法更合理的初始化种群,引导算法进化,更快地选出优秀的特征子集。通过改进后的特征选择算法选出更好的特征子集来表达样本,从而提高SVM分类的准确率。
SVM算法是一种二分类模型。其算法思想是将特征空间正确划分为两部分,并最大化被划分的两部分之间的间隔,SVM学习算法就是对特征空间超平面分类的凸二次规划求解。建设一个基于所有基本账号的特征权限,一旦有发生特征偏离的情况即会进行偏离的业务判定。
图3 异常点排列图Fig.3 Anomaly alignment chart
采用两类平面的构造式为:
(1)
同时为了解决离散点数据优化问题,进来,引入拉格朗日公式:
(2)
当满足w,b的偏导为0的时候,即可得到算法的最优解。
aj≥0j=1,2,…,l
(3)
因此得到最优分类超平面:
f(x)=sgn{(w*·x)+b*}=
(4)
根据上述离散点SVM向量的优化特征不难得出整个基于最优化的平面线,并可对出现的账号业务偏差做相关的判定。可以针对同一账号在不同时间点的登陆判定,事件只要有偏离f(x)的关联性后就会产生相关告警。
通过对设备以主机名、MAC地址、IP进行唯一标识结合流量识别建立设备资产指纹库。对设备行为进行基线建立,如流量的基线、操作的基线、访问频次的基线,实现对设备活动异常行为的检测和预警。当仿冒设备的攻击者进行横向移动,获取信息或发起暴力破解、漏洞等攻击手法展开恶意活动时,及时发现攻击者的恶意程序、后门的活动轨迹。
2.2.1 设备仿冒模型构建思路
(1)通过流量资产识别,识别新增的设备,如果识别到新违规设备则告警(搜集常见厂商摄像头打印机的MAC地址。
(2)检测同IP下的MAC地址变动活动,通过维护IP、MAC关系表,识别设备替换行为并调用资产识别系统对该设备进行指纹扫描和上报处理。
(3)通过流量监测新增设备的活动轨迹(包括活动时间和流量路径等),根据常用业务场景或者结合UEBA技术建立白名单范围并设置相应告警规则,防止潜在的内网渗透攻击。
(4)监测摄像头、打印机等设备的访问源和访问目的的流量,针对内网资产建立白名单,对名单范围之外的可疑流量进行告警。
(5)结合威胁情报对设备访问流量进行审计,对出现过的风险IP进行告警。
2.2.2 设备仿冒模型算法分析
设备仿冒模型的构建亦可以根据UEBA的聚类场景进行分析。如可以采用异常角度点进行检测。
图4 基于角度异常点的时间检测Fig.4 Time detection based on angular anomalies
(5)
假设D是点集,则对于任意不同的点Y,Z∈D,点X的所有角度的方差为:
(6)
理论上异常点所求出的所有角度的方差较小,通过这个算法可以求出序列中的异常点,而该算法的时间复杂度是O(N3),非常适合数据量比较小的训练样本进行使用。
通过收集常用业务系统清单,根据常用业务系统关键属性建立业务系统白名单;结合对主机的访问日志、终端管理设备日志、传输文件样本分析等数据构建自建小系统分析模型,追踪自建小系统上的操作执行情况,并通过网络流量数据分析网络中敏感数据的访问和外发情况从而进一步追溯对自建小系统的异常访问行为。
2.3.1 自建小系统检测模型构建思路
(1)利用实时流式分析框架,构建时间窗口内的群体用户访问行为的特征向量,分析群体用户外的个体用户对业务系统的访问行为特征向量,寻找差异。
(2)对网络流量中识别的网站用户访问行为进行日志字段特征构建,特征采集http flow和ftp flow匹配开放的端口,形成自建小系统URL模型。
(3)排除远程登陆RPC的访问,以及排除掉71000端口,13389端口,还有登记备案的URL以及域名。
基于自建系统的模型主要是实现数据的去噪与去重,对匹配上的数据进行集中统计,降低监测的误报。针对该场景,利用UEBA内置模型,通过对筛选服务器的地址、端口、时间段、地点的异常监控,判断是否存在访问异常,发现非常用地址和非常用时间通过高风险协议如rdp/ftp/smtp/telnet等协议访问业务服务器(黑客非法远程控制或自建业务系统)。
“网络安全大数据平台”整体架构如上图所示,从数据源层采集数据,通过对数据进行解析和关联分析形成主题数据。安全大网络安全大数据平台提供检索引擎分析主题数据,支持利用数据开发工厂自定义数据解析和关联分析规则。其中大数据平台提供数据的存储、处理和分析的基础能力。本次平台设计分成三个架构层:数据源层、平台层、应用层。
图5 网络安全大数据平台架构Fig.5 Cybersecurity big data platform architecture
安全大网络安全大数据平台支持接入流量探针采集的数据,基础设施的日志数据和安全设备的日志数据。流量探针可以采集提取流量中的HTTP、UDP、TCP、DNS、POP3、FTP、HTTP文件传输、SSL、SSH、MySQL、Oracle等协议会话的关键数据以及PCAP包。基础设施可以采集电网服务器、电网终端、电网网络设备、电网应用系统和电网业务日志数据,应用系统日志主要包括用户管理、认证系统、业务系统的操作日志、用户信息、访问信息等数据。网络安全设备主要包括东软防火墙、东软WAF、路由器、交换机、APT检测、IPS等网内关键网络安全设备。
网络安全大数据平台由电网数据采集子系统、电网行为逻辑关联分析子系统、机器学习子系统、大数据存储和计算平台软件层、主题数据层、可视化开发子系统组成。
电网数据采集子系统包括数据提取、数据解析和数据映射三个主要功能。数据提取支持从多种异构数据源(FTP服务器、本地目录文件、syslog、外发数据等)采集数据到大数据体系中。
电网行为逻辑关联分析子系统的核心是提供针对流式数据的复杂事件处理能力,同时支持多类型源数据融合处理分析。关联规则分析[31]引擎预置多种安全事件定义模板和安全事件分析模型,同时支持可视化拖拽和参数配置的方式对数据进行关联分析,进而提高实施和二次开发的效率。
机器学习子系统利用机器学习的方法构建安全分析模型,并支持自定义机器学习模型,通过输入任意指标类数据进行模型训练,发现异常行为并生成安全事件与告警,降低建模的难度,提高效率。
主题数据是通过对数据进行解析和泛化、多维关联分析,数据建模分析后最终形成的主题数据库,如流量元数据、日志数据、安全告警数据、安全事件数据、PCAP包和其他资产数据库等。
可视化安全开发子系统[32-34]基于批流一体的数据融合分析引擎向上提供包括数据开发工厂(批流画布)和搜索工具。批流画布提供可视化开发方式对流数据流进行实时处理和分析,支持结合流数据和外部数据库进行联合分析。搜索工具提供类SQL的分析语法,同时批流一体数据融合分析引擎提供开放接口支持上层应用利用其数据融合分析能力构建安全应用。
安全大网络安全大数据平台提供基础的数据存储和计算资源,主要包括HDFS、ES、SPARK和FLINK。HDFS能够灵活存储大小不一的数据文件,用来储存例如电网网络设备的日志文档、监控图片。ES可以用来存储电网信息系统的操作日志、告警信息、安全事件等,并支持快速检索和分析功能。基于HDFS分布式文件系统和SPARK内存计算引擎可以提供分布式离线分析能力。FLINK提供流式数据分析、统计和处理能力,向上支持批流一体的数据融合分析引擎。同时大数据基础平台通过安全多租户子系统提供统一、可视化的多租户资源管理服务。
应用层主要包括安全事件中心。安全事件中心主要提供安全事件的展示,查询和溯源分析的功能。同时安全中台提供标准的开放接口支持第三方构建网络安全应用、信息安全应用和业务安全应用。开放接口主要包括大数据平台存储和计算引擎的访问接口,SPL(搜索处理语言)和批流一体的数据融合分析引擎接口。
本次网络安全大数据平台共采用4台一体机来构建大数据平台底座以及高性能的future X引擎,同时部署两套台流量探针(东湖供电所+杭州局),针对管理平台的纵向流量进行抓取。
图6 网络安全大数据平台建设架构Fig.6 Cybersecurity big data platform construction architecture
网络安全大网络安全大数据平台部署在杭州局,用于归集各探针的分析结果,网络安全大数据平台将从总部现有的各类已建其他安全系统(如IPS、WAF、日志审计、防火墙等)获取数据,对各类重要信息系统的安全情况进行网络安全监控、风险预警、事件通报。同时,网络安全大数据平台根据业务需要,实现关键业务模型的建设与业务风险的匹配。整个集群部署配置如下。
按探针采集0.98Gbps×2和日志审计,IPS、WAF等syslog计算,平台的规模与数据存量增量以及使用情况直接相关,根据统计,平均每秒产生3750条日志,每日产生3.24亿条日志。每日所需存储298GB,预留CPU比率30%。
整体方案设计需要约100颗物理核,1024 GB内存。
需配置服务器4台,单台硬件配置为:存储(SATA/SAS)8盘位×4 TB,CPU(>2.4GHz)20物理核,内存256 GB,系统存储(SSD)2 盘位×480GB,千兆网口>=2个,万兆网口>=2个,其中:
分布式数据湖:存储每天新增的元数据,根据数据的使用需求与方式,平台依赖于不同的大数据组件对数据进行存储,数据湖等存储包括分布式文件系统HDFS、HIVE等。
从存储角度出发:数据湖每节点存储空间按照2×480GSSD系统盘,8×4TBSATA/SAS数据盘共8盘位设计。单节点数据磁盘空间32TB,考虑到多副本(按照两副本加压缩后数据冗余度大约1.5计算)及大数据组件自身占用(按照不高于10%计算),单节点有效存储不低于32TB×(1-0.1)/1.5=19.2TB空间。结构化数据存储周期是180天,故需要298×180/19.2×1024=3节点。
MPPDB分布式数据库:存储关键安全数据和配置数据,存储周期三年,由于数据规模较小,建议使用3节点作为集群。
NOSQL存储:主要存储情报数据,配合实时流处理进行打标签,数据规模不大,建议使用3节点作为存储。
图数据库:主要是用来存储画像数据,包括黑客画像、攻击画像等数据,数据规模不大,建议使用3节点作为存储。
非结构化存储:目前并未有内容解析的非结构化数据需要存储,暂不考虑。
乌克兰电网遭受网络攻击事件以及美国纽约遭伊朗信息战队攻击事件等专门针对电网以及工控网络系统的安全事件层出不穷,意味着工控网络系统的网络安全形势越发严峻,电网网络系统安全事关国家安全、经济命脉,一旦遭受攻击,将会是一场不可估量的灾难。
本文网络安全大数据平台建设规划旨在利用云计算、大数据、AI建模、态势感知等技术,建设集中统一的安全数据分析平台,实现电网系统的实时监测、威胁告警、入侵溯源、安全审计、闭环管控等能力,全面监控电网系统各类设备的运行情况以及安全情况。通过大数据平台建设,打破传统电网数据孤岛,推进“智慧电网”建设,加快杭州电网朝“三融三化”和“三条主线”数字化目标转型,本平台建设还对杭州电网网络安全能力发展具有以下创新意义。
(1)聚焦挖掘沉睡数据,提升沉睡数据价值。运用大数据建立AI检测模型,通过持续安全运营迭代检测模型算法,构建自进化AI威胁检测引擎。
(2)研究电网业务模型,打造业务安全运行基准。以大数据、云计算技术为依托,结合终端安全日志和网络UEBA行为分析技术,研发属于电力行业网络安全场景模型,搭建网络安全仿真验证环境基础结构,针对内网环境的因子变化,以及日志分析做到安全问题定位与分析。建立监控内部违规行为(如试图使用他人账号登录、越权访问、异常行为等)和存在外部安全风险(如自建小系统、设备仿冒等)的智能化风险控制安全体系,防范违规行为、预警违规风险。
(3)联防联控,打造电网内部一体化安全中台。采取“平台统一、小步快跑、持续迭代”的演进策略,建立安全模型可视化展示,实时推送高风险用户告警信息、定期形成分析报告,打造电网行业级网络安全展示中心。