cfn-security/CFN安全风险及控制建议1.0.md
luli 09e31191ca add CFN安全风险及控制建议1.0
Change-Id: Idf316dea7f255ff0f43c76c6a5c4ab76e8a1d22a
2024-09-19 14:59:13 +08:00

86 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# **CFN安全风险及控制建议**
##
##
##
## 根据对CFN架构和业务流程的分析CFN可能面临多种安全风险主要包括以下类型风险
## •风险一:算力信息感知安全风险
为了支撑算力编排调度的开展算力节点生成算力节点的计算信息、网络信息、服务信息统称为算力信息并由CFN统一收集。此类信息如果被攻击者利用会对算力节点、网络和业务的安全造成威胁引发服务中断、算力窃取等安全风险。此外频繁和大量的信息收集还可能造成拒绝服务攻击。
## •风险二:暴露面增加风险
算力的调度要求算网大脑收集算力节点的算力信息并对节点状态进行监控,以支撑调度决策和策略执行。信息的收集和算力的管理控制可能会增加算力节点、算网编排层的资产暴露面,如引入新接口,攻击者可能利用新引入接口实施网络攻击,这增加了设备遭受攻击的风险。
##
##
## •风险三:算力调度安全风险
算力调度功能决定了哪一个计算任务通过哪一条路径在哪一个算力节点执行,调度策略的执行经历生成、传递、接收的环节,任意环节遭受攻击都可能对计算任务、算力节点或网络的安全造成威胁,使其面临安全风险,包括任务数据窃取、服务不可用等。
##
##
## •风险四:网络安全风险
算力动态调度,会建立动态的跨域连接,为攻击者提供更多的攻击路径,增加算力节点网络安全风险。
##
##
## •风险五:计算安全风险
CFN中的算力节点类型多样可信度、安全性不同可能存在低可信、低安全节点违背服务协议不诚实的执行服务如伪造计算结果、窃取任务数据、故意中断服务影响用户服务可用性。
##
##
## •风险六:算力协同安全风险
CFN中的算力节点类型多样安全水平参差不齐节点数量较大安全管理面临挑战在进行算力服务协同的过程中可能存在恶意节点或被攻击者入侵的低安全节点利用服务链路实施攻击造成安全风险在网络中的横向移动。。
##
## 根据CFN主要安全风险提出如下安全控制建议。
## •控制建议一:算力信息安全防护(对应风险一)
算力节点与算力信息采集功能通过安全的连接进行算力信息的上报如采用https、SSH安全传输协议启用协议的认证和加密能力保证算力信息安全。
合理设置采集的数据内容和采集频率。通过简化算力信息上报格式减少算力信息占用带宽,并可对算力信息的上报情况进行监测,对于数据包长度异常、上报频率异常等异常行为及时采取阻断等响应措施。
##
##
## •控制建议二:安全隔离(对应风险二、四)
构建动态授权及细粒度、多层次的隔离机制,在算力网络中形成复合安全防护层,降低安全风险。首先是用户与服务节点的隔离,针对用户访问,构建认证及动态授权机制,对访问请求实时评估,并按需授予建立连接及可访问资源、可访问时间的权限。其次是算力节点与节点间南北向安全隔离,在两个节点间有交互需求的场景中,同样采用动态授权机制建立按需连接,赋予最小授权。最后是算力云资源池中东西向安全隔离,在资源池中采用微隔离技术,基于计算访问需求形成细分隔离区域。
##
##
## •控制建议三:调度策略安全防护(对应风险三)
对调度策略的生成、传输、接收进行安全保护。
对调度策略生成模型或模块进行安全评估,确保策略的合理性。对调度策略生成模型或模块的操作行为及访问记录进行监控和审计。
采集安全的传输协议进行调度策略的下发如采用https、SSH安全传输协议启用协议的认证和加密能力保证调度策略安全下发。
##
##
## •控制建议四:安全计算编排(对应风险五)
根据计算任务安全需求为计算任务分配安全可信度适配的算力节点及安全计算技术(隐私计算、机密计算等),为用户提供安全计算服务。
##
##
安全计算编排应包括安全信息感知、安全策略决策和安全策略输出三个部分。
##
##
安全信息感知指的是获取计算任务安全需求和节点安全信息。计算任务安全需求可分为两个类型,通过不同方式获得:一是直接安全需求,由用户直接提出计算任务安全需求,如要求全程加密或要求在高可信算力节点执行计算任务;二是间接安全需求,用户提供或由算力网络对计算数据进行分析获得数据敏感级别、计算任务类型等用于分析安全需求的信息,然后由算力网络进行解析获得安全需求。节点安全信息是指算力节点安全防护能力、安全服务能力等可影响算力节点安全可信度的安全指标,可包括安全防护能力、安全服务能力、节点所有方可信度、节点信誉等。
##
##
安全策略决策是通过设计合适的模型或算法基于计算任务安全需求生成安全编排策略包括适用于计算任务的算力节点安全级别及执行计算任务应使用的安全计算方法。算法类型及特性多样化脱敏算法包括泛化、去标识、差分隐私等隐私计算包括同态加密、秘密分享、联邦学习等。上述算法虽然能够保护数据机密性但也会对计算带来一些负面影响增加计算量、降低传输效率、降低数据可用性、增加通信复杂度、影响计算精度、需要硬件支持等部分算法可能造成传输数据量5~10倍、计算复杂度10~50倍增加。此外还可引入可搜索加密方法实现数据的安全存储。不同算法产生的影响不同所以需要根据计算任务算力需求和安全需求进行合理的计算方法选择。考虑到安全计算方法产生的负面影响可结合算力网络算力节点安全级别多样、算力调度机制灵活等特性在不同场景中确定安全计算的应用方法。如1、对于无特殊安全需求的非敏感计算任务不调用安全计算方法2、对于都为敏感数据的计算任务根据分配的计算节点类型判断是否调用安全计算方法如为计算任务分配高安全节点则可不用安全计算方法3、如果计算任务的不同部分安全需求不同则可根据数据敏感度将计算数据进行拆分敏感数据分配到安全级别较高节点非敏感数据分配到安全级别较低节点在保证数据安全的同时尽量降低安全措施所带来的性能损耗实现安全与效率的平衡。
##
##
安全计算编排策略生成后提交至算网大脑,算网大脑可参考该策略对计算任务最终的算力调度策略进行适当调整。
##
##
## •控制建议五:数据流转溯源(对应风险五)
可通过两类方式实现数据溯源。
##
##
溯源方式一:数据监测和信息留存
根据业务数据在算力网络中的处理过程,可通过数据监测和记录的方式实现算力网络数据流转溯源、计算过程溯源,构建从业务数据入网到计算结果出网整个数据处理链条的完整溯源信息,结合溯源信息上链存储方式,能够提高溯源信息的可信度。溯源方式的描述具体如下:
数据流转溯源:从执行实体、数据及活动三个维度对数据流转情况进行记录,其中执行实体主要包括用户节点、算力节点及算力网络编排管理中心,数据包含执行实体之间流转数据的描述信息及时间等其他参数,活动是执行实体从某实体收到数据或生成新数据并向某实体转发的行为。实体主动向一个管理中心上报自身相关溯源信息(或日志记录),管理中心对实体之间溯源信息进行真实性判定;
计算过程溯源:构建数据溯源模型,通过节点内置代理等方式对算力节点关键计算步骤计算状态、计算结果进行采集并记录在管理中心。
##
##
溯源方式二:数据水印
数据水印技术是将一些标记信息嵌入数据,但不影响数据的可用性和可读性。通过对标记信息内容和标记信息嵌入方法的专门设计,可通过标记信息实现不同的目的,如在数据中嵌入代表数据接收者的标识信息,在数据泄露后可定位数据泄露者。数据水印一方面可以威慑潜在的数据窃取者,一方面可以实现数据溯源,增强事后处置响应能力。可作为数据安全存储的补充手段。
在算力网络中,可为每个算力节点或节点所有方分配一个唯一的水印标识,并在数据处理节点支持水印添加功能。在用户将数据外发到算力节点前,首先将数据发送到数据处理节点添加目标算力节点的水印信息,然后再将数据转发到目标算力节点存储。
##
##
## •控制建议六:节点安全评估(对应风险五、六)
对算力节点进行静态及动态安全评估,仅通过静态安全评估的节点可接入算网,仅通过动态安全评估的节点可具备算力服务资格。
##
##
1.静态安全评估
静态安全评估包括准入评估以及算力安全能力评估。
安全准入评估是为避免高风险节点接入算力网络设置的节点接入的安全门槛,应仅经过安全评估,具备一定安全可信度的算力节点可接入算力网络。安全准入评估内容主要为节点的安全防护能力和节点所有方可信度,其中安全防护能力包括节点主机安全基线配置;节点数据库安全基线配置;节点漏洞扫描;网络安全防护能力等。对于不同类型的节点,可设置不同的安全准入标准。
算力安全能力评估是对算力节点的安全防护能力和安全服务能力等进行综合评估,根据算力节点能够提供的安全服务的不同对算力节点进行安全分级或分类。算力安全能力评估在安全准入评估内容的基础上,还包括对算力节点可提供的安全计算或存储能力的评估,如是否支持机密计算、是否具备加密存储能力等。在为计算任务分配算力节点时,除节点的计算能力和网络条件外,可将安全能力评估结果作为参考。
##
##
2.动态安全评估
动态安全评估通过在节点部署安全代理等方式对算力节点的安全状态进行实时监测,发现异常节点。对于异常节点,及时终止异常节点上的计算服务,在节点恢复前停止为节点分配计算任务。