• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/84

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

84 Cards in this Set

  • Front
  • Back

Was ist Sniffing?

- Mitlesen von Datenverkehr


- Verwendung sog. "Sniffer"


- to sniff: schnüffeln

Welche Netzarten kann man leicht abhören und welche nicht so leicht?

- einfach:


- WLAN


- lokale Netze, die mit einem Hub realisiert sind


- schwieriger: drahtgebundene Netzwerke, da man zumindest einen physischen Zugang braucht

Warum kann man mit einem Hub realisierte Netze relativ einfach abhören?

ein Hub verteilt alle ankommenden Datenpakete an alle angeschlossenen Geräte

Was ist der Betriebsmodus promiscuous mode bei Netzwerkkarten?

- Die Ethernet-Karten in PCs sind normalerweise so konfiguriert, dass sie Pakete, die nicht für diesen PC gedacht sind, verwerfen.


- Man kann eine Ethernet-Karte jedoch auch so konfigurieren, daß sie alle Pakete entgegen nimmt.


- Jedes Paket wird dann an die nächsthöhere Schicht im Protokoll-Stack geleitet


- Administratorrechte benötigt

Wie arbeitet ein Sniffer?

- sammelt und analysiert die gesammelten Datensätze


- Da die Analyse mit einigem Aufwand verbunden ist, werden die Pakete häufig erst einmal gesammelt, d. h. in eine lokale Datei geschrieben, und später analysiert.


- Dabei versucht der sniffer bekannte Protokolle, wie beispielsweise telnet, ftp oder http, in den gespeicherten Paketen zu entdecken

Woraus besteht der Handshake?

1. Einem syn-Paket vom Absender an den Zielrechner
2. Einem syn/ack-Paket vom Zielrechner an den Absender
3. Einem ack-Paket vom Absender an den Zielrechner

Welche wichtigen Informationen können mittels eins Sniffers herausgefunden werden?

- Benutzername und Kennwort


- Verzeichnis- und Dateinamen


- im Klartextübertragene Dateien

Welche Voraussetzung muss gegeben sein, damit ein Sniffer funktioniert?

- Zugriff auf ein gemeinsames Übertragungsmedium muss gegeben sein


- WLAN oder klassischer Hub

Inwiefern kann ein Switch Angriffe durch Sniffer erschweren?

- Ein Switch verteilt eingehende Pakete normalerweise nicht an alle angeschlossenen Geräte, sondern nur an den im Paketkopf genannten Empfänger.


- Dazu muss der Switch natürlich wissen, welche Geräte mit welchen Adressen
an seinen Anschlüssen eingesteckt sind.


- Dies lernt der Switch während des
Betriebs, indem die Absenderadressen von eingehenden Paketen im Switch gespeichert werden.


- An dieser Stelle können nun weitere Angriffe einsetzen

Was ist Spoofing?

- Maskierungsangriff


- Vortäuschen einer falschen Identität


- Dabei kann der Angreifer eine falsche
IP-Adresse seines Systems oder einen falschen DNS-Namen seines Systems vortäuschen

Wie funktioniert ein Spoofing-Angriff?

- ARP-Pakete gehen an alle angeschlossenen Geräte


- Das hat zur Folge, dass alle Geräte nach dem ersten Broadcast die MAC-Adresse des Absenders kennen.


- Ein Angreifer kann nun gefälschte ARP-Pakete verschicken.


- Das kann eine gefälschte Antwort auf eine ARP-Anfrage oder einfach eine gefälschte ARP-Nachricht sein.


- Besonders subtil wird dieser Angriff, wenn der Angreifer vorgibt, der Router zu sein.


- An den Router werden alle Pakete geschickt, deren Ziel nicht im lokalen Netz liegt.


- Der Angreifer muss allerdings darauf achten, die abgefangenen Pakete anschließend an
den richtigen Empfänger weiter zu leiten.


- Andernfalls würden Pakete verloren
gehen und der Absender könnte den Angriff bemerken.

Was ist DNS?

- Domain Name Service


- Symbolische Namen werden eingeführt, da sich Menschen Namen besser merken können als nummerische Adressen


- Für das Internet ist ein hierarchischer Namensraum definiert, an dessen Wurzel eine namenlose Wurzel-Domäne steht


- DNS übernimmt Zuordnung von Namen zu IP-Adressen

Was ist eine Domäne?

Teilbaum im hierarchischen Namensraum

Was sind Top-Level-Domains?

Domänen unter der Wurzel wie z.B. .de, .com usw.

Wie arbeitet ein DNS-Server?

- verwaltet zwei Datenbanken / Tabellen


- Die Abbildung von Name auf IP-Adresse wird in der forward zone Tabelle gespeichert.


- Die umgekehrte Abbildung von IP-Adresse auf Name wird in der reverse zone Tabelle verwaltet

Welche Sicherheitsmaßnahmen werden bei DNS nicht getroffen?

- keine Maßnahmen zur Überprüfung der Konsistenz dieser Tabellen


- keine sichere Authentisierung bei der Erstellung oder dem Austausch der Informationen in den Tabellen

Welche Angriffe können durch gefälschte oder inkonsistente DNS-Einträge ermöglicht werden?

- Angriff auf reverse zone


- Angriff auf Forward zone

Wie funktioniert ein Angriff auf reverse Zone?

- Unter UNIX kann ein Benutzer/Administrator anderen Rechnern trauen und einen Verbindungsaufbau von diesen Rechnern ohne explizite Authentisierung erlauben


- Angreifer gibt eine falsche Identität vor, indem er den Eintrag in der Tabelle der reverse Zone ändert.


- Der DNS-Server liefert auf Anfrage den falschen Rechnernamen zu eine IP-Adresse


- Der anfragende Rechner prüft nur noch, ob die erhaltene IP-Adresse in er Datei /etc/Hosts.equiv steht


- Falls ja, so wird die Verbindung ohne Authentisierung aufgebaut.


- Der Angreifer gibt sich als falscher Absender aus

Wie funktioniert ein Angriff auf Forward Zone?

- Schafft es ein Angreifer, die forward Tabelle des DNS-Servers mit falschen Einträgen zu füllen, so kann er fälschlicherweise das Ziel von Verbindungsaufbauwünschen werden.


- Angreifer trägt seine IP-Adresse unter den Namen des Opfers ein


- Wenn ein Rechner eine Verbindung aufrufen möchte und die IP-Adresse eines Namens anfragt, erhält er die falsche IP-Adresse zurück


- Somit wird eine falsche Verbindung aufgebaut

Welche Schäden kann ein Angriff auf Forward Zone zur Folge haben?

- Reputationsschaden: Der Angegriffene könnte durch willkürliche Änderungen an den Inhalten verunglimpft werden


- Umsatzschaden: Durch Umleiten von Datenverkehr kann im E-commerce Umsatz (und damit auch Ertrag) verhindert werden


- Vertraulichkeitsschaden: Ist die Website interaktiv, d.h. es erfolgen Benutzereingaben, so kann der Angreifer an vertrauliche Informationen gelangen

Wie kann man den Zugriff auf unliebsame Seiten verweigern?

- man ändert einfach die IP-Adresse zum unliebsamen im DNS auf einen anderen Wert


- Natürlich können Benutzer immer noch
durch die Angabe der IP-Adresse des Rechners in der URL die Seite abrufen

Warum muss ein Angreifer nicht den DNS-Server manipulieren?

er kann auch die Nachrichten
manipulieren, da DNS-Anfragen und DNS-Antworten weder verschlüsselt, noch signiert sind

Wie kann das Manipulieren von DNS-Nachrichten verhindert werden?

durch DNSSEC

Was ist DNSSEC?

- DNS-Daten werden digital signiert


- jeder Empfänger kann durch Überprüfen der Unterschriften prüfen, ob die Daten authentisch und integer sind

Welche Probleme gibt es bei der Einführung von DNSSEC?

- DNS ist ein verteiltes System


- Alle DNS-Server müssten es benutzen, d. h. die Server-Software muss aktualisiert werden und Schlüsselpaare für die Signierung müssen
erstellt werden.


- Wie in public key Infrastrukturen üblich muß man dann auch noch sicherstellen, daß man den korrekten öffentlichen Schlüssel der Gegenseite besitzt.


- Nur dann kann man die digitalen Signaturen prüfen.

Welche Schlüsseltypen sind in DNSSEC vorgesehen?

- key signing keys


- zone signing keys

Was sind key signing keys?

- Diese Schlüssel werden nur dazu benutzt, andere Schlüssel digital zu signieren


- Signiert beispielsweise die Wurzeldomäne
(engl. root domain) mit ihrem privaten Schlüssel den Schlüssel einer der obersten DNS-Domäne (engl. top level domain), wie z. B. die .de-Domäne, dann bedeutet das, das die Top-level-Domäne den Verantwortlichen für die .de-Domäne vertrauen und die .de-Domänendaten mit dem entsprechenden Schlüssel signiert sind.

Was sind Zone signing keys?

- Mit diesen Schlüsseln werden die eigentlichen DNS-Daten signiert.


- Eine zone bezeichnet hier einen Ausschnitt aus dem DNS-Namensraum, nämlich den Ausschnitt, für den ein DNS-Server zuständig ist.


- Dieser DNS-Server liefert also die „gültigen“ (engl. authoritative) Antworten zu Anfragen zu dieser Zone.

Was benötigt der Prüfende, damit er eine Antwort überprüfen kann?

den öffentlichen Schlüssel des Unterzeichners

Was ist chain of trust?

- einen öffentlichen Schlüssel gibt es für jede DNS-Zone


- Damit man nun nicht alle diese öffentlichen Schlüssel kennen muss, kann man auch eine Vertauenskette (engl. chain of trust) benutzen.


- Kennt man den öffentlichen key-signing-Schlüssel einer Domäne, so kann man den DNS-Daten einer Unter-Domäne vertrauen, sofern sie mit einem Schlüssel signiert
sind, der vom o. g. key-signing-Schlüssel signiert ist

Was ist ein Wörterbuchangriff?

Angreifer versucht durch systematisches Ausprobieren das Passwort eines legitimen Benutzers herauszufinden

Welche Strategien gibt es bei Wörterbuchangriffen?

1. Ausprobieren von bekannten Wörtern und ihren Abwandlungen, bzw. Kombinationen.
2. Ausprobieren aller möglichen Zeichenketten.


- Bei beiden Methoden wird eine Hash-Funktion auf das zu prüfende Wort angewendet


- Die Hash-Funktion ist dieselbe, die auch das Betriebssystem auf ein Paßwort anwendet, bevor es das Passwort speichert

Wie kann man unter Windows NT und seinen Nachfolgern an die Hashwerte der Passwörter kommen?

1. Auszug aus der Windows Registry erstellen
2. Auszug aus der SAM-Datei erstellen
3. Abhören des Netzverkehrs

Wie kann man die Hashwerte aus einem Auszug aus der Windows Registry herausfinden?

- Mit Hilfe spezieller Hilfsprogramme (z. B. pwdump) kann man die HashWerte aus der Systemdatenbank (Registry) lesen.


- Dafür sind allerdings Administrator-Rechte sowie evtl. direkter, physischer Zugang zu dem
Rechner erforderlich.

Wie kann man die Hashwerte aus der SAM-Datei herausfinden?

- Windows speichert die Benutzerdaten einschließlich Hash-Wert des Passworts in der SAM-Datei.


- Der Zugriff auf diese Datei ist bei laufendem
Windows allerdings nicht möglich.


- Das Betriebssystem hat diese Datei
geöffnet und exklusiv für sich reserviert.


- Somit kann man die Datei weder lesen noch kopieren.


- Allerdings wird diese Datei mit gesichert.


- Man kann also eine Sicherung erstellen und daraus dann die Datei kopieren.


- Die Sicherung wird über das Betriebssystem selbst erstellt, so dass die oben genannte exklusive Reservierung ohne Bedeutung ist.

Wie kann man die Hashwerte mittels Abhören des Netzwerkverkehrs herausfinden?

Bei der Anmeldung an einem Windows Client PC gibt der Benutzer sein Passwort ein.


- Die Prüfung des Passworts wird vom Domain Controller durchgeführt.


- Der Domain Controller ist eine Server Maschine, auf der unter anderem auch die Benutzerdaten verwaltet werden.


- Die Kommunikation zwischen Windows Client und Domain Controller ist im Server Message Block (SMB) Protokoll geregelt.


- Dabei kann das Server Message
Block (SMB) Paßwort verschlüsselt oder unverschlüsselt übertragen werden.


- Das Programm Cain & Abel kann beispielsweise den Netzverkehr mitschneiden
und gleichzeitig versuchen, die Paßwörter zu knacken

Wie werden die Passwörter unter Unix gespeichert und wie werden Wörterbuchangriffe verhindert?

- Unter UNIX stehen die Benutzer-Kennung und die Hash-Werte der Passwörter in der Datei /etc/passwd.


- Diese Datei darf jeder lesen.


- Um einen Wörterbuchangriff auf die Paßwörter zu verhindern, werden die Hash-Werte der Paßwörter heute in einer getrennten Datei, der sogenannten Shadow-Datei gespeichert.


- Sie kann nicht mehr von jedem gelesen werden.

Was ist ein buffer Overflow?

- Dabei ist in einem Programm ein Speicherbereich fester Größe definiert, in den dann Daten ohne Längenprüfung geschrieben werden.


- Sind diese Daten länger als der Speicherbereich, so werden andere Teile des Speichers überschrieben.

Welche Fehler können durch Buffer Overflow auftreten?

- Programmabsturz


- Ausführen anderen Programmcodes


- Modifikation von Daten

Wie kann ein Programmabsturz durch Buffer Overflow verursacht werden?

- Falls der überschriebene Bereich binären Programmcode enthielt, der nun durch andere Zeichen überschrieben wurde, so ist die
Wahrscheinlichkeit groß, dass diese Zeichen kein gültiger Maschinencode
für die CPU sind.


- In diesem Fall stürzt das Programm einfach ab, sobald der Code im überschriebenen Bereich ausgeführt wird

Wie kann andere Programmcode durch Buffer Overflow ausgeführt werden?

- Falls der Angreifer eigenen gültigen Maschinencode an die Stelle des bisherigen Codes setzt, dann wird dieser neue Maschinencode ausgeführt.


- In diesem Fall tut das Programm etwas anderes als es normalerweise machen würde

Wie kann Daten durch Buffer Overflow modifiziert werden?

An der Stelle, an der der Speicherüberlauf auftritt, können auch Daten stehen, die verändert werden und dann zu inkonsistentem Verhalten des Programms führen oder falsche Ausgaben des Programms erzeugen.

Was ist URL-Hacking?

- Ausnutzung kleiner Flüchtigkeitsschreibfehler bei der Eingabe einer URL


- Angreifer registriert Domain-Namen mit leichten Abwandlungen bekannter Internetseiten


- DNS-Server liefert eine andere IP-Adresse und der Benutzer wird auf eine gefälschte Seite umgeleitet


- So kann Angreifer vertrauliche Daten erfahren

Wie können Suchmaschinen manipuliert werden?

- Möglichst viele Besucher sollen auf eine Internetseite gelockt werden


- Seite soll bei möglichst vielen Suchmaschinen möglichst weit oben stehen


- Dazu müssen bestimmte Schlüsselwörter auf der Seite vorkommen.


- Die Suchmaschine indiziert diese Schlüsselwörter und bewertet die Seite entsprechend.


- Ruft ein Benutzer die Seite im Browser dann auf, so findet er keines der Schlüsselwörter mehr, sondern etwas völlig anderes.

Was können die Gründe sein, dass eine Suchmaschine eine Internetseite mit falschen Schlüsselwörtern indiziert?

das Schlüsselwort
• kommt nur in einem Meta-Element vor, dessen Inhalt niemals vom Browser angezeigt wird,
• steht in weißer Schrift auf weißem Grund,
• steht in einem nicht druckbaren Bereich.


• Schlüsselwort kommt auf Seite vor, wird aber in anderem Zusammenhang verwendet

Was sind Phishing-Angriffe?

- Ein Angreifer baut die HTML-Seiten, z.B. einer Bank, realistisch Phishing-Angriffe und echt aussehend auf seinem Server nach.


- Für seinen Server registriert der
Angreifer einen Namen, der dem der angegriffenen Bank sehr ähnlich ist.


- Nun verschickt der Angreifer massenhaft Emails, um Benutzer auf seine Seite zu locken.


- Dabei gibt es sich als Bank aus

Inwieweit können Benutzereingaben gefährlich sein?

- Viele Rechner sind gefährdet, wenn sie Benutzereingaben übernehmen und
diese dann ungeprüft an weitere Programme übergeben.


- Böswillige Benutzer könnten dann Eingaben machen, die die Programmierer so nicht erwartet haben.


- Wenn diese Eingaben dann verarbeitet werden, können Sicherheitsprobleme entstehen.

Inwieweit kann die Eingabe von HTML-Code durch den Benutzer gefährlich sein?

- In HTML-Seiten können aktive Inhalte integriert sein.


- Diese aktiven Inhalte bergen einige Sicherheitsrisiken


- Angreifer kann aktive Inhalte in einer Formular eingeben (JavaScript, Applet-Code usw.)


- Diese werden dann bei anderen Benutzern angezeigt und ausgeführt (z.B. in einem Gästebuch)

Was ist SQL-Injection?

- Anwendung baut aus Eingaben des Benutzers die SQL-Anweisung selbst zusammen


- Angreifer kann durch Eingabe von Hochkomma und Strichpunkt die SQL-Anweisung vorzeitig beenden


- Dann kann er eine SQL-Anweisung eingeben, mit welcher die Datenbank manipuliert werden kann


- Angreifer muss jedoch den Aufbau der Datenbank (Spaltennamen usw.) kennen


- Durch Falscheingabe und Auswertung der resultierenden Fehlermeldungen kann er jedoch Schlüsse darauf ziehen

Welche Gegenmaßnahmen gegen SQL-Injection gibt es?

- Grundsätzlich Benutzereingaben immer misstrauen


- Durchsuchen der Eingabe nach gefährlichen Zeichen und Ersetzen durch ungefährliche Alternativen


- Nur bestimmte Zeichen (reguläre Ausdrücke) in der Eingabe zulassen

Wie kann SQL-Injection in Java vermieden werden?

- djurch PreparedStatements


- Nur an bestimmten Stellen dürfen Benutzereingaben auftauchen.


- Es wird geprüft, ob die Eingaben die Struktur der Anweisung verändern oder nicht

Mit welchen Programmklassen kann die Sicherheit eines Systems getestet werden?

1. Host Scanner untersuchen einen einzelnen Rechner und testen beispielsweise die Rechtevergabe sowie Stärke der Passwörter.
2. Network Scanner untersuchen ein Netz und konzentrieren sich auf die Kommunikation zwischen Rechnern.
3. Intrusion Scanner versuchen einen Einbruch in einen Rechner oder ein Netz zu erkennen.

Welche Punkte untersucht ein Host Scanner?

- Zugriffsrechte auf Dateien


- Besitzer von Dateien


- Unbefugte Modifikationen


- Inhalt von Konfigurationsdateien


- Softwareversionen

Warum können die Zugriffsrechte auf Dateien ein Sicherheitsproblem darstellen?

- Leserechte für zu viele Benutzer


- Wörterbuchangriff benötigt Zugriff auf Passwortdatei


- Falls diese Datei mit Leserechten für alle Benutzer versehen ist, kann dieser Angriff Erfolg
haben

Warum können die Besitzer auf Dateien ein Sicherheitsproblem darstellen?

- Falls eine Datei einem falschen Besitzer oder einer falschen Gruppe zugeordnet ist, kann ein Angreifer diese Datei unberechtigt lesen oder verändern.


- Ausführbare Dateien mit dem SUID-Bit
laufen mit den Rechten des Besitzers der Datei, nicht mit den Rechten desjenigen, der das Programm startet


- So kann ein normaler Benutzer auf die
Paßwort-Datei zugreifen (z.B. um sein Paßwort zu ändern), ohne selbst die Zugriffsrechte zu besitzen.


- Statt dessen ist das Programm, das die
Paßwort-Datei liest und verändert, mit entsprechenden Rechten ausgestattet.


- Das Programm gehört dem Administrator und läuft daher mit dessen Rechten.


- Ein Angreifer könnte nun versuchen, sein Programm mit gesetztem SUID-Bit dem Benutzer root zuzuordnen.


- Dieses Programm enthält eine Schadens-Funktion und würde, egal von welchem Benutzer es gestartet wird, immer die Zugriffsrechte von root haben und könnte die Schäden dann auch immer anrichten.

Wie kann ein Host Scanner unbefugte Modifikationen feststellen?

- Prüft die Integrität von Dateien


- Mit Hilfe von digitalen Signaturen können Veränderungen entdeckt und evtl. auch rückgängig gemacht werden.

Wie kann ein Host Scanner die Inhalte von Konfigurationsdateien prüfen?

- Problem: vorkonfigurierte Standardbenutzer mit Standardpasswörtern


- Konfiguration sollte daher bei Softwareaktualisierungen immer mitgeprüft werden

Warum sollte ein Host Scanner die Softwareversionen überprüfen?

- In aktueller Software wurden bekannte Sicherheitsprobleme behoben


- Ein Host Scanner kann prüfen, ob Programme mit bekannten Schwachstellen auf dem System installiert sind.

Was ist ein Netzwerkscanner?

- überprüft installierte und freigeschaltete Netzdienste


- Dienste werden auf Konfigurationsprobleme geprüft

Was ist eine Hintertür?

erlaubt es einem Angreifer, das erfolgreich
angegriffene System für eine spätere einfache Benutzung vorzubereiten

Welche Ziele kann ein Angreifer beim Einrichten einer Hintertür verfolgen?

1. Aussperren weiterer Angreifer. Sie könnten den ersten Angreifer bei der Benutzung des Systems behindern oder möglicherweise durch unbedachte Aktionen den Administrator des Systems auf den erfolgreichen Angriff
aufmerksam machen.
2. Schaffung einfacher Weiterverwendungsmöglichkeiten. Nachdem der Angreifer eine Schwachstelle erfolgreich ausgenutzt hat, möchte er das System auch dann weiter benutzen können, selbst wenn der Administrator die Schwachstelle geschlossen hat.
3. Entdeckung verhindern. Der legitime Administrator des Systems soll nicht merken, daß der Angreifer erfolgreich war und als zweiter Adminstrator die Kontrolle über das System erlangt hat

Welche Möglichkeiten zur Installation einer Hintertür gibt es?

- Normale Fernzugangswege


- User Mode Rootkits


- Kernele Mode Rootkits

Wie funktioniert die Installation einer Hintertür über normale Fernzugangswege?

- Verwendung von SSH, VNC oder Remote Desktop


- Angreifer braucht nur Benutzerkennung und kann die Dienste nutzen


- Ein neu eingerichteter Benutzer oder neu installierte Software sollte Administrator auffallen

Was sind User Mode Rootkits?

- beziehen sich auf Änderungen im Benutzeraddressraum (engl. user address space).


- Somit sind von diesen Änderungen immer nur einzelne Prozesse (konkret deren Adressraum) betroffen, nicht das System als Ganzes.


- Obwohl im Benutzeradressraum angesiedelt, betreffen diese Rootkits Aufrufe von Betriebssystemfunktionen (engl. system calls)

Warum betreffen User Mode Rootkits Betriebssystemaufrufe?

- Viele system calls sind in nachladbaren Bibliotheken (engl. library) realisiert.


- Bei Windows heißen sie Dynamical ly Loaded Library (DLL).


- Ruft ein Programm so eine Funktion auf, so muß die Bibliothek ins RAM geladen werden, und dann wird die Adresse der Funktion angesprungen.


- In jeder Bibliothek steht dazu am Anfang eine Art Inhaltsverzeichnis, aus dem hervorgeht, welche Funktion an welcher Adresse in der Bibliothek steht.

Was tut ein User Mode Rootkits?

- Ein User Mode Rootkit setzt sich selbst an die Stelle so einer Bibliothek oder modifiziert einfach die ins RAM geladene Bibliothek.


- Das hat zur Folge, dass die Benutzerprogramme nun bei einem Systemaufruf nicht mehr die
Originalfunktion des Betriebssystems aufrufen, sondern die gleichnamige Funktion aus dem Rootkit.


- Die Funktion aus dem Rootkit ruft dann seinerseits die Originalfunktion auf, führt dann beliebige Veränderungen durch und gibt die
veränderten Ergebnisse an das Benutzerprogramm zurück.


- Der Benutzer merkt also nicht, dass einige zusätzliche Prozesse laufen


- Bevor die Rootkitfunktion die Eingaben an das Benutzerprogramm leitet, untersucht es die Eingaben, speichert sie gegebenenfalls, und sendet sie irgendwie an den Angreifer.

Wie können Rootkits erkannt werden?

- Wird die Bibliothek wieder aus dem RAM entfernt, so ist auch die Rootkitfunktion entfernt.


- Möchte der Angreifer dies verhindern, so müsste er die DLL-Datei auf der Festplatte modifizieren.


- Der Administrator eines Systems kann
solche Änderungen erkennen.


- Ändern sich DLL-Dateien oder kommen neue hinzu, so könnte es sich hier um ein Rootkit handeln.


- Leider benutzen sehr viele Programme die Technik der nachladbaren Bibliotheken.


- Auf einem normalen Windows-System gibt es sehr viele DLL-Dateien, und es ist nicht einfach, dort den Überblick zu behalten.

Wie funktionieren Kernel Mode Rootkits?

- Diese Art von Schadprogrammen setzt im Kern des Betriebssystems an.


- Die Änderungen erfolgen direkt im
Speicherbereich des Betriebssystems.


- In Windows-Systemen gibt es eine Tabelle mit den Adressen der Betriebssystemfunktionen (engl. System Service Descriptor Table (SSDT)).


- Gelingt es einem Rootkit, die dort stehenden
Adressen zu verändern, z.B. indem die Adressen der Rootkitfunktionen dort eingetragen werden, so werden immer statt der Systemfunktionen die Rootkitfunktionen aufgerufen


- Alle auf dem Rechner laufenden Prozesse greifen auf den Betriebssystem-Kernel zu.


- Also sind automatisch alle Prozesse vom Rootkit betroffen

Wie können sich Kernel Mode Rootkits verstecken?

- Da Dateizugriffsfunktionen ebenso wie die hardwarenäheren Funktionen zum Zugriff auf Sektoren von Festplatten über Systemfunktionen abgearbeitet
werden, kann sich das Rootkit perfekt verstecken.


- Egal welches Programm den Sektor der Festplatte lesen will, in dem das Rootkit gespeichert ist, immer wird dazu eine Rootkitfunktion aufgerufen.


- Wenn die dann lauter Nullen als
Sektorinhalt zurückgibt, kann kein Programm erkennen, dass da in Wahrheit ein Rootkit steht

Welche Angriffstypen gibt es bei Angriffen auf Verschlüsselung?

- Ciphertext only Angriffe


- Known Plaintext Angriffe


- Chosen Plaintext Angriffe


- adaptive chosen plaintext Angriffe


- Chosen Ciphertext Angriff


- Chosen Key Angriff


- Kryptoanalyse mit Gewalt

Was sind Ciphertext Only Angriffe?

- Hierbei steht dem Angreifer nur eine oder mehrere verschlüsselte Nachrichten zur Verfügung.


- Diese kann der Angreifer beispielsweise durch Abhören des Übertragungskanals erfahren haben.


- Weiterhin sollte man davon ausgehen, dass dem Angreifer auch der Algorithmus selbst bekannt ist.


- Diese Klasse von Angriffen besteht im wesentlichen aus Wörterbuch Angriffen und aus statistischen Angriffen.


- Hierbei versucht man mit Hilfe von statistischen Methoden oder Methoden der Wahrscheinlichkeitsrechnung Erfolg zu haben


- Wichtig für den Erfolg dieser statistischen Verfahren ist allerdings, dass genügend Geheimtext zur Verfügung steht.

Was sind Known Plaintext Angriffe?

- der Angreifer kennt nicht nur den Geheimtext, sondern er befindet sich im Besitz einiger bekannter Paare von Klartext und Geheimtext.


- Dies kann bei Blockverschlüsselung beispielsweise dadurch geschehen, dass der Angreifer den Inhalt einiger Klartext-Blöcke
kennt.


- Falls der Quellcode eines JAVA-Programms (von einer bestimmten Firma) verschlüsselt wurde, so sind die ersten Zeilen der Datei häufig durch eine allgemein bekannte Copyright Information bestimmt.


- Bei der Blockverschlüsselung dieser Datei sind also die ersten Blöcke im Klartext und im Geheimtext bekannt.


- Mit Hilfe dieser Informationen kann ein Angreifer bestimmte Muster zwischen Klartext und Geheimtext untersuchen und möglicherweise wiedererkennen.


- Diese Muster können Aufschluss über den benutzten Schlüssel geben.

Was sind Chosen Plaintext Angriffe?

- der Angreifer hat die Möglichkeit, bestimmte Klartexte verschlüsseln zu lassen.


- Diese Klartexte kann der Angreifer nun so wählen, dass sie Muster enthalten, die nach der Verschlüsselung Informationen über den Schlüssel preisgeben.

Was sind adaptive chosen plaintext Angriffe?

-Erweiterung der Chosen Plaintext Angriffe


- der Angreifer kann auf den Ergebnissen seiner bisherigen Analyse immer wieder andere Klartexte zur Verschlüsselung auswählen.


- Im einfachen Fall würde man sich
also vorab n Klartexte auswählen und verschlüsseln lassen.


- Dann analysiert man die Klartext/Geheimtext Paare.


- Bei den adaptive chosen plaintext An-
griffen würde man den i-ten Klartext in Abhängigkeit der vorherigen i − 1
Klartext/Geheimtext Paaren festlegen

Was ist Kryptoanalyse mit Gewalt?

Hier versucht der Angreifer von jemandem, der den Schlüssel kennt, die Preisgabe dieses Geheimnisses zu erzwingen

Was sind Chosen Ciphertext Angriffe?

Hier kann der Angreifer verschiedene Geheimtexte erstellen und die zugehörigen entschlüsselten Klartexte analysieren

Was sind Chosen Key Angriffe?

Hier benutzt der Angreifer Informationen über die Schlüssel, die er vorgeben kann.

Was sind Brute Force Angriffe?

Die Idee von Brute Force Angriffen besteht darin, systematisch (mit „roher Gewalt“) alle möglichen Schlüssel zu testen

Welche Schutzmaßnahmen gibt es gegen Brute Force Angriffe?

- Langer Schlüssel


- Sperren des Zugangs nach einer gewissen Anzahl an Fehlversuchen


- Verzögern der Überprüfung. Wird der Test des Schlüssels vom angegriffenen System selbst vorgenommen, so kann das System nach jedem Fehlversuch eine größer werdende Wartezeit einlegen. Der nächste Test-Schlüssel würde dann vom Angreifer zwar sehr schnell generiert werden, würde vom angegriffenen System aber immer langsamer überprüft


- Einsatz eines Intrusion Detection Systems.


- Vergrößerung des Schlüsselraums. Je mehr verschiedene Schlüssel mögliche und gültige Schlüssel sind, desto größer wird der Aufwand, jeden Schlüssel auszuprobieren

Wie funktioniert die lineare Kryptoanalyse?

- Sei Ri ein Bit aus dem Klartext und Yj ein Bit aus dem Geheimtext


- Man versucht einen linearen Ausdruck zu konstruieren (Form siehe Bild)


- Gesucht werden Indizes, so dass für möglichst viele Klartext/Geheimtext-Kombinationen der obig...

- Sei Ri ein Bit aus dem Klartext und Yj ein Bit aus dem Geheimtext


- Man versucht einen linearen Ausdruck zu konstruieren (Form siehe Bild)


- Gesucht werden Indizes, so dass für möglichst viele Klartext/Geheimtext-Kombinationen der obige Ausdruck wahr ist.


- Wählt man die Ri und Yj Bits zufällig
aus, so sollte in der Hälfte der Fälle der Ausdrücke wahr und in der anderen
Hälfte falsch sein.


- Diesen Ausdruck wertet man nun für viele Klartext (Ri) und Geheimtext (Yj) Paare aus.


- Bei einem starken Algorithmus erwartet man
auch hier, dass mit Wahrscheinlichkeit 0.5 der Ausdruck wahr wird


- Findet man allerdings eine Kombination von Indizes, so daß die Wahrscheinlichkeit für das Auswertungsergebnis „wahr“ deutlich von 0.5 abweicht, so lässt dies Rückschlüsse auf den Schlüssel zu


- Index-Kombinationen findet man durch genauere Betrachtung der Funktion F in Verschlüsselungsrunde


- Im Fall von DES enthält sie als einzige nicht-lineare Komponente die S-Boxen


- Für jede S-Box versucht man nun einen
Ausdruck der oben genannten Form zu finden, für den die Abweichung von der erwarteten Wahrscheinlichkeit möglichst groß ist.


- Dazu wertet man einfach alle Ein/Ausgabe-Kombinationen für die S-Boxen aus.


- Die gefundenen Ausdrücke für die einzelnen Runden werden anschließend kombiniert.


- Dabei nutzt man aus, daß der Geheimtext (Ausgabe) der ersten Runde der Klartext (Eingabe) der zweiten Runde ist


- Man sucht daher Ausdrücke, in denen sich die Zwischenergebnisse eliminieren


- Somit kann man (hoffentlich) Ausdrücke gene-
rieren, die tatsächlich nur noch aus Klartext der ersten Runde und Geheimtext der letzten Runde bestehen

Wie funktioniert die differentielle Kryptoanalyse?

- ein chosen plaintext Angriff


- Der Angreifer generiert verschiedene Klartexte, verschlüsselt diese mit dem Algorithmus und
vergleicht die entstehenden Geheimtexte


- Die Idee bei diesem Angrffff ist, daß der Angreifer nicht willkürlich Klartexte wählt, sondern Klartexte die sich sehr ähnlich sind.


- Sehr ähnliche Klartexte unterscheiden sich nur an wenigen Stellen.


- Nach der Verschlüsselung vergleicht man die Geheimtexte und untersucht, an welchen Stellen sich die Geheimtexte unterscheiden.


- Auch hier sucht man wieder nach ungewöhnlichen Häufigkeiten


- Konkret vergleicht man jedes Bit und erhält an den Stellen eine 1 im Ergebnis, an denen die Bits verschieden sind. Alle anderen bleiben 0


- Die Wahrscheinlichkeit, dass bei zwei zufällig ausgewählten Blöcken R' und R'' ein vorgegebener Differenzwert ∆R entsteht, ist gerade 2−n.


- Bei der differentiellen Kryptoanalyse untersucht man Klartext-Paare R' und R''
mit einer gegebenen Differenz von ∆R, so dass eine bestimmte Ergebnisdifferenz ∆Y mit sehr großer Wahrscheinlichkeit auftritt.


- Sehr groß bedeutet in diesem Fall deutlich größer als die erwartete Wahrscheinlichkeit von 2−n.


- Auch bei der differentiellen Kryptoanalyse werden die Runden zunächst einzeln angegriffen.


Anschließend werden die Ergebnisse kombiniert.


- Die ursprüngliche Eingabe ist ein ∆X, das ein spezielles ∆Y nach der ersten Runde produziert.


- Das ist dann die Eingabe der zweiten Runde, die wieder ein spezielles ∆Y' produziert, usw.

Wie sieht ein naiver Algorithmus aus, um eine Zahl in ihre Primfaktoren zu zerlegen?

- probiert einfach nacheinander die einzelnen Teiler aus.


- Hat der Algorithmus keine Zahl kleiner als die Quadratwurzel der zu prüfenden Zahl gefunden, dann muß die Zahl prim sein.


- Der Aufwand hierfür ist daher
proportional zur Wurzel der Zahl.


- In der bekannten O-Notation ist die Kom-
plexität dieses Algorithmus also O(√n).


- n ist die Zahl selbst.


- Wählt man nun diese Zahl sehr groß, so wächst der Aufwand exponentiell in der Zahl der Stellen der Zahl n


- Bisher sind keine Algorithmen bekannt, die in weniger als exponentiellem Aufwand eine beliebige gegebene Zahl in ihre Primfaktoren zerlegen können

Wann ist eine Zahl sehr einfach in ihre Primfaktoren zerlegbar?

Zahlen mit bestimmten Eigenschaften, z.B. Zahlen der Form 2 * p, wobei p eine Primzahl ist

Wie funktioniert der Quadratic Sieve Algorithmus?

- Die Idee dieses Algorithmus besteht darin, dass man zunächst zwei Zahlen x und y sucht, die die Eigenschaften aus dem Bild haben.

- Hierbei sei n die Zahl die zu faktorisieren ist


- zunächst wird nach Quadratzahlen gesucht wird, die grö...

- Die Idee dieses Algorithmus besteht darin, dass man zunächst zwei Zahlen x und y sucht, die die Eigenschaften aus dem Bild haben.
- Hierbei sei n die Zahl die zu faktorisieren ist


- zunächst wird nach Quadratzahlen gesucht wird, die größer als n sind.


- Dann wird getestet, ob x2
− n wieder eine Quadratzahl ist.


- Falls ja, dann ist √x2 − n = y das gesuchte y.


- Mit dem Euklid’schen Algorithmus wird dann der ggT berechnet


- zunächst wird eine Menge von potentiellen Kandidaten xi erstellt.


- Diese Menge
nennt man factor base.


- Aus ihr werden dann diejenigen Werte mit der oben
genannten Eigenschaft herausgefiltert.