Sicherheit-im-Internet Begriffe PDF

Title Sicherheit-im-Internet Begriffe
Author Hans Schmidt
Course Sicherheit im Internet III
Institution FernUniversität in Hagen
Pages 9
File Size 186.7 KB
File Type PDF
Total Downloads 19
Total Views 141

Summary

Wintersemester...


Description

Begriffe

Netze vernetzen Repeater ● verbindet zwei gleichartige Netze, indem es die Signale verstärkt Bridge ● ●

leitet nur vollständige/fehlerfreie Datenrahmen weiter leitet nur weiter, falls Ziel in einem anderen Netz liegt (macht nicht Repeater imselben Netz)

Switch ●

realisiert eine Menge von ein-elementigen Subnetzen (Ausgänge zu den PCs in BUS-Topologie)

Router ●

verbindet Netze unterschiedlicher Technologien (dazu hat er auch getrennte Schnittstellen zu den Netzen)

Ringe bei Intel-CPUs ● Ring 0 = BS ● Ring 1 = Treiber ● Ring 2 = Dienste ● Ring 3 = Anwendungen ● nur der erste und letzte wird benutzt (0=Systemmodus und 3=Benutzermodus)

Stenographie ● eine geheime Nachricht in einer anderen, unverfänglichen (meist größeren) Nachricht verstecken ● Ziel: Abhören der Nachricht durch Dritte verhindern ● eine weitere Möglichkeit wäre Verschlüsslung Arten von Bedrohungen ● aktiv / passiv ● technisch / nicht technisch ● absichtlich / unabsichtlich Arten von Schadsoftware ● Viren: arbeiten mittels Wirtsprogrammen (hängen sich an andere Dateien) ○ Boot-Sektor-Viren ■ schreiben sich in den Boot-Sektor → werden beim Start des Systems geladen → das System wird kompromitiert geladen; Schutzmechanismen des Systems werden ausgehebelt Schutz: Bootreihenfolge fest einstellen (HDD zuerst), damit nicht vershentlich von einem infizierten USB-Stick gebootet wird ○ Dateiviren ■ verstecken sich in anderen Dateien, meist überschreiben sie Bereiche, in denen eine Folge von Nullen stehen (damit das Wirtsprogramm noch funktionstüchtig bleibt) ○ Makroviren ■ in Office-Dokumenten (Word, Excel, PDF) Schutz: Makros deaktiveren ● Würmer: arbeiten als eigenständiges Programm (müssen vom Nutzer mind. 1 selbst gestarten werden) ● Trojaner: eigenständiges Pogramm, was neben seiner eigentlich Funktion zusätzlich noch bösartige Funktionen besitzt (!) Virenscanner sollten mehrere Betriebsmodi unterstützen ● Batch-Betrieb (alle Dateien nacheinander prüfen) ● im Hintergrund alle Dateien prüfen, auf die zugegriffen wird

Angriffstechniken DNS-Spoofing ● DNS-Spoofing - “vergiften” des DNS-Servers mit gefälschten Einträgen ● der DNS-Server erhält auf eine DNS-Anfrage eine gefälschte Antwort (falsche IP) → DNS-Server cacht falsche IP und gibt diese auf Anfrage an Clients weiter → Clients kommunizieren mit falschen Computer (da falsche Ziel-IP) ARP-Spoofing

● ● ●

ARP (Address-Resolution-Protocol) - Anfrage der zu einer IP-Adresse gehörenden MAC-Adresse in der Netzwerkkarte (z.B. eines Routers) wird eine ARP-Tabelle vorgehalten (Mappings IP-MAC), um die ARP-Anfrage nicht ständig wiederholen zu müssen genauso wie beim DNS-Spoofing, können auch ARP-Antworten gefälscht werden und somit falsche MAC-Aderssen in der lokalen ARP-Tabelle landen → Pakete werden an den falschen Computer gesendet

Paketinjektion / Packet-Spoofing ● Einschleusen von gefälschten Paketen in eine bestehende (“established”) Netzwerkverbindung ○ die Pakete sehen für die beteiligten Partner so aus, als wären sie Teil der normalen Kommunikation



Angriff auf die Integrität

MAC-Flooding ● ein Switch wird mit einer großen Menge gefälschter MAC-Adressen “geflutet” ● im Ergebnis ist irgendwann die ARP-Tabelle des Switches voll → Switch schaltet in Broadcast-Modus um: eingehende Pakete werden einfach an alle angeschlossenen Geräte gesendet (egal ob, das Paket broadcast oder unicast war) → Nun kann der Angreifer die Kommunikation mitschneiden (“sniffen”) TCP/IP-Protokollfamilie oder Internetschichtenmodell ● Anwendungsschicht (HTTP, FTP, SMTP) - spezifische Anwendungsprotkolle ● Transportschicht (TCP, UDP) - Datenübertragung ● Vermittlungsschicht (IP) ● Netzzungangsschicht - realisiert Punkt-zu-Punkt-Verbindungen (physikalische Ebene) Anzahl Adressen

● ● ●

IPv4: 4 Byte → 232  IPs IPv6: 16 Byte → 2128  IPs Ethernet-Adresse (spezielle MAC-Adresse): 6 Byte → 248

Anonymität → wenn eine Person nicht mit ihreren Aktivitäten in einem bestimmten Raum (z.B. Internet) in Verbindung gebracht werden kann, dann ist sie in diesem Raum anonym ● Client-Anonymität / Server-Anonymität, Komplettanonymität ● Pseudeonym: ausgedachter Name einer Person, der im anonymen Raum zur Ansprache der anonymen Person verwendet wird und nicht mit der natürlichen Person in Verbindung gebracht werden kann (Pseudoanonymität); kann sich je nach Rolle / Raum unterscheiden ○ Personenpseudonum ○ Rollenpseudonym für eine Rolle (die mehrere Personen einnehmen können), z.B. Herr Staatsanwalt ○ Beziehungspseudonym Bsp: Nachbar ○ Transaktionspseudonym für jede Aktion ein anderes Pseudonym ● Anonymisierung der Kommunikation: ○ Dummy-Traffic ○ Proxy (versteckt Gruppe von Personen hinter derselben IP) ○ Rewebber (Proxy mit zusätzlichen Funktionen) ■ entfernt aus der Anfrage Informationen, die auf die Identität des Benutzers schließen lassen ■ Rückantwort: entfernt Elemente aus dem HTML, die die Identität des Benutzers gefährden könnte + verändert Links auf die URL des Rewebbers ○ Remailer (anonyme E-Mail-Weiterleitung) Mix-Netz → anonymisiert Datenverkehr, schützt vor Verkehrsanalysen a) erschwert die Zuordnung von des Datenverkehrs durch Umsortierung (Erkennung anhand zeitlicher Abfolge erschwert) b) sendet nur Nachrichten gleicher Größe weiter (fordert gleichgroße Nachrichten vom Empfänger; diese muss die Nachricht dazu mit Füll-Bytes aufgefüllt werden oder zu große Nachrichten geteilt werden (Erkennung anhand der Größe verhindert) c) erschwert Erkennung anhand des “Aussehens” der Paketinhalte durch asymmetrische Verschlüsslung ○ Sender verschlüsselt Inhalt mit Public-Key des Empfängers + anschließend verschlüsselt er dieses Paket zusammen mit Empfängeradresse mit Public-Key des MIXes ○ MIX entschlüsselt mit seinem Private-Key, erhält dadurch die Empfängeradresse und sendet sie an Empfänger ○ Empfänger entschlüsselt mit eigenem Private-Key ● weitere Sicherheitsmaßnahmen ○ Außerdem wird vor der Verschlüsslung eine Zufallszahl eingefügt, damit die Nachricht nicht geraten werden kann. ○ Und der MIX sendet dieselbe Nachricht nicht zweimal, um Replay-Angriffe zu verhindern (dazu speichert er Hashwert der Nachrichten). ○ Mix-Kaskade: mehrere hintereinander geschaltete Mixe ■ Absender verschlüsselt zuerst für Empfänger, dann Empfängeradresse + verschlüsselten Inhalt für vorletzten Mix, dann den davor, bis er für alle verschlüsselt hat; die Empfängeradresse erhält nur der letzte Mix → die gesamte Kette ist nicht, solange ein Angreifer nicht ALLE Mixe übernommen hat ○ Absender sendet bei Inaktivität trotzdem Nachrichten (Dummy-Nachrichten) damit nicht anhand der Aktivität eine Zuordnung geschehen kann TOR (The Onion Router) → setzt auf dem Mix-Prinzip auf ● Verzeichnisserver: enthält alle beteiligten TOR-Router (die Mixes) ● TOR-Router ○ die TOR-Router werden von Freiwilligen weltweit betrieben ■ jeder Beteiligte kan für seinen Tour-Router durch eine policy festlegen, dass er nicht als exit node auftreten will (wegen straßrechtlicher Gefahr) ○ kommunizieren untereinander immer TLS-verschlüsselt; dazu haben sie ein TLS-Zertifikat, was mit einem langlebigen

identity key unterschrieben wird TOR-Circuit: Kanal vom Absender über die TOR-Router hin zum Empfänger ○ ein Nutzer kann mehrere Circuits aufbauen & nutzen ● OP (Onion Proxy): die Software, die den Circuit für den Absender aufbaut ● entry node / entry node: (Einstiegsrouter / Ausstiegsrouter) Funktionsweise: ● Absender A erfragt vom Verzeichnisserver 3 Tor-Router um einen Circuit aufzubauen ● Anschließend handelt A per Diffie-Hellman einen symmetrischen Session-Key K1 mit Router 1 aus und gibt eine Circuit-ID 1 an ●



○ durch die Circuit-ID identifziert Router 1 später den Kanal: A - Router 1 nun sendet A an Router 1 den befehl, den Circuit um Router 2 zu erweitern



A handelt nun TLS-verschlüsselt über Router 1 einen (symm.) Session-Key K2 mit Router 2 aus; Router 1 gibt Router 2 eine Circuit-ID 2 mit (für den Kanal Router 1 - Router 2) ● Dasselbe wiederholt A für den dritten Router (den exit node) ⇒ Nun steht der Circuit und A kann (im Zwiebelprinzip) anonym an B senden; für B ist der exit node der Absender * asymmetrsiche Verschlüsslung während Diffie-Hellman bei Circuit-Aufbau * die Pakete zwischen A und den Router wird mit den jeweiligen Ks symmetrisch verschlüsselt (schnell) und anschließend zwischen den einzelnen Router nochmal asyymetrisch (per TLS)

Tor ermöglicht auch Empfängeranonymität → mittels hidden services ● Dienstanbieter erstellt service descriptor, signiert ihn mit eigenem Private-Key und legt hin im Verzeichnisserver ab; enthält: ○ Public-Key des Services (für jeden Dienst erstellt der Dienstanbeiter ein Schlüsselpaar) ○ Public-Key des Dienstanbieters ○ Beschreibung und Name des Services (Hashwert des Public-Keys als ASCII-Zeichen und .onion dahinter, z.B: dfh23424h.onion) ○ 3 Router, sog. Einstiegspunkte (introductory points), die als Treffpunkt (rendezvous point) genutzt werden ● Dienstanbieter verbindet den Dienstserver nun dauerhaft mit den Einstiegspunkten ● Nutzung des Dienstes ○ Nutzer läd service descriptor vom Verzeichnisserver und baut Tor-Circuit zu einem der Einstiegspunkte auf ○ Nutzer übermittelt Verbindungsanfrage an Dienstanbeiter asymmetrisch verschlüsselt; enthält ■ Tor-Router ausgewählt vom Nutzer, der als Treffpunkt dienen soll (nicht der introductory point) → später der rendezvous server ■ Name des Dienstes ■ Einmalpasswort (Cookie) zur Erkennung des Nutzers ○ anschließend wird per Diffie-Hellman ein symmetrischer Schlüssel zwischen Nutzer und Anbieter ausgehandelt (die übermittelten Werte auch asymmetrisch verschlüsselt) ○ anschließend ist die Verbindung aufgebaut und läuft über den rendezvous server (asymm. + symm. verschlüsselt) Mix vs. Tor ● Tor bietet mit hidden services eine Funktion, die Mixe nicht realisieren (Empfängeranonymität) ● weniger Mixe in der Mix-Kaskade als Tor-Router, dadurch höhere Belastung (mehr Bandbreite notwendig) ○ alle Kommunikation läuft über diese Mixe - keine Auswahl von Routern aus einer großen Menge, wie bei Tor ● mehr Vertrauen auf die guten Mix-Anbieter, aber kostenpflichtig

Sicherheit von Java ● ByteCode wird in einer JVM ausgeführt → Ausführung in Sanbox die sicherheitskritische Funktionen steuert/verhindert ● Sicherheitsmaßnahmen ○ Byte-Code-Verifier ■ Prüfen, ob die Übersetzung in Byte-Code regulär geschehen ist oder “Hacks” im Byte-Code enthalten sind (Dinge, die der Compiler nicht kompilieren würde) und weigtere wie Stack-Überlauf (laufen in fremde Adressbereiche) ○ Security-Manager ○ Java-Class-Loader ■ stellt sicher, dass Klassen der Standard-Bibliothek (JVM) nicht überschrieben werden, z.B. Klasse “Object” (“überschreiben” meint hier, dass sich eine bösartige Klasse durch gleichen Namen und Package nicht als eine andere Klasse ausgibt) Sicherheit von ActiveX ● ActiveX-Komponenten stehen ALLE Komponenten des Betriebssystems zur Verfügung ● Schutzmaßnahme: digitale Signatur Biba-Modell (von Kenneth Biba entwickelt) → Sicherstellen der Integrität von Daten durch Kontrolle der Lese- und Schreibzugriffen

Stufen: frei / geheim / streng geheim ● No read down: max. bis Nutzerklasse (Gruppe) ● No write up: nicht freier als Nutzerklasse ⇒ nicht für andere Schreiben

up/down - bezogen auf die Stufen up - freiere Berechtigung down - eingeschränktere Berechtigung

Bel-La-Padula-Modell → Sicherstellen der Vertraulichkeit / Umkehrung von Biba neben den Objekten erhalten auch die Nutzer eine Sicherheitsstufe (frei / geheim / streng geheim)



No write down (!) keine Daten freier schreiben, als die eigene Klasse (um z.B. zu verhindern, dass zugriffsgeschützte Daten in eine freizugängliche Datei kopiert werden ⇒ nicht von anderen Lesen High-Watermark-Principle → erst wenn eine Datei einer höheren Zugriffsklasse gelesen wird, rutscht der Nutzer für diese Sessoin in die höhere Zugriffsklasse bezüglich des Schreibens (vorher darf ein Nutzer der Klasse geheim auch freie Daten schreiben) ACL → Zugriffskontrollliste, verwaltete welche Subjekte (Personen/Programme) auf welche Objekte/Ressourcen (Dateien) und auf welche Art (lesen, schreiben, ..) Zugriff haben * Zugriffskontrollmatrix: Tabelle mit Objekten in einer Dimension und den Subjekten in der anderen; Berechtigungen in den Zellen ACLs v. Capabilities ACL: wer Zugriff hat wird als Metainformation am Objekt gespeichert Capabilites: Objekte, auf die die Person Berechtigung hat, wird an der Person gespeichert Prinzipien Informationsflusskontrolle a) Discretionary-Access-Controll: liegt im Ermessen des Nutzers (z.B. zugriffsgeschützte Datei in eine ungeschützte Datei kopieren) b) Mandatory-Access-Controll: löst Problem des Discretionary-Access-Controll Single Point of Failure → Fehler an dieser Stelle führt zum vollständigen Funktionsverlust des Systems Hash-Funktion * Zielmenge ist wesentlich kleiner als Ausgangsmenge * wichtig für Hash-Funktionen * ist schnell zu berechnen * streut gut auf die Zielmenge (wenig Kollisionen) * auch zur Überprüfung der Authentizität genutzt (ist Nachricht von dem Absender): Hash ≙ F  ingerprint

≙ kryptografische Prüfsumme

* dafür ist zusätzlich wichtig: * Einwegfunktion * Schwache Kollisionsresistenz: kaum möglich zu einer gegebenen Nachricht eine andere Nachricht desselben Hashes zu finden * Starke Kollisionsresistenz: kaum möglich, zwei unterschiedliche Nachrichten desselben Hashes zu finden → für Kollisionsresistenz ist wichtig, dass jedes Bit des Ausgangswertes in die Berechnung eingeht MAC (Message-Authentication-Code) → verschlüsselter Hashwert einer Nachricht (mittels geheimen Schlüssel - aber symmetrisch, statt asymm. wie bei Signaturen) ODER Nachricht wird mit Schlüssel konkateniert und das Ergebnis gehasht: H(Geheimnis|Nachricht) Gefahr: Erweiterungsangriffe Falls Hash-Algorithmus nach Merkle-Damgård-Prinzip arbeitet, kann Angreifer etwas an die Nachricht anhängen und den letzten Schritt des Hashings durchführen (echten Hash und angehängten Block in F eingeben ⇒ echter Hash) Lösung: H( Geheimnis | H(Geheimnis|Nachricht) ) MAC kann aber auch durch den Empfänger generiert werden, da er den geheimen Schlüssel auch kennt Lösung: Digitale Signatur mit Public-Key-Verfahren * Hash mit privatem Schlüssel des Absenders verschlüsseln * entschlüsseln mit Public Key des Absenders (man könnte auch einfach die gesamte Nachricht verschlüsseln, aber nur den Hashwert zu verschlüsseln ist schneller) Algorithmen für Digitale Signaturen * RSA * DSS - ein Standard, der den DSA-Algorithmus nutzt → eingesetzt in PGP und GPG CA (Certification Authority == Zertifizierungsstelle == Trust Center) * Hinweis: Eine CA muss eine Deckungsvorsorge für Schadensersatzansprüche vorhalten PKI (Public-Key-Infrastructure) → Umgebung, in der alle Benutzer ein Zertifikat haben → sichere elektronische Kommunikation möglich, z.B. Handel, Verträge X.509 → Standard für eine PKI zum Erstellen von digitalen Signaturen * definiert u.a. den Inhalt des Zertifikates: * Name des Besitzers * öffentlicher Schlüssel des Besitzers

* Gültigkeitsdauer * Seriennummer * Name der CA ** digitale Signatur der CA CRL (Certificate Revocation List) → Sperrliste bei der Zertifizierungsstelle * in diese werden Zertifikate eingetragen, deren private Schlüssel gestohlen wurden

Strom- vs. Blockverschlüsslung * Blockverschlüsslung arbeitet ganze Blöcke ab, z.B. Feistel * Stromverschlüsslung arbeitet einzelne Bytes ab, z.B. Vernam-Chiffre Welche Protokolle sind neben HTTPS noch mit SSL gesichert? → POP3S, SMTPS, IMAPS, LDAPS, FTPS Modi der Blockverschlüsslung (in symm. Verfahren) ● ECB (electronic-book-Mode) ○ Aus einem Klartextblock wird immer derselbe Geheimtextblock. Die Klartextblöcke werden unabhängig voneinander verschlüsselt (parallelisierbar, aber anfällig für Replay-Angriffe) ● CBC (cipher-block-chaining-Mode) ○ Die Klartextblöcke werden vor Verschlüsslung XOR mit dem vorherigen Geheimtextblock verschlüsselt (nicht parallelisierbar, aber sicher gegen Replay-Angriffe) ● Counter Mode ○ Die Klartextblöcke werden vor Verschlüsslung XOR mit einem Counter verschlüsselt ■ Der Startwert des Counters wird zufällig gewählt ■ Der Counter jeweils um eins erhöht und mit dem Schlüssel verschlüsselt (dann XOR mit Klartextblock) (parallelisierbar und sicher gegen Replay-Angriffe) Erzeugung zufälliger Primzahlen → ungerade Zufallszahl erzeugen und auf Primzahl testen Zufallsgenerator erzeugt Zahl aus dem Bereich Nn/2 dann *2 +1 -> ungerade Primzahlsatz → Warscheinlichkeit, aus einer Menge N eine Primzahl zufällig zu wählen/würfeln

Bsp: 21024  mögliche Zahlen



1 / ln 21024  = 1 / 1024 * ln 2 ≈ 1 / 707 Also im Schnitt ca. 707 Versuche notwendig um aus 21024  verschiedenen Zahlen eine Primzahl zufällig zu wählen

(!) Um einen 2048-Bit langen Schlüssel zu erzeugen, werden 1024-Bit lange Primzahlen benötigt (falls beide gleich lang) Da keine effizienten Verfahren zur Primfaktorenzerlegung bekannt, wird mit probalistischen Primzahltests gearbeitet → wenn Ergebnis “keine Primzahl”, dann stimmt das immer aber: bei Ergebnis “Primzahl” gibt es eine kleine Fehlerwarscheinlichkeit - solche “falschen” Primzahlen heißen starke Primzahlen * Fehlerwarscheinlichkeit wird reduziert, durch Aneinanderreihung mehrerer prob. Tests (jeder macht andere Fehler) * ein prob. Test: Miller-Rabin-Test:

Erzeugung von Zufallszahlen Unterscheidung: ● echte Zufallszahlen (phys. Quelle, z.B. Regen) ● Pseudozufallszahlen (auf Basis eines Startwerts (seed) und eines deterministischen Algorithmusses) * hybrider Generator: nutzt physik. Quelle für Startwert + deterministischen Algorithmus zur Berechnung * ein Pseudozufallszahlengenerator hat inneren Zustand (um Unterschiedlichkeit zu gewährleisten) * der innere Zustand muss kürzer sein als die Ausgabe, sonst könnte aus der Asuageb auf den Zustand geschlossen werden

Aufbau einer E-Mail → Umschlag (envelope) + Inhalt (content: message header + message body) ● im content sind nur ASCII-Zeichen erlaubt (keine Umlaute, keine Dateien) Lösung: MIME - einen Content-Transfer-Encoding ○ ermöglicht diverse Codierungen (schreibt keine fest vor), z.B. ■ 7bit ASCII-Format ■ 8bit ASCII-Format + Sonderzeichen ■ quoted-printable ASCII-Format, Sonderzeichen mit ASCII-Zeichen kodiert ■ base64 Binärdaten mittels ASCII-Zeichen: 3 Bytes durch 4 ASCII-Zeichen kodiert (base64, weil es 64 Zeichen in 7-Bit ASCII sind, mit denen kodiert wird) ○ diverse Content-Types, z.B. ■ text ■ image ■ application ■ multipart mehrteiliger Content (z.B. mehrere Dateien) ○ S/MIME ergänzt weitere Typen, z.B....


Similar Free PDFs