基于漏洞的边缘设备在物联网中的风险评估和缓解策略
节选 《Vulnerability-based risk assessment and mitigation strategies for edge devices in the Internet of Things》第6节
申明
版权归原文作者及出版单位所有,如有侵权请联系删除。
摘要
边缘计算构想通过一组靠近数据源的边缘设备进行分布式的去中心化数据处理,以提高网络延迟和带宽利用率。然而,由于边缘设备处理了可以经常控制系统性能的重要参数,它们成为攻击者的目标。在这项工作中,我们解决了物联网生态系统中边缘设备的安全问题,这是因为网络设备存在漏洞。我们提出了一个用于风险评估的多攻击者多目标图形模型,表示网络中的攻击者、目标和漏洞关系。此外,我们提出了用于保护边缘设备的风险缓解策略。
6.用于隔离边缘计算设备的算法
在物联网场景下,加固网络中存在的所有漏洞几乎是用来保护网络不可能的解决方案,这是因为在第1节中讨论的原因。因此,我们应该探索其他策略来保护我们的网络免受攻击。在这些替代方案中,一种相当合理的策略是加固网络设备中足够但较少的一组漏洞,以消除攻击者到目标边缘设备的所有攻击路径。在本节中,我们提出了一个称为攻击者-目标最小割(A-T Min Cut)算法的随机算法,用于找到这样一组要被消除(减少)的漏洞。设 G = ( V , E ) G = (V, E) G=(V,E)为与易受攻击网络 ( M 、 A 、 T 、 Δ ) (M、A、T、\Delta) (M、A、T、Δ)相关的漏洞图。我们的算法将漏洞图 G G G 作为输入,并产生一个最小割集,其移除可以将攻击者和目标在 G G G内分隔。
算法从将被标识的攻击者和目标分别标记为红色和蓝色开始。然后,算法在随机选择的边上进行迭代,将所选择边的收缩,并采用精心设计的步骤进行颜色分配。一旦收缩后的图只剩下两个超点(super-nodes),算法停止。获得的红色和蓝色节点定义了图的划分,跨越划分的边被包含在 A − T A-T A−T 割集中。算法2描述了 A − T M i n C u t A-T\ \ Min\ \ Cut A−T Min Cut 算法。
引理6.1.算法返回三元组
(
R
,
B
,
F
)
(R, B, F)
(R,B,F) 当且仅当算法未收缩任何跨越
A
−
T
A-T
A−T 割
(
R
,
B
)
(R, B)
(R,B) 的边。
(译者注:这个定理的意思就是想要得到正确结果,要求每次缩边不会选到客观存在的那个最小边割集里面的边)
证明:
⟸
\Longleftarrow
⟸当 部分(if part)
假设算法未收缩任何跨越割 (R, B) 的边缘。考虑割 (R, B) 分散在不同划分的两个节点。在执行算法的过程中,如果将这两个节点合并为一个节点,则存在一条从其中一个顶点到另一个顶点的路径,该路径已经收缩过。不难看出,任何这样的路径都必须跨越割 (R, B),因为这两个节点位于割 (R, B) 的两侧。这与算法未收缩任何跨越割 (R, B) 的边缘的事实相矛盾。
⟹
\Longrightarrow
⟹且仅当 部分(only if part)
假设算法返回三元组 (R, B, F)。假设某个跨越此割的边缘被算法收缩。然后很明显,作为收缩步骤的结果生成的超级节点必定在 R 或 B 中存在,因此算法不能返回割 (R, B),这是一个收缩。 □
引理6.2. 收缩图中的 A − T A-T A−T 割对应于原始漏洞图中相同大小的 A − T A-T A−T 割。
证明:设 H H H 是收缩图, C ′ C' C′ 是 H H H的 A − T A-T A−T 割。现在,通过用由超点(super-nodes)所代表的节点所张成的 G G G 的子图替换 C ′ C' C′ 中的每个超级节点,我们可以得到原始图中的 A − T A-T A−T 割。很明显,给定的漏洞图中对应的 A − T A-T A−T 割的大小至少与 C ′ C' C′ 的大小相同。
此外, G G G 中对应的 A − T A-T A−T 割的大小不能超过 C ′ C' C′ 的大小。这是因为如果 G G G 中的 A − T A-T A−T 割大小超过 C ′ C' C′ 的大小,那么很明显,在算法执行的过程中, G G G 的一个或多个 A − T A-T A−T 割边缘将被收缩。在这种情况下,连接每个被收缩节点的两个节点将合并为一个节点,因此用之前所说的对应的子图替换这样的超级节点不会产生跨越割的边缘,这是一个矛盾。因此,我们断言两个割的大小必须相同。□
很明显,找到给定图
G
G
G 的
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut 的解并不是唯一的,因为可能存在多个大小相同的割集。其中的优势在于安全分析师可以选择最适合基础网络限制的解决方案,以确保边缘设备的安全性。
6.1 A-T Min Cut算法的分析
6.1.1. 概率分析
在本节中,我们估计我们的算法在找到确切的A-T Min Cut上的效果如何。我们的估计是基于算法能够找到给定漏洞图的确切A-T Min Cut的概率。
定理6.1. 如果
λ
\lambda
λ表示
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut算法产生给定漏洞图
G
=
(
V
,
E
)
G = (V, E)
G=(V,E)的确切
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut的事件,那么
( 1 − k m − n + 3 ) n − 2 ≤ P ( λ ) ≤ ( m − n + 3 m ) k (1- \frac{k}{m-n+3})^{n-2} ≤ P(λ) ≤ (\frac{m-n+3}{m})^k (1−m−n+3k)n−2≤P(λ)≤(mm−n+3)k,
其中 n = ∣ V ∣ n = |V| n=∣V∣, m = ∣ E ∣ m = |E| m=∣E∣, k k k是确切的 A − T M i n C u t A-T\ \ Min\ \ Cut A−T Min Cut的大小。
证明:设
C
A
T
C_{AT}
CAT为
G
G
G的
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut。令
λ
i
\lambda_i
λi表示在第
i
i
i次迭代中,对于收缩过程中没有选择
C
A
T
C_{AT}
CAT中任何边的事件。很容易得到
P
(
λ
1
¯
)
=
k
m
P(λ^¯_1)= \frac{k}{m}
P(λ1¯)=mk ,
因此
P
(
λ
1
)
=
1
−
k
m
P(λ_1) = 1 − \frac{k}{m}
P(λ1)=1−mk
(
11
)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (11)
(11)
令
H
H
H为第
i
i
i次迭代开始时的收缩图。不难看出,在
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut算法的第5步的
w
h
i
l
e
while
while循环的任何一次迭代中不进行缩边的唯一可能性是边缘
(
u
,
v
)
(u, v)
(u,v)满足以下条件:
u
u
u或
v
v
v中的一个被标记为红色,而另一个被标记为蓝色。此外,头部或尾部被标记为红色的边和头部或尾部被标记为蓝色的边属于
A
−
T
M
i
n
C
u
t
C
A
T
A-T\ \ Min\ \ Cut CAT
A−T Min CutCAT。因此,事件
λ
i
∣
λ
i
−
1
,
λ
i
−
2
,
.
.
.
,
λ
1
λ_i | λ_{i−1}, λ_{i−2}, . . . , λ_1
λi∣λi−1,λi−2,...,λ1 具有以下特性。
- 头部或尾部被标记为红色的边和头部或尾部被标记为蓝色的边在当前和先前的迭代中都不会被选择。
- 在所有前面的迭代中都会发生精确的一次边收缩。
- 当算法的第 i i i次迭代开始时,收缩图 H H H恰好包含 m − i + 1 m − i + 1 m−i+1条边。
因此,
P
(
λ
i
¯
∣
λ
i
−
1
,
λ
i
−
2
.
.
.
λ
1
)
=
k
m
−
i
+
1
P(λ^¯_i|λ_{i−1}, λ_{i−2}...λ_1) = \frac{k}{m − i + 1}
P(λi¯∣λi−1,λi−2...λ1)=m−i+1k
因此
P
(
λ
i
∣
λ
i
−
1
,
λ
i
−
2
.
.
.
λ
1
)
=
1
−
k
m
−
i
+
1
P(λ_i|λ_{i−1}, λ_{i−2}...λ_1) = 1 − \frac{k}{m − i + 1}
P(λi∣λi−1,λi−2...λ1)=1−m−i+1k
由于
λ
\lambda
λ对应于在
G
G
G中获得精确的
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut的事件,根据引理6.1可知,在事件
λ
\lambda
λ中,没有选择
C
A
T
C_{AT}
CAT中的任何边进行收缩。然后,
P
(
λ
)
=
∏
i
=
2
n
−
2
P
(
λ
i
∣
λ
i
−
1
,
λ
i
−
2
.
.
.
λ
1
)
.
P
(
λ
1
)
P(\lambda) = ∏\limits^{n−2}_{i=2} P(λ_i|λ_{i−1},λ_{i−2}...λ_1).P(λ_1)
P(λ)=i=2∏n−2P(λi∣λi−1,λi−2...λ1).P(λ1)
=
∏
i
=
2
n
−
2
(
1
−
k
m
−
i
+
1
)
.
(
1
−
k
m
)
\ \ \ \ \ \ \ \ \ \ = ∏\limits^{n−2}_{i=2} (1 −\frac{k}{m − i + 1} ).(1 − \frac{k}{m} )
=i=2∏n−2(1−m−i+1k).(1−mk)
=
(
1
−
k
m
−
(
n
−
3
)
)
(
1
−
k
m
−
(
n
−
4
)
)
.
.
.
(
1
−
k
m
−
1
)
(
1
−
k
m
)
\ \ \ \ \ \ \ \ \ \ = (1 − \frac{k}{m − (n − 3)} )(1 − \frac{k}{m − (n − 4)} ) . . .(1 − \frac{k}{m − 1} )(1 − \frac{k}{m} )
=(1−m−(n−3)k)(1−m−(n−4)k)...(1−m−1k)(1−mk)
因此,
P
(
λ
)
=
(
1
−
k
m
)
.
(
1
−
k
m
−
1
)
(
1
−
k
m
−
2
)
.
.
.
(
1
−
k
m
−
n
+
3
)
P(λ) = (1 − \frac{k}{m} ).(1 − \frac{k}{m − 1} )(1 − \frac{k}{m − 2} ) . . . (1 − \frac{k}{m − n + 3 })
P(λ)=(1−mk).(1−m−1k)(1−m−2k)...(1−m−n+3k)
(
12
)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ (12)
(12)
P ( λ ) P(λ) P(λ)的下界为 P ( λ ) ≥ ( 1 − k m − n + 3 ) n − 2 P(λ) ≥ ( 1 − \frac{k}{m − n + 3} )^{n−2} P(λ)≥(1−m−n+3k)n−2 ( 13 ) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (13) (13)
P ( λ ) P(λ) P(λ)的上界可以通过以下方式得到。根据式(12),我们有
P ( λ ) ≤ e − k m e − k m − 1 e − k m − 2 . . . e − k m − n + 3 P(λ) ≤ e^{\frac{−k}{m}} e^{\frac{−k}{m−1}}e^{\frac{−k}{m−2}} ...e^{\frac{−k}{m−n+3}} P(λ)≤em−kem−1−kem−2−k...em−n+3−k
= e − k ( 1 m − n + 3 + 1 m − n + 4 + ⋅ ⋅ ⋅ 1 m ) = e^{−k( \frac{1}{m−n+3}+ \frac{1}{m−n+4}+··· \frac{1}{m} )} =e−k(m−n+31+m−n+41+⋅⋅⋅m1)
≤ e − k . ∫ m − n + 3 m 1 x d x ≤ e^{−k . ∫ ^m_{m−n+3} \frac{1}{x} dx} ≤e−k.∫m−n+3mx1dx
= e k . l n ( m − n + 3 m ) = e^{k . ln(\frac{ m − n + 3 }{m})} =ek.ln(mm−n+3)
因此 P ( λ ) ≤ ( m − n + 3 m ) k P(λ) ≤ ( \frac{m − n + 3} {m} )^k P(λ)≤(mm−n+3)k ( 14 ) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (14) (14)
6.1.2. 概率放大
假设我们的算法执行了
q
q
q次。根据式(13),我们可以看出未获得
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut的概率最多为
(
1
−
(
1
−
(
k
m
−
n
+
3
)
n
−
2
)
)
q
(1 − (1 − (\frac{k}{m−n+3})^{n−2}))^q
(1−(1−(m−n+3k)n−2))q。因此,设置
q
=
⌈
1
(
1
−
(
k
m
−
n
+
3
)
n
−
2
)
l
n
n
⌉
q = ⌈ \frac{1}{(1−(\frac{k}{m−n+3})^{n−2})}ln n⌉
q=⌈(1−(m−n+3k)n−2)1lnn⌉
并运行算法
q
q
q次,我们可以看出未获得
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut的概率降低到以下水
(
1
−
(
1
−
(
k
m
−
n
+
3
)
n
−
2
)
)
⌈
1
(
1
−
(
k
m
−
n
+
3
)
n
−
2
)
l
n
n
⌉
≤
(
1
e
)
l
n
n
=
(
1
n
)
(1−(1−(\frac{k}{m−n+3})^{n−2}))^{⌈\frac{1}{(1−(\frac{k}{m−n+3})^{n−2})}ln n⌉}≤ (\frac{1}{e})^{ln n} = (\frac{1}{n})
(1−(1−(m−n+3k)n−2))⌈(1−(m−n+3k)n−2)1lnn⌉≤(e1)lnn=(n1)
因此,运行算法
⌈
1
(
1
−
(
k
m
−
n
+
3
)
n
−
2
)
l
n
n
⌉
⌈ \frac{1}{(1−(\frac{k}{m−n+3})^{n−2})}ln n⌉
⌈(1−(m−n+3k)n−2)1lnn⌉ 次并选择最小大小的
A
−
T
A-T
A−T割集,有很高的概率产生所需的
A
−
T
M
i
n
C
u
t
A-T\ \ Min\ \ Cut
A−T Min Cut。
我们可以得出
k
≤
m
i
n
(
r
δ
,
l
δ
)
k ≤ min(rδ, lδ)
k≤min(rδ,lδ) 的结论,其中
δ
=
m
a
x
{
d
e
g
r
e
e
(
u
)
∣
u
∈
A
∪
T
}
δ = max\{degree(u) |u ∈ A ∪ T \}
δ=max{degree(u)∣u∈A∪T},可以用此值找到k的近似值。
6.1.3. 复杂性分析
如果输入的漏洞图以邻接矩阵或邻接表的形式实现,我们可以看出 A − T M i n C u t A-T\ \ Min\ \ Cut A−T Min Cut算法的一次完整执行需要 O ( n 2 ) O(n^2) O(n2)的时间。因此,运行算法 q = ⌈ 1 ( 1 − ( k m − n + 3 ) n − 2 ) l n n ⌉ q = ⌈ \frac{1}{(1−(\frac{k}{m−n+3})^{n−2})}ln n⌉ q=⌈(1−(m−n+3k)n−2)1lnn⌉次,总的复杂性为 O ( q n 2 ) O(qn^2) O(qn2)。
根据式(13)和式(14),定理得证。□
评述:
[1] George G , Thampi S M .Vulnerability-based risk assessment and mitigation strategies for edge devices in the Internet of Things[J].Pervasive and Mobile Computing, 2019, 59:101068.DOI:10.1016/j.pmcj.2019.101068.
[2]类似于Karger的方法,Karger证明
P { a l l f a i l } ≤ ( e − 1 n 2 ) n 2 = 1 e P\{all fail\}\leq (e^{-\frac{1}{n^{2}}} )^{n^{2}}=\frac{1}{ e } P{allfail}≤(e−n21)n2=e1