论文地址: A Game-Theoretical Approach for Mitigating Edge DDoS Attack
摘要
边缘计算(EC)是一种新兴的范式,它通过将计算资源推送到连接到基站的边缘服务器或靠近最终用户的云边缘的接入点来扩展云计算。由于边缘服务器的地理分布,EC范式受到许多新的安全威胁的挑战,包括臭名昭著的分布式拒绝服务(DDoS)攻击。在 EC 环境中,边缘服务器由于其大小有限,通常具有有限的处理能力。因此,它们特别容易受到DDoS攻击。EC环境中的DDoS攻击使现有的DDoS缓解方法因其新特性而过时。在本文中,我们首次尝试解决边缘DDoS缓解(EDM)问题。我们将其建模为约束优化问题并证明其 NP-hardness。为了解决这个问题,我们提出了一种名为 EDMOpti 的最佳方法,以及一种名为 EDMGame 的新型博弈论方法,以减轻边缘 DDoS 攻击。EDMGame 将 EDM 问题表述为允许纳什均衡的潜在 EDM 游戏,并采用分散算法找到纳什均衡作为 EDM 问题的解决方案。通过理论分析和实验评估,我们证明了我们的方法可以有效且高效地解决 EDM 问题。
符号介绍
s
i
s_{i}
si:第
i
i
i个服务器
m
m
m:边缘服务器的个数
r
i
r_{i}
ri:第
i
i
i个服务器收到的请求个数
π
i
\pi_{i}
πi:第
r
i
r_{i}
ri个请求所需的计算资源
n
n
n:请求个数
c
j
c_{j}
cj:表示边缘服务器
s
j
s_{j}
sj的处理能力
h
m
a
x
h_{max}
hmax:延迟约束规定的跳数的上限
a
i
a_{i}
ai:表示第
r
i
r_{i}
ri请求会被分配给哪个服务器,如
a
i
=
1
a_{i}=1
ai=1,表示第1个请求会被分配给
s
1
s_{1}
s1,如果
a
j
=
0
a_{j}=0
aj=0表示第
r
j
r_{j}
rj个请求会被丢弃。
增益模型
B
a
(
a
i
)
=
{
h
m
a
x
−
h
a
i
,
a
i
≠
0
0
,
a
i
=
0
B_{a}\left ( a_{i} \right ) =\left\{\begin{matrix}h_{max}-h_{a_{i}}, a_{i}\ne 0 \\0, a_{i}=0 \end{matrix}\right.
Ba(ai)={hmax−hai,ai=00,ai=0
第
i
i
i个请求的增益等于最大跳数(
h
m
a
x
h_{max}
hmax)减去它被分配到指定服务器的跳数(
h
a
i
h_{a_{i}}
hai)。所以,离本服务器越近增益越大。如果
a
i
=
0
a_{i}=0
ai=0,那么增益为0
损失模型
Z
a
(
a
i
)
=
{
h
a
i
,
a
i
≠
0
α
⋅
h
m
a
x
,
a
i
=
0
Z_{a}\left ( a_{i} \right ) =\left\{\begin{matrix}h_{a_{i}}, a_{i}\ne 0 \\\alpha\cdot h_{max}, a_{i}=0 \end{matrix}\right.
Za(ai)={hai,ai=0α⋅hmax,ai=0
第
i
i
i个请求的花费等于
当请求被处理(
a
i
≠
0
a_{i}\ne0
ai=0)时,花费等于
h
a
i
h_{a_{i}}
hai,
当请求不被处理(
a
i
=
0
a_{i}=0
ai=0)时,花费等于
α
⋅
h
m
a
x
\alpha \cdot h_{max}
α⋅hmax
α
\alpha
α是处罚系数,
α
\alpha
α越大丢弃的代价越大
缓解策略
α
\alpha
α所产生的总体缓解成本是通过将处理所有请求所产生的缓解成本相加来计算的:
Z
a
=
∑
i
=
1
n
Z
a
(
a
i
)
(3)
Z_{a}= \sum^{n}_{i=1}Z_{a}\left ( a_{i} \right ) \tag3
Za=i=1∑nZa(ai)(3)
优化模型
解决EDM问题的优化目标是将总体缓解成本降至最低
m
i
n
∑
i
=
1
n
Z
a
(
a
i
)
min\sum_{i=1}^{n}Z_{a}\left ( a_{i} \right )
mini=1∑nZa(ai)
subject to
a
i
∈
{
0
}
∪
{
j
∣
r
i
∈
c
o
v
(
s
j
,
r
i
)
}
,
∀
r
i
∈
R
a_{i} \in \left \{ 0 \right \} \cup \left \{ j|r_{i}\in cov\left ( s_{j},r_{i} \right ) \right \} , \forall r_{i} \in R
ai∈{0}∪{j∣ri∈cov(sj,ri)},∀ri∈R
∑
r
i
∈
R
:
a
i
=
j
π
i
k
≤
c
j
k
,
∀
k
∈
D
.
(5)
\sum_{r_{i}\in R:a_{i}=j} \pi_{i}^{k}\le c_{j}^{k}, \forall k \in D. \tag{5}
ri∈R:ai=j∑πik≤cjk,∀k∈D.(5)
约束(5)确保请求
r
i
r_{i}
ri只能由其原始边缘服务器
s
j
s_{j}
sj处理,或者在从
s
j
s_{j}
sj起的
h
m
a
x
h_{max}
hmax跳内被传输到边缘服务器,或者被丢弃。
整数规划模型EDMOpti
这是一种基于整数规划 (IP) 为 EDM 问题找到最佳解决方案的方法。
m
i
n
∑
i
=
1
n
[
h
a
i
⋅
I
a
i
+
α
⋅
h
m
a
x
⋅
(
1
−
I
a
i
)
]
min \sum_{i=1}^{n}\left [ h_{a_{i}} \cdot I_{a_{i}} + \alpha \cdot h_{max} \cdot \left ( 1-I_{a_{i}} \right ) \right ]
mini=1∑n[hai⋅Iai+α⋅hmax⋅(1−Iai)]
subject to
∑
r
i
∈
R
:
a
i
=
j
π
i
k
⋅
I
a
i
≤
c
j
k
,
∀
k
∈
D
\sum_{r_{i}\in R:a_{i}=j} \pi_{i}^{k} \cdot I_{a_{i}} \le c_{j}^{k}, \forall k \in D
ri∈R:ai=j∑πik⋅Iai≤cjk,∀k∈D
h
m
a
x
≥
h
a
i
≥
0
h_{max} \ge h_{a_{i}} \ge 0
hmax≥hai≥0
I
a
i
∈
{
0
,
1
}
,
∀
i
∈
{
1
,
.
.
.
,
n
}
,
I_{a_{i}} \in \left\{ 0,1\right\}, \forall i \in \left\{1,...,n \right\},
Iai∈{0,1},∀i∈{1,...,n},
其中
I
a
i
I_{a_{i}}
Iai是一个0-1变量
I
a
i
=
{
1
,
a
i
≠
0
0
,
a
i
=
0
I_{a_{i}}=\left\{\begin{matrix}1, a_{i} \ne 0 \\ 0, a_{i} = 0 \end{matrix}\right.
Iai={1,ai=00,ai=0
博弈论方法EDMGame
虽然EDMOpti可以找到EDM问题的最优解,但由于EDM问题的np-hardness,解决大规模问题是不切实际的。本节提出了一种名为EDMGame的博弈论方法,用于有效地寻找大规模EDM问题的次优解。
机构设计
给定一个EDMGame,其中一组请求
R
=
{
r
1
,
.
,
,
,
r
n
}
R = \left \{ r_{1},.,,,r_{n} \right \}
R={r1,.,,,rn}需要分配给一组边缘服务器
S
=
{
s
1
,
.
,
,
,
s
m
}
S = \left \{ s_{1},.,,,s_{m} \right \}
S={s1,.,,,sm},在算法中,EDMGame采用迭代过程来寻找EDMGame的纳什均衡。伪代码在算法1中给出。
它从最初的缓解策略开始(Lines 1-3)。然后,根据Eq.(3),得到当前迭代
e
(
e
=
1
,
2...
)
e \left ( e=1,2 ... \right )
e(e=1,2...)中,缓解策略在每个边缘服务器
s
j
∈
S
s_{j} \in S
sj∈S上产生的缓解成本用
a
e
a^{e}
ae表示,用Eq.(21)计算(Line 5)
ρ
a
e
(
s
j
)
≜
∑
k
=
1
d
∑
r
i
∈
R
:
a
i
=
j
h
a
i
(21)
\rho _{a^{e}}\left ( s_{j} \right ) \triangleq \sum_{k=1}^{d}\sum_{r_{i}\in R:a_{i}=j}h_{a_{i}}^{} \tag{21}
ρae(sj)≜k=1∑dri∈R:ai=j∑hai(21)
接下来,算法1迭代地选择每个请求
r
i
r_{i}
ri,并调查其效益是否可以提高(Lines 6-20)。所选请求将更新其当前分配决策为更好的分配决策
a
i
′
a_{i}'
ai′(如果有的话)(Lines 7-12)。具体而言,请求
r
i
r_{i}
ri首先计算通过设置
a
i
′
=
j
a_{i}'=j
ai′=j而产生的潜在缓解成本,即选择边缘服务器
s
j
s_{j}
sj来处理
r
i
r_{i}
ri(Line 8)。如果此选择可以降低缓解成本,则确认设置
a
i
′
=
j
a_{i}'=j
ai′=j(Lines 9-11)。计算潜在缓解成本有三种情况
ρ
a
′
(
e
)
(
s
j
)
=
{
ρ
a
e
(
s
j
)
−
∑
k
∈
D
h
a
i
,
f
o
r
s
j
=
s
a
i
ρ
a
e
(
s
j
)
+
∑
k
∈
D
h
a
i
,
f
o
r
s
j
=
s
a
i
′
ρ
a
e
(
s
j
)
,
o
t
h
e
r
w
i
s
e
\rho _{{a}^{'}\left ( e \right ) }\left ( s_{j} \right )=\left\{ \begin{matrix}\rho _{{a}^{e}}\left ( s_{j} \right ) - \sum_{k \in D}h_{a_{i}}, \ \ \ for \ s_{j}=s_{a_{i}} \\\rho _{{a}^{e}}\left ( s_{j} \right ) + \sum_{k \in D}h_{a_{i}}, \ \ \ for \ s_{j}=s_{a_{i}^{'}} \\\rho _{{a}^{e}}\left ( s_{j} \right ) , \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ otherwise \end{matrix}\right.
ρa′(e)(sj)=⎩
⎨
⎧ρae(sj)−∑k∈Dhai, for sj=saiρae(sj)+∑k∈Dhai, for sj=sai′ρae(sj), otherwise
迭代之后,将找到导致缓解成本最低的请求
r
i
r_{i}
ri的最佳策略
a
i
′
a_{i}'
ai′
如果
a
i
′
≠
a
i
a_{i}' \ne a_{i}
ai′=ai,则将
a
i
′
a_{i}'
ai′发送给游戏中争夺决策更新的其他玩家(Lines 15-16)。如果有多个这样的分配决策,则随机选择其中一个来发送。在每次迭代中,只更新一次分配决策。它可以以集中或分散的方式确定。前者可以通过连接到区域中所有边缘服务器的宏站来实现,后者可以通过边缘服务器或宏基站之间的消息同步来实现。
无论哪种方式,每次迭代(Lines 4-20)中的计算都是由边缘服务器或宏站并行执行的,用于单个请求。该算法迭代直到找到纳什均衡,即对于任何请求都找不到更好的分配决策来进一步降低总体缓解成本。他们的个人分配决策构成了最终的缓解策略,作为EDM问题的解决方案。
该算法在二次时间内收敛。