TrustedKad - Application of Trust Mechanisms to a Kademlia-Based Peer-to-Peer Network

Peer-to-peer networks (P2P) are distributed systems that consist of equal nodes (“peers”). In contrast to classic client/server systems, there is no hierarchy or central entity: All peers offer services and use them at the same time. In the past decade, a multitude of different P2P applications has been developed – filesharing applications such as BitTorrent and eMule and communication applications such as Skype are among the most popular of them. Research has shown that P2P networks are vulnerable to different kinds of attacks. Known attacks include, e.g., the Sybil attack and the Eclipse attack. Traditional countermeasures against the attacks are replication and the usage of disjoint routing paths to reduce the probability of interacting with malicious nodes during a routing or storage operation. More recently, trust mechanisms have been proposed and analyzed for applicability to P2P networks. The existing related work mostly targets unstructured P2P networks – however, in real-world environments, the structured networks prevail. Especially implementations of the Kademlia algorithm are widely spread, as it is used by BitTorrent and eMule. Nevertheless, none of the trust-based approaches that aim at structured networks specifically attempts to enhance Kademlia’s security. Due to Kademlia’s prevalence, TrustedKad is particularly designed by the author to improve the security of the Kademlia algorithm. In this thesis, TrustedKad is introduced and its functioning is explained. TrustedKad rates the behavior of nodes after routing and storage operations as either positive or negative. To do so, it defines the rules by which inoffensive and malicious behavior is identified in dependence of the functioning of the Kademlia algorithm. Based on the ratings, routing and storage trust values are calculated to identify inoffensive and malicious nodes. Every node uses thresholds for these trust values to decide which nodes it regards as trustworthy. Non-trustworthy nodes are avoided during a node’s own operations. Furthermore, TrustedKad uses additional security features to further increase the security of the system. They are introduced in this thesis. In order to evaluate TrustedKad, it is implemented and analyzed in a simulation environment. The results presented in this thesis show that TrustedKad is able to distinguish inoffensive and malicious nodes. It counters miscellaneous variations of known attacks and improves the security of Kademlia-based networks considerably.
Peer-to-Peer-Netzwerke (P2P) sind verteilte Systeme, die aus gleichberechtigten Knoten („Peers“) bestehen. Im Gegensatz zu klassischen Client-Server-Systemen gibt es in P2P-Netzwerken keine hierarchischen Ebenen oder zentrale Kontrolleinheiten: Alle Peers bieten gleichzeitig Dienste an und nutzen sie. Im vergangenen Jahrzehnt ist eine Vielzahl verschiedener P2P-Anwendungen entwickelt worden – Filesharing-Anwendungen wie BitTorrent und eMule und Kommunikations-Anwendungen wie Skype gehören zu den bekanntesten von ihnen. Forschungsarbeiten haben gezeigt, dass P2P-Netzwerke anfällig für verschiedene Arten von Angriffen sind. Bekannte Angriffe sind z.B. die Sybil- und die Eclipse-Attack. Die üblichen Gegenmaßnahmen gegen die Angriffe sind Replikation und das Verwenden von disjunkten Routing-Pfaden, um die Wahrscheinlichkeit zu reduzieren, während einer Routing- oder Storage-Operation mit bösartigen Knoten zu interagieren. Seit einiger Zeit wird die Anwendung von Vertrauensmechanismen auf P2P-Netzwerke untersucht. Existierende Arbeiten betrachten meist unstrukturierte P2P-Netzwerke – in realen Umgebungen überwiegen jedoch die strukturierten Netzwerke. Insbesondere Implementierungen des Kademlia-Algorithmus‘ sind weit verbreitet, da er von BitTorrent und eMule genutzt wird. Dennoch versucht keiner der vertrauensbasierten Ansätze, die strukturierte Netzwerke behandeln, speziell die Sicherheit von Kademlia zu verbessern. Aufgrund der Verbreitung von Kademlia wird TrustedKad vom Autor entwickelt, um die Sicherheit des Kademlia-Algorithmus‘ zu verbessern. In dieser Arbeit wird TrustedKad eingeführt und die Funktionsweise erläutert. TrustedKad bewertet das Verhalten von Knoten nach Routing- oder Storage-Operationen als entweder positiv oder negativ. Dafür definiert TrustedKad unter Berücksichtigung der Funktionsweise von Kademlia die Regeln, nach denen gut- und bösartiges Verhalten identifiziert wird. Basierend auf diesen Bewertungen werden Vertrauenswerte für Routing und Storage berechnet, um gutartige und bösartige Knoten zu erkennen. Jeder Knoten nutzt Schwellwerte für diese Vertrauenswerte, um zu entscheiden, welche Knoten er als vertrauenswürdig ansieht. Nicht vertrauenswürdige Knoten werden während der eigenen Operationen eines Knotens vermieden. Darüber hinaus nutzt TrustedKad zusätzliche Sicherheitsfunktionen, um die Sicherheit des Systems weiter zu erhöhen. Diese werden im Verlauf dieser Arbeit vorgestellt. Um TrustedKad zu evaluieren, wird es in einer Simulationsumgebung implementiert und analysiert. Die in dieser Arbeit präsentierten Ergebnisse zeigen, dass TrustedKad in der Lage ist, gutartige und bösartige Knoten zu unterscheiden. Es wehrt verschiedene Variationen von bekannten Angriffen ab und verbessert die Sicherheit von Kademlia-basierten Netzwerken deutlich.

Zitieren

Zitierform:
Zitierform konnte nicht geladen werden.

Rechte

Nutzung und Vervielfältigung:
Alle Rechte vorbehalten