mode. In nonstoring mode, each packet contains the
route the packet is expected to follow through the net-
work. The route is computed by the root, which is
required to maintain information about each node in
the network. On the other hand, when storing mode is
used, RPL uses stateful in-network routing tables. In
other words, every node in the network keeps routing
tables to differentiate between the packets heading to-
wards the root and the packets heading away from the
root. Through the use of upward routing, downward
traffic, or a combination of the two, RPL supports
various kinds of traffic including Multipoint-to-Point
(MP2P), Point-to-Multipoint (P2MP), and Point-to-
Point (P2P).
RPL also has a number of other useful features,
including self-healing capabilities. There are two re-
pair mechanisms, global and local, which are applied
if a link or node failure is detected. If a link or node
failure is detected, the local repair mechanism will at-
tempt to identify a new parent or path. If multiple lo-
cal failures occur, a global repair will be performed
where the entire DODAG is rebuilt. Furthermore,
RPL uses a trickle timer to efficiently handle incon-
sistencies such as loops, joining of new nodes, rank
changes. If the network is stable, the trickle timer in-
terval is large. An inconsistency will cause the timer
to be reset and DIO messages to be transmitted.
2.2 RPL Security
Despite having loop detection and self-healing capa-
bilities, the RPL protocol is not equipped with any
protection mechanisms against traditional routing at-
tacks. In (Wallgren et al., 2013) the authors show
that RPL is vulnerable to a variety of traditional rout-
ing attacks, including sinkhole, selective forwarding,
blackhole, wormhole, HELLO flood, and clone ID at-
tacks. All these arise because of the ability of nodes
to advertise false ranks. For example, an attacker
can falsely advertise a beneficial rank thus making
the neighboring nodes route traffic through it. Once
traffic is routed through the attacker, the attacker can
eavesdrop or execute Denial-of-Service by dropping
all packets it receives. A HELLO flood attack can be
executed using DIO messages, which are used to ad-
vertise information about DODAGs to new nodes. In
such an attack, a malicious node with strong signal
power sends DIO messages to various nodes on the
network causing those nodes to route traffic through
it. Since most of the benign nodes do not have an
equally strong signal power, their messages will not
be successfully transmitted. Unfortunately, the built
in self-healing mechanism, designed to deal with nat-
ural faults, is ineffective against the malicious attacks.
While in some cases, given enough time, the self-
healing process helps mediate the attacks, it is never
able to fully eliminate the effects of the attacks.
We are exploring two different approaches to
lightweight monitoring of IoT ad-hoc routing proto-
cols. In the first approach, we use ideas borrowed
from our previous work in monitoring wired net-
works (Cheung and Levitt, 1997). This approach
uses conservation-of-flow to identify and isolate mis-
behaving routing nodes. Each routing node maintains
a sum of the sizes of all network packets that it sends
and receives on each link. Periodically, this value is
shared with other neighboring routing nodes in the
network. After receipt of flow summaries, each de-
vice can compute the net sum of a all traffic entering
and exiting a subset of the ad-hoc network graph, and
if the net value is sufficiently far from zero, it can be
assumed that a node in the subset is either dropping
packets or injecting false traffic. This approach re-
lies upon having multiple paths to a specific device
for data sharing and for providing an alternate route if
isolation of the subset is required. Since RPL gener-
ates a tree routing structure directed at the root node,
we use lightweight cryptographic authentication to
sign shared flows, preventing a malicious device in
the path from supplying false information.
Since IoT devices are supplied by third-parties
and have computing power limited to a specific ap-
plication, implementing such a ubiquitous verification
scheme would not be practical. We also consider in-
cluding an IoT device whose sole purpose is to pro-
vide runtime monitoring, without necessarily serving
as a physical sensor or actuator. These low-cost, low-
power IoT security devices would need to be located
on enough routing paths to be able to isolate subsets
of the RPL network. We are investigating modifica-
tions to the RPL routing OF that includes not only
optimal connectivity, but also path security metrics.
Routing node rank would be higher for paths that
include one of these IoT security monitors. A se-
curity monitor device that sees rank advertisements
from other security devices could dynamically alter
its rank to be lower to ensure that not all monitors
cluster in one isolated path. In this manner, routing
integrity can be maintained against both natural and
malicious faults even in networks of off-the-shelf de-
vices programmed without any specific routing secu-
rity in mind.
IoTBD 2016 - International Conference on Internet of Things and Big Data
150