Massachusetts Institute of Technology. Vorlesung # 6.858. "Sicherheit von Computersystemen." Nikolai Zeldovich, James Mickens. 2014 Jahr
Computer Systems Security ist ein Kurs zur Entwicklung und Implementierung sicherer Computersysteme. Die Vorträge behandeln Bedrohungsmodelle, Angriffe, die die Sicherheit gefährden, und Sicherheitstechniken, die auf jüngsten wissenschaftlichen Arbeiten basieren. Zu den Themen gehören Betriebssystemsicherheit, Funktionen, Informationsflussmanagement, Sprachsicherheit, Netzwerkprotokolle, Hardwaresicherheit und Sicherheit von Webanwendungen.
Vorlesung 1: „Einführung: Bedrohungsmodelle“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 2: „Kontrolle von Hackerangriffen“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 3: „Pufferüberläufe: Exploits und Schutz“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 4: „Trennung von Privilegien“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 5: „Woher kommen Sicherheitssysteme?“
Teil 1 /
Teil 2Vorlesung 6: „Chancen“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 7: „Native Client Sandbox“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 8: „Netzwerksicherheitsmodell“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 9: „Sicherheit von Webanwendungen“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 10: „Symbolische Ausführung“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 11: „Ur / Web-Programmiersprache“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 12: Netzwerksicherheit
Teil 1 /
Teil 2 /
Teil 3Vorlesung 13: „Netzwerkprotokolle“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 14: „SSL und HTTPS“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 15: „Medizinische Software“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 16: „Seitenkanalangriffe“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 17: „Benutzerauthentifizierung“
Teil 1 /
Teil 2 /
Teil 3 Eines der interessanten Dinge, die in diesem Artikel behandelt werden, ist, dass die Autoren sagen, wenn Sie all diese Authentifizierungsschemata durchgehen: „OK, das sind Passwörter, sie saugen irgendwie und es gibt andere Dinge, die viel bessere Sicherheit bieten Aber sie lassen sich oft nicht bereitstellen, sind unpraktisch in der Verwendung und dergleichen. “

Dies ist ein interessantes und gleichzeitig enttäuschendes Ergebnis dieser Arbeit, das darin besteht, dass wir all diese Tools, die eine höhere Protokollsicherheit bieten, aufgrund extremer Unannehmlichkeiten nicht verwenden können.
Telepathwords ist also nur eine unterhaltsame Website. Sie behaupten, dass sie Ihre Passwörter nicht speichern, sodass Sie ihr Wort dafür nehmen können, wenn Sie möchten. Aber es ist sehr interessant, sich einfach hinzusetzen und darüber nachzudenken, wie gut ich mir ein Passwort ausgedacht habe. Und dann geben Sie es hier ein und sehen Sie, wie einfach es ist, es zu erraten. Es ermöglicht Ihnen sogar die heuristische Analyse beliebter Phrasen aus mehreren Wörtern, aus denen nur der erste Buchstabe jedes Wortes für das Kennwort ausgewählt wird. Das Ding ist also sehr nützlich.
Eine weitere interessante Sache ist, dass Ihre Passwörter offline erraten werden können. Diese Sicherheitsanfälligkeit, die als Preauth oder „Preauthentication“ bezeichnet wird, war Kerberos v4 und v5 inhärent. Jeder kann bei KDC ein mit dem Kennwort des Benutzers verschlüsseltes Ticket anfordern.
Daher hat KDC keine Anforderungen vom Client authentifiziert. KDC gab als Antwort auf die Anforderung, die mit dem Client-Schlüssel verschlüsselt wurde, einen Satz von mehreren Bits zurück. Dies wurde an den Kunden zurückgegeben. Das Problem war, dass der Server nicht überprüfte, wer diese verschlüsselten Dinge gesendet hat, sodass der Angreifer diese Sache im Grunde genommen bekommen und dann versuchen konnte, nur zu erraten, was K_C ist.

Versuchen Sie einfach, den K_C-Wert zu erraten, versuchen Sie, ihn zu verschlüsseln, prüfen Sie, ob er so aussieht. Wenn nicht, versuchen Sie, einen anderen K_C zu erraten, entschlüsseln Sie ihn, prüfen Sie, ob er der Wahrheit entspricht, und so weiter. Der Grund, warum ein Angreifer diese Art von Angriff organisieren kann, ist, dass dieses TGT in den Klammern tatsächlich ein bekanntes Format hat. Es gibt so etwas wie Zeitstempel und interne konsistente Referenzfelder, und all dies hilft dem Angreifer, das Passwort zu erraten. Denn wenn der Angreifer K_C errät und den entschlüsselten Inhalt der Klammern empfängt, die internen Felder jedoch nicht überprüft werden, versteht der Angreifer, dass er das falsche K_C ausgewählt hat und für das nächste genommen wird.
In Kerberos Version 5 muss der Client einen Zeitstempel an das KDC übergeben, wonach das Etikett mit K_C verschlüsselt wird. All dies wird an den Server gesendet. Der Server überprüft diese Anforderung und überprüft sie, bevor er etwas an den Client sendet. So kann jeder zufällige Client kommen und einfach vom Server nach diesem Ding fragen.
Student: Erscheint der Zeitstempel in der Nachricht? Könnte ein Angreifer diese Nachricht einfach mit Brute-Force aufnehmen und knacken?
Professor: Mal sehen. Kann ein Angreifer diese {time stapm} K_C-Nachricht erhalten?
Student: Ja, das ist eine verschlüsselte Nachricht.
Professor: Das heißt, Sie denken, dass ein Angreifer diese Nachricht zum Beispiel einfach vortäuschen könnte?
Student: Nein, er würde Brute-Force anwenden, um K_C zu entsprechen.
Professor: Ich sehe, mit anderen Worten, Sie befürchten, dass jemand den Inhalt dieser Klammern ausspioniert. Ich glaube, dass sich der Inhalt in dem verschlüsselten Objekt befindet, das zum Server gehört, oder in dem Schlüssel, der zum Server gehört, um einen solchen Angriff zu verhindern, aber dies ist ausschließlich meine Meinung. Aber im Allgemeinen haben Sie Recht, wenn es einem Angreifer gelingt, den Zeitstempel in der Anfrage eines Kunden herauszufinden, ist dies für ihn von großem Vorteil. In diesem Fall kann er erraten, in welchem Bereich die benachbarten Zeitstempel liegen können, und dies für einen ähnlichen Angriff verwenden.
Student: In diesem Fall sollte der Angreifer „ein Mann in der Mitte“ sein.
Professor: Dies ist so, der Angreifer muss sich irgendwo im Netzwerk zwischen dem Client und dem Server befinden, um solche Dinge "ausspähen" zu können.
Eine weitere wichtige Sache ist die Passwortwiederherstellung. Der Punkt ist, wenn Sie Ihr Passwort verlieren, sollten Sie ins Büro gehen und nach einem anderen Passwort fragen. Aber bevor Sie dieses Passwort erhalten, müssen Sie irgendwie beweisen, dass Sie Sie sind.
Wie funktioniert es? Wie kann ich mein Passwort wiederherstellen? Interessanterweise konzentrieren sich die Leute oft auf die Entropie des Passworts selbst. Das Problem ist jedoch, dass wenn die Fragen, die zum Wiederherstellen des Kennworts oder des Kennwortwiederherstellungsschemas verwendet werden, eine geringe Entropie aufweisen, dies die Entropie des allgemeinen Authentifizierungsschemas beeinflusst. Mit anderen Worten, die Stärke des allgemeinen Authentifizierungsschemas entspricht der minimalen Entropie des Kennworts und der minimalen Entropie des Problems für die Kennwortwiederherstellung. Es gibt viele Szenarien und Regeln, es gibt genug bekannte Fälle, wie zum Beispiel den Fall von Sarah Palin. Jemand war in der Lage, ihr Passwort betrügerisch wiederherzustellen, weil ihre Fragen zur Passwortwiederherstellung so waren, dass jeder Fremde eine Antwort darauf finden konnte, indem er beispielsweise einen Wikipedia-Artikel über sie las, in dem stand, auf welche Schule sie ging und auf welche usw.

So oft sind diese Fragen zur Kennwortwiederherstellung aus mehreren Gründen nicht gut genug. Manchmal haben diese Dinge nur eine sehr geringe Entropie. Wenn Ihre Frage zur Kennwortwiederherstellung beispielsweise "Was ist Ihre Lieblingsfarbe?" Lautet, sind die beliebtesten Antworten "Blau" und "Rot". Niemand wird mit "Weiß", "Fuchsia" oder "Lila" antworten. Daher können einige dieser Wiederherstellungsprobleme von Natur aus nicht genügend Entropie liefern.
Ein weiteres Problem besteht darin, dass manchmal Antworten auf Fragen zur Kennwortwiederherstellung über soziale Netzwerke verloren gehen. Wenn eine der Fragen für die Kennwortwiederherstellung beispielsweise "Was ist Ihr Lieblingsfilm?" Lautet, gibt es viel mehr Raum zum Erraten. Ich kann beispielsweise in Ihrem Profil auf IMDB oder Facebook nach dem Namen Ihres Lieblingsfilms suchen, den Sie mir selbst mitgeteilt haben .
Und ein weiteres Problem, das lustigste, ist, dass die Benutzer selbst sehr schwache Wiederherstellungsfragen haben, zum Beispiel, was 2 plus 3 sein wird. Das heißt, der Benutzer glaubt, dass es für jemanden ein großes Problem sein wird, die richtige Antwort auf solche Fragen zu geben, aber die meisten Personen, die den Turing-Test bestehen, können sie erfolgreich beantworten und Ihr Passwort verwenden.
Student: Ist es möglich, einige zusätzliche Informationen anstelle von Fragen für die Passwortwiederherstellung zu verwenden, so wie wir unseren Namen in eine E-Mail einfügen oder den Inhalt des Briefes in der Kopfzeile kurz beschreiben - kann ein solcher Ansatz die Sicherheit solcher Dinge gewährleisten?
Professor: Ich kenne keine solche Forschung, aber tatsächlich sind diese Dinge viel besser. Ich weiß das, weil ich versucht habe, meiner Freundin zu helfen, diesen Prozess zu überstehen. Sie verlor die Kontrolle über ihr Google Mail-Konto und versuchte zu beweisen, dass es ihr Konto war. Und die Eigentümer der Website fragten sie nach Dingen wie zum Beispiel, als sie ihr Konto erstellte, ob sie mit jemandem über ihr Konto sprach, zum Beispiel der Hisbollah, bevor sie die Kontrolle darüber verlor und dergleichen. Dies ist eigentlich ein ziemlich zeitaufwändiger Prozess, aber am Ende sind zusätzliche Informationen stärker als Fragen zur Kennwortwiederherstellung. Ich kenne keine offiziellen Studien zu diesem Thema, aber es scheint, dass dies offensichtlich ist.
Wenn Sie keine Fragen haben, können wir mit dem im Artikel beschriebenen Thema der heutigen Vorlesung beginnen. Daher schlagen die Autoren vor, eine Reihe von Faktoren zu berücksichtigen, anhand derer die Wirksamkeit von Authentifizierungsschemata bewertet werden kann. Was in diesem Artikel wirklich cool ist, ist, dass die meisten von uns in der Sicherheitsgemeinschaft nur für ästhetische Prinzipien kämpfen. Zum Beispiel: "Wir müssen dies wählen, weil mir nur gefällt, wie die Klammern im Proof aussehen" oder "Wir müssen dies wählen, weil es viele mathematische Methoden verwendet."
Sie sagen, warum versuchen wir nicht, einige Kriterien für die Bewertung der Wirksamkeit festzulegen? Vielleicht sind einige dieser Kriterien etwas subjektiv, aber versuchen wir einfach, die Methoden zur Bewertung von Authentifizierungsschemata zu systematisieren. Lassen Sie uns sehen, wie diese verschiedenen Muster in separaten Stapeln gestapelt werden.
Die Autoren des Artikels schlugen drei übergeordnete Parameter zur Bewertung dieser Schemata vor. Der erste Parameter ist die Benutzerfreundlichkeit. Die erste Anforderung in diesem Parameter ist das einfache Erlernen der Authentifizierungsmethode. Die Hauptidee ist, wie einfach es für Benutzer ist, mit dem Authentifizierungsschema zu interagieren. Hier stellen sie einige charakteristische Eigenschaften fest, zum Beispiel ist es einfach, diese Methode zu erlernen, und ist dieses Benutzeridentifikationsschema leicht zu erlernen.
Einige dieser Kategorien sind recht einfach, andere enthalten einige Tricks, aber das macht sehr viel Sinn. Wenn Sie sich die Passwörter ansehen, erfüllen sie diese Anforderung, da jeder daran gewöhnt ist, Passwörter zu verwenden. Wir werden also sagen, dass ihre Verwendung leicht zu erlernen ist, und mit „Ja“ antworten.
Die zweite Voraussetzung ist die Seltenheit von Authentifizierungsfehlern. Dies bedeutet, dass wenn Sie ein tatsächlicher Benutzer des Systems sind, keine Fehler auftreten sollten, wenn Sie versuchen, sich zu authentifizieren. Und hier sagen die Autoren in Bezug auf Passwörter, dass sie diesem Parameter bedingt entsprechen. "Bedingt" bedeutet in diesem Fall, dass die Autoren das Vorhandensein von Subjektivität in ihrer Bewertung erkennen. Auf die Frage, ob bei der Authentifizierung mit Passwörtern selten Fehler auftreten, können wir daher weder "Ja" noch "Nein" antworten.
In der Regel können Sie sich authentifizieren. Wenn Sie jedoch beispielsweise versuchen, um 3 Uhr morgens auf den Mailserver zuzugreifen, während Sie schlecht nachdenken und mehrmals das falsche Kennwort eingeben, können Sie in diesem Fall einen Fehler im Authentifizierungssystem bestätigen. Daher glauben sie, dass Passwörter diese Anforderung bedingt erfüllen.
Die nächste Anforderung ist die Skalierbarkeit für Benutzer. Die Hauptidee dabei ist, dass dieses Schema gut skaliert werden kann, wenn ein Benutzer über eine Reihe verschiedener Dienste verfügt, bei denen er sich authentifizieren möchte. Sollte sich der Benutzer für jedes Schema etwas Neues merken? In Bezug auf Passwörter sagen die Autoren hier eindeutig „Nein“, da die Authentifizierung mit Passwörtern diese Anforderung nicht erfüllt. In der Praxis ist es für Benutzer sehr schwierig, sich für jede Website, die sie besuchen, ein separates Kennwort zu merken. Tatsächlich ist dies einer der Gründe, warum Benutzer häufig dasselbe Kennwort für die Authentifizierung in verschiedenen Diensten verwenden.
Eine weitere Usability-Anforderung ist die einfache Wiederherstellung. Das heißt, was passiert, wenn Sie das Token für die Authentifizierung verlieren, in diesem Fall Ihr Passwort. Ist es einfach, es zurückzusetzen? In diesem Fall lautet die Antwort für Passwörter Ja. Tatsächlich sind sie sogar zu einfach zurückzusetzen, wie wir vor einigen Minuten besprochen haben.
Die nächste Anforderung besteht darin, keine zusätzlichen Anforderungen zu stellen und keine zusätzlichen Mittel zur Authentifizierung mitzuführen. Zum Beispiel erfordern ausgefallene Authentifizierungsprotokolle, dass Sie eine Art Smartphone-Anwendung ausführen oder über eine Art Sicherheitstoken, eine Smartcard und dergleichen verfügen. Das ist also eine schwere Belastung. Möglicherweise gibt es nicht so viele Probleme mit dem Smartphone. Es reicht aus, die Anwendung zur Authentifizierung zu installieren, aber es ist ziemlich unpraktisch, immer eines der anderen Geräte bei sich zu haben. Daher ist eine gute Eigenschaft von Passwörtern, dass Sie sie nur in Ihrem Gehirn mit sich führen müssen, was Sie immer bei sich haben sollten.

Hier sind die Kriterien für die Verwendbarkeit eines Authentifizierungsschemas. Im Allgemeinen ist es von Interesse, wie sich die Menschen in der Sicherheitsgemeinschaft über die Bedeutung dieser Kriterien nicht einig sind. Zum Beispiel sagen sie: "Dieses Ding verwendet eine Million Entropiestücke, und nur eine universelle Katastrophe kann es knacken", während vergessen wird, dass die oben genannten Anforderungen auch für Authentifizierungsschemata wichtig sind.
Der nächste übergeordnete Parameter, den die Autoren des Artikels zur Bewertung des Authentifizierungsschemas verwenden, ist die Bereitstellbarkeit. Es wird beschrieben, wie einfach es ist, dieses Authentifizierungssystem in vorhandenen Netzwerkdiensten zu implementieren. Zum Beispiel untersuchen sie die Serverkompatibilität, dh ist es einfach, dieses Schema in moderne Server zu integrieren, auf denen die Authentifizierung auf der Verwendung von Textkennwörtern basiert? In diesem Sinne erfüllen Passwörter diese Anforderung vollständig, sodass wir mit „Ja“ antworten können.
Die zweite Anforderung ist die Browserkompatibilität. Sie ähnelt der vorherigen und lautet: Kann ich dieses Authentifizierungsschema für vorhandene gängige Browser verwenden, ohne ein Plug-In oder ähnliches installieren zu müssen? Auch hier gewinnen Passwörter standardmäßig.
Eine weitere interessante Anforderung ist Zugänglichkeit, Überschreitung. Das heißt, können Menschen mit einigen körperlichen Behinderungen dieses Authentifizierungsschema verwenden, z. B. blind oder schwerhörig, mit unzureichenden motorischen Fähigkeiten und dergleichen. Dies ist eigentlich eine ziemlich wichtige Voraussetzung.
Hier sagen die Autoren noch einmal „Ja“, was etwas seltsam ist, da nicht klar ist, wie Menschen mit Behinderungen Passwörter verwenden können, aber die Autoren sagen, dass sie dies können.

Dies sind die Anforderungen, die Sie hinsichtlich der Fähigkeit zur Bereitstellung dieses Authentifizierungsschemas berücksichtigen sollten. Der Grund für die besondere Bedeutung der Bereitstellung liegt darin, dass es äußerst schwierig ist, all diese Dinge zu aktualisieren, um ein neues Schema zu implementieren, da es schwierig sein kann, Benutzer dazu zu bringen, etwas zu aktualisieren. Ich meine, oft möchten die Leute nicht einmal ihre Computer neu starten und ein neues Betriebssystem-Update installieren. Daher treten große Schwierigkeiten auf, wenn das Authentifizierungsschema Änderungen auf dem Server erfordert, die die den Server bedienenden Personen dazu zwingen, zusätzliche Vorgänge auszuführen. Dies ist relevant für Ihre Frage, warum wir keine zusätzlichen Informationen verwenden oder die Passwortstärke verbessern. Die Bereitstellungsmerkmale sind in vielen Fällen für Menschen sehr, sehr wichtig.
Der letzte Parameter, den wir berücksichtigen werden, ist die Sicherheit. Welche Arten von Angriffen kann dieses Schema verhindern? Ich werde dieses Merkmal mit Res - Anpassungsfähigkeit an foo bezeichnen, wobei foo jeder Effekt ist, der Schaden verursachen kann.
Zum Beispiel zeigt das erste Merkmal die Stabilität des Systems gegenüber physikalischer Beobachtung, "Gucken" oder "Abhören" an. Der Punkt ist, dass der Angreifer sich nach mehrmaliger Beobachtung seiner Authentifizierung im System nicht als der echte Benutzer ausgeben konnte. Stellen Sie sich vor, Sie sind in einer Computerklasse und jemand steht hinter Ihnen und beobachtet, was Sie tippen. Vielleicht filmt dich jemand auf Video, vielleicht hat jemand ein Mikrofon, das die akustische Signatur deiner Tastatur „abhebt“ und versucht, etwas daraus zu extrahieren, und so weiter und so fort.
Die Autoren des Artikels sagen, dass Passwörter diese Anforderung nicht erfüllen, da ein Angreifer das Video anzeigen und ganz einfach herausfinden kann, welche Buchstaben Sie eingegeben haben. Es gibt Angriffe, bei denen akustische Fingerabdrücke auf der Tastatur verwendet werden, um druckbare Zeichen zu identifizieren. Passwörter sind also nicht resistent gegen physische Beobachtungen.
– , . , - – , , , , , . , , - , , , , , . « – ».
, , , - - , .
, . – . , , , Antihammering. , , «». , „“, , , , . .
– . , , . , . , «» , .
, , .
. , , , , , , , . , , , .
- , , . . .
, , . — . , , , DNS - , , . , : «, , , ». , , .

. : . , , . , , , , . , , .
, , , , , , , . . , , , , , , , .
, , , .
– , . , , . , . , – , .
, , , HTTPS . , CA, . - , , .

, , «». , . , - Gmail, Facebook.
, , . , .
, . , , . , , , , .
, . , . , 13,3 , – 19,9 , , 11,7 .
54:15
MIT-Kurs "Computer Systems Security". 17: « », 3.
Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung
aufgeben oder Ihren Freunden empfehlen, einen
Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).
VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s bis Dezember kostenlos, wenn Sie für einen Zeitraum von sechs Monaten bezahlen, können Sie
hier bestellen.
Dell R730xd 2 mal günstiger? Nur wir haben
2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV von 249 US-Dollar in den Niederlanden und den USA! Lesen Sie mehr über
den Aufbau eines Infrastrukturgebäudes. Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?