MIT-Kurs "Sicherheit von Computersystemen". Vortrag 19: „Anonyme Netzwerke“, Teil 3 (Vortrag vom Schöpfer des Tor-Netzwerks)

Ursprünglicher Autor: Nick Mathewson
  • Übersetzung
  • Tutorial

Massachusetts Institute of Technology. Vorlesung # 6.858. "Sicherheit von Computersystemen." Nikolai Zeldovich, James Mykens. 2014


Computer Systems Security ist ein Kurs zur Entwicklung und Implementierung sicherer Computersysteme. Die Vorträge behandeln Bedrohungsmodelle, Angriffe, die die Sicherheit gefährden, und Sicherheitsmethoden, die auf der neuesten wissenschaftlichen Arbeit basieren. Zu den Themen gehören Sicherheit des Betriebssystems (Betriebssystem), Funktionen, Informationsflusssteuerung, Sprachsicherheit, Netzwerkprotokolle, Hardwareschutz und Sicherheit in Webanwendungen.

Vorlesung 1: "Einführung: Bedrohungsmodelle" Teil 1 / Teil 2 / Teil 3
Vorlesung 2: "Kontrolle von Hackerangriffen" Teil 1 / Teil 2 / Teil 3
Vorlesung 3: "Pufferüberlauf: Exploits und Schutz" Teil 1 /Teil 2 / Teil 3
Vorlesung 4: "Privilegienseparation" Teil 1 / Teil 2 / Teil 3
Vorlesung 5: "Woher kommen die Fehler des Sicherheitssystems" Teil 1 / Teil 2
Vorlesung 6: "Fähigkeiten" Teil 1 / Teil 2 / Teil 3
Vorlesung 7: "Native Client Sandbox" Teil 1 / Teil 2 / Teil 3
Vorlesung 8: "Netzwerksicherheitsmodell" Teil 1 / Teil 2 / Teil 3
Vorlesung 9: "Web Application Security" Teil 1 / Teil 2/ Teil 3
Vorlesung 10: "Symbolische Ausführung" Teil 1 / Teil 2 / Teil 3
Vorlesung 11: "Ur / Web-Programmiersprache" Teil 1 / Teil 2 / Teil 3
Vorlesung 12: "Netzwerksicherheit" Teil 1 / Teil 2 / Teil 3
Vorlesung 13: "Netzwerkprotokolle" Teil 1 / Teil 2 / Teil 3
Vorlesung 14: "SSL und HTTPS" Teil 1 / Teil 2 / Teil 3
Vorlesung 15: "Medizinische Software" Teil 1 / Teil 2/ Teil 3
Vorlesung 16: "Angriffe durch einen Seitenkanal" Teil 1 / Teil 2 / Teil 3
Vorlesung 17: "Benutzerauthentifizierung" Teil 1 / Teil 2 / Teil 3
Vorlesung 18: "Private Internet Viewing" Teil 1 / Teil 2 / Teil 3
Vorlesung 19: „Anonyme Netzwerke“ Teil 1 / Teil 2 / Teil 3

Angenommen, Sie verwenden die Bayes'sche Wahrscheinlichkeit und argumentieren folgendermaßen: „Hätte das Gericht die Beweise dafür aufgestellt, dass dieser Mann wegen eines schlechten OPSEC erwischt wurde? Ja, das taten sie. Das heißt, ich brauche Berichte, die besagen, dass er wegen Nichteinhaltung der Informationssicherheit von Vorgängen im Internet erwischt wurde. “ Für die "Doppelkonstruktion" würde ich also Berichte benötigen, dass der Mann in eine schlechte OPSEC geraten ist, weil diese Art von Beweismitteln bei einer regelmäßigen polizeilichen Untersuchung gut zugänglich ist, ohne die Informationen zu erwähnen, die von den Geheimdiensten erhalten wurden.

Wir können aus keinem öffentlichen Bericht Rückschlüsse auf diesen Fall ziehen. Dennoch scheint es, als sei dieser Kerl gerade wegen Nichteinhaltung der OPSEC-Regeln inhaftiert worden. Das wäre, wonach Sie gesucht hätten und versucht hätten, jemanden zu fassen, der an illegalen Dingen beteiligt ist. Verwenden Sie mein Netzwerk also nicht, um gegen Gesetze zu verstoßen. Wenn Ihr Leben oder Ihre Freiheit von der Verwendung von Tor oder einem anderen Sicherheitsprodukt abhängt, dürfen Sie diese Produkte nicht isoliert verwenden.



Erwägen Sie die Schaffung mehrerer Verteidigungslinien, wenn Ihr Leben oder Ihre Freiheit auf dem Spiel steht oder wenn ein Systemabsturz für Sie völlig inakzeptabel ist. Dies gilt für Tor, TLS und PGP. Software ist eine noch nicht abgeschlossene Arbeit.
Das war alles, was ich über den Missbrauch im Internet sagen wollte. Ich habe noch 25 Minuten Zeit für versteckte Dienste.

Die Anonymität des Befragten ist ein viel komplexeres Problem als die Anonymität des Initiators. Die Anonymität des Initiators ist das, was Sie bekommen, wenn Alice Socken kaufen möchte, aber gleichzeitig für den Verkäufer von Socken anonym bleibt.

Die Anonymität der Befragten ist, wenn Alice ihre Gedichte im Internet veröffentlichen und einen Webserver mit ihren Gedichten betreiben möchte, aber niemand will herausfinden, wo sich dieser Webserver befindet, weil Gedichte so peinlich sind. Ja, in der Tat gibt es einen versteckten Dienst mit meinen schlechten Gedichten. Nein, ich glaube nicht, dass jemand sie bereits veröffentlicht hat. Nein, ich werde niemandem sagen, wo er ist. Ich warte nur darauf, dass es öffentlich wird.

Angenommen, Alice möchte ihre Gedichte veröffentlichen. Ich werde es nach rechts stellen, weil sie die Befragte ist. Alice kann den Weg - diese spiralförmige Linie stellt mehrere Repeater - zum Tor-Netzwerk, diesem R, ebnen und ihn fragen: "Bitte akzeptieren Sie diese Verbindungen!". Nun kann jeder, der sich mit diesem Transponder verbindet, sagen, dass er mit Alice sprechen möchte. Es gab Projekte, die auf diese Weise funktionierten.



Es gibt jedoch einige Probleme. Ein Problem ist, dass dieses Relais ein "Mann in der Mitte" sein kann, der den gesamten Verkehr abfängt, wenn es hier keinen bekannten TLS-Schlüssel gibt. Das zweite Problem kann sein, dass die Person, die diesen Vers besitzt und die auch seine Gedichte scheut und nicht als öffentlicher Vertreiber von Poesie auftreten möchte, diesen Repeater besitzt, weil er so schrecklich ist!

Andere Personen, die einen Transponder R besitzen und die Poesie so sehr hassen, dass sie diese Verbindung ihrer eigenen Zensur unterwerfen möchten, können dies ebenfalls beeinflussen. Schließlich kann dieser R-Transponder einfach das Ziel eines Angriffs sein.

Daher möchten Sie, dass Alice ständig zwischen verschiedenen Repeatern wechselt, und keiner von ihnen könnte ihren unverschlüsselten Datenverkehr beeinträchtigen. Das ist durchaus machbar.
Aber wenn wir viele verschiedene Wiederholer haben, was hat Alice dann den Leuten zu sagen? Es sollte hier so etwas wie ein öffentlicher Schlüssel geben, denn wenn er nur auf das Netzwerk zugreift: "Repeater X, Repeater Y, Repeater Z", wird dies nicht funktionieren, da sich das Netzwerk alle 5 Minuten ändert und es schwierig ist, den richtigen Repeater zu erhalten .

Angenommen, sie informiert alle Mitglieder des Netzwerks mit einem öffentlichen Schlüssel, und wenn sie hierher zu R kommt, sagt sie: "Das ist Alice, ich werde es mit meinem öffentlichen Schlüssel beweisen." So weiß R, dass der öffentliche PKz-Schlüssel einen bestimmten verborgenen Dienst startet - Alices Poesie. Wenn also jemand anderes sagt: "Hey, verbinden Sie mich mit dem öffentlichen Schlüssel Z", können Sie mit Alice einen Handshake mit Hilfe eines gemeinsam genutzten Schlüssels durchführen. Und dies ist derselbe Handshake, der auch in der Tor-Kette verwendet wird.

Jetzt kann Bob Alices Verse lesen und eine weitere Verbindung über das Tor-Netzwerk herstellen. Wenn Sie den PKz-Schlüssel kennen, kann Bob der Staffel sagen: "Hey, verbinden Sie mich mit Alice mit diesem PKz." Nachdem der Repeater einen gemeinsamen Handshake durchgeführt hat, erhalten Bob und Alice einen gemeinsamen Schlüssel, mit dem sie die gesamte Verbindung verschlüsseln können.



Es gibt etwas, das ich vermisst habe, nämlich woher weiß Bob, wie er hierher kommt? Wie erkennt dieser Repeater den öffentlichen PKz-Schlüssel? Wir können dem System eine Art Verzeichnissystem hinzufügen, in dem Alice anonym über Tor eine signierte Anwendung hochlädt, in der angegeben wird, dass sich PKz auf X-Relay befindet zu gehen Wir könnten es noch besser machen - lassen Sie uns einen anderen öffentlichen Schlüssel angeben, nennen wir es PKw, und die Anweisung, die sie in das Verzeichnis hochlädt, und die besagt, dass wenn Sie mit dem öffentlichen Schlüsseldienst Z sprechen möchten, Sie zum Rx-Repeater gehen sollten. mit dem öffentlichen Schlüssel W.



In diesem Fall wird der öffentliche Schlüssel Z nicht auf dem Rx-Transponder veröffentlicht. Sie könnten den Ausdruck (Rx, PKw) mit einem von Alice und Bob bekannten geheimen geheimen Geheimnis verschlüsseln. Wenn Sie dies tun, wissen der Verzeichnisdienst und die Personen, die den Verzeichnisdienst kontaktieren können, nicht, wie Sie mit diesem PKz-Schlüssel eine Verbindung zu Alice herstellen.

Student: Wenn es nicht verschlüsselt ist, kann das Rx-Relay erfahren, dass der Dienst für Alice ausgeführt wird, oder?

Nick Mathewson: Nein, nicht für Alice. Er kann nur herausfinden, was der PKz-Schlüssel verwendet, wenn dieser Ausdruck nicht verschlüsselt ist. Wir haben eine Lösung, wie ein solches System erstellt werden kann. Es wurde noch nicht gebaut, aber es wird cool.

Angenommen, Sie möchten hierfür kein zentrales Verzeichnis verwenden. In diesem Fall verwenden wir tatsächlich DHT, das nicht perfekt ist und der Zensur unterliegt, wir versuchen jedoch, die Zensur immer weniger zu verwenden. Ich könnte Ihnen mehr darüber erzählen, aber ich fürchte, ich habe keine Zeit, um die verbleibenden Themen zu behandeln.

Es gibt noch ein weiteres Problem: Wenn Sie eines dieser Dienstverzeichnisse verwenden und eine vollständige Liste der Schlüssel haben, können Sie eine Verbindung zu allen herstellen, die ihre Verbindungen nicht verschlüsselt haben, um herauszufinden, was sie dort haben. Dies wird als Aufzählungsangriff oder "Aufzählungsangriff" bezeichnet. Wir haben das in unserer Zeitung nicht erwähnt, nicht weil es uns egal ist, sondern weil wir noch nicht bereit sind, solchen Angriffen zu widerstehen.

Ich hoffe, dass wir 2014 eine Lösung finden werden, bei der sich Alice und Bob den Schlüssel PKz teilen, dieser Ausdruck (Rx, PKw) ist jedoch nicht mit dem Schlüssel PKz signiert. Es wird von PKz 1 signiert , das von PKz abgeleitet ist, und Datumsangaben:

PKz 1 → PKz, Datum

Wenn Sie PKz und das Datum kennen, können Sie PKz 1 erhalten . Wenn Sie als Alice das Geheimnis von SKz kennen, können Sie Nachrichten erstellen, die von PKz 1 signiert sind .



Aber wenn Sie nur PKz 1 sehenSelbst wenn Sie das Datum kennen, können Sie PKz nicht erneut erhalten. Wir haben Beweise für die Möglichkeit dieser Lösung, und wenn Sie wissen wollen, wie es funktioniert, dann schreiben Sie mir, und ich werde sie Ihnen schicken. Das ist ein cooler Trick. Wir sind nicht die ersten, die diese Idee haben. Aber so werden wir das Problem des Aufzählungsangriffs im laufenden Jahr lösen, wenn ich wirklich Zeit finde, diese Lösung in die Praxis umzusetzen. Das ist alles für versteckte Dienste.

Betrachten Sie das Problem der Angriffe und der Verteidigung. Die größte Kategorie von Angriffen, die wir bisher gesehen haben, sind Angriffe auf Anwendungsebene. Wenn Sie eine Anwendung über Tor ausführen und unverschlüsselten Datenverkehr wie eine normale HTTP-Verbindung senden, kann der feindliche Exit-Point-Knoten wie jeder andere Knoten, der HTTP-Verbindungen zulässt, diesen Datenverkehr überwachen und ändern. Dies ist der Angriff Nr. 1 in unserem System. Sie können dem verschlüsselten Datenverkehr widerstehen.

Glücklicherweise hat die Verschlüsselung in den letzten Jahren zugenommen. Immer mehr Verkehr wird von einer exzellenten kostenlosen Zertifizierungsstelle verschlüsselt, über die EFF, Mozilla und Cisco vor ein oder zwei Tagen berichteten. Ich hoffe, dass der unverschlüsselte Verkehr im Jahr 2015 noch geringer sein wird als in diesem Jahr. Dieser Ansatz löst also dieses Problem.

Interessantere Angriffe umfassen Dinge wie das Markieren von Verkehr oder das Markieren von Verkehr. Bei der vorherigen Implementierung der Integritätsprüfung haben wir einen Fehler gemacht. Unsere frühe Implementierung der Integritätsprüfung endete mit einer Integritätsprüfung zwischen dem Alice-Programm und dem Exit-Point-Knoten. Es stellte sich jedoch heraus, dass dies nicht ausreichend war. Wenn der erste R1-Repeater den Verkehr so ​​„verwirrt“, dass er ein Muster erzeugt, das den Austrittspunktknoten erkennen kann, dann dient er für den ersten und den letzten Repeater als Weg, um herauszufinden, dass sie sich auf demselben gemeinsamen Pfad in derselben Kette befinden und sich identifizieren Alice

Wenn der erste und der letzte Repeater auf die eine oder andere Weise zusammenarbeiten, können sie Alice auf jeden Fall durch einen Vergleich des Verkehrs erkennen. Wir hoffen jedoch, dass dies für sie nicht einfach sein wird und der Prozess der Korrelierung des Verkehrs mit der Zeit schwieriger wird als wir denken.
In der Tat wäre es gut, diese Art von Angriff ein für alle Mal zu beenden. Dafür haben wir zwei Lösungen. Eine der erwarteten Folgen solcher Angriffe ist das periodische Brechen der Ketten, da der Angreifer der ersten Nabe einen Fehler in Bezug auf die Kontrolle über die letzte Nabe gemacht hat.

Daher prüft jeder Tor-Client auf eine merkwürdige Absprungrate. Eine effektive, langfristige Lösung für das Problem besteht darin, dafür zu sorgen, dass die "Aufregung" mit der Vorlage auf dem ersten Hub nicht mehr als 1 Bit Information auf dem letzten Hub erzeugt. Sie können das Senden von 1 Bit Information nicht vermeiden, da der erste Hub die Verbindung immer einfach trennen kann. Sie können diese Informationen jedoch auf den Wert von 1 Bit begrenzen. Oder besser auf 2 Bits, weil sie dann die Wahl haben können, die Daten zu beschädigen oder die Verbindung zu trennen. Ich hatte eine Idee, wie das am besten geht, also werde ich über dieses Problem nachdenken.

Denial of Service oder DOS ist ebenfalls wichtig. Letztes Jahr gab es einen Artikel über das, was die Autoren den "Scharfschützenangriff" nannten. Sie sehen Datenverkehr von einem Tor-Knoten, den Sie nicht kontrollieren können, und deshalb möchten Sie alle Benutzer von diesem Knoten entfernen. Dazu verbinden Sie sich mit diesem Knoten, überlaufen alle Puffer seines Speichers und er "fällt". Danach leiten Sie den Verkehr, an dem Sie interessiert sind, an den Knoten weiter, den Sie steuern, und wenn dieser auf den unkontrollierten Knoten trifft, wiederholen Sie diese Technik mehrmals, bis das gewünschte Ergebnis erreicht ist.

Unsere besten Lösungen sind darauf ausgelegt, die Möglichkeit eines DOS-Angriffs auf den Speicher zu eliminieren, und unsere Patches haben diese Möglichkeit praktisch ausgeschlossen. Eine andere Möglichkeit, Probleme dieser Art zu lösen, besteht darin, sicherzustellen, dass der Repeater über eine große Speicherkapazität verfügt. Verwenden Sie daher keine Repeater mit geringer Kapazität im Netzwerk. Wir tun dies auch - wenn Sie versuchen, den Tor-Knoten auf Ihrem Telefon zu starten, erhält er keine Autorisierung und wird nicht in die Liste der vertrauenswürdigen Knoten aufgenommen.

Wir versuchen auch, Kettenplanungsalgorithmen zu entwickeln, obwohl es sehr schwierig ist, ein Netzwerkdiagramm von Knoten zu entwickeln, die Sie nicht steuern können. Daher ist dies ein ungelöstes Problem.

Nun sag mir, ist es besser, dir interessante Angriffe oder wichtige Angriffe zu erzählen?

Student: über interessantes!

Nick Mathewson:ok Lassen Sie dann diejenigen, die ein Programm schreiben möchten, das Kryptographie verwendet, ihre Hände erheben? Toll, das sollten Sie lernen! Vertrauen Sie jedoch niemals der Implementierung Ihrer Kryptographie. Auch wenn es richtig ist, ist es immer noch falsch. Vor langer Zeit hatten wir einen der schlimmsten Sicherheitsfehler. Wir waren der Meinung, dass jeder Repeater in jeder Knotenkette ein „Mann in der Mitte“ sein könnte, weil wir davon aus waren, dass die korrekte Implementierung des Diffie-Hellman-Algorithmus prüfen würde, ob 0 als eine der Eingaben übergeben wurde.



Die Autoren unserer Diffie-Hellman-Implementierung gingen davon aus, dass die korrekte Anwendung niemals eine Diffie-Hellman-Implementierung durchlaufen würde.

Wie funktioniert der korrekte Diffie-Hellman-Algorithmus? Angenommen, ich habe g x und du hast g y. Ich kenne X, du kennst Y, und wir können beide g xy berechnen . Wenn stattdessen "man in the middle" meinen g-Wert durch Null ersetzt, dann berechne ich 0 x , berechnet 0 y , haben wir den gleichen Schlüssel, und wir können leicht miteinander kommunizieren, aber es ist der Schlüssel, der dem Angreifer bekannt ist, weil dass es 0 ist.

Die Einheit funktioniert, P funktioniert auch, P + 1 funktioniert auch. Daher müssen Sie nur sicherstellen, dass Ihre Werte für g x und g y im Bereich von 2 bis P-1 liegen, wenn Sie den Diffie-Hellman-Algorithmus in Form von z sub p implementieren.

Ich würde gerne mehr über Zensur sprechen. Schließlich ist dies einer der Bereiche, in denen wir das Beste tun können. Anfangs dachten wir daran, Tor wie einen Web-Client aussehen zu lassen, der über HTTPS mit einem Webserver spricht und das Blockieren erschwert. Es stellt sich heraus, dass es fantastisch schwierig und wahrscheinlich nicht wert ist.
Jetzt verwenden wir einen Ansatz, bei dem verschiedene Plug-Ins verwendet werden, die die Verwendung von nicht zugeordneten Repeatern als Bridge ermöglichen, und der Benutzer kann dieses Schema für verschiedene Datenverkehrskonvertierungen verwenden. Wir schaffen es so, dass neue Repeater schneller in das Netzwerk eingefügt werden, als Zensoren ihre Blockierung implementieren.



In der Tat ist dies der Fall, wenn keine der Lösungen kategorisch praktikabel ist. Wahrscheinlich habe ich meine Idee nicht so formuliert. Es ist korrekter zu sagen, dass keines dieser Plug-Ins durch moderne Technologien im Wesentlichen freigegeben wird, aber sie sind gut genug, um den Verkehr für 1-2 Jahre in den meisten Ländern oder 6-7 Monate in China freizuhalten.

China verfügt derzeit über die kompetentesten Zensoren der Welt, hauptsächlich weil es kein Outsourcing gibt. Die meisten anderen Länder mit aggressiver Zensur des Internets übertragen die Funktionen von Zensoren auf europäische, amerikanische und asiatische Unternehmen, die nicht wirklich daran interessiert sind, wirksame Software zum Zensieren des Internets zu verkaufen, sondern ihre Kunden dazu zwingen, ständig am Aktualisierungswettlauf teilzunehmen.

Beispielsweise können Sie Ihre Zensur-Software in den USA kaufen. Technisch gesehen haben US-Unternehmen kein Recht auf Zensurprogramme für Drittländer, aber die USA haben eine Unternehmensfirewall entwickelt, die bis zu 10 Millionen Benutzer umfasst. Ich halte das für unethisch, aber ich bin auch kein Mitglied politischer Organisationen oder Philosoph.

Paul Cyverson, einer der Tor-Autoren, hat einen Abschluss in Philosophie, aber selbst er kann diese Fragen nicht beantworten. Aber er gibt viel Zeit, um sie nicht zu beantworten.
Also, wo blieb ich stehen? 90 Minuten sind eine lange Zeit. Auf zensiert! So hat Tor die Zensur verschiedener Entwickler wiederholt umgangen. Sie versuchen, die neuesten Versionen von Tor zu blockieren, machen aber gleichzeitig einen eher schwachen Lock. Wenn wir also 1 Bit in derselben Knoten-ID ändern, können Sie eine solche Sperre leicht umgehen.

Wir können nicht beweisen, dass Tor die Blockade absichtlich überbrückt, das heißt, sie verkaufen Blockierungsprogramme, die nicht funktionieren, um sie Update für Update zu verkaufen. Aber es scheint uns so zu sein. Ein weiterer Grund, nicht für Zensuranbieter zu arbeiten, ist nicht nur, dass dies äußerst unmoralisch ist, sondern sie bieten auch keine ausreichend gute Software.

Wenn Sie daran interessiert sind, eines dieser zusammenhängenden Dinge für den Transport von Verkehr zu schreiben, wäre dies ein großartiges Studentenprojekt, bei dem Sie Spaß haben und ein wenig mehr über Verschlüsselung und Netzwerk lernen können. Und solange Sie dies in einer Sprache tun, die einen sicheren Speicherzugriff garantiert, können Sie Ihr Programm nicht allzu sehr beeinträchtigen. Das Schlimmste, was passieren kann, wenn Sie ein "schwaches" Plug-In schreiben, ist, dass die Zensur das Netzwerk in einem Monat blockiert und nicht in einem Jahr.

Wir haben mehr Themen, die ich vergessen habe - Entwicklung. Tor ist das beliebteste System, aber nicht das einzige seiner Art. Viele andere Systeme haben wirklich gute Ideen, und Sie sollten sie lesen, wenn Sie wirklich alle Anonymitätsmaterialien im Internet studieren möchten. Die Bibliographie von freehaven.net/anonbib/ umfasst Forschungen und Veröffentlichungen auf diesem Gebiet, aber nicht alle Forschungen auf diesem Gebiet sind wissenschaftlicher Natur.

Du solltest auch I2P, Gnunet, Freedom - "Freedom" treffen, die nicht mehr existiert, und das ist kein Wortspiel, Mixmaster, Mixminion, Sphynx durch den Buchstaben Y, Sphinx durch den Buchstaben I - das ist etwas anderes, DC-Netz, besonders mit die Arbeit von Brian Ford und dem Team der Technischen Universität Dresden über das Bestreben, DC-net praktischer zu machen. Dies sind leistungsstarke Systeme, die jedoch nicht für die praktische Implementierung bereit sind. Warum ihnen weniger Beachtung geschenkt wird als Tor, ist ein offenes Thema, eine Frage, auf die ich keine feste Antwort habe.
Das nächste Thema ist die zukünftige Arbeit. Einer der Gründe, warum ich über zukünftige Arbeit spreche, ist nicht, weil ich möchte, dass jeder weiß, wie cool ich arbeite, sondern weil ich weiß, dass Studenten viel Freizeit haben. Und ich rekrutiere irgendwie zukünftige Mitarbeiter. Du denkst vielleicht, ich mache Witze. Als ich anfing, in diesem Bereich zu arbeiten, beklagte ich mich, dass ich damit beschäftigt war, Artikel für eine Konferenz zu lesen, Software zu schreiben, Fehler zu korrigieren und Briefe zu beantworten. Ich beschwerte mich beim Schulleiter darüber und er antwortete: "Sie werden nie so viel Freizeit haben wie heute." Jetzt haben Sie viel mehr Freizeit als in 10 Jahren. Dies ist eine großartige Zeit, um an verrückten Programmen zu arbeiten.



Lassen Sie mich Ihnen von Ihrer zukünftigen Arbeit bei Tor erzählen. Wie ich bereits erwähnte, die Umsetzung der Idee:

PKz 1 → PKz, Date

Es ist die Schlüsselaufgabe für die Aktualisierung unseres Systems verborgener Dienste, der besten, die wir zu diesem Zeitpunkt erahnen konnten. Aber seitdem wurde viel geforscht, und vielleicht schlagen einige von ihnen effektivere Ideen vor.

Wir haben auch einen Großteil unseres kryptografischen Systems umstrukturiert. Im Jahr 2003 haben wir den Public-Key-Verschlüsselungsalgorithmus RSA-1024 ausgewählt, der damals wie ein guter Kompromiss zwischen Sicherheit und Leistung schien. Derzeit haben wir RSA-1024 durch einen stärkeren Ed25519-Algorithmus ersetzt. Das Verschlüsselungsprotokoll enthält jedoch noch ein paar weitere Dinge, die ich ersetzen möchte, und daran müssen wir arbeiten.

Ich habe nicht viel über die Auswahl des Pfadauswahlpfads gesprochen, daher kann ich nicht über Verbesserungen dieses Prozesses sprechen. Unsere Algorithmen zur Pfadauswahl wurden jedoch überarbeitet und in den letzten fünf bis sechs Jahren wurde enorm geforscht, was wir in das System integrieren müssen. Einige Forschungsarbeiten wurden im Bereich der Vermischung von Verkehr mit hoher und niedriger Latenz durchgeführt.

Datenverkehr mit niedriger Latenzzeit kann den Datenverkehr mit hoher Latenzzeit blockieren, wenn eine große Anzahl von Benutzern bedient wird, während der Datenverkehr mit hoher Latenzzeit immer noch sehr gut anonymisiert ist. Es ist noch nicht klar, ob das Mischen dieses Verkehrs wie gewünscht funktioniert, und es ist unklar, ob jemand ihn verwenden wird. Es ist jedoch absolut klar, dass ich, wenn sich etwas nicht zum Besseren ändert oder wenn für die Forschung in diesem Bereich große Mittel zur Verfügung stehen, keine Zeit habe, 2015 daran zu arbeiten. Aber wenn jemand anderes dieses Problem lösen möchte - willkommen, würde es Spaß machen!

Unsere Workload-Management-Algorithmen waren nicht auf der Grundlage dessen, was wir in einer Woche zusammenlegen konnten, gerechtfertigt. Wir haben sie verbessert, aber sie konnten optimal optimiert werden. Es gibt einige Studien, die auf Hunderttausende von Knoten skaliert werden. Mit dem vorhandenen Systemdesign können Sie das Netzwerk problemlos auf 10 oder 20.000 Knoten erweitern. Da wir jedoch davon ausgehen, dass jeder Client über jeden Knoten Bescheid weiß und jeder Knoten mit jedem anderen Knoten verbunden sein kann, ist die Skalierung auf 100.000 Knoten beschränkt, und wir müssen etwas dagegen unternehmen.

Dadurch besteht die Möglichkeit von Angriffen aufgrund der Tatsache, dass der Angreifer herausfindet, welche Clients welche Knoten kennen, und dies zum Angriff auf einzelne Clients im Netzwerk verwendet. Daher sind vereinfachte Ansätze für dieses Problem eine schlechte Idee, aber Sie können die Lösung ernsthafter angehen.
Eine weitere Möglichkeit, die durch die Erhöhung des Netzwerks auf 100.000 Knoten erreicht werden kann, besteht darin, die zentralisierten Berechtigungsautoren für Verzeichnisse zu verlassen und mit der Peer-to-Peer-Entwicklung fortzufahren. Ich habe nicht viel Vertrauen in Peer-to-Peer-Projekte, von denen ich weiß, aber vielleicht kann jemand eine fortgeschrittenere Option finden.



Jemand stellte eine Frage zum Hinzufügen von Verkehrsmustern oder zum Fälschen von Verkehr, um zu versuchen, die Verkehrskorrelation zu überlisten. Dies ist ein aufregender Forschungsbereich, der diejenigen braucht, die einen verantwortungsbewussteren Ansatz verfolgen als diejenigen, die dies bisher getan haben.
In der Forschungsliteratur gibt es zu viele Ergebnisse zur Abgrenzung des Verkehrs von zwei Benutzern in einem Netzwerk, das einen Repeater enthält, weil dies mathematisch einfacher war.

Aufgrund dieser Art von Dingen sehen alle Sicherheitstools für die Verkehrsanalyse, die wir in diesem Bereich kennen und die mit Weitblick kompatibel sind, auf dem Papier gut aus. Man kann sagen: "Hurra, das zwingt den Angreifer, dreimal so viel Verkehr zu analysieren, wie der Benutzer berechnet hat!". In der Realität bedeutet dies jedoch nur, dass der Angreifer jetzt zwei Sekunden benötigte, um den Datenverkehr zu erfassen. Dies ist jetzt nicht mehr ausreichend. Dies ist jedoch kein ausreichender Schutz, obwohl er sich in einem realen Netzwerk positiv auswirken kann.

Daher möchten wir wirklich einige Dinge sehen, die es uns ermöglichen, eine Vorlage oder falschen Verkehr zu implementieren, was den Hacker verwirrt. Wir möchten jedoch keinen "Voodoo" -Schutz hinzufügen, da wir davon ausgehen, dass er etwas Gutes bringt, obwohl wir es in Wirklichkeit nicht tun können. Wir möchten wirklich gerne Beweise haben, dass jede Änderung, die wir vornehmen werden, uns wirklich helfen wird.

Es scheint, ich habe keine Zeit mehr. Nach uns kann es Kurse geben? Nein? In diesem Fall werde ich noch ein wenig in diesem Publikum bleiben. Danke, dass Sie gekommen sind, um zu hören. Ich würde Ihre Fragen beantworten, aber jetzt ist es 12:25 Uhr, und die Leute haben vielleicht einen weiteren Vortrag. Aber ich werde da sein. David, vielen Dank fürs Kommen!


Die vollständige Version des Kurses ist hier verfügbar .

Danke, dass Sie bei uns bleiben. Magst du unsere Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Freunden empfehlen, 30% Rabatt für Habr-Benutzer auf ein einzigartiges Analogon der Einstiegsserver, die wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbps $ 20 oder wie kann ich den Server freigeben? (Optionen sind für RAID1 und RAID10 verfügbar, bis zu 24 Kerne und bis zu 40 GB DDR4).

VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbps bis Januar kostenlos, wenn Sie für einen Zeitraum von sechs Monaten bezahlen, können Sie hier bestellen .

Dell R730xd 2 mal billiger? Nur bei uns2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV ab 249 $ in den Niederlanden und den USA! Lesen Sie mehr darüber, wie Sie ein Infrastrukturgebäude bauen. Klasse C mit Servern Dell R730xd E5-2650 v4 im Wert von 9000 Euro für einen Cent?

Jetzt auch beliebt: