周 游,赵悠麒
(中国铁路上海局集团有限公司 信息技术所,上海 200071)
传统基于边界的IT安全模型中,主要在网络边界上建立可靠的安全防御措施,通过部署防火墙(FW,Firewall)、入侵检测系统(IDS,Intrusion Detection System) 、入侵预防系统(IPS,Intrusion Prevention System)、 Web应用防火墙(WAF,Web Application Firewall)等网络安全设备,防止来自外界的入侵。从企业数字化转型和IT环境的演变过程来看,云计算、移动互联的快速发展,导致企业网络的传统内外网边界模糊,基于边界的网络安全防护模式越来越难以应对企业网络如今正在面临的各种复杂多变的攻击手段。
零信任理念打破了物理边界的局限性,人和设备不再以简单的物理边界来定义,不严格区分内网外网,无论人在哪、设备在哪、访问什么应用,提倡以人、身份为中心,去构建一个移动的动态防御边界。其核心思想是“从不信任、始终验证”,拒绝传统安全架构上默认的“信任”[1],不信任任何网络、人和设备,在访问连接之前须建立动态的访问权限,并对访问权限实行精细管理,进行细粒度的权限切分,即使一个用户被攻陷,也不会因为他的访问权限过大,致使整个内网资源都暴露出去,这种安全技术架构尤其适用于云计算和移动互联网时代企业网络安全防护体系的建设要求。
零信任不是一种技术,而是一种安全框架和理念,它意味着企业可以将其构建到现有的体系结构中,而无需拆除现有的基础设施。基于零信任理念建设企业网络安全防护体系,可以改善既有的传统边界型IP网络架构,将IP网络架构与ID身份验证相结合,有效提高企业网络安全防护能力。目前,企业实施零信任安全理念主要采用3种技术方案:软件定义边界(SDP,Software Defined Perimeter)、身份权限管理(IAM,Identity and Access Management)和微隔离(MSG,Micro Segmentation)。
“十三五”期间,铁路信息化取得一系列新突破,数字红利充分释放,铁路“互联网+”及铁路电子商务应用实现快速发展,客户服务能力大幅提升[2]。在铁路企业信息系统日益开放、拓展互联的过程中,供应链攻击也成为铁路企业网络安全当前面临的主要挑战之一。
本文基于零信任理念,结合铁路企业网络攻防演练实践,探讨将SDP网络安全模型应用于防范供应链攻击的具体技术方案,以构建更加安全的铁路企业网络安全防护体系。
供应链攻击,顾名思义就是指针对供应链发动的网络攻击,也称为第三方或价值链攻击。攻击者将供应链作为攻击对象,先攻击供应链中安全防护相对薄弱的企业,再利用供应链之间的相互连接,如软件供应、开源应用等,将风险扩大至上下游企业,通过供应链将网络攻击延伸至相关的合作伙伴和下游企业客户,产生攻击涟漪效应和巨大的破坏性。供应链攻击往往牵涉到更多的企业,且更具破坏性,甚至会给整个行业带来巨大的影响[3]。
对于企业网络,当攻击者使用外部合作伙伴(如供应商、客户)拥有或使用的连接应用程序或服务破坏企业网络时,就会发生供应链攻击。对于攻击者来说,供应链攻击的吸引力在于信任。攻击者可以从连接的供应链应用程序横向移动到更大的企业网络,以窃取、加密或破坏关键数据,给企业造成巨额维修成本和声誉损失。近年来,供应链攻击事件呈现暴发增长的态势,欧洲网络和信息安全局发布的《供应链攻击的威胁分析》报告指出,和2020年相比,2021年供应链攻击已经显著提升,犯罪分子和国家资助的黑客一直在寻找易受攻击的目标,导致针对供应链网络的攻击一直在持续增加。
铁路在我国综合交通体系中处于骨干地位,是国民经济发展的大动脉,也是大众化的交通工具,对经济社会发展产生重大作用和深远影响。目前,铁路客户服务中心已成为铁路与客户互动交互的重要窗口,互联网售票成为客票销售主要渠道,铁路95306网站的网上货运受理量超过99%;铁路物资采购与招商线上应用快速延伸,铁路电子支付平台提供了网银、第三方等多种支付手段,为旅客货主提供便捷支付手段;车站旅客服务系统广泛应用,车站秩序得到有效改善。铁路企业线上信息服务与线下业务管理紧密结合,实现了货物全程信息追踪、旅客列车正晚点查询,在很大程度上方便了旅客货主,客户服务体验得到显著改善[2]。然而,铁路企业信息系统所面临的供应链攻击风险日益严峻。
在铁路企业网络攻防演练实战中,攻击方往往把供应链攻击作为主要的攻击策略,通过收集和摸清防守方使用的供应链产品,在相关的供应链产品或者供应链企业上寻找漏洞,找到新的攻击路径或切入点。
目前,与供应链相关的铁路信息系统不仅缺乏精细化的安全防护,且大多采用基于开源的代码框架开发,系统开发商所使用的开源组件、中间件、版本以及源代码的安全性难以保障,而且这些系统由于使用年限较长,普遍存在难以修复的体系结构漏洞。
供应链攻击的手段包括:利用第三方应用程序、利用开放源代码库中包含的漏洞等等。
在传统网络安全的架构中,对于恶意攻击防范需要在网络内部部署入侵防御系统,对外部、内部发起的网络攻击行为进行检测。在核心办公网络区域,需要部署安全态势感知平台,对新型网络攻击行为进行检测和分析;并有效联动入侵防御系统的防恶意代码检测模块,将关键网络节点处的恶意代码进行检测和清除。
入侵检测设备会详细记录攻击源IP、攻击类型、攻击目标、攻击时间等内容,并对记录信息进行一定程度的自动分析,为系统强化网络安全防护、改进运维策略提供基础依据[4]。当设备违规连接非授权网络时,终端安全防护系统能够主动报警并进行阻断,避免设备违规连接非授权网络。
传统的网络安全防护通过配套安全设备之间的联动,基于定期更新的安全设备规则库来防范恶意代码的攻击。各类安全设备的告警中,误报比例普遍较高,这无疑加大了系统辨别真实攻击并及时响应的难度。虽然可以通过统一日志管理平台,对关键信息进行快速查询检索,以提高攻击检测效率。但这种主要依赖多种安全设备规则库来判定恶意攻击的方式,一旦安全设备的规则库出现问题,将严重影响安全防护措施的有效性。
SDP也称作零信任网络访问(ZTNA,Zero-Trust Network Access),是由云安全联盟(CSA,Cloud Security Alliance)开发的一种安全框架,根据身份控制对资源的访问。该框架基于美国国防部的“need to know”模型,每一个终端在连接服务器前均须进行验证,确保每台设备都是允许接入的。企业或组织采用SDP架构,可隐藏其核心网络资产与设施,使之不直接暴露在互联网下,确保企业网络资产与设施免受外来安全威胁[5]。
SDP主要功能是:(1)对设备进行身份认证和验证;(2)对用户进行身份验证和授权;(3)确保双向加密通信;(4)动态提供连接;(5)控制用户与服务之间连接,同时隐藏这些连接。
SDP架构中主要包括3个组件:SDP控制器(SDP Controler)、SDP连接发起主机(IH,Initial Host)、SDP连接接受主机(AH,Accept Host),如图1所示。
图1 SDP架构及工作流程
其中,SDP主机可以发起连接也可以接受连接,IH和AH会直接连接到SDP控制器,通过控制器与安全控制信道的交互来管理。这一结构可使控制层能够与数据层相分离,以便实现高可扩展的安全系统。此外,所有组件都可以是冗余的,提高可靠性和方便扩容。
SDP的基本工作流程如下:
(1)在SDP 中添加并激活一个或多个SDP控制器,并连接到身份验证和授权服务,例如AM、PKI 服务、设备验证、地理位置、SAML、OpenID、OAuth、LDAP、Kerberos、多因子身份验证、身份联盟和其它类似的服务;
(2)在 SDP 中添加并激活一个或多个 AH,它们以安全的方式连接控制器,并进行验证;AH 不响应来自任何其它主机的通信,也不会响应任何未许可的请求;
(3)将每个 IH 添加 SDP 中并激活,并与SDP控制器连接并进行身份验证;
(4)IH 被验证之后, SDP 控制器会确定IH可被授权允许连接的AH列表;
(5)SDP 控制器指示AH接受来自IH的通信,并启动加密通信所需的任何可选策略;
(6)SDP 控制器为IH提供AH列表,以及加密通信所需的任何可选策略;
(7)IH向每个授权的AH发起单包授权(SPA,Single Packet Authorization,它可使未授权的用户和设备无法感知或访问);IH 和这些AH创建双向加密连接(例如,双向验证 TLS 或 mTLS);
(8)IH 通过AH并使用双向加密的数据信道与目标系统通信。
CSA制定的SDP标准规范1.0中定义了6种可能用在组织中SDP部署模型:客户端—网关、服务器—服务器、客户端—网关—客户端、客户端—服务器、客户端—服务器—客户端、网关—网关。
铁路企业网络面临供应链攻击,普遍存在“检测监控难、判断处置难”的问题。在规模庞大的铁路企业网络中,攻击者随时可能通过入侵供应链网络中的一台计算机穿透进入内部网络,然后横向移动获得高价值信息资产的访问权限。
为此,通过在铁路网络安全管理中心区域内设置SDP控制器,将关键应用程序与数据中心中的其它应用程序隔离开来,并对各个应用网络区域内的授权用户进行隔离,严格按照SDP控制器的规则赋予访问权限,可对用户访问行为的安全控制细化到单次。未经授权的用户将无法检测到受保护的应用程序,从而限制供应链攻击的横向移动范围。对于获得授权的用户,一旦发现其异常的数据访问行为,也会被动态地临时取消权限,以降低可能由受信用户造成的安全风险。
SDP控制器包括3个主要模块:流量检测模块、规则控制模块、流量时间特性分析模块,通过这3个模块的协同工作,来辅助统一日志管理平台完成对铁路信息系统与外部系统的细粒度动态访问控制,以有效应对供应链攻击,具体的SDP部署模型如图2所示。
图2 铁路企业网络中SDP部署模型示意
其中,流量检测模块完成对供应链相关系统边界流量的检测和溯源;规则控制模块结合IPS、WAF、FW等网络安全设备的访问规则,利用溯源数据、安全系统的审计、日志数据,针对单一业务系统,制定动态访问控制策略规则和微隔离策略;而流量时间特性分析模块则从时间维度上,为流量检测模块和规则控制模块的规则和策略调整提供流量时间特征的补充信息。
SDP控制器通过这3个模块的协同工作来实现安全访问控制,并将访问行为和安全审计数据汇总至统一日志管理平台,用于为运维和安全人员提供可视化管理界面。
仅依靠单一设备,难以完成供应链上链路边界的流量分析以及从WEB、邮件、文件3个维度检测高级持续性威胁(APT,Advanced Persistent Threat )。而仅靠堆叠多种安全检测设备,会增加安全设备投资和运维成本,而且也会大大增加企业网络安全人员对业务流量进行监控的负担。
为此,将全流量检测技术与安全设备、网络协议的有机结合,设计了SDP控制器的流量检测模块,对供应链边界上的流量进行溯源分析,其主要功能如图3所示。
图3 流量检测模块的主要功能
3.2.1 对供应链重要边界实施全流量监控
全面调查和梳理铁路企业网络中可能遭受供应链攻击的暴露面清单,确认供应链的重要边界,对重要边界流量实施重点监控。重要边界包括互联网访问边界、直属单位与平行单位边界、内网业务边界、靶机边界。在所有重要边界上部署流量探针,以实施全方位监控;记录通过各个边界的流量,对长时间内各类核心业务流量进行统计分析,同时结合相关业务系统的业务流量趋势报告,从而掌握各个网络边界流量的总体趋势和变化特征。
3.2.2 对加密的协议流量进行解析和检测
对于无法直接识别和检测到的加密协议流量,例如HTTPS流量,可以通过加载对应的SSL证书,对流量解密后再进行识别检测;考虑到对HTTPS流量的统一管理和检测,可将解析HTTPS流量的CA证书迁移到负载均衡上,接入负载均衡之后,可将HTTPS流量解密为明文,以供各类安全设备进行流量识别和检测。
3.2.3 对供应链相关方的IP资产加注标签
通过威胁分析一体机设备,对供应链相关方的IP资产加注标签;对IP资源按业务、用户、用途进行分类和加注标签,并将可能为攻击者的IP标记为情报攻击IP;当发现情报攻击IP对供应链相关方系统的访问或者攻击事件时,能够快速判断和响应该攻击事件,全面掌握攻击态势、攻击者主要攻击的系统服务、以及业务间的调用关系,并及时做出封堵处理和流量追溯。
3.2.4 利用零信任框架管控供应链边界流量
基于零信任框架设计的安全设备,采用“SPA+默认丢包”策略,按照“先认证后连接”原则,加强远程接入用户的动态安全管控,以收敛铁路企业网络的暴露面,减少不必要的穿越供应链边界的流量[6]。
通过上述的流量溯源统计手段,SDP控制器的流量检测模块大致可以确定与供应链相关方在交互边界上的有效流量,完成多个层面流量检测与分析任务,如表1所示,以全面检测和监控供应链网络攻击。
表1 流量检测模块完成的流量检测与分析任务
铁路信息系统规模庞大,业务复杂,仅依靠单一链路的安全设备,难以完全防范供应链攻击。且攻击者往往通过伪装成铁路供应链相关业务系统的正常授权用户进行入侵,利用网络安全人员未知的安全漏洞进行数据获取和提权,但攻击者仅在进行非法操作时才会漏出马脚。倘若网络安全管理员采用过于严苛的网络防护策略,一些老旧、代码开发不规范的业务系统的正常操作就容易被安全设备误认为是攻击行为而被拦截。
为此,设计了SDP控制器规则控制模块,通过与铁路网络各类安全系统及设备进行信息交互,可有效降低对单一设备安全规则库的依赖,形成了结合审计、日志、安全防护、业务代码特征的规则控制模型,如图4所示。
图4 规则控制模块与网络安全系统及设备间的交互
规则控制模块将SDP控制器管理区域内所有业务活动、业务系统划分不同区域。控制器可按不同业务区域,将各业务系统的具体业务操作纳入安全审计系统,对用户操作行为进行记录和审计,并将记录全量备份至审计数据存储服务器。规则控制模块从安全审计系统中获取较长时段内各业务系统的操作审计数据进行统计,再与入侵防范相关的安全设备规则库相结合,可生成具有审计功能的恶意代码防御规则,而不仅仅依赖于入侵防御设备和防火墙设备的规则库。
规则控制模块的规则库是通过整合各个业务系统的操作审计记录生成的,相对于IPS、WAF等安全设备的规则库,考虑了业务系统的代码特征,而且还能随着相关业务系统的持续升级,动态地更新代码规则库,能够基于持续的信任评估规则,对业务系统流量的信任基础进行动态重构[8]。
除安全审计系统外,规则控制模块还建立了与态势感知设备、业务服务监控等系统间的信息交互。通过这些信息交互,使得SDP控制器的规则库可以根据业务系统软件版本特征、业务系统用户行为特征等来构建动态的、细粒度的“业务访问隧道”,实现了对供应链环节中的中间件、操作系统、开源框架、供应链用户的动态管理。除此之外,规则控制模块还能将把不符合正常业务访问的操作实时地反馈给统一日志管理平台,有助于提升网络安全人员应对网络安全事件的处置速度和准确率。
概而言之,规则控制模块基于动态构建的规则库,显著降低了攻击者成功入侵的概率,且与安全审计系统的数据相结合,在保障安全防护的同时,也有助于业务系统开展代码规范和业务操作规范的建设。
一些供应链上的业务应用系统,由于代码不规范、所用开源框架的年代过于久远,可能会产生许多具有攻击特性的正常业务流量。为了避免SDP控制器和安全设备影响老旧业务的正常运行,将这些攻击流量特性加入相应区域的SDP动态访问规则库,但这种操作往往又会成为攻击方利用的对象。
SDP控制器将全流量检测技术与多种安全设备、安全系统相结合,具有强大的流量检测、规则管控等功能,但也带来了新问题:对检测出来的业务流量进行分析,将控制器识别的业务系统的正常操作行为加入规则控制模块,造成过度依赖于控制器控制模块的算法。
为了降低对规则控制模块算法的依赖,设计了流量时间特性分析模块,以降低对端对端IP流量规则的依赖。流量时间特性分析模块统计不同业务区域实时流量的特征,按节假日、重要时刻、业务高峰、业务冰谷、日常业务流量等不同时段,生成各类业务流量时刻图(图5所示)。业务流量时刻图上绘有业务流量上限、正常业务流量、业务流量下限3条趋势线,一旦超过正常业务流量的上下业务流量,即判断该流量行为异常。
图5 日常业务流量时刻图
SDP控制器的流量检测模块会时刻统计各个业务区域内的实时流量特征,并将其反馈给流量时间特性分析模块进行比对。虽然来自某一供应链业务模块的流量还是传统网络架构下基于源IP到目的IP的访问流量,但访问控制已不只依赖于目的地址、源地址、端口,还加入时间流因素。在某一时段内,哪怕流量是可信的IP访问行为,且访问操作和正常业务操作一样,只要其流量高于设定的安全阈值,也会判定该流量行为不可控。一旦检测到流量行为不可控,将对第一时间反馈给规则控制模块进行规则调整,同时将检测结果传递给统一日志管理平台,以便网络安全及运维人员进行及时处理。
通过零信任理念和SDP网络安全模型的应用,将安全审计、全流量溯源和基于安全设备防护策略的访问控制等传统网络防护手段进行整合,设计SDP模型部署方案;SDP控制器设置在铁路网络安全管理中心区域,主要由协同工作的流量检测模块、规则控制模块、流量时间特性分析模块3个模块构成。该SDP控制器默认不信任供应链网络内外的任何人、设备和系统,通过建立与多个安全设备和安全系统的信息交互和规则联动,引入更多的数据角度和安全策略评定标准,来动态地调整细粒度的访问控制,有效降低对受信任系统访问权限的依赖。
采用本文提出的SDP部署模型建立起动态的、细粒度的访问控制机制,能够有效解决铁路企业网络遭受供应链攻击时面临的“检测监控难、判断处置难”问题,可屏蔽非法用户对铁路企业网络资源的访问,防止外部攻击方利用供应链相关方系统的暴露面,进行“野蛮陌生人”暴力攻击(如DDoS流量攻击)、精准打击(如APT威胁)、漏洞利用(如心脏出血漏洞)等,降低铁路信息系统遭受供应链网络攻击的安全风险。