summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8116.txt
blob: c79a4cc7405cc3024edba9ac589fffb2b32cd009 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
Internet Engineering Task Force (IETF)                        T. Clausen
Request for Comments: 8116
Category: Informational                                       U. Herberg
ISSN: 2070-1721
                                                                   J. Yi
                                                     Ecole Polytechnique
                                                                May 2017


                        Security Threats to the
        Optimized Link State Routing Protocol Version 2 (OLSRv2)

Abstract

   This document analyzes common security threats to the Optimized Link
   State Routing Protocol version 2 (OLSRv2) and describes their
   potential impacts on Mobile Ad Hoc Network (MANET) operations.  It
   also analyzes which of these security vulnerabilities can be
   mitigated when using the mandatory-to-implement security mechanisms
   for OLSRv2 and how the vulnerabilities are mitigated.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc8116.















Clausen, et al.               Informational                     [Page 1]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





































Clausen, et al.               Informational                     [Page 2]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  OLSRv2 Overview . . . . . . . . . . . . . . . . . . . . .   5
       1.1.1.  Neighborhood Discovery  . . . . . . . . . . . . . . .   5
       1.1.2.  MPR Selection . . . . . . . . . . . . . . . . . . . .   6
       1.1.3.  Link State Advertisement  . . . . . . . . . . . . . .   6
     1.2.  Link State Vulnerability Taxonomy . . . . . . . . . . . .   6
     1.3.  OLSRv2 Attack Vectors . . . . . . . . . . . . . . . . . .   7
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   7
   3.  Topology Map Acquisition  . . . . . . . . . . . . . . . . . .   7
     3.1.  Attack on Jittering . . . . . . . . . . . . . . . . . . .   8
     3.2.  Hop Count and Hop Limit Attacks . . . . . . . . . . . . .   8
       3.2.1.  Modifying the Hop Limit . . . . . . . . . . . . . . .   8
       3.2.2.  Modifying the Hop Count . . . . . . . . . . . . . . .   9
   4.  Effective Topology  . . . . . . . . . . . . . . . . . . . . .  10
     4.1.  Incorrect Forwarding  . . . . . . . . . . . . . . . . . .  10
     4.2.  Wormholes . . . . . . . . . . . . . . . . . . . . . . . .  11
     4.3.  Sequence Number Attacks . . . . . . . . . . . . . . . . .  12
       4.3.1.  Message Sequence Number . . . . . . . . . . . . . . .  12
       4.3.2.  Advertised Neighbor Sequence Number (ANSN)  . . . . .  12
     4.4.  Indirect Jamming  . . . . . . . . . . . . . . . . . . . .  12
   5.  Inconsistent Topology . . . . . . . . . . . . . . . . . . . .  15
     5.1.  Identity Spoofing . . . . . . . . . . . . . . . . . . . .  15
     5.2.  Link Spoofing . . . . . . . . . . . . . . . . . . . . . .  17
       5.2.1.  Inconsistent Topology Maps Due to Link State
               Advertisements  . . . . . . . . . . . . . . . . . . .  18
   6.  Mitigation of Security Vulnerabilities for OLSRv2 . . . . . .  19
     6.1.  Inherent OLSRv2 Resilience  . . . . . . . . . . . . . . .  19
     6.2.  Resilience by Using RFC 7183 with OLSRv2  . . . . . . . .  20
       6.2.1.  Topology Map Acquisition  . . . . . . . . . . . . . .  21
       6.2.2.  Effective Topology  . . . . . . . . . . . . . . . . .  21
       6.2.3.  Inconsistent Topology . . . . . . . . . . . . . . . .  22
     6.3.  Correct Deployment  . . . . . . . . . . . . . . . . . . .  22
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  22
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  23
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  23
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  23
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  26












Clausen, et al.               Informational                     [Page 3]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


1.  Introduction

   The Optimized Link State Routing Protocol version 2 (OLSRv2)
   [RFC7181] is a successor to OLSR [RFC3626] as a routing protocol for
   Mobile Ad Hoc Networks (MANETs).  OLSRv2 retains the same basic
   algorithms as its predecessor; however, it offers various
   improvements, e.g., a modular and flexible architecture allowing
   extensions (such as for security) to be developed as add-ons to the
   basic protocol.  Such building blocks and modules include [RFC5148],
   [RFC5444], [RFC5497], [RFC6130], [RFC7182], [RFC7183], [RFC7187],
   [RFC7188], [RFC7466], etc.

   The developments reflected in OLSRv2 have been motivated by increased
   real-world deployment experiences, e.g., from networks such as
   FunkFeuer [FUNKFEUER], and the requirements to be addressed for
   continued successful operation of these networks.  With participation
   in such networks increasing (the FunkFeuer community network has,
   e.g., roughly 400 individual participants at the time of publication
   of this document), operating under the assumption that participants
   can be "trusted" to behave in a non-destructive way, is naive.  With
   deployment in the wider Internet, and a resultant increase in user
   numbers, an increase in attacks and abuses has followed necessitating
   a change in recommended practices.  For example, SMTP servers, which
   were initially available for use by everyone on the Internet, require
   authentication and accounting for users today [RFC5068].

   As OLSRv2 is often used in wireless environments, it is potentially
   exposed to different kinds of security threats, some of which are of
   greater significance when compared to wired networks.  As radio
   signals can be received as well as transmitted by any compatible
   wireless device within radio range, there are commonly no physical
   constraints on the conformation of nodes and communication links that
   make up the network (as could be expected for wired networks).

   A first step towards hardening against attacks disrupting the
   connectivity of a network is to understand the vulnerabilities of the
   routing protocol managing the connectivity.  Therefore, this document
   analyzes OLSRv2 in order to understand its inherent vulnerabilities
   and resilience.  The authors do not claim completeness of the
   analysis but hope that the identified attacks, as presented, form a
   meaningful starting point for developing and deploying increasingly
   well-secured OLSRv2 networks.

   This document describes security vulnerabilities of OLSRv2 when it is
   used without the mandatory-to-implement security mechanisms, as
   specified in Section 23.5 of [RFC7181].  It also analyzes which of
   these security vulnerabilities can be mitigated when using the
   mandatory-to-implement security mechanisms for OLSRv2 and how the



Clausen, et al.               Informational                     [Page 4]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   vulnerabilities are mitigated.  This separation is important since,
   as explicitly stated in [RFC7181]:

      Any deployment of OLSRv2 SHOULD use the security mechanism
      specified in [RFC7183] but MAY use another mechanism if more
      appropriate in an OLSRv2 deployment.  For example, for longer-term
      OLSRv2 deployments, alternative security mechanisms (e.g.,
      rekeying) SHOULD be considered.

   Moreover, this document is also based on the assumption that no
   additional security mechanism such as IPsec is used in the IP layer,
   or other mechanisms on lower layers, as not all MANET deployments may
   be able to accommodate such common protection mechanisms (e.g.,
   because of limited resources of MANET routers).

   As NHDP is a fundamental component of OLSRv2, the vulnerabilities of
   NHDP, discussed in [RFC7186], also apply to OLSRv2.

   It should be noted that many OLSRv2 implementations are configurable,
   and so an attack on the configuration system (such as [RFC7939] and
   [RFC7184]) can be used to adversely affect the operation of an OLSRv2
   implementation.

1.1.  OLSRv2 Overview

   OLSRv2 contains three basic processes: neighborhood discovery,
   Multipoint Relay (MPR) selection, and Link State Advertisements
   (LSAs).  They are described in the sections below with sufficient
   details to allow elaboration of the analyses in this document.

1.1.1.  Neighborhood Discovery

   Neighborhood discovery is the process whereby each router discovers
   the routers that are in direct communication range of itself (1-hop
   neighbors) and detects with which of these it can establish
   bidirectional communication.  Each router sends HELLO messages
   periodically, listing the identifiers of all the routers from which
   it has recently received a HELLO message as well as the "status" of
   the link (heard or verified bidirectional).  A router A receiving a
   HELLO message from a neighbor router B, in which B indicates it has
   recently received a HELLO message from A, considers the link A-B to
   be bidirectional.  As B lists identifiers of all its neighbors in its
   HELLO message, A learns the "neighbors of its neighbors" (2-hop
   neighbors) through this process.  HELLO messages are sent
   periodically; however, certain events may trigger non-periodic
   HELLOs.  OLSRv2 [RFC7181] uses NHDP [RFC6130] as its neighborhood
   discovery mechanism.  The vulnerabilities of NHDP are analyzed in
   [RFC7186].



Clausen, et al.               Informational                     [Page 5]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


1.1.2.  MPR Selection

   Multipoint Relay (MPR) selection is the process whereby each router
   is able to identify a set of relays for efficiently conducting
   network-wide broadcasts.  Each router designates, from among its
   bidirectional neighbors, a subset (the "MPR set") such that an
   OLSRv2-specific multicast message transmitted by the router and
   relayed by the MPR set can be received by all its 2-hop neighbors.
   MPR selection is encoded in outgoing NHDP HELLO messages.

   In their HELLO messages, routers may express their "willingness" to
   be selected as an MPR using an integer between 0 and 7 ("will never"
   to "will always").  This is taken into consideration for the MPR
   calculation and is useful, for example, when an OLSRv2 network is
   "planned".  The set of routers having selected a given router as an
   MPR is the MPR selector set of that router.  A study of the MPR
   flooding algorithm can be found in [MPR-FLOODING].

1.1.3.  Link State Advertisement

   Link State Advertisement (LSA) is the process whereby routers
   determine which link state information to advertise through the
   network.  Each router must advertise, at least, all links between
   itself and its MPR selectors in order to allow all routers to
   calculate shortest paths.  Such LSAs are carried in Topology Control
   (TC) messages, which are broadcast through the network using the MPR
   flooding process described in Section 1.1.2.  As a router selects
   MPRs only from among bidirectional neighbors, links advertised in TC
   are also bidirectional and routing paths calculated by OLSRv2 contain
   only bidirectional links.  TCs are sent periodically; however,
   certain events may trigger non-periodic TCs.

1.2.  Link State Vulnerability Taxonomy

   Proper functioning of OLSRv2 assumes that:

   o  each router signals its presence in the network and the topology
      information that it obtained correctly;

   o  each router can acquire and maintain a topology map that
      accurately reflects the effective network topology; and,

   o  that the network converges, i.e., that all routers in the network
      will have sufficiently identical topology maps.

   An OLSRv2 network can be disrupted by breaking any of these
   assumptions, specifically that (a) routers may be prevented from
   acquiring a topology map of the network, (b) routers may acquire a



Clausen, et al.               Informational                     [Page 6]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   topology map that does not reflect the effective network topology,
   and (c) two or more routers may acquire inconsistent topology maps.

1.3.  OLSRv2 Attack Vectors

   Besides "radio jamming", attacks on OLSRv2 consist of a compromised
   OLSRv2 router injecting apparently correct, but invalid, control
   traffic (TCs, HELLOs) into the network.  A compromised OLSRv2 router
   can either (a) advertise erroneous information about itself (its
   identification and its willingness to serve as an MPR), henceforth
   called identity spoofing, or (b) advertise erroneous information
   about its relationship to other routers (pretend existence of links
   to other routers), henceforth called link spoofing.  Such attacks may
   disrupt the LSA process by targeting the MPR flooding mechanism or by
   causing incorrect link state information to be included in TCs,
   causing routers to have incomplete, inaccurate, or inconsistent
   topology maps.  In a different class of attacks, a compromised OLSRv2
   router injects control traffic designed so as to cause an in-router
   resource exhaustion, e.g., by causing the algorithms calculating
   routing tables or MPR sets to be invoked continuously, preventing the
   internal state of a router from converging, which depletes the energy
   of battery-driven routers, etc.

2.  Terminology

   This document uses the terminology and notation defined in [RFC5444],
   [RFC6130], and [RFC7181].  Additionally, it defines the following
   terminology:

   Compromised OLSRv2 router:  An attacker that eavesdrops on the
      network traffic and/or generates syntactically correct OLSRv2
      control messages.  Control messages emitted by a compromised
      OLSRv2 router may contain additional information or omit
      information, as compared to a control message generated by a non-
      compromised OLSRv2 router located in the same topological position
      in the network.

   Legitimate OLSRv2 router:  An OLSRv2 router that is not a compromised
      OLSRv2 router.

3.  Topology Map Acquisition

   Topology Map Acquisition relates to the ability for any given router
   in the network to acquire a representation of the network
   connectivity.  A router that is unable to acquire a topology map is
   incapable of calculating routing paths and participating in
   forwarding data.  Topology map acquisition can be hindered by (i) TCs




Clausen, et al.               Informational                     [Page 7]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   not being delivered to (all) routers in the network, such as what
   happens in case of flooding disruption, or (ii) in case of "jamming"
   of the communication channel.

   The jamming and flooding disruption due to identity spoofing and link
   spoofing have been discussed in [RFC7186].

3.1.  Attack on Jittering

   OLSRv2 incorporates a jittering mechanism: a random, but bounded,
   delay on outgoing control traffic [RFC5148].  This may be necessary
   when link layers (such as 802.11 [IEEE802.11]) are used that do not
   guarantee collision-free delivery of frames and where jitter can
   reduce the probability of collisions of frames on lower layers.

   In OLSRv2, TC forwarding is jittered by a value between 0 and
   MAX_JITTER.  In order to reduce the number of transmissions, when a
   control message is due for transmission, OLSRv2 piggybacks all queued
   messages into a single transmission.  Thus, if a compromised OLSRv2
   router sends many TCs within a very short time interval, the jitter
   time of the attacked router tends towards 0.  This renders jittering
   ineffective and can lead to collisions on the link layer.

   In addition to causing more collisions, forwarding a TC with little
   or no jittering can make sure that the TC message forwarded by a
   compromised router arrives before the message forwarded by legitimate
   routers.  The compromised router can thus inject malicious content in
   the TC: for example, if the message identification is spoofed, the
   legitimate message will be discarded as a duplicate message.  This
   preemptive action is important for some of the attacks introduced in
   the following sections.

3.2.  Hop Count and Hop Limit Attacks

   The hop count and hop limit fields are the only parts of a TC that
   are modified when forwarding; therefore, they are not protected by
   integrity check mechanisms.  A compromised OLSRv2 router can modify
   either of these when forwarding TCs.

3.2.1.  Modifying the Hop Limit

   A compromised OLSRv2 router can decrease the hop limit when
   forwarding a TC.  This will reduce the scope of forwarding for the
   message and may lead to some routers in the network not receiving
   that TC.  Note that this is not necessarily the same as not relaying
   the message (i.e., setting the hop limit to 0), as is illustrated in
   Figure 1.




Clausen, et al.               Informational                     [Page 8]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


                                 .---.
                                 | X |
                               --'---' __
                              /          \
                             /            \
                         .---.              .---.
             TC ----->   | A |              | C |
                         '---'              '---'
                             \    .---.   /
                              \-- | B |__/
                                  '---'

                        Figure 1: Hop Limit Attack

   A TC arrives at and is forwarded by router A such that it is received
   by both B and the malicious X.  X can forward the TC without any
   delay (including without jitter) such that its transmissions arrive
   before that of B at C.  Before forwarding, it significantly reduces
   the hop limit of the message.  Router C receives the TC, processes
   (and forwards) it, and marks it as already received -- causing it to
   discard further copies received from B.  Thus, if the TC is forwarded
   by C, it has a very low hop limit and will not reach the whole
   network.

3.2.2.  Modifying the Hop Count

   A compromised OLSRv2 router can modify the hop count when forwarding
   a TC.  This may have two consequences: (i) if the hop count is set to
   the maximum value, then the TC will be forwarded no further or (ii)
   artificially manipulating the hop count may affect the validity time
   as calculated by recipients, when using distance-dependent validity
   times as defined in [RFC5497] (e.g., as part of a Fish Eye extension
   to OLSR2 [OLSR-FSR] [OLSR-FSR-Scaling]).

              v_time(3hops)=9s  v_time(4hops)=12s   v_time(5hops)=15s
     .---.           .---.          .---.           .---.
     | A |-- ... --> | B | -------> | X |---------->| C |
     `---'           `---'          `---'           `---'

     Figure 2: Different Validity Times Based on the Distance in Hops

   In Figure 2, router A sends a TC with a validity time of 9 seconds
   for routers in a 3-hop distance, 12 seconds for routers in a 4-hop
   distance, and 15 seconds in a 5-hop distance.  If X is a compromised
   OLSRv2 router and modifies the hop count (say, by decreasing it to
   3), then C will calculate the validity time of received information
   to 9 seconds -- after which it expires unless refreshed.  If TCs from




Clausen, et al.               Informational                     [Page 9]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   A are sent less frequently than that up to 4 hops, this causes links
   advertised in such TCs to be only intermittently available to C.

4.  Effective Topology

   Link state protocols assume that each router can acquire an accurate
   topology map that reflects the effective network topology.  This
   implies that the routing protocol is able to identify a path from a
   source to a destination, and this path is valid for forwarding data
   traffic.  If an attacker disturbs the correct protocol behavior, the
   perceived topology map of a router can permanently differ from the
   effective topology.

   Consider the example in Figure 3(a), which illustrates the topology
   map as acquired by router S.  This topology map indicates that the
   routing protocol has identified that for S, a path exists to D via B,
   which it therefore assumes can be used for transmitting data.  If B
   does not forward data traffic from S, then the topology map in S does
   not accurately reflect the effective network topology.  Rather, the
   effective network topology from the point of view of S would be as
   indicated in Figure 3(b): D is not part of the network reachable from
   router S.

           .---.    .---.    .---.           .---.    .---.
           | S |----| B |----| D |           | S |----| B |
           `---'    `---'    `---'           `---'    `---'

                   (a)                             (b)

                Figure 3: Incorrect Data Traffic Forwarding

   Some of the attacks related to NHDP, such as message timing attacks
   and indirect channel overloading, are discussed in [RFC7186].  Other
   threats specific to OLSRv2 are further detailed in this section.

4.1.  Incorrect Forwarding

   OLSRv2 routers exchange information using link-local transmissions
   (link-local multicast or limited broadcast) for their control
   messages, with the routing process in each router retransmitting
   received messages destined for network-wide diffusion.  Thus, if the
   operating system in a router is not configured to enable forwarding,
   this will not affect the operating of the routing protocol or the
   topology map acquired by the routing protocol.  It will, however,
   cause a discrepancy between the effective topology and the topology
   map, as indicated in Figures 3(a) and 3(b).





Clausen, et al.               Informational                    [Page 10]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   This situation is not hypothetical.  A common error seen when
   deploying OLSRv2-based networks using a Linux-based computer as a
   router is to neglect enabling IP forwarding, which effectively
   becomes an accidental attack of this type.

4.2.  Wormholes

   A wormhole, depicted in the example in Figure 4, may be established
   between two collaborating devices that are connected by an out-of-
   band channel.  These devices send traffic through the "tunnel" to
   their alter ego, which "replays" the traffic.  Thus, routers D and S
   appear as if direct neighbors and are reachable from each other in 1
   hop through the tunnel, with the path through the MANET being 100
   hops long.

        .---.                                     .---.
        | S |----   ....100-hop-long path  ... ---| D |
        `---.                                   / `---'
            \                                  /
             \                                /
              \X=============================X

                   1-hop path via wormhole

        Figure 4: Wormholing between Two Collaborating Devices Not
                   Participating in the Routing Protocol

   The consequences of such a wormhole in the network depend on the
   detailed behavior of the wormhole.  If the wormhole relays only
   control traffic, but not data traffic, the same considerations as in
   Section 4.1 apply.  If, however, the wormhole relays all traffic
   (control and data alike), it is identical, connectivity wise, to a
   usable link - and the routing protocol will correctly generate a
   topology map reflecting the effective network topology.  The
   efficiency of the topology obtained depends on (i) the wormhole
   characteristics, (ii) how the wormhole presents itself, and (iii) how
   paths are calculated.

   Assuming that paths are calculated with unit cost for all links,
   including the "link" presented by the wormhole, if the real
   characteristics of the wormhole are as if it were a path of more than
   100 hops (e.g., with respect to delay, bandwidth, etc.), then the
   presence of the wormhole results in a degradation in performance as
   compared to using the non-wormhole path.  Conversely, if the "link"
   presented by the wormhole has better characteristics, the wormhole
   results in improved performance.





Clausen, et al.               Informational                    [Page 11]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   If paths are calculated using non-unit-costs for all links, and if
   the cost of the "link" presented by the wormhole correctly represents
   the actual cost (e.g., if the cost is established through
   measurements across the wormhole), then the wormhole may, in the
   worst case, cause no degradation in performance or, in the best case,
   improve performance by offering a better path.  If the cost of the
   "link" presented by the wormhole is misrepresented, then the same
   considerations as for unit-cost links apply.

   An additional consideration with regard to wormholes is that they may
   present topologically attractive paths for the network; however, it
   may be undesirable to have data traffic transit such a path.  An
   attacker could, by virtue of introducing a wormhole, acquire the
   ability to record and inspect transiting data traffic.

4.3.  Sequence Number Attacks

   OLSRv2 uses two different sequence numbers in TCs to (i) avoid
   processing and forwarding the same message more than once (Message
   Sequence Number) and to (ii) ensure that old information, arriving
   late due to, e.g., long paths or other delays, is not allowed to
   overwrite more recent information generated (Advertised Neighbor
   Sequence Number (ANSN)).

4.3.1.  Message Sequence Number

   An attack may consist of a compromised OLSRv2 router spoofing the
   identity of another router in the network and transmitting a large
   number of TCs, each with different Message Sequence Numbers.
   Subsequent TCs with the same sequence numbers, originating from the
   router whose identity was spoofed, would hence be ignored until
   eventually information concerning these "spoofed" TCs expires.

4.3.2.  Advertised Neighbor Sequence Number (ANSN)

   An attack may consist of a compromised OLSRv2 router spoofing the
   identity of another router in the network and transmitting a single
   TC with an ANSN significantly larger than that which was last used by
   the legitimate router.  Routers will retain this larger ANSN as "the
   most recent information" and discard subsequent TCs with lower
   sequence numbers as being "old".










Clausen, et al.               Informational                    [Page 12]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


4.4.  Indirect Jamming

   Indirect jamming is an attack in which a compromised OLSRv2 router
   is, by its actions, causing legitimate routers to generate inordinate
   amounts of control traffic, thereby increasing both channel
   occupation and the overhead incurred in each router for processing
   this control traffic.  This control traffic will be originated from
   legitimate routers; thus, to the wider network, the malicious device
   may remain undetected.

   The general mechanism whereby a malicious router can cause indirect
   jamming is for it to participate in the protocol by generating
   plausible control traffic and to tune this control traffic to in turn
   trigger receiving routers to generate additional traffic.  For
   OLSRv2, such an indirect attack can be directed at the neighborhood
   discovery mechanism and the LSA mechanism, respectively.

   One efficient indirect jamming attack in OLSRv2 is to target control
   traffic destined for network-wide diffusion.  This is illustrated in
   Figure 5.

   The malicious router X selects router A as an MPR at time t0 in a
   HELLO.  This causes X to appear as MPR selector for A and,
   consequently, A sets X to be advertised in its "Neighbor Set" and
   increments the associated "Advertised Neighbor Sequence Number"
   (ANSN).  Router A must then advertise the link between itself and X
   in subsequent outgoing TCs (t1), also including the ANSN in such TCs.
   Upon X having received this TC, it declares the link between itself
   and A as no longer valid (t2) in a HELLO (indicating the link to A as
   LOST).  Since only symmetric links are advertised by OLSRv2 routers,
   A will (upon receipt hereof) remove X from the set of advertised
   neighbors and increment the ANSN.  Router A will then, in subsequent
   TCs, advertise the remaining set of advertised neighbors (i.e., with
   X removed) and the corresponding ANSN (t3).  Upon X having received
   this information in another TC from A, it may repeat this cycle,
   alternating advertising the link A-X as "LOST" and as "MPR".















Clausen, et al.               Informational                    [Page 13]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


              broadcast TC    ANS={}         TC:()
               (X-A) ANSN      ANSN++          ANSN
      .---.        .---.        .---.        .---.
      | A |        | A |        | A |        | A |
      '---'        '---'        '---'        '---'
        ^            |            ^            |
        |            |            |            |
        | select     |            |indicate    |
        | as MPR     |            |as LOST     |
      .---.        .---.        .---.        .---.
      | X |        | X |        | X |        | X |
      '---'        '---'        '---'        '---'

        t0           t1            t2           t3

   Description: The malicious X flips between link status MPR and LOST.

          Figure 5: Indirect Jamming in Link State Advertisement

   Routers receiving a TC message will parse and process this message,
   specifically updating their topology map as a consequence of
   successful receipt.  If the ANSN between two successive TCs from the
   same router has incremented, then the topology has changed and
   routing sets are to be recalculated.  This has the potential to be a
   computationally costly operation.

   A compromised OLSRv2 router may chose to conduct this attack against
   all its neighbors, thus maximizing its disruptive impact on the
   network with relatively little overhead of its own: other than
   participating in the neighborhood discovery procedure, the
   compromised OLSRv2 router will monitor TCs generated by its neighbors
   and alternate the advertised status for each such neighbor between
   "MPR" and "LOST".  The compromised OLSRv2 router will indicate its
   willingness to be selected as an MPR as 0 (thus avoiding selection as
   an MPR) and may ignore all other protocol operations while still
   remaining effective as an attacker.

   The basic operation of OLSRv2 employs periodic message emissions, and
   by this attack it can be ensured that each such periodic message will
   entail routing table recalculation in all routers in the network.

   If the routers in the network have "triggered TCs" enabled, this
   attack may also cause an increased TC frequency.  Triggered TCs are
   intended to allow a (stable) network to have relatively low TC
   emission frequencies yet still allow link breakage or link emergence
   to be advertised through the network rapidly.  A minimum message
   interval (typically much smaller than the regular periodic message
   interval) is imposed to rate-limit worst-case message emissions.



Clausen, et al.               Informational                    [Page 14]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   This attack can cause the TC interval to permanently become equal to
   the minimum message interval.  [RFC7181] proposes as default that the
   minimum TC interval be 0.25 x TC_INTERVAL (TC_INTERVAL being the
   maximum interval between two TC messages from the same OLSRv2
   router).

   Indirect jamming by a compromised OLSRv2 router can thus have two
   effects: (i) it may cause increased frequency of TC generation and
   transmission, and (ii) it will cause additional routing table
   recalculation in all routers in the network.

5.  Inconsistent Topology

   Inconsistent topology maps can occur by a compromised OLSRv2 router
   employing either identity spoofing or link spoofing for conducting an
   attack against an OLSRv2 network.  The threats related to NHDP, such
   as identity spoofing in NHDP, link spoofing in NHDP, and creating
   loops, have been illustrated in [RFC7186].  This section mainly
   addresses the vulnerabilities in [RFC7181].

5.1.  Identity Spoofing

   Identity spoofing can be employed by a compromised OLSRv2 router via
   the neighborhood discovery process and via the LSA process.  Either
   of them causes inconsistent topology maps in routers in the network.
   The creation of inconsistent topology maps due to neighborhood
   discovery has been discussed in [RFC7186].  For OLSRv2, the attack on
   the LSA process can also cause inconsistent topology maps.

   An inconsistent topology map may occur when the compromised OLSRv2
   router takes part in the LSA process by selecting a neighbor as an
   MPR, which in turn advertises the spoofed identities of the
   compromised OLSRv2 router.  This attack will alter the topology maps
   of all routers of the network.

        A -- B -- C -- D -- E -- F -- X

                                    (X spoofs A)

   Description: A compromised OLSRv2 router X spoofs the identity of A,
   leading to a wrongly perceived topology.

                        Figure 6: Identity Spoofing

   In Figure 6, router X spoofs the address of router A.  If X selects F
   as an MPR, all routers in the network will be informed about the link
   F-A by the TCs originating from F.  Assuming that (the real) A




Clausen, et al.               Informational                    [Page 15]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   selects B as an MPR, the link B-A will also be advertised in the
   network.

   When calculating paths, B and C will calculate paths to A via B, as
   illustrated in Figure 7(a); for these routers, the shortest path to A
   is via B.  E and F will calculate paths to A via F, as illustrated in
   Figure 7(b); for these routers, the shortest path to A is via the
   compromised OLSRv2 router X, and these are thus disconnected from the
   real A.  D will have a choice, as the path calculated to A via B is
   of the same length as the path via the compromised OLSRv2 router X,
   as illustrated in Figure 7(c).

   In general, the following observations can be made:

   o  The network will be split in two, with those routers closer to B
      than to X reaching A, whereas those routers closer to X than to B
      will be unable to reach A.

   o  Routers beyond B, i.e., routers beyond 1 hop away from A, will be
      unable to detect this identity spoofing.

   The identity spoofing attack via the LSA procedure has a higher
   impact than the attack on the neighborhood discovery procedure since
   it alters the topology maps of all routers in the network and not
   only in the 2-hop neighborhood.  However, the attack is easier to
   detect by other routers in the network.  Since the compromised OLSRv2
   router is advertised in the whole network, routers whose identities
   are spoofed by the compromised OLSRv2 router can detect the attack.
   For example, when A receives a TC from F advertising the link F-A, it
   can deduce that some entity is injecting incorrect link state
   information as it does not have F as one of its direct neighbors.

                                                 (X spoofs A)

      A < ---- B < ---- C           E ----> F ----> X

      (a) Routers B and C           (b) Routers E and F


         A < --- B < --- C < --- D ---> E ---> F ----> X

                                                    (X spoofs A)

   Description: These paths appear as calculated by the different
   routers in the network in presence of a compromised OLSRv2 router X,
   spoofing the address of A.

                     Figure 7: Routing Paths towards A



Clausen, et al.               Informational                    [Page 16]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   As the compromised OLSRv2 router X does not itself send the TCs, but
   rather, by virtue of MPR selection, ensures that the addresses it
   spoofs are advertised in TCs from its MPR selector F, the attack may
   be difficult to counter.  Simply ignoring TCs that originate from F
   may also suppress the link state information for other, legitimate,
   MPR selectors of F.

   Thus, identity spoofing by a compromised OLSRv2 router, participating
   in the LSA process by selecting MPRs only, creates a situation
   wherein two or more routers have substantially inconsistent topology
   maps: traffic for an identified destination is, depending on where in
   the network it appears, delivered to different routers.

5.2.  Link Spoofing

   Link spoofing is a situation in which a router advertises non-
   existing links to another router (possibly not present in the
   network).  Essentially, TCs and HELLOs both advertise links to direct
   neighbor routers with the difference being the scope of the
   advertisement.  Thus, link spoofing consists of a compromised OLSRv2
   router reporting that it has neighbors routers that are either not
   present in the network or are effectively not neighbors of the
   compromised OLSRv2 router.

   It can be noted that a situation similar to link spoofing may occur
   temporarily in an OLSR or OLSRv2 network without compromised OLSRv2
   routers: if A was, but is no more, a neighbor of B, then A may still
   be advertising a link to B for the duration of the time it takes for
   the neighborhood discovery process to determine this changed
   neighborhood.

   In the context of this document, link spoofing refers to a persistent
   situation where a compromised OLSRv2 router intentionally advertises
   links to other routers for which it is not a direct neighbor.

















Clausen, et al.               Informational                    [Page 17]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


5.2.1.  Inconsistent Topology Maps Due to Link State Advertisements

   Figure 8 illustrates a network in which the compromised OLSRv2 router
   X spoofs links to an existing router A by participating in the LSA
   process and including this non-existing link in its advertisements.

   A --- B --- C --- D --- E --- F --- G --- H --- X

                             (X spoofs the link to A)

   Description: The compromised OLSRv2 router X advertises a spoofed
   link to A in its TCs; thus, all routers will record both of the links
   X-A and B-A.

                          Figure 8: Link Spoofing

   As TCs are flooded through the network, all routers will receive and
   record information describing a link X-A in this link state
   information.  If A has selected router B as an MPR, B will likewise
   flood this link state information through the network; thus, all
   routers will receive and record information describing a link B-A.

   When calculating routing paths, B, C, and D will calculate paths to A
   via B, as illustrated in Figure 9(a); for these routers, the shortest
   path to A is via B.  F and G will calculate paths to A via X, as
   illustrated in Figure 9(b); for these routers, the shortest path to A
   is via X, and these are thus disconnected from the real router A.  E
   will have a choice: the path calculated to A via B is of the same
   length as the path via X, as illustrated in Figure 9(b).

   A < --- B < --- C < --- D           F ---> G ---> X ---> A

       (a) Routers B, C, and D           (b) Routers F and G


   A < --- B < --- C < --- D < --- E ---> F ---> G ---> X ---> A

                          (c) Router E

   Description: These paths appear as calculated by the different
   routers in the network in the presence of a compromised OLSRv2 router
   X, spoofing a link to router A.

                 Figure 9: Routing Paths towards Router A







Clausen, et al.               Informational                    [Page 18]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   In general, the following observations can be made:

   o  The network will be separated in two: routers closer to B than X
      will reach A, whereas routers closer to X than B will be unable to
      reach A.

   o  Routers beyond B, i.e., routers beyond 1 hop away from A, will be
      unable to detect this link spoofing.

6.  Mitigation of Security Vulnerabilities for OLSRv2

   As described in Section 1, [RFC7183] specifies a security mechanism
   for OLSRv2 that is mandatory to implement.  However, deployments may
   choose to use different security mechanisms if more appropriate.
   Therefore, it is important to understand both the inherent resilience
   of OLSRv2 against security vulnerabilities when not using the
   mechanisms specified in [RFC7183] and the protection that [RFC7183]
   provides when used in a deployment.

6.1.  Inherent OLSRv2 Resilience

   OLSRv2 (even when used without the mandatory-to-implement security
   mechanisms in [RFC7183]) provides some inherent resilience against
   part of the attacks described in this document.  In particular, it
   provides the following resilience:

   o  Sequence numbers: OLSRv2 employs message sequence numbers, which
      are specific per the router identity and message type.  Routers
      keep an "information freshness" number (ANSN) incremented each
      time the content of an LSA from a router changes.  This allows
      rejecting both "old" information and duplicate messages, and it
      provides some protection against "message replay".  However, this
      also presents an attack vector (Section 4.3).

   o  Ignoring unidirectional links: The neighborhood discovery process
      detects and admits only bidirectional links for use in MPR
      selection and LSA.  Jamming attacks may affect only reception of
      control traffic; however, OLSRv2 will correctly recognize, and
      ignore, such a link that is not bidirectional.

   o  Message interval bounds: The frequency of control messages, with
      minimum intervals imposed for HELLO and TCs.  This may limit the
      impact from an indirect jamming attack (Section 4.4).








Clausen, et al.               Informational                    [Page 19]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   o  Additional reasons for rejecting control messages: The OLSRv2
      specification includes a list of reasons for which an incoming
      control message should be rejected as malformed -- and allows that
      a protocol extension may recognize additional reasons for OLSRv2
      to consider a message malformed.  Together with the flexible
      message format [RFC5444], this allows addition of security
      mechanisms, such as digital signatures, while remaining compliant
      with the OLSRv2 standard specification.

6.2.  Resilience by Using RFC 7183 with OLSRv2

   [RFC7183] specifies mechanisms for integrity and replay protection
   for NHDP and OLSRv2 using the generalized packet/message format
   described in [RFC5444] and the TLV definitions in [RFC7182].  The
   specification describes how to add an Integrity Check Value (ICV) in
   a TLV to each control message, providing integrity protection of the
   content of the message using Hashed Message Authentication Code
   (HMAC) / SHA-256.  In addition, a timestamp TLV is added to the
   message prior to creating the ICV, enabling replay protection of
   messages.  The document specifies how to sign outgoing messages and
   how to verify incoming messages, as well as under which circumstances
   an invalid message is rejected.  Because of the HMAC/SHA-256 ICV, a
   shared key between all routers in the MANET is assumed.  A router
   without valid credentials is not able to create an ICV that can be
   correctly verified by other routers in the MANET; therefore, such an
   incorrectly signed message will be rejected by other MANET routers,
   and the router cannot participate in the OLSRv2 routing process
   (i.e., the malicious router will be ignored by other legitimate
   routers).  [RFC7183] does not address the case where a router with
   valid credentials has been compromised.  Such a compromised router
   will not be excluded from the routing process, and other means of
   detecting such a router are necessary if required in a deployment:
   for example, using an asymmetric key extension to [RFC7182] that
   allows revocation of the access of one particular router.

   In the following sections, each of the vulnerabilities described
   earlier in this document will be evaluated in terms of whether OLSRv2
   with the mechanisms in [RFC7183] provides sufficient protection
   against the attack.  It is implicitly assumed in each of the
   following sections that [RFC7183] is used with OLSRv2.











Clausen, et al.               Informational                    [Page 20]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


6.2.1.  Topology Map Acquisition

   Attack on Jittering:  As only OLSRv2 routers with valid credentials
      can participate in the routing process, a malicious router cannot
      reduce the jitter time of an attacked router to 0 by sending many
      TC messages in a short time.  The attacked router would reject all
      the incoming messages as "invalid" and not forward them.  The same
      applies for the case where a malicious router wants to assure that
      by forcing a 0 jitter interval, the message arrives before the
      same message forwarded by legitimate routers.

   Modifying the Hop Limit and the Hop Count:  As the hop limit and hop
      count are not protected by [RFC7183] (since they are mutable
      fields that change at every hop), this attack is still feasible.
      It is possible to apply [RFC5444] packet-level protection by using
      ICV Packet TLV defined in [RFC7182] to provide hop-by-hop
      integrity protection -- at the expense of a requirement of
      pairwise trust between all neighbor routers.

6.2.2.  Effective Topology

   Incorrect Forwarding:  As only OLSRv2 routers with valid credentials
      can participate in the routing process, a malicious router will
      not be part of the topology of other legitimate OLSRv2 routers.
      Therefore, no data traffic will be sent to the malicious router
      for forwarding.

   Wormholes:  Since a wormhole consists of at least two devices
      forwarding (unmodified) traffic, this attack is still feasible and
      undetectable by the OLSRv2 routing process since the attack does
      not involve the OLSRv2 protocol itself (but rather lower layers).
      By using [RFC7183], it can at least be assured that the content of
      the control messages is not modified while being forwarded via the
      wormhole.  Moreover, the timestamp TLV assures that the forwarding
      can only be done in a short time window after the actual TC
      message has been sent.

   Message Sequence Number:  As the message sequence number is included
      in the ICV calculation, OLSRv2 is protected against this attack.

   Advertised Neighbor Sequence Number (ANSN):  As the ANSN is included
      in the ICV calculation, OLSRv2 is protected against this attack.

   Indirect Jamming:  Since the control messages of a malicious router
      will be rejected by other legitimate OLSRv2 routers in the MANET,
      this attack is mitigated.





Clausen, et al.               Informational                    [Page 21]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


6.2.3.  Inconsistent Topology

   Identity Spoofing:  Since the control messages of a malicious router
      will be rejected by other legitimate OLSRv2 routers in the MANET,
      a router without valid credentials may spoof its identity (e.g.,
      IP source address or message originator address), but the messages
      will be ignored by other routers.  As the mandatory mechanism in
      [RFC7183] uses shared keys amongst all MANET routers, a single
      compromised router may spoof its identity and cause harm to the
      network stability.  Removing this one malicious router, once
      detected, implies rekeying all other routers in the MANET.
      Asymmetric keys, particularly when using identity-based signatures
      (such as those specified in [RFC7859]), may give the possibility
      of revoking single routers and verifying their identity based on
      the ICV itself.

   Link Spoofing:  Similar to identity spoofing, a malicious router
      without valid credentials may spoof links, but its control
      messages will be rejected by other routers, thereby mitigating the
      attack.

   Inconsistent Topology Maps Due to LSAs:  The same considerations for
      link spoofing apply.

6.3.  Correct Deployment

   Other than implementing OLSRv2, including appropriate security
   mechanisms, the way in which the protocol is deployed is also
   important to ensure proper functioning and threat mitigation.  For
   example, Section 4.1 discussed considerations due to an incorrect
   forwarding-policy setting, and Section 4.2 discussed considerations
   for when intentional wormholes are present in a deployment.

7.  Security Considerations

   This document does not specify a protocol or a procedure but reflects
   on security considerations for OLSRv2 and for its constituent parts,
   including NHDP.  The document initially analyses threats to topology
   map acquisition, with the assumption that no security mechanism
   (including the mandatory-to-implement mechanisms from [RFC7182] and
   [RFC7183]) is in use.  Then, it proceeds to discuss how the use of
   [RFC7182] and [RFC7183] mitigate the identified threats.  When
   [RFC7183] is used with routers using a single shared key, the
   protection offered is not effective if a compromised router has valid
   credentials.






Clausen, et al.               Informational                    [Page 22]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


8.  References

8.1.  Normative References

   [RFC6130]  Clausen, T., Dearlove, C., and J. Dean, "Mobile Ad Hoc
              Network (MANET) Neighborhood Discovery Protocol (NHDP)",
              RFC 6130, DOI 10.17487/RFC6130, April 2011,
              <http://www.rfc-editor.org/info/rfc6130>.

   [RFC7181]  Clausen, T., Dearlove, C., Jacquet, P., and U. Herberg,
              "The Optimized Link State Routing Protocol Version 2",
              RFC 7181, DOI 10.17487/RFC7181, April 2014,
              <http://www.rfc-editor.org/info/rfc7181>.

   [RFC7186]  Yi, J., Herberg, U., and T. Clausen, "Security Threats for
              the Neighborhood Discovery Protocol (NHDP)", RFC 7186,
              DOI 10.17487/RFC7186, April 2014,
              <http://www.rfc-editor.org/info/rfc7186>.

8.2.  Informative References

   [FUNKFEUER]
              Funkfeuer, "Funkfeuer", <https://www.funkfeuer.at/>.

   [IEEE802.11]
              IEEE, "IEEE Standard for Information technology -
              Telecommunications and information exchange between
              systems Local and metropolitan area networks - Specfic
              requirements Part 11: Wireless LAN Medium Access Control
              and Physical (PHY) Specifications", IEEE Std 802.11-2016,
              DOI 10.1109/IEEESTD.2016.7786995, December 2016.

   [MPR-FLOODING]
              Qayyum, A., Viennot, L., and A. Laouiti, "Multipoint
              Relaying: An Efficient Technique for Flooding in Mobile
              Wireless Networks", Proceedings of the 35th Annual Hawaii
              International Conference on System Sciences (HICSS
              '01), IEEE Computer Society, 2001.

   [OLSR-FSR] Clausen, T., "Combining Temporal and Spatial Partial
              Topology for MANET routing - Merging OLSR and FSR",
              Proceedings of the 2003 IEEE Conference of Wireless
              Personal Multimedia Communications (WPMC '03), 2003.








Clausen, et al.               Informational                    [Page 23]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   [OLSR-FSR-Scaling]
              Adjih, C., Baccelli, E., Clausen, T., Jacquet, P., and G.
              Rodolakis, "Fish Eye OLSR Scaling Properties", IEEE
              Journal of Communication and Networks (JCN), Special Issue
              on Mobile Ad Hoc Networks, December 2004.

   [RFC3626]  Clausen, T., Ed. and P. Jacquet, Ed., "Optimized Link
              State Routing Protocol (OLSR)", RFC 3626,
              DOI 10.17487/RFC3626, October 2003,
              <http://www.rfc-editor.org/info/rfc3626>.

   [RFC5068]  Hutzler, C., Crocker, D., Resnick, P., Allman, E., and T.
              Finch, "Email Submission Operations: Access and
              Accountability Requirements", BCP 134, RFC 5068,
              DOI 10.17487/RFC5068, November 2007,
              <http://www.rfc-editor.org/info/rfc5068>.

   [RFC5148]  Clausen, T., Dearlove, C., and B. Adamson, "Jitter
              Considerations in Mobile Ad Hoc Networks (MANETs)",
              RFC 5148, DOI 10.17487/RFC5148, February 2008,
              <http://www.rfc-editor.org/info/rfc5148>.

   [RFC5444]  Clausen, T., Dearlove, C., Dean, J., and C. Adjih,
              "Generalized Mobile Ad Hoc Network (MANET) Packet/Message
              Format", RFC 5444, DOI 10.17487/RFC5444, February 2009,
              <http://www.rfc-editor.org/info/rfc5444>.

   [RFC5497]  Clausen, T. and C. Dearlove, "Representing Multi-Value
              Time in Mobile Ad Hoc Networks (MANETs)", RFC 5497,
              DOI 10.17487/RFC5497, March 2009,
              <http://www.rfc-editor.org/info/rfc5497>.

   [RFC7182]  Herberg, U., Clausen, T., and C. Dearlove, "Integrity
              Check Value and Timestamp TLV Definitions for Mobile Ad
              Hoc Networks (MANETs)", RFC 7182, DOI 10.17487/RFC7182,
              April 2014, <http://www.rfc-editor.org/info/rfc7182>.

   [RFC7183]  Herberg, U., Dearlove, C., and T. Clausen, "Integrity
              Protection for the Neighborhood Discovery Protocol (NHDP)
              and Optimized Link State Routing Protocol Version 2
              (OLSRv2)", RFC 7183, DOI 10.17487/RFC7183, April 2014,
              <http://www.rfc-editor.org/info/rfc7183>.

   [RFC7184]  Herberg, U., Cole, R., and T. Clausen, "Definition of
              Managed Objects for the Optimized Link State Routing
              Protocol Version 2", RFC 7184, DOI 10.17487/RFC7184, April
              2014, <http://www.rfc-editor.org/info/rfc7184>.




Clausen, et al.               Informational                    [Page 24]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


   [RFC7187]  Dearlove, C. and T. Clausen, "Routing Multipoint Relay
              Optimization for the Optimized Link State Routing Protocol
              Version 2 (OLSRv2)", RFC 7187, DOI 10.17487/RFC7187, April
              2014, <http://www.rfc-editor.org/info/rfc7187>.

   [RFC7188]  Dearlove, C. and T. Clausen, "Optimized Link State Routing
              Protocol Version 2 (OLSRv2) and MANET Neighborhood
              Discovery Protocol (NHDP) Extension TLVs", RFC 7188,
              DOI 10.17487/RFC7188, April 2014,
              <http://www.rfc-editor.org/info/rfc7188>.

   [RFC7466]  Dearlove, C. and T. Clausen, "An Optimization for the
              Mobile Ad Hoc Network (MANET) Neighborhood Discovery
              Protocol (NHDP)", RFC 7466, DOI 10.17487/RFC7466, March
              2015, <http://www.rfc-editor.org/info/rfc7466>.

   [RFC7859]  Dearlove, C., "Identity-Based Signatures for Mobile Ad Hoc
              Network (MANET) Routing Protocols", RFC 7859,
              DOI 10.17487/RFC7859, May 2016,
              <http://www.rfc-editor.org/info/rfc7859>.

   [RFC7939]  Herberg, U., Cole, R., Chakeres, I., and T. Clausen,
              "Definition of Managed Objects for the Neighborhood
              Discovery Protocol", RFC 7939, DOI 10.17487/RFC7939,
              August 2016, <http://www.rfc-editor.org/info/rfc7939>.


























Clausen, et al.               Informational                    [Page 25]
^L
RFC 8116                     OLSRv2 Threats                     May 2017


Authors' Addresses

   Thomas Clausen

   Phone: +33-6-6058-9349
   Email: T.Clausen@computer.org
   URI:   http://www.thomasclausen.org


   Ulrich Herberg

   Email: ulrich@herberg.name
   URI:   http://www.herberg.name


   Jiazi Yi
   Ecole Polytechnique
   91128 Palaiseau Cedex
   France

   Phone: +33 1 77 57 80 85
   Email: jiazi@jiaziyi.com
   URI:   http://www.jiaziyi.com/




























Clausen, et al.               Informational                    [Page 26]
^L