Paper Reading【3】:Crowd Vetting: Rejecting Adversaries via Collaboration with Application to Multi-Robot Flocking论文阅读
Abstract
多机器人网络协调的一个重要方面是对接收到的信息正确与否的判断。在网络中,恶意机器人可以通过生成多个虚假身份来向其它机器人传输信息,所以这些恶意机器人就可以通过向团队提供不正确的信息来欺骗整个机器人团队。这篇论文中提出了一种方法用于确定网络中哪些机器人是恶意的,哪些机器人是可以信任的,它的核心是将邻居的“观点(opinion)”
也考虑进去。
作者开发了两种算法,"FindSpoofedRobots"
能够以高概率确定可信任的邻居,"FindResilientAdjacencyMatrix"
支持在对抗性设置中对“图属性(e.g. 邻居间的信任关系和邻接矩阵等,并将其应用于多机器人的群集和跟踪)”
进行分布式计算。
作者将他们的方法应用到“群体问题(flocking problem)”
中,即一组机器人必须在有对抗机器人存在的情况下跟踪一个移动目标。实验表明,采用本文提出的算法,机器人团队能够保持对动态目标的跟踪能力。
1 Introduction
本文研究了在对手/恶意机器人存在的情况下计算图属性的问题,并将其用于“多机器人集群(multi-robot flocking)和跟踪(tracking)”
。
在分布式机器人团队中,所有的成员根据它们从环境和其它成员处收集到的信息做明智的决定。当收集到的所有信息都是准确的,这个决策会得到很好的结果,但是系统中的错误信息能够很快地扰乱团队。
许多工作都在研究如何将好的信息从坏的信息中分离出来,以便在面对恶意或损坏的数据时恢复系统功能。然而,这些方法需要网络潜在的知识去保证良好信息的正确传播,以抵制错误信息的消极影响。有了网络的一些现成的潜在知识,弹性较差的网络甚至可以被驱动到弹性更强的拓扑结构中去。然而,在分布式系统中,底层网络属性不容易访问,必须进行估计。具有讽刺意味的是,这种评估过程非常容易受到来自对手的错误信息的影响,而上述工作旨在防止这些错误信息。因此,在存在对抗影响的情况下估计网络属性,从而在分布式多机器人协调中获得真正的弹性,是一个非常具有挑战性的问题。
理想情况下,我们可以了解哪些机器人正在传输可靠的数据,而不需要所有机器人进行合作。通过这种方式,每个机器人都可以了解它们的邻居中哪个子集是真正值得信任的,因此可以计算出精确的局部图属性,然后只与它们的可信邻居共享这些图属性,从而构建对图属性的全局理解, e . g . e.g. e.g. 真正的邻接矩阵。
在社交网络中,持有不同观点的个体在交换信息之后,最终可以达成一致。这是一个强大的工具,可以汇聚网络真正的潜在图结构的全局理解, i . e . i.e. i.e. 谁可以值得信任谁不可以值得信任。这也是本论文的目标。
在交换信息后达成协议。这是一个强大的工具,可以汇聚对网络真正的底层图结构的全局理解,即谁是值得信任的,谁是不值得信任的。这就是本文的目标。
本文我们关注在“Sybil攻击”
下的协调问题,恶意机器人可以在唯一
I
D
s
(
i
.
e
.
s
p
a
w
n
r
o
b
o
t
s
i
n
t
h
e
n
e
t
w
o
r
k
)
IDs\ (i.e.\ spawn robots in the network)
IDs (i.e. spawnrobotsinthenetwork) 下通过网络传输信息,以不成比例地影响协调结果。我们将这些“衍生的传输(spawned transmissions)”
称为““欺骗”机器人(spoofed robots)”
,我们将合作机器人称为“合法机器人(legitimate)”
。
![](https://i-blog.csdnimg.cn/blog_migrate/a4e70d3642bef2a450934bcbf2044aa9.png)
作者假设通过观察他们的通信签名能够检测"spoofed"
和"spawning robots"
。具体来说,将通信签名建模为随机变量
X
j
t
∈
[
0
,
1
]
X_j^t\in[0,1]
Xjt∈[0,1],其中接近
1
1
1 的值在时间
t
t
t 来自机器人
j
j
j 的真实通信,接近
0
0
0 的值表示虚假传输。本文的算法"FindSpoofedRobots"
有三个关键部分:
S
t
e
p
1
Step\ 1
Step 1 所有的机器人都会广播一些消息。基于签名
(
X
j
t
(
i
)
)
(X_j^t(i))
(Xjt(i)) ,每个机器人
i
i
i ,建立一个“临时信任向量(interim trust vector)”
——它倾向于信任其他机器人中的哪个。
S t e p 2 Step\ 2 Step 2 每个机器人向它的邻居分享自己的临时信任向量。
S
t
e
p
3
Step\ 3
Step 3 每个机器人
i
i
i 通过下面步骤建立一个“最终的向量(final trust)”
。对它的每个邻居,机器人
i
i
i 使用
S
t
e
p
2
Step\ 2
Step 2 中得到的临时信任向量以确定机器人
i
i
i 是否信任邻居
j
j
j 。这是通过在机器人
i
i
i 信任的邻居
k
k
k 同时也是机器人
j
j
j 的邻居中进行多数投票来完成的。本文的结果如下:
- 作者证明了所需
“轮数(number of rounds)”
的上界和下界。“一轮为所有机器人与邻居同步通信的一跳通信时间(A round is the 1-hop communication time for all robots to synchronously communicate with their neighbors.)”
。与之前的工作相比较,作者提出的算法在许多情况下通过利用邻居的“观点(opinion)”
显著提高了效率。特别地,在某些情况下,“被欺骗的机器人(spoofed robots)”
和“合法的机器人(legitimate robots)”
之间的比例是固定的,比如 10 10 10 比 1 1 1 ,我们需要的轮数是一个与机器人数量无关的小的常数。相比之下,我们发现不与邻居,也就是其它机器人的信任向量进行协商的方法需要若干轮,并且轮数取决于机器人总数量 n n n。 - 作者进一步证明了它他们的算法如何作为一个
“黑盒(black-box)”
去渲染任何多机器人算法用以对抗可检测的对手。特别地,作者展示了如何使用算法计算全局邻接矩阵以及“目标跟踪(target tracking)”
。在跟踪移动目标的高度动态测试场景中,所需的通信回合的边界是至关重要的。 - 最后,作者提供了广泛的理论分析与仿真研究去支持论文中提出的观点。
2 Related Work
本文中认为“对手(adversaries)”
是任何不与团队团队其它成员合作更新规则或向其它机器人提供错误信息的机器人。
本文研究了一个在“敌对(非合作,non-cooperative)代理(agents)和错误信息(misinformation)”
存在的情况下理解真实的图的基本属性的全局的构造问题。
使用
S
A
R
SAR
SAR 来收集客户端指纹,利用峰值位置的信噪比测量其方差,并获得关于信号完整性的置信度。我们将其称为“对其他机器人可信度的观察(observations of the trustworthiness of other robots)”
,可以用来形成对网络中其它机器人运行合法性的““意见”(opinion)”
。
本文进一步深入这一思想,并且使用可信任邻居的“意见(opinion)”
增强对恶意机器人的拒绝,同时在网络中更加快速地达到信任共识。
向邻居寻求帮助的想法是受到社交网络中的“意见动态(opinion dynamics)”
的启发。对社会网络中“观点动态(opinion dynamics)”
的研究表明,即使是在持不同观点的个体之间开始,“社会学习(social learning)”
可以帮助引导群体达成一致。假设个体可以对系统中机器人的合法性产生类似的观点,那么群体就可以有效地聚合信息并拒绝“错误的信念(incorrect beliefs)”
。本文采用了“基于群体控制的方法(flocking-based swarm control)”
,其灵感来自于自然群体的行为,
e
.
g
.
e.g.
e.g. 鸟群或鱼群。在群体控制中,每个机器人需要满足三个主要目标:避碰(collision avoidance)、速度匹配(velocity matching)和群体定心(flock centering)。通过满足这些目标,群体自然地保持均匀的间隔,但仍然密集,作为一个整体移动,并具有跟踪“参考物(references)”
的能力,这有利于目标跟踪。
3 Problem Formulation
此部分为问题的数学表达形式。
D
e
f
i
n
i
t
i
o
n
1
(
S
p
a
w
n
i
n
g
A
d
v
e
r
a
s
r
y
)
Definition\ 1\ \ \ (Spawning\ Adverasry)
Definition 1 (Spawning Adverasry) A robot is considered a spawning adversary, if it is spawning other robots,
i
.
e
.
i. e.
i.e., broadcasting messages into the system under several unique identities.
("Spawning Adversary"
: 能够产生其它机器人的机器人,即以几个唯一身份向系统广播信息)。
D
e
f
i
n
i
t
i
o
n
2
(
S
p
o
o
f
e
d
R
o
b
o
t
)
Definition\ 2\ \ \ (Spoofed\ Robot)
Definition 2 (Spoofed Robot) A robot is considered a spoofed robot, if it is spawned, and is influencing the system under a fake (but unique) identity.
("Spoofed Robot"
: 被产生的机器人,并以一个虚假但唯一的身份影响系统)。
D
e
f
i
n
i
t
i
o
n
3
(
H
i
d
d
e
n
A
d
v
e
r
a
s
r
y
)
Definition\ 3\ \ \ (Hidden\ Adverasry)
Definition 3 (Hidden Adverasry) A robot is considered a hidden adversary, if it does not spawn any spoofed robots. Since they do not spawn any robots, their message appear to be trustworthy using our model of observations over the network. However, they can relay incorrect or random trust vectors as a way to inject more noise into the system and try to sway the trust of others away from the truth.
("Hidden Robot"
: 不产生任何"spoofed robot"
。因为该机器人不产生任何"spoofed robot"
,因此使用我们的网络观察模型,它们的消息似乎是可信的。然而,他们可以通过传递错误的或随机的信任向量,向系统中注入更多的噪音,并试图动摇其它机器人对真相的信任)。
u
i
r
e
f
u_i^{ref}
uiref 项用于驱动每一个机器人向目标的方向移动,
u
i
a
v
o
i
d
u_i^{avoid}
uiavoid 项体现机器人之间的“避免碰撞(collision avoidance)”
,并鼓励机器人形成围绕被追踪目标中心的均匀间距。
![](https://i-blog.csdnimg.cn/blog_migrate/44a2b4efca8687bc6b9ab246d43a1081.png)
4 Algorithm
本节中,我们将描述"FindSpoofedRobots"
算法,该算法返回机器人的收敛信任向量。"FindSpoofedRobots"
的伪代码表示如下
A
l
g
o
r
i
t
h
m
1
Algorithm\ 1
Algorithm 1 所示。
![](https://i-blog.csdnimg.cn/blog_migrate/6ef56c5b56625dd5da34e731fa19b91b.png)
每个机器人
i
i
i 都执行相同的算法,有以下两部分组成。在第一部分(Algorithm 1 lines1 and 2),如果机器人
i
i
i 信任
j
j
j ,则第
j
j
j 项为
1
1
1,如果机器人
i
i
i 不信任
i
i
i ,则第
j
j
j项为
0
0
0,如果它们没有连接,则为“
−
-
−”。为了让机器人
i
i
i 建立是否信任机器人
j
j
j,每个机器人广播
r
r
r 条消息。为了确定机器人
i
i
i 是否信任机器人
j
j
j,
i
i
i 只需要将所有
r
r
r 轮的
X
j
t
(
i
)
X_j^t(i)
Xjt(i)相加。在第二部分(Algorithm 1 lines 3-6),机器人与它信任的邻居分享它的临时信任向量。基于此,每个机器人
i
i
i 通过查看其周围的所有其它机器人
k
k
k 及其第一部分(临时信任向量)的信任评估,最终评估是否应该信任所讨论的机器人
j
j
j。最终评估的结果被总结为"最终信任向量(final trust vector)"
。
5 Theoretical Analysis
"FindSpoofedRobots"
算法的具有以下理想属性:
i
.
e
.
i.e.
i.e.,
- 机器人可以收敛到网络中其它机器人可以信任的
“全局观点(global opinion)”
。 - 这种收敛发生在我们描述的有限的轮 r ∗ r^* r∗中。
- 收敛信任向量能够准确识别出
“被欺骗(spoofed)和生成(spawning)的恶意机器人(malicious robots)”
,其概率至少为 1 − δ 1-\delta 1−δ,且取决于“轮数(number of rounds)”
r r r 和观测质量 X i j ( t ) X_i^j(t) Xij(t) 等参数。
6 Estimating Graph Properties In Adversarial Settings
在一个分布式系统中决定一个全局的属性需要网络中所有机器人的协调合作,这就使得机器人网络特别容易被攻击。即使有全局的信息,即不需要分布式计算的“全连通图(fully connected graph)”
,在不可靠网络中计算邻接矩阵也是一个困难的问题。在"Sybil Attack"
中,网络中的一些机器人被欺骗,仅仅检查每个机器人的邻居,而不考虑哪些机器人是值得信任的,可能会给执行分布式估计的机器人一种虚假的安全感。 考虑下面这个简单的例子:
![](https://i-blog.csdnimg.cn/blog_migrate/2b617278253733b91355bd044bd2ec1f.png)
在 f i g u r e 4 figure4 figure4 中, 12 12 12 个机器人错误地认为它们的网络实际上是由 14 14 14 个机器人组成的。从机器人 4 4 4 到机器人 1 1 1 有 3 3 3 条路径 ( 4 → 3 → 2 → 1 ; 4 → 13 → 12 → 1 ; 9 → 10 → 11 → 1 ) (4\rightarrow3\rightarrow2\rightarrow1;\ 4\rightarrow13\rightarrow12\rightarrow1;\ 9\rightarrow10\rightarrow11\rightarrow1) (4→3→2→1; 4→13→12→1; 9→10→11→1) 使用网络的不相交子集。这意味着机器人 1 1 1 可以在有一个对手时计算系统初始值的任何函数。然而,这种安全感是由两个被欺骗的机器人创造的,机器人 13 13 13 和 14 14 14 ,而这实际上在实践中是失败的。
将
2
2
2 个被欺骗机器人从网络中移除,考虑有
12
12
12 个机器人的实际网络,如图
f
i
g
u
r
e
5
figure5
figure5 所示,现在从机器人
4
4
4 到机器人
1
1
1 有
2
2
2 条路径
(
4
→
3
→
2
→
1
;
4
→
13
→
12
→
1
;
9
→
10
→
11
→
1
)
(4\rightarrow3\rightarrow2\rightarrow1;\ 4\rightarrow13\rightarrow12\rightarrow1;\ 9\rightarrow10\rightarrow11\rightarrow1)
(4→3→2→1; 4→13→12→1; 9→10→11→1) 使用网络的不相交子集,这意味着机器人
1
1
1 不能在有一个对手时计算系统初始值的任何函数。
f
i
g
u
r
e
6
figure6
figure6展示了“欺骗(spoofing)”
(Sybil Attack)如何对系统的攻击很容易导致一种错误的安全感,在这种情况下,网络中恶意机器人的存在会假定图的代数连通性更高。
![](https://i-blog.csdnimg.cn/blog_migrate/28a51e93ea3507b6c658c288a791e601.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0497d7985f3253b4ddb6094859780669.png)
如
f
i
g
u
r
e
6
figure6
figure6 所示,“Sybil攻击”
可以通过在图中创造“一种虚假的安全感(a false sense of security)”
来限制“弹性能力(resilience capabilities)”
。下面我们将使用在前面通过"FindSpoofedRobots"
导出的信任向量,在出现“高概率的Sybil攻击”
时恢复真实的图属性。
An Algorithm for finding Resilient Graph Properties(一种寻找弹性图属性的算法):
在本节中,作者开发了一种新的算法,允许机器人利用"FindSpoofedRobots"
提供的可信网络,即使在存在恶意的不合作机器人网络中,仍然以分布式的方式高概率地确定图的“真实邻接矩阵(true adjacency matrix)”
。
确定网络的全局属性,
e
.
g
.
e.g.
e.g., 能表示所有机器人之间连通性的“权值矩阵(weight matrix)”
或“邻接矩阵(adjacency matrix)”
。然而,在分布式系统中确定全局属性需要网络中所有机器人的协作和合作,因此它很容易受到对手的攻击。即使有全局信息,即不需要分布式计算的全连通图,在不可靠网络中计算邻接矩阵也是一个困难的问题。利用"FindSpoofedRobots"
算法,机器人可以在Sybil攻击存在时分布地确定一致性系统的正确邻接矩阵,这可以通过一种新的算法来实现,即"FindResilientAdjacencyMatrix(FRAM)"
,如
f
i
g
u
r
e
7
figure7
figure7 所示:
![](https://i-blog.csdnimg.cn/blog_migrate/0bbda9ae57b80b3512a8497483fec743.png)
下面通过一个简单的算例说明"FRAM"
算法。考虑
f
i
g
u
r
e
7
figure7
figure7 中的系统,假设图是无向的,并且没有“对手(adversaries)”
,邻接矩阵为:
g
=
[
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
0
0
1
]
g=\left [\begin{matrix} 1 & 0 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 0 \\ 1 & 0 & 1 & 1 & 0 \\ 0 & 1 & 0 & 0 & 1 \end{matrix}\right ]
g=
1011001101011101011001001
![](https://i-blog.csdnimg.cn/blog_migrate/91563c93ad70b79424d3b6850accff1d.png)
使用
F
R
A
M
FRAM
FRAM 算法,每个机器人将广播给它的邻居,并计算一个信任向量:
v
1
∗
=
[
1
−
1
1
−
]
,
v
2
∗
=
[
−
1
1
−
1
]
v
3
∗
=
[
1
1
1
1
−
]
,
v
4
∗
=
[
1
−
1
1
−
]
v
5
∗
=
[
−
1
−
−
1
]
,
v_1^*=\left [\begin{matrix} 1 & - & 1 & 1 & - \end{matrix}\right ],\ v_2^*=\left [\begin{matrix}- & 1 & 1 & - & 1 \end{matrix}\right ]\\ v_3^*=\left [\begin{matrix} 1 & 1 & 1 & 1 & - \end{matrix}\right ],\ v_4^*=\left [\begin{matrix} 1 & - & 1 & 1 & - \end{matrix}\right ]\\ v_5^*=\left [\begin{matrix}- & 1 & - & - & 1 \end{matrix}\right ],
v1∗=[1−11−], v2∗=[−11−1]v3∗=[1111−], v4∗=[1−11−]v5∗=[−1−−1],
其中, “ − " “-" “−" 表示没有信息,因为该机器人不能与所有其它机器人通信。计算出信任向量后,每个机器人向它的邻居广播自己的向量 v i ∗ v_i^* vi∗,使每个机器人 i i i 形成矩阵 V i ∗ V_i^* Vi∗ 。为了简洁起见,这里只显示了 V 1 ∗ V_1^* V1∗:
V 1 ∗ = [ 1 − 1 1 − − − − − − 1 1 1 1 − 1 − 1 1 − − − − − − ] V_1^*=\left [\begin{matrix} 1 & - & 1 & 1 & - \\- & - & - & - & - \\1 & 1 & 1 & 1 & - \\1 & - & 1 & 1 & - \\- & - & - & - & - \end{matrix}\right ] V1∗= 1−11−−−1−−1−11−1−11−−−−−−
机器人 1 1 1 仍然没有关于机器人 2 2 2 或机器人 5 5 5 的信息,但是可以注意到矩阵 V i ∗ V_i^* Vi∗ 的行 1 , 3 1,\ 3 1, 3 ,和 4 4 4 正好是矩阵 g g g 的行 1 , 3 , 4 1,\ 3,\ 4 1, 3, 4 。(将这些行中的 “ − ” “-” “−” 替换为 0 0 0,这将在下一步发生)。需要注意的是,由于图是充分连通的,即机器人 2 2 2 从机器人 5 5 5 收集信息,机器人 3 3 3 从机器人 2 2 2 收集信息。即经过几次迭代,机器人 1 1 1 可以访问向量 v 2 ∗ v_2^* v2∗ 和 v 5 ∗ v_5^* v5∗ ,并得到最终矩阵 V 1 ∗ = g V_1^*=g V1∗=g 。所有其它机器人也可以遵循同样的过程来确定它们的最终矩阵 V i ∗ = g V_i^*=g Vi∗=g。
7 Resilient Flocking And Dynamic Tracking
在本节中,将前几节的研究成果应用到“多机器人群集(multi-robot flocking)”
问题上。机器人团队的任务是安排和跟踪“一个试图逃跑的移动目标(a moving target that is trying to escape)”
。根据“群体控制律(flocking control law)”
,只要机器人团队能够以至少与目标相同的速度移动,目标通常就无法逃脱。存在恶意攻击时,对手试图将合法的机器人推离目标并扰乱“群体控制(flocking control)”
。
A . \mathcal{A}. A.Characterization of the Threat on Flocking Control
如果系统信任机器人传递的信息,恶意机器人就能够攻击和影响系统。为了迫使机器人群体失败,并让目标逃脱,恶意机器人必须工作,以战略地将合法机器人驱逐出“收敛范围(Convergence Range)”
。
在目标跟踪的情况下,最好的攻击方式是迫使机器人群体向目标移动的相反方向移动。同理,对于恶意机器人来说,为了对合法机器人产生最大影响,它应该在队列中占据一个“空间(space)”
,有效地促进合法机器人移动到队列中远离被跟踪目标的位置。
![](https://i-blog.csdnimg.cn/blog_migrate/dac281e2bcfb4a8a7161cff0a09673d0.png)
如 f i g u r e 9 figure9 figure9 所示,红色区域描述了对抗性攻击对机器人实际位置与期望位置的影响。在红色的 “ x ” “x” “x” 点,机器人群体离目标足够远,目标就逃脱了。
B . \mathcal{B}. B.Resilient Controller
“网络弹性(cyber resilience)”
也称为“运维弹性(operational resilience)”
是指网络在遇到灾难事件时快速恢复和继续运行的能力。灾难事件的范畴很广泛,比如长时间停电、网络设备故障、恶意入侵和技术新人不小心在服务器上洒了咖啡等等。当我们在处理一些可能导致系统和公司业务崩溃且完全未知的运营变数时,网络弹性可以保持网络的正常运行。简单来说,网络弹性指的是衡量一个组织在遭受数据泄露或网络攻击期间,保持其业务正常运营能力的指标。
![](https://i-blog.csdnimg.cn/blog_migrate/a9d3401a051664093550230d7d9487e0.png)
8 Simulation Results
这一部分,作者将"FindSpoofedRobots"
与之前工作中的“基线欺骗弹性算法(the Baseline spoof resiliency algorithm)”
进行比较,以测试其有效性。
9 Conclusion
本文提出了一种新的“信任算法(trust algorithm)”
,利用“邻居的意见(opinion)”
加强对合法和对抗性机器人“真集(true set)”
的收敛。作者根据“多机器人网络的大小、威胁的大小和收集的信息的质量(the size of rhe multi-robot network, the size of the threat, and the quality of information gathered)”
,制定了理论的以“轮(rounds)”
为单位的收敛时间。通过一个多机器人群体和动态目标跟踪的实例,说明了算法的实用性。并与文献中已有的解进行了比较,讨论了算法的相关性。进一步推导了群跟踪目标的收敛性要求。仿真结果表明了算法的有效性和对多机器人网络抗攻击能力的重要性。
Reference
[1] 网络弹性,物联网设备安全的新趋势应用方案.
[2] 百度百科:弹性网络.
[3] Crowd Vetting: Rejecting Adversaries via Collaboration with Application toMulti-Robot Flocking.