边缘计算场景下的攻击区域威胁模型 | ![]() |
伴随着云计算、人工智能、5G和大数据等技术的发展, 出现了边缘计算技术[1]。边缘计算在网络边缘侧, 结合网络、计算平台、存储、应用等, 就近提供边缘智能服务, 从而满足智能制造、智慧交通、工业控制、电信运营商等多个行业的应用需求。
近年来, 边缘计算规模不断扩大, 到2025年, 连接到网络的无线设备数量将达到754亿台, 全球数据总量将达到175 ZB[2]; 到2027年, 全球边缘计算市场规模预计将达到154亿美元, 预测期内复合年增长率为38.6%[3]。边缘计算使得网络结构从云计算的集中式转变为分布式模式, 并通过将ICT基础设施“下沉”, 为边缘侧处理数据提供计算能力, 促进了技术和业务的发展。然而, 边缘计算为行业应用带来便利的同时, 也将网络攻击威胁引入了网络边缘, 存在边缘应用攻击、网络攻击、边缘计算节点和边缘基础设施渗透攻击等安全风险[4]。因此, 边缘计算的安全问题将阻碍边缘计算产业的发展。
威胁建模是利用模型来发现安全问题, 通过提取大量细节对安全问题进行全面检查, 预见可能侵袭目标系统的威胁, 从而提前发现问题并做好安全防范, 通常包括应用概述、威胁发现、威胁量化、威胁消减等过程[5]。常用的威胁建模方法有威胁六要素(spoofing-tampering-repudiation-information disclosure-denial of service-elevation of privilege, STRIDE)[6]、威胁树、攻击图等具体方法, 现有研究工作存在主观因素影响、应用范围窄、缺少系统全面考虑等问题[7~11], 基于此, 本文结合边缘计算场景提出一种攻击区域的威胁模型, 从攻击者的角度进行威胁建模分析。
1 应用概述 1.1 边缘计算架构边缘计算是一种在网络边缘侧对数据进行存储和处理的分布式计算形式, 边缘是指从数据源到云计算中心之间的任意计算资源和网络资源。边缘计算的架构如图 1所示, 由端层、边层和云层以及三层之间的网络组成。
![]() |
图 1 边缘计算框架 |
(1) 端-边接入: 端层的手机、传感器、采集装置等终端设备, 通过现场总线、网络等通信协议与边缘节点连接, 实现数据传输。
(2) 云-边接入: 云层通常以云计算方式实现, 将位于云上的应用和服务延伸到边缘, 从而实现云端和边缘的数据协同。
(3) 边层: 位于端层和云层之间, 通过硬件基础设施进行数据处理、管理边缘侧的各种资源等, 包括边缘节点、边缘服务器、边缘云/私有云等边缘基础设施, 就近提供数据分析与处理能力。通过边缘网络和通信协议将各种设备、数据等接入边缘平台, 基于边缘平台部署和开发边缘侧的各种应用和服务。
1.2 风险分析边缘计算面临的安全威胁主要有:
(1) 边缘基础设施威胁
边缘计算节点由于自身的脆弱性和安全漏洞, 易蔓延高级可持续威胁(advanced persistent threat, APT)。攻击者可以利用边缘节点上不安全的Host OS或虚拟化软件的漏洞发起攻击, 获得系统的控制权限。边缘节点通常采用容器技术实现安全隔离, 安全性较差, 另外边缘服务器缺少硬件层面的安全技术支撑。
(2) 边缘网络威胁
传感器与边缘节点之间, 以及边缘节点与边缘服务器之间存在ZigBee、蓝牙、Overlay等不安全的通信协议, 对消息的机密性、完整性等考虑不足。设备账户如果采用弱密码和硬编码密码, 攻击者容易伪装成合法的边缘节点对用户进行钓鱼、欺骗等操作。由于边缘计算设备自身资源有限, 缺乏支持网络安全的防御措施, 导致黑客入侵边缘设备后可以发起分布式拒绝服务(distributed denial of service, DDoS)攻击[12]。
(3) 边缘应用威胁
端层与边层之间采用的单一身份认证方式安全性不足, 存在管理安全凭证困难、缺少访问控制等问题。边缘计算应用层通常开放用户接口、应用程序接口(application program interface, API), 如果缺少接口安全控制措施, 被接入后进行恶意利用会引发安全风险[13]。此外, 管理员账户存在的弱口令、敏感信息泄露等问题, 一旦管理员身份被盗用, 恶意人员会控制边缘节点, 对系统进行操纵和破坏。
由此可见, 边缘计算安全范围包括整个边层的安全, 边层与端层之间、边层与云层之间的协同安全。边层、端-边接入、云-边接入构成了边缘计算的安全边界, 安全目标就是保证安全边界内边缘计算资产的机密性、完整性、可用性。
2 威胁发现 2.1 攻击区域威胁模型为了进行威胁分析, 从攻击者的角度在安全边界内确定攻击区域, 在每个区域内利用攻击树进行威胁分解。攻击区域模型如图 2所示。
![]() |
图 2 攻击区域模型 |
在安全边界内确定若干攻击区域Z1, Z2, …, Zk, 每个攻击区域中包含一棵攻击树, 用T1, T2, …, Tk分别表示对应攻击区域中的攻击树, 即Tk ⊆ Zk(k=1, 2, …, n)。
T= (N, A, R), T包含一个或多个节点, 其中:
N= (G, M, L)是非空有限节点的集合, G为根节点、M为中间节点、L为叶节点, 各个M、L节点之间的关系为AND/OR。
根节点G为最终的攻击目标, 中间节点M为攻击的中间步骤, 叶节点L为具体的攻击方法, Pm表示攻击父节点成功的概率, Pm1, Pm2, …, Pmn分别表示对应父节点下的子节点的攻击成功的实现概率。对于AND关系的节点, 父节点攻击成功的概率为它的各子节点的攻击成功的概率之积, 见公式(1), 对于OR关系的节点, 父节点攻击成功的概率为它的各子节点中攻击成功概率中的最大值, 见公式(2)[14]。
$ P_m=P_{m 1} \times P_{m 2} \times \cdots \times P_{m n}, $ | (1) |
$ P_m=\max \left\{P_{m 1}, P_{m 2}, \cdots, P_{m n}\right\}。$ | (2) |
A为攻击属性集合, A=(P, D, E, U, F), P, D, E, U, F∈[0, 10]。其中P为潜在损失; D为复现难度; E为利用难度; U为受影响用户; F为发现难度。
R为攻击路径, R={ < L1, L2, …, Lk> | k=1, 2, …, n}, 一条攻击路径R是攻击树T的一个最小割集, 即实现攻击树根节点G的相关叶节点 < L1, L2, …, Lk >构成的集合。
2.2 威胁分解根据边缘计算的通用架构, 分别将边缘基础设施、边缘网络、边缘应用作为攻击区域Z1~Z3, 在每个区域内分别构建了3棵攻击树, 如图 3所示。其中图 3(a)是边缘基础设施区域(Z1)攻击树, 图 3(b)是边缘网络区域(Z2)攻击树, 图 3(c)是边缘应用区域(Z3)攻击树。
![]() |
图 3 攻击区域中的攻击树 |
针对每棵攻击树进行具体的威胁分解, 直到用叶节点表示具体的攻击手段, 表 1给出了对应图 3的每个攻击树的中间节点和叶节点。
表 1 攻击方法分析 |
![]() |
3 威胁量化
在威胁量化阶段, 首先需要对叶节点攻击属性的5个评价指标进行评分, 具体评分说明见表 2。
表 2 叶节点攻击属性评分标准 |
![]() |
通过5个评价指标对每个叶节点的风险进行量化, 叶节点的攻击概率为:
$ P_i=W_P \times U_P(i)+W_D \times U_D(i)+W_E \times U_E(i)+W_U \times U_U(i)+W_F \times U_F(i), $ | (3) |
其中WP、WD、WE、WU、WF表示叶节点攻击属性的权值, 且WP+WD+WE+WU+WF=1。UP、UD、UE、UU、UF分别表示攻击属性5个指标的效用值, 且有UP=P/10、UD=D/10、UE=E/10、UU=U/10、UF=F/10。
为了准确量化叶节点的攻击概率, 降低对每个维度评分的主观因素, 采用了模糊层次分析法(fuzzy analytic hierarchy process, FAHP)[15]对5个维度进行权重分析, 攻击概率计算步骤如下:
步骤1 基于叶节点的5个攻击属性, 首先构造模糊判断矩阵C如下:
$ \boldsymbol{C}=\left(r_{i j}\right)_{n \times n}=\left(\begin{array}{lllll} 0.5 & 0.8 & 0.7 & 0.6 & 0.7 \\ 0.2 & 0.5 & 0.6 & 0.3 & 0.6 \\ 0.3 & 0.4 & 0.5 & 0.3 & 0.4 \\ 0.4 & 0.7 & 0.7 & 0.5 & 0.7 \\ 0.3 & 0.4 & 0.6 & 0.3 & 0.5 \end{array}\right), (n=5)_{\circ} $ |
矩阵C中的数值rij代表攻击属性i相对于j的重要程度, 且0≤rij≤1。当0.5<rij≤1时说明i比j重要, 且值越大代表重要程度越高; 同理, 0≤rij<0.5时说明攻击属性i相对j不重要, 且值越小代表重要程度越低; 当rij= 0.5时代表i与j同等重要。本文有5个攻击属性P、D、E、U、F, 分别以序号1~5表示, 对5个属性进行重要程度的两两比较, 用比较结果构造矩阵C。例如, r12表示第一个攻击属性P比第二个攻击属性D的重要程度为0.8, r41表示第四个属性U比第一个属性P不重要的程度为0.4, r22表示第二个属性与自身相比是同等重要的, 因此是0.5……矩阵中其他数值的含义以此类推。
步骤2 按照公式(4), 将C转化为模糊一致矩阵C’:
$ r_{i j}^{\prime}=\frac{1}{n} \sum\limits_{k=1}^n\left(r_{i k}-r_{j k}\right)+0.5 $ | (4) |
$ \boldsymbol{C}^{\prime}=\left(r_{i j}^{\prime}\right)_{n \times n}=\left(\begin{array}{ccccc} 0.5 & 0.72 & 0.78 & 0.56 & 0.74 \\ 0.28 & 0.5 & 0.56 & 0.34 & 0.52 \\ 0.22 & 0.44 & 0.5 & 0.28 & 0.46 \\ 0.44 & 0.66 & 0.72 & 0.5 & 0.68 \\ 0.26 & 0.48 & 0.54 & 0.32 & 0.5 \end{array}\right), (n=5) \text { 。} $ |
步骤3 由公式(5)计算对应攻击属性的5个权重值:
$ w_i=\frac{1}{n}-\frac{1}{2 a}+\frac{1}{n a} \sum\limits_{j=1}^n r_{i j} \text { 。} $ | (5) |
为了保证权重值wi≥0, 需要满足a≥(n-1)/2, 且a与每两个权重的差成反比, 即a越大, 权重之差越小, 表明决策者不是非常重视元素间重要程度的差异; a越小, 权重之差越大, 表明决策者非常重视元素间重要程度的差异[16]。在实际应用中需要重视攻击属性之间重要程度的差异, 因此取a的最小值a=(n-1)/2, 从而使权重的差异度最大。本例中由于n=5, 所以a=2, 最终计算得到矩阵C’的权值向量为Wc=(0.28 0.17 0.14 0.25 0.16)T。因此得到叶节点攻击属性的权值分别为WP=0.28、WD=0.17、WE=0.14、WU=0.25、WF=0.16。
步骤4 对每个叶节点进行威胁量化, 按照表 2对每个叶节点的攻击属性进行赋分, 并按照公式(3)计算攻击概率, 每个叶节点的攻击属性(P, D, E, U, F)赋分以及计算出的攻击概率见表 3。
表 3 攻击属性赋分及攻击概率计算S |
![]() |
4 威胁消减
根据威胁量化阶段计算出的攻击树的叶节点的攻击概率, 在威胁消减阶段分析主要的攻击路径, 以便采取有针对性的应对措施。由图 3(a)可知, 只有叶节点L5和L6为AND关系, 其余叶节点为OR关系, 根据公式(1)、(2), 根节点G1的攻击路径R5的概率为L5和L6攻击概率的乘积, 其余各条攻击路径的概率等于对应的叶节点的攻击概率。G1的各条攻击路径概率见图 4, 可见R8, R10, R11, R12, R19的攻击概率较高, 超过了50%, 所以应重点考虑物理接口非法访问、固件调试接口暴露、服务器越权、服务器非安全端口攻击、数据传输篡改等风险防范。Z1区域的攻击概率P(Z1)等于根节点的攻击概率P(G1), 即各攻击路径概率中的最大值, 由图 4看出P(Z1)=P(G1)=P(R10)=69.5%。
![]() |
图 4 G1攻击路径概率 |
根节点G2下的所有子节点都是OR关系, 所以攻击路径有8条, 分别由8个叶节点实现, 各攻击路径概率见图 5, 其中R1, R2, R3, R4, R7的攻击概率超过了60%, 所以应重点考虑通信协议脆弱性、报文伪造、恶意拥塞、密码暴力破解等风险防范。由图 5可知, P(Z2)=P(G2)=P(R7)=70.6%。
![]() |
图 5 G2攻击路径概率 |
同理, 针对根节点G3的攻击路径概率见图 6, 其中R6, R7, R9的攻击概率超过了50%, 应重点考虑边缘应用篡改、代码漏洞、管理员权限泄露等风险防范。由图 6可知, P(Z3)=P(G3)=P(R9)=65.0%。
![]() |
图 6 G3攻击路径概率 |
最后, 针对每个区域的攻击路径制定了威胁应对措施, 给出了安全建议, 见表 4。
表 4 威胁应对措施 |
![]() |
5 结束语
在应用实践中, 本文提出的威胁模型主要应用于需求分析阶段, 通过威胁模型识别边缘计算的安全风险, 以便针对威胁采取有针对性的威胁应对措施, 从而提升边缘计算产品及应用的安全性。由于威胁建模是不断迭代和反复的过程, 通过一次威胁建模不可能全面识别边缘计算的全部威胁, 所以后续工作需要结合边缘计算具体的业务场景, 对模型不断的优化和改进, 从而更好地指导产品开发、测试、应用部署等流程。
[1] |
施巍松, 张兴洲, 王一帆, 等. 边缘计算: 现状与展望[J]. 计算机研究与发展, 2019, 56(1): 69-89. |
[2] |
陶耀东, 徐伟, 纪胜龙. 边缘计算安全综述与展望[J]. 计算机集成制造系统, 2019, 25(12): 3043-3051. |
[3] |
陈雪鸿, 李俊, 孙岩, 等. 工业互联网边缘计算安全白皮书[R]. 北京: 国家工业信息安全发展研究中心, 工业信息安全产业发展联盟, 2020.
|
[4] |
于海斌, 曾鹏, 尚文利, 等. 边缘计算安全白皮书[R]. 北京: 边缘计算产业联盟, 工业互联网产业联盟, 2019.
|
[5] |
JAMES R, ANMOL M. Core software security: Security at the source[M]. USA: CRC Press, 2014: 48-50.
|
[6] |
SHOSTACK A. Threat Modeling: Designing for security [M]. USA: John Wiley & Sons, 2014: 45-46.
|
[7] |
徐超, 何炎祥, 陈勇, 等. 面向嵌入式系统的威胁建模与风险评估[J]. 计算机应用研究, 2012, 29(3): 826-828. |
[8] |
何可, 李晓红, 冯志勇. 面向对象的威胁建模方法[J]. 计算机工程, 2011, 37(4): 21-23. |
[9] |
周路明, 邓春华. 基于攻击图理论的网络安全风险评估[J]. 现代科学仪器, 2019(4): 38-42. |
[10] |
姜莉. 一种基于STRIDE模型的Web服务安全评估方法研究[D]. 长沙: 湖南大学, 2010.
|
[11] |
王宇航, 高金萍, 石竑松, 等. 基于威胁建模的IC卡互联网终端安全问题定义方法[J]. 北京理工大学学报, 2017, 37(12): 1259-1264. |
[12] |
刘佳佳, 吴昊, 李盼盼. 铁路5G移动通信系统边缘计算安全研究[J]. 计算机工程与应用, 2021, 57(12): 1-10. |
[13] |
郭昊, 何小芸, 孙学洁, 等. 国家电网边缘计算应用安全风险评估研究[J]. 计算机工程与科学, 2020, 42(9): 1563-1571. |
[14] |
黄慧萍, 肖世德, 孟祥印. 基于攻击树的工业控制系统信息安全风险评估[J]. 计算机应用研究, 2015, 32(10): 3202-3205. |
[15] |
张吉军. 模糊层次分析法(FAHP)[J]. 模糊系统与数学, 2000, 14(2): 80-88. |
[16] |
吕跃进. 基于模糊一致矩阵的模糊层次分析法的排序[J]. 模糊系统与数学, 2002, 16(2): 80-86. |