面向SOAR的云边端安全消息总线

2022-02-21 01:38崔书方付德志郭著松
通信电源技术 2022年22期
关键词:安全事件总线消息

崔书方,付德志,徐 佳,郭著松

(武汉问道信息技术有限公司,湖北 武汉 430040)

0 引 言

近年来,网络安全越来越重要,企业网络安全运营面临着巨大的压力,一方面存在安全人员不足的问题,另一方面对安全运营的专业能力要求越来越高,亟需自动化系统来提升安全运营能力。

安全编排自动化与响应(Security Orchestration and Automation Response,SOAR)技术可以通过对安全事件进行智能分析、自动编排、有效联动整合安全工具的方式,实现快速预警和自动化响应,可以降低修复平均时间(Mean Time To Repair,MTTR),提高安全运营生产力,指导企业建设安全防护体系[1]。

当前SOAR技术的研究侧重于安全攻击的封锁阻断、预警响应与处置过程管控等,对管控接口和消息传输总线研究尚少[2-4]。OHMORI M提出依据专用运维事件库对接收的运维事件进行分类与存储,然后由SOAR引擎实现事件研判与自动化响应[5]。NETZER G 提出入侵和攻击模拟(Breach and Attack Simulation,BAS)与安全信息与事件管理(Security Information Event Management,SIEM)、SOAR的集成,安全运营中心(Security Operations Center,SOC)团队能够不断评估其安全控制的有效性,并通过实时、准确的指标来改善企业的安全状况[6]。欧阳达诚提出通过SOAR、威胁情报、机器学习等技术实现安全事件的自动闭环与持续威胁对抗,实现安全运营中心自动响应闭环、持续安全运营的目标[7]。王妍等人提出通过SOAR构建多源数据融合管理能力和生态内产品间协同能力,解决长期以来运维所面临的数据碎片化、事件处置效率低下等问题,实现网络内安全事件的综合分析和快速高效的自动化响应、处置,提升国产产品生态的网络安全运维能力[8]。许暖等人提出结合SOAR技术与分级分类管理的思想,共同打造自动化、智能化的网络安全应急响应能力[9]。

随着数字化转型的加速,云计算、边缘计算和工控智能终端得到广泛应用,工业互联网安全架构的改变和新技术的应用不断引入新的安全风险,工业控制系统(Industrial Control Systems,ICS)面临着更加严峻的安全威胁。SOAR技术在工业领域面向异构企业、异构安全设备,通过构建统一化、标准化的安全接口体系,打破各个安全企业、安全设备的孤岛形态,建立可信任的安全联动体系[10,11]。SOAR作为一个全新的安全运营工具部署到网络安全体系时,需要兼容系统中已经部署的海量安全设备、网络设备、终端检测响应(Endpoint Dextection and Response,EDR)系统,同时与客户的业务系统对接,实现对客户业务的管控响应闭环[12]。赵粤征等人提出构建围绕SOAR为主体的安全运营生态体系,使用OpenC2作为设备管控接口标准来提供一套标准化安全控制的通信指令,以便和周边安全设备建立合作生态体系[13]。采用OpenC2接口规范实现面向各类安全设备在管控层面上的互联互通,但海量改造已经部署在边缘计算和工厂控制现场安全设备的标准接口不太现实,为了实现存量安全设备的管控接口,需要确保SOAR解决方案支持面向不同设备的兼容性接口扩展能力。

对于烟草行业,建设工业控制系统的安全保障体系时,可以将烟草行业工业控制网分为管理协同层、生产执行层和工业控制层,形成云计算、边缘计算以及控制端3层架构[14]。网络安全工作烦琐,不同设备事件告警信息存在差异,响应处置策略格式不尽相同,对跨云、边缘以及智能终端的网络通信消息总线要求较高。面向工业企业复杂网络,建设一套新型防御响应体系和贯穿云-边-端(Cloud-Edge-Device,CED)的安全消息总线,实现网络安全消息传递服务和安全数据平台化管理,以满足高效自适应SOAR安全策略的需求,达到安全事件编排自动化、应急响应自动化的目的。

1 安全消息总线结构

1.1 总体结构设计

建设满足等级保护2.0要求的安全管理中心通常需要通过接入多源日志关联威胁知识库,接入安全分析模型精确识别攻击事件,使用多种预判和研判相结合的方式明确安全事件,进一步实现确定性事件的自动处置和可疑事件的人工运维,从而快速准确地处置安全事件,实现安全运营的闭环管理[15]。使用SOAR技术采集来源不同的日志数据,需要一条满足安全快速响应和协同多种网络资源的消息总线。工业企业中经常涉及到云计算、边缘计算以及现场终端等安全资源,需要建设贯穿云边端的安全消息总线,通过安全消息总线来构建插件化的安全工具集,深度结合安全业务流,通过自动化编排进行安全事件发现、研判、响应及处置等闭环管理。

在工业企业中,往往需要使用CED协同的系统架构,将高计算量的任务放到整个企业的云平台上执行,利用云上丰富的计算、网络和存储资源对边缘控制器进行弹性拓展。高实时性的工控任务在工厂车间的边缘侧本地执行,避免通信过程的高时延问题,提高智能工厂服务响应的快速性和资源利用率。在各生产线上,需要利用终端上位机和硬件设备接口(Hardware Device Interface,HDI)实现现场控制。针对CED应用场景,设计安全消息总线,提供一套标准化安全控制的通信指令,形成标准化接口与协议,方便SOAR安全策略的统一发布和管理,达到对安全风险进行持续不间断的监测、预警、响应及处置。

安全消息总线是各个安全功能模块的数据链路,能够采集来源不同的日志数据。SOAR根据实际情况自定义行动剧本,下发给相应安全功能模块进行执行。安全消息总线可以基于平行关系划分出若干个独立运行的总线,又可以基于主从关系建立由点到面的不同网络区域总线架构,如图1所示。安全消息总线既传递安全日志信息、安全事件告警信息等全部类型安全数据,也传递控制指令和SOAR脚本。

图1 安全消息总线架构

1.2 通信服务协议

在CED场景协同模式下,网络安全管控将涉及到本地设备、边缘设备和云上平台的通信过程。现场设备的安全信息需要定时上报至云端,管理中心和各节点需要保持长连接状态,以减少建立连接过程的资源消耗。受限于现场环境,各个节点所处的网络环境可能相差较大,需要满足弱网络或不稳定网络环境的通信需求。

目前,业界常用的通信协议主要有超文本传输协议(Hyper Text Transfer Protocol,HTTP)、受限应用协议(Constrained Application Protocol,CoAP)、消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)以及可扩展通信和表示协议(Extensible Messaging and Presence Protocol,XMPP)等,各协议的特性如表1所示。

表1 不同通信协议的特性

HTTP不支持订阅控制,在CED1对多或多对多场景下无法直接区分来自不同设备的请求,只能通过服务端后台程序实现,带来额外的传输、计算和维护开销。CoAP协议是基于用户数据报协议(User Datagram Protocol,UDP)设计,在网络地址转换(Network Address Translation,NAT)环境下每次数据传输过程都需要采用额外的穿透手段。XMPP协议传输时,其数据包内容实际上是1个XML文件。MQTT协议层级主题订阅方式与CED架构中的通信特性契合,安全消息总线选用MQTT作为通信协议。在安全消息总线中,MQTT以主-从模式运行,主栈是1个代理服务器Broker,从栈是各个安全设备节点Client,各个点Client仅与管理服务器Broker进行通信。MQTT协议在消息推送场景被广泛应用,但在许多即时消息场景下需要大量复杂的拓展和开发[16]。

2 安全消息总线功能方案

安全消息总线通过管理服务器Broker和节点Client将整个安全管理中心和CED节点连接起来,负责对所有节点的接入进行生命周期管理,对SIEM的安全数据进行汇集上报传输和对SOAR下发的脚本指令进行实时性优先通信下达。

2.1 CED节点安全接入机制

为防止恶意冒充CED节点Client接入安全消息总线对SOAR信息安全和功能造成威胁,设计了一种具有设备级身份认证的安全接入机制。CED节点Client接入安全消息总线时的流程如图2所示。

图2 节点Client接入流程

第1步,在安全管理中心为即将接入的云边端节点设备进行注册,为云边端设备生成1个唯一标识符Client Key;第2步,将Client Key复制到CED节点设备,修改节点Client配置文件;第3步,各节点Client启动连接,尝试登陆管理Broker时会发送1条确认消息,其中包括自身的硬件信息,管理Broker收到该确认消息后便认为边缘节点接入成功。

CED通信过程中,管理Broker将定时校验各节点Client的节点名称、Client Key以及硬件地址的绑定关系。一旦其中某一项与数据库中的记录不符,则认为有恶意节点利用此节点的用户名和密码登录Broker,管理Broker随即主动断开此节点Client的连接。

2.2 CED节点在线状态管理

在CED协同场景下,各个节点计算资源、网络环境相差可能较大,部分边缘和终端节点会存在于弱网络或不稳定网络环境中,其安全通信任务会在MQTT客户端Client的缓存中不断累积,极端情况下可能会导致任务丢失。为此,在节点Client之间需设置心跳管理。各个节点接入管理节点后,周期性发送心跳信息,管理节点根据一定时间内各个节点的心跳情况判断其连接状态,记录节点存活时间,对节点上下线状态进行管理。若节点出现意外断开,如断电、断网等情况,通过MQTT协议的遗嘱模式,由管理中心与云边端节点Client2侧约定遗嘱内容,及时获取节点意外下线信息并发出警报。

2.3 CED离线安全数据暂存

在工业企业,边缘和终端节点设备部署环境相对复杂,会出现与云端网络失去连接的可能。针对临时断网的情况,需要设计数据传输暂存策略,以便后续将数据补传至云端。上报数据缓存过程如图3所示。

图3 上报数据缓存过程

上报进程启动后,检查网络是否可用。如果不可用,等待6 s后继续检查网络是否可用。一旦网络可用,就从数据库中提取数据进行上报。为了节省边缘和终端节点的资源,将待上报数据暂存在轻量级的SQLite数据库中。上报进程在收到管理节点发来的确认应答后,将该条数据从缓存中删除。如果连续等待3次未收到管理节点的确认消息,则认为本次上报失败,数据继续暂存。

2.4 实时性优先SOAR协同方案

SOAR执行playbook剧本时,多个步骤间的任务往往需要协同执行,要对全局安全通信任务进行调度。制造企业CED节点和管理节点往往距离较远,通信调度存在时延大、时间代价大等问题。基于此,设计1种CED半协同决策算法,合理分配云边端侧各节点的运算、存储及通信资源,对全局所有的执行任务进行安全调度,以降低各项安全任务的平均执行时长。

云边端侧节点对安全任务逐一评估任务执行时长,根据管理节点评估的执行时间,选取更优的协同策略。首先对待分配安全任务队列中的各项安全任务预估执行时间;其次对任务在本地执行和退回执行时所需要的预估执行时间进行比较,以便确定对应安全任务的退回策略;最后,若不退回则置0,若退回则置1,从而得到安全任务局部退回策略。

管理节点在SOAR执行playbook剧本时需要对安全任务逐一评估任务执行时长,选取更优的协同策略,生成各节点待分配任务队列。

3 应用效果

面向SOAR的云边端安全消息总线采取MQTT协议,通过Apache ActiveMQ Artemis搭建MQTT服务器,使用Python的Paho-MQTT库开发客户端。云边端安全消息总线部署如图4所示。

图4 云边端安全消息总线部署

为了测试云边端安全消息总线架构下从管理节点发起和从云边端节点发起的安全事件与响应时间是否能满足SOAR的实时性要求,设计如下测试方案。首先,云边端节点与管理节点服务器按照长连接方式保持协同;其次,从管理节点根据安全事件发送SOAR响应剧本,记录发出的时间T1和云边端节点收到的时间T2;再次,执行SOAR响应剧本,记录剧本任务执行的时间T3;最后,每隔0.1~10 s的随机时长重新执行以上步骤,模拟1天内SOAR响应执行情况。

以SOAR响应时间的平均值作为MQTT消息总线的评价指标。经过统计,在24 h内共下发了2 317个脚本,总用时1 728 s,脚本平均传输响应时间为0.745 s,满足云边端安全消息总线在1 s内完成SOAR脚本传输的设计要求。

4 结 论

安全管理中心可以借助人工智能、多源数据的融合技术提升安全感知,智能化辅助决策,利用SOAR进行安全协同响应处置。面向工业企业的复杂网络,在分析云、边缘计算与终端设备协同控制传输特性的基础上设计了一种贯穿云边端的安全消息总线,能够实现网络安全消息传递服务。经过实际测试,安全消息总线可以满足云边端SOAR实时性优先传输的设计要求,可以达到安全事件编排自动化、应急响应自动化的目的。

猜你喜欢
安全事件总线消息
淮安市加强安全事件管理提升风险管控能力
2020年度区块链领域安全事件达555起
一张图看5G消息
一种基于CAN总线的误码测试方法
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
消息
消息
消息
宝马F02车总线系统