11.01.2014 Views

Improving Lookup Availability in the Presence of Malicious DHT Nodes

Improving Lookup Availability in the Presence of Malicious DHT Nodes

Improving Lookup Availability in the Presence of Malicious DHT Nodes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CR-Chord: <strong>Improv<strong>in</strong>g</strong> <strong>Lookup</strong> <strong>Availability</strong><br />

<strong>in</strong> <strong>the</strong> <strong>Presence</strong> <strong>of</strong> <strong>Malicious</strong> <strong>DHT</strong> <strong>Nodes</strong><br />

Dmitry Korzun ∗ , Boris Nechaev ∗ and Andrei Gurtov ∗<br />

∗ Hels<strong>in</strong>ki Institute for Information Technology HIIT / Hels<strong>in</strong>ki University <strong>of</strong> Technology TKK<br />

PO Box 9800, FIN-02015 TKK, F<strong>in</strong>land<br />

E-mails: dkorzun@hiit.fi, boris.nechaev@hiit.fi, gurtov@hiit.fi<br />

Abstract—Distributed Hash Tables (<strong>DHT</strong>s) provide a useful<br />

key-to-value lookup service for many Internet applications.<br />

However, without additional mechanisms <strong>DHT</strong>s are vulnerable<br />

to attacks. In particular, previous research showed that Chord<br />

is not well resistant to malicious nodes that jo<strong>in</strong>ed <strong>the</strong> <strong>DHT</strong>.<br />

We <strong>in</strong>troduce <strong>the</strong> cyclic rout<strong>in</strong>g algorithm as an extension <strong>of</strong><br />

Chord (CR-Chord). Us<strong>in</strong>g simulations we compare <strong>the</strong> lookup<br />

availability <strong>of</strong> Chord and CR-Chord. The results suggest that<br />

CR-Chord improves <strong>the</strong> lookup availability on <strong>the</strong> average by<br />

1.4 times. When <strong>the</strong> number <strong>of</strong> malicious nodes is small, such as<br />

5%, CR-Chord has almost twice lower lookup failure rate.<br />

I. INTRODUCTION<br />

Nowadays Distributed Hash Tables (<strong>DHT</strong>) are a part <strong>of</strong><br />

many peer-to-peer (P2P) applications <strong>in</strong> <strong>the</strong> Internet. To<br />

mention a few examples, <strong>DHT</strong>s are used to track <strong>the</strong> upload/download<br />

rat<strong>in</strong>gs <strong>in</strong> Bittorrent and resolve host identifiers<br />

to IP addresses for Host Identity Protocol (HIP) [1]. Each <strong>DHT</strong><br />

node ma<strong>in</strong>ta<strong>in</strong>s a rout<strong>in</strong>g table <strong>of</strong> its neighbors conta<strong>in</strong><strong>in</strong>g node<br />

identifiers (IDs) and IP addresses. The ma<strong>in</strong> service provided<br />

by <strong>DHT</strong>s is rout<strong>in</strong>g a lookup query for a certa<strong>in</strong> key to a <strong>DHT</strong><br />

node that stores <strong>the</strong> value for that key.<br />

As Internet applications <strong>in</strong>creas<strong>in</strong>gly depend on <strong>DHT</strong>s to<br />

operate, <strong>DHT</strong> should be resilient to all k<strong>in</strong>ds <strong>of</strong> attacks. One<br />

<strong>of</strong> <strong>the</strong> most dangerous scenarios is when adversaries are able<br />

to become a part <strong>of</strong> <strong>DHT</strong> by jo<strong>in</strong><strong>in</strong>g as regular nodes. Then<br />

attackers can corrupt, drop, or misroute lookup messages. We<br />

restrict our study with dropped lookups only.<br />

Let lookup failure rate be <strong>the</strong> probability that an arbitrary<br />

lookup is dropped. Complementary, lookup availability is <strong>the</strong><br />

probability that a lookup arrives at <strong>the</strong> dest<strong>in</strong>ation. Several<br />

techniques for improv<strong>in</strong>g lookup availability <strong>in</strong> <strong>the</strong> presence <strong>of</strong><br />

malicious nodes were proposed, <strong>in</strong>clud<strong>in</strong>g iterative rout<strong>in</strong>g and<br />

lookup progress monitor<strong>in</strong>g [2], [3], self-certify<strong>in</strong>g data [4]–<br />

[6], rout<strong>in</strong>g failure tests and root verification [6], [7].<br />

We propose cyclic rout<strong>in</strong>g (CR) [8] as a way to enhance<br />

robustness <strong>of</strong> exist<strong>in</strong>g <strong>DHT</strong>s <strong>in</strong> <strong>the</strong> presence <strong>of</strong> malicious<br />

nodes. In this paper, we focus on <strong>in</strong>tegration <strong>of</strong> cyclic rout<strong>in</strong>g<br />

with Chord [9], which is one <strong>of</strong> <strong>the</strong> first and still most popular<br />

<strong>DHT</strong>s.<br />

In CR-Chord, a node ma<strong>in</strong>ta<strong>in</strong>s a collection <strong>of</strong> cycles<br />

additionally to its f<strong>in</strong>ger table. A cycle is a path that starts<br />

from <strong>the</strong> node to its f<strong>in</strong>ger, <strong>the</strong>n runs through <strong>the</strong> network<br />

and returns to <strong>the</strong> node. Only IDs <strong>of</strong> cycle nodes, but not IP<br />

addresses, are stored. Cycles present global knowledge about<br />

good paths <strong>in</strong> a <strong>DHT</strong>. If <strong>the</strong>re is a cycle conta<strong>in</strong><strong>in</strong>g a node<br />

close to <strong>the</strong> dest<strong>in</strong>ation, <strong>the</strong> message is sent along this cycle.<br />

O<strong>the</strong>rwise, Chord is used to select <strong>the</strong> next hop.<br />

We implemented CR-Chord as an extension <strong>of</strong> <strong>the</strong> MIT<br />

Chord simulator. With simulations, we analyzed and compared<br />

<strong>the</strong> Chord and CR-Chord lookup availability. The results<br />

suggest that CR-Chord improves <strong>the</strong> lookup availability by<br />

1.4 times on <strong>the</strong> average.<br />

The rest <strong>of</strong> <strong>the</strong> paper is organized as follows. Section II<br />

provides background on <strong>DHT</strong> security and def<strong>in</strong>es <strong>the</strong> problem<br />

<strong>of</strong> dropped lookups. Section III describes <strong>the</strong> CR-Chord algorithm.<br />

In Section IV, we def<strong>in</strong>e our simulation methodology.<br />

Section V expla<strong>in</strong>s <strong>the</strong> simulation results <strong>of</strong> CR-Chord vs.<br />

Chord. In Section VI, we summarize <strong>the</strong> most important<br />

f<strong>in</strong>d<strong>in</strong>gs and experiences with CR-Chord.<br />

A. <strong>DHT</strong> Rout<strong>in</strong>g<br />

II. BACKGROUND AND MOTIVATION<br />

Consider a <strong>DHT</strong> consist<strong>in</strong>g <strong>of</strong> N nodes. Node IDs are<br />

assigned from an identifier space with a distance metric. Each<br />

node s ma<strong>in</strong>ta<strong>in</strong>s a rout<strong>in</strong>g table T s <strong>of</strong> entries (u, IP u ), where<br />

u is a neighbor and IP u is its IP address. Hence, s forwards<br />

messages to u via <strong>the</strong> underly<strong>in</strong>g IP network. A message to a<br />

dest<strong>in</strong>ation node d goes sequentially to nodes whose IDs are<br />

progressively closer to d accord<strong>in</strong>g to <strong>the</strong> distance metric. If<br />

v ∈ T s <strong>the</strong>n s can forward a message to v form<strong>in</strong>g <strong>the</strong> one-hop<br />

path s → v. Rout<strong>in</strong>g from s to d takes several hops form<strong>in</strong>g<br />

a multi-hop path s → + d.<br />

Accord<strong>in</strong>g to [8], <strong>DHT</strong> rout<strong>in</strong>g is divided onto global and<br />

local parts. In global rout<strong>in</strong>g, a message is delivered close to<br />

<strong>the</strong> dest<strong>in</strong>ation. In local rout<strong>in</strong>g, <strong>the</strong> dest<strong>in</strong>ation is at a nearby<br />

node. The reasons for division are as follows. (A) S<strong>in</strong>ce a node<br />

is responsible for <strong>the</strong> keys closest to its ID, let a lookup message<br />

arrive to a node close to <strong>the</strong> key. (B) Various replication<br />

techniques support rout<strong>in</strong>g <strong>in</strong>to an area <strong>of</strong> neighbor<strong>in</strong>g nodes.<br />

(C) A <strong>DHT</strong> node knows its neighborhood well keep<strong>in</strong>g close<br />

nodes to its rout<strong>in</strong>g table when possible. Obviously, global<br />

rout<strong>in</strong>g is more vulnerable to attacks.<br />

<strong>DHT</strong> rout<strong>in</strong>g is ei<strong>the</strong>r iterative or recursive. With iterative<br />

rout<strong>in</strong>g each node on <strong>the</strong> lookup path returns <strong>the</strong> next-hop<br />

node v to <strong>the</strong> query<strong>in</strong>g node. The latter <strong>the</strong>n contacts v<br />

to iteratively get closer to <strong>the</strong> dest<strong>in</strong>ation. With recursive<br />

rout<strong>in</strong>g each node forwards lookups directly to <strong>the</strong> next hop<br />

nodes, and <strong>the</strong> query<strong>in</strong>g node receives a response from <strong>the</strong><br />

dest<strong>in</strong>ation. Iterative rout<strong>in</strong>g is more secure s<strong>in</strong>ce a query<strong>in</strong>g

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!