Seminar-Arbeit über peer-to-peer Netzwerke

Da ich mit etwas Verspätung endlich meine Note für meine Seminararbeit über peer-to-peer Netzwerke bekommen habe, stelle ich nun auch die Arbeit hier zur Verfügung.

Es geht dabei um P2P (peer-to-peer) Netzwerke und ihr Einsatz in der verteilten Software Entwicklung, wobei der Fokus eher auf technische Details liegt. Wer also einen groben Einblick in BitTorrent und ein darauf basierendes Protokoll (apt-p2p) bekommen möchte, kann sich die Arbeit gerne durchlesen.

BitTorrent als peer-to-peer Protokoll steht in der Arbeit stark im Fokus.

BitTorrent als peer-to-peer Protokoll steht in der Arbeit stark im Fokus.

In der ersten Hälfte der Arbeit geht es hauptsächlich im die technischen Details rund um BitTorrent. Das Protokoll apt-p2p implementiert eine leicht veränderte Variante von BitTorrent mit interessanten Ideen zur Performance Optimierung. Für viele sehr kleine Dateien (eben Pakete vom apt-Paketmanager) ist BitTorrent nämlich richtig schlecht. Auch gibt es ein verteiltes Versionierungssystem, welches an BitTorrent angelehnt ist.

Hier sind die Dateien

PDF
der Arbeit, wie sie bei der Abgabe war.

ZIP
der Quelldateien (inklusive Vortrag, BibTeX und Bilddateien)

Alle anderen Paper befinden sich natürlich weiterhin unter Wissenswertes → Paper.

Vorratsdatenspeicherung gefährdet VPN-Anbieter

Vorratsdatenspeicherung gefährdet VPN-Anbieter

Die Vorratsdatenspeicherung bietet ein Risiko für VPN-Anbieter in Deutschland.

Langsam und schleichend erhält die Vorratsdatenspeicherung Einzug in unser Leben. Nach und nach kommt ans Licht wer wann was speichern muss und wann eben nicht. Nach langer Verwirrung und mangelhafter Informationsweitergabe hat der VPN-Anbieter traceless.me mitgeteilt, dass sie zum Umziehen oder verraten ihrer Grundsätze gezwungen werden.

Bundesnetzagentur unsicher über Regelungen

Die Bundesnetzagentur ist sich teilweise selbst nicht sicher über die genaue Gesetzeslage. Obwohl die es ja eigentlich am besten wissen müssten, ist selbst dort die Lage unklar.

Es hat sich jedoch herausgestellt, dass es bei VPN-Anbietern besonders kompliziert ist. Reine VPN-Anbieter, die nicht als Provider fungieren, müssen keine Vorratsdaten speichern. Bietet der Anbieter neben VPN auch noch normale Internetanschlüsse an, so muss er alle Verkehrsdaten gemäß der Vorratsdatenspeicherung speichern.

Deswegen erwägt der VPN Anbieter traceless.me derzeit einen Umzug in Länder wie Serbien oder Bosnien.

Was wird nun alles gespeichert?

(mehr …)

OS-Internals #1: /dev/null in Linux UND Windows

Wie ein Müllcontainer fungiert /dev/null unter UNIX als schwarzes Loch für Daten.

Wie ein Müllcontainer fungiert /dev/null unter UNIX als schwarzes Loch für Daten.
(by-nc-sa 2.0)

Dies ist der erste Beitrag der OS-Internals Reihe. Ich versuche unter diesem Begriff sehr technische Aspekte von Linux zu beleuchten und verständlich zu erklären.

Die meisten, die Linux benutzen, sollten das Gerät /dev/null kennen, welches auch Null-Gerät genannt wird. Hierbei handelt es sich um ein spezielles Gerät, das alle Eingehenden Daten sofort löscht und gar nicht erst persistiert. Es wird daher auch oft scherzhaft als schwarzes Loch oder Nirvana bezeichnet.

Technisch ist /dev/null – genau wie alles andere bei Linux – eine Datei, jedoch eine spezielle, die output streams bereit stellt und input streams entgegen nehmen kann (doch zu Dateien in Linux in einem späteren Teil mehr). Wenn man schauen möchte was es ist, kann man auch einfach folgendes machen und sich die Ausgabe anschauen:

Eigenschaften
$ ls -alh /dev/null
crw-rw-rw- 1 root root 1, 3 Nov 10 19:06 /dev/null

Es ist also eine spezielle Datei (das c bedeutet char device), jeder hat Zugriff darauf, es gehört root und es werden weitere, für uns momentan nicht wichtige, Informationen angezeigt.

Nutzen von /dev/null

Man kann es einsetzen um z.B. einen gewissen output-Stream (z.B. stderr) aus der Ausgabe von einem Programm zu entfernen. Hierfür benutzt man einfach den Umleitungs-Operator (redirection operator, also das > Zeichen) kombiniert mit der file descriptor number für stderr (sprich 2):

Ausgaben weg schmeißen
$ find /etc/ -iname apt 2> /dev/null

Wir suchen hier nach allen Dateien und Ordnern unter /etc/ in deren Namen der string apt vorkommt. Alle Ausgaben auf den stream stderr werden ins Nirvana geschickt.

Gefahren von /dev/null

(mehr …)

Unvermeidbar: WhatsApp teilt Telefonnummer mit Facebook

Wer nicht explizit die neuen Richtlinien von WhatsApp ablehnt, der teilt unabsichtlich seine Telefonnummer und den Zeitpunkt wann man zuletzt online war mit Facebook. Unten beschreibe ich, wie man verhindern kann, dass Facebook die Telefonnummer kommerziell nutzt! Ganz kann man das Teilen jedoch nicht abschalten.

… werden wir einige deiner Account-Informationen, wie die Telefonnummer […] und die Zeit, wann du das letzte Mal unsere Dienste verwendet hast, mit Facebook und der Facebook-Unternehmensgruppe teilen.WhatsApp FAQ

Facebook wird nach dem teilen der Telefonnummer diese für Werbezwecke nutzen, indem die Nummer mit Firmen in Verbindung gebracht wird. Weiß Facebook also, dass man des öfteren bei einem Lieferdienst Pizza bestellt, kann es passieren, dass vermehrt Pizza-Werbung dieser speziellen Firma auftaucht.

WhatsApp hatte noch nie wirklich gute Datenschutzbestimmungen und das wird sich wohl auch sobald nicht ändern, doch ist die Entwicklung sehr interessant: WhatsApp released → Ziemlich cooler Messenger! WhatsApp wird von Facebook übernommen → hmm, nicht so geil. WhatsApp führt Ende-zu-Ende Verschlüsselung ein → Ziemlich nice. WhatsApp teilt Telefonnummer mit Facebook → Och nöö, son Dreck 🙁

Kann ich verhindern, dass WhatsApp meine Telefonnummer weitergibt?

(mehr …)

Docker: Hinweise in puncto Sicherheit

Ist Docker wirklich Sicher?

Docker erfreut sich immer höherer Beliebtheit und gilt als sicher, doch stimmt das wirklich?

Docker dient in erster Linie dazu Anwendungen (meist Server-Anwendungen) einzukapseln und vom Rest des Betriebssystems zu entkoppeln. Dabei wird auf den Linux Kernel vom Host-System zurückgegriffen und mittels cgroups und namespaces die Möglichkeiten des Docker-Containers eingeschränkt.

Container sind dabei kein Mittel um Anwendungen sicherer zu machen, sondern dienen in erster Linie dazu skalierbare Dienste bereit zu stellen. Sie haben jedoch den Vorteil, dass Anwendungen vom Rest des Systems entkoppelt sind, mehr dazu aber später.

Das Prinzip von Containern

Ein Container ist sehr grob gesagt eine leichtgewichtige VM (virtual machine). Er enthält ebenfalls ein virtuelles Betriebssystem besitzt jedoch eine andere Virtualisierungsebene als eine VM. (mehr …)