- Daten und Informationen
- Daten : Darstellung von Informationen in maschinenlesbarer Form; Aufbau: in Zeichen- bzw. Zeichenketten kodiert, folgen Aufbau-Regeln (Syntax)
- Informationen : im Kontext interpretierte Daten
- Datenschutz: “privacy”, Maßnahmen, Normen und Gesetze zum Schutz der Privatsphäre und das Recht des Einzelnen auf informationelle Selbstbestimmung
- Privatheit von personenbezogenen Daten (Grundrecht), z.B. Passwörter oder IP-Adressen
- → zählen in Deutschland als personenbezogene Daten
- -> Bundesdatenschutzgesetzes (BDSG)
- Aufgaben: Verlust, Manipulationen, unberechtigter Kenntnisnahme durch Dritte und andere Bedrohungen verhindern
- → Datenschutz ist ohne IT-Sicherheit und Datensicherheit nicht möglich
Der Schutz von IT-Systemen
↳IT-System besteht aus Hardware und Software, ist eine Funktionseinheit zur Aufnahme, Verarbeitung, Aufbewahrung und Nutzung von Daten
IT-Sicherheit auf Englisch: cyber safety und cyber security
- cyber safety: Schutz vor Ausfällen (Funktionssicherheit)
- cyber security: Schutz vor Angreifern und Schutz der Daten (Informationssicherheit), z.B. vor nicht-autorisierter Datenmanipulation oder ungewollter Preisgabe von Informationen
Aufgaben der IT-Sicherheit
Schutz vor Gefahren bzw. Bedrohungen,
der Vermeidung von wirtschaftlichen Schäden und
der Minimierung von Risiken.
Teildisziplinen der IT-Sicherheit
- Kryptographie
- Netzwerksicherheit
- Kommunikationssicherheit
- Softwaresicherheit
- Sicherheitsmanagement
- IT-Forensik
Schutzziele der IT-Sicherheit
- Integrität (engl. integrity) → Unversehrtheit von Daten, Änderung nur von autorisierten Personen, Organisatorische Maßnahmen und Schulungen durchführen (Mensch als Gefahrenquelle)
- Verfügbarkeit (engl. availability) → Server und Infrastruktur errechenbar über: Verfügbarkeit = (Gesamtlaufzeit - Ausfallzeit)/Gesamtlaufzeit
- Verbindlichkeit (engl. non repudiation) → Nicht-Abstreitbarkeit (z.B. hat Max Mustermann xy bestellt, sichere Websites → Fake-Websites), Zertifikate
- Vertraulichkeit (engl. confidentiality) → “Mithören” beim Datenverkehr bzw. Ausspionieren verhindern/eingrenzen, Methoden: Verschlüsselungen, Zertifikate (HTTPS)
- Authentizität (engl. authenticity) → Echtheit/Glaubwürdigkeit, Methoden: Passwörter, Zwei-Faktor-Authentifizierung
- Anonymisierung und Pseudonymisierung → Schutz der personenbezogenen Daten, Methoden: sichere Browser & Netzwerke (Tor-Browser)
- ↳ Anonymisierung: “Untergehen in der Masse”
- ↳ Pseudonymisierung: nicht komplett anonym, daher werden Pseudonyme verwendet
Schwachstellen, Bedrohungen und Verwundbarkeit
- Bedrohung (engl. threat): Als Bedrohungen werden Umstände oder Ereignisse verstanden, die prinzipiell die Schutzziele der IT-Sicherheit verletzen und zu einem Schaden führen können. Eine Bedrohung eines IT-Systems ermöglicht es einem Angreifer, eine oder mehrere Schwachstellen oder Verwundbarkeiten auszunutzen, um einen Verlust der Integrität, Vertraulichkeit oder Verfügbarkeit von Daten zu bewirken, oder um die Authentizität von Subjekten zu gefährden.
- Eine Schwachstelle (engl. weakness) bezeichnet eine vermeintliche Schwäche eines Systems oder einen Punkt, an dem das System verwundbar ist. Der Begriff Verwundbarkeit (engl. vulnerability) meint eine Schwachstelle, über welche die Sicherheitsdienste des Systems umgangen, getäuscht oder unautorisiert modifiziert werden können. Ein besonderer Fokus bei der Betrachtung von Angriffen liegt auf gezielten Angriffen über vernetzte Informationssysteme.
- Eine Gefährdung bezieht sich ganz konkret auf eine bestimmte Situation oder auf ein bestimmtes Objekt und beschreibt die Wahrscheinlichkeit, mit der eine potentielle Gefahr (d.h. Bedrohung) zeitlich oder räumlich auftritt. Zu einer Gefährdung kommt es jedoch erst, wenn eine Schwachstelle auf eine Bedrohung trifft und diese für einen Angriff ausgenutzt werden kann.

Angriffsarten
- passive Angriffe
- Bei einem passiven Angriff findet kein Eingriff in das eigentliche System bzw. die Infrastruktur statt. Meist erfolgt der Angriff durch das Abfangen der Kommunikation zwischen einem Anwender und dem Zielsystem. Da durch dieses Vorgehen keine Veränderung am System vollzogen wird, sind diese Angriffe nur sehr schwer zu erkennen. Ein typisches Beispiel für ein derartiges Szenario ist ein Man-in-the-middle-Angriff. Schutz gegen diese Art von Angriffen bietet nur eine durchgängige Verschlüsselung und Verifizierung. Ein passiver Angriff zielt somit in der Regel auf einen Verlust der Vertraulichkeit durch unautorisierte Informationsgewinnung ab.
- aktive Angriffe
- Bei einem aktiven Angriff greift der Angreifer direkt auf das System zu. Dabei werden zum Beispiel Sicherheitslücken ausgenutzt oder Passwörter per Brute-Force geknackt. Bei dieser Art von Angriffen hinterlässt der Angreifer Spuren, durch die der Angriff erkannt und mit denen der Angreifer im besten Fall identifiziert werden kann. Unautorisierte Modifikation von Datenobjekten richtet sich gegen die Datenintegrität oder Verfügbarkeit des Systems. Ein aktiver Angriff stellt eine unautorisierte Informationsveränderung dar und richtet sich typischerweise gegen die Integrität oder Verfügbarkeit des Systems. Zu dieser Kategorie von Angriffen zählen z.B. Maskierungsangriffe (Spoofing).
- interne Angriffe
- Neben den Angriffen von außerhalb spielen Angriffe aus dem Anwenderfeld, also von internen Personen mit Bezug zum Unternehmen, eine zunehmende Rolle. Zu den potentiellen internen Angreifern gehören neben den (ehemaligen) Mitarbeitern auch Praktikanten, externe Mitarbeiter, Kooperationspartner und Mitarbeiter von Zulieferern.
Protokolle des Internets
TCP/IP
UDP
- ->Portscan
- Portnummer:
- Quellport
- Zielport
Datenkapselung

Das TCP-Protokoll
Aufbau des TCP-Protokolls

Beispiel:
- 💻Port: 5058]--->[📄Port: 443 (HTTPS-Port)
- Öffnen einer Website -> Anfrage von Laptop mit Port 5058 an Server mit Port 443 -> Ausführen eines Drei-Wege-Handshake
- sicherer als UDP
- max. Protokollgröße: 64KB
- braucht länger zum Versenden, da mehrere Pakete in geordneter Reihenfolge benötigt
- unverschlüsselt (veränderbar)
- Sitzungsprotokoll, ohne Handshake
- schnell erzeugt und versendet
- verbraucht wenig Speicherplatz
- Pakete können verloren gehen oder in falscher Reihenfolge eingehen
- unsicherer
- unverschlüsselt (veränderbar)
- = Internet Control Message Protocol
- transportiert Fehler- und Diagnoseinformationen für IPv4 und IPv6
- wird nicht durch Firewall geblockt, da relevant (Whitelist)
- Erkennbar/identifizierbar über...
- ...IP-Adresse.
- ...Cookies.

- z.B. über VPN (virtual private network)

- Arten von Cookies
- first-party-cookies: von Betreiber der Website, für bessere Benutzerfreundlichkeit
- third-party-cookies: von Werbetreibenden auf Websites
- session-cookies: eindeutige, zufällig erzeugte Nummer (UID) -> SessionID
- HTTPS: zustandsloses Protokoll
- -> weiß nicht, ob ich Website schon einmal besucht habe
- HTTPS: zustandsloses Protokoll
- -> The Onion Router
- Echtzeitanonymisierungdienst
- 6000-8000 TOR-Nodes (Server) -> Proxys


Sicherheit im Web
- "LAMP"-System
- -> Betriebsystem des Servers: Linux
- -> Webserver: Apache
- -> Datenbank: MySQL (oder SQLite, usw.)
- -> Programmiersprache: PHP

Injection-Angriffe
SQL-Injection

XSS-Injection (cross site scripting)
Man-in-the-Middle-Angriff (MitM)
- Der Effekt eines Man-in-the-Middle-Angriffs (MitM) kann in vielen Bereichen und auf vielen Wegen erzielt werden.
- Generell begibt sich dabei ein Angreifer zwischen zwei andere Netzwerkteilnehmer (z. B. Client und Server) und kontrolliert deren Datenverkehr (Mitlesen, Verfälschen, Unterbinden, etc.).
- Die in diesem Abschnitt gezeigte Technik ist nur in einem lokalen Netzwerk einsetzbar und nicht über Netzwerkgrenzen hinaus möglich. Dafür müssten andere Techniken genutzt werden, die Sie an einer anderen Stelle und auf einen anderen Weg zur „Mittelsperson“ machen.
- z.B. Maltego
- Abfrage von Serverinformationen über
nikto -host http(s)://[website.com] -C -all - Informationen zu Exploits und Schwachstellen über CVE Details
- möglicherweise schon Angriffsskript auf Metasploit vorhanden
Buffer-Overflow -> PtD (Ping to Death)

wichtige Abkürzungen:
- IoC- Indicator of Compromise
- HDS - Host Detection System
- IDS - Intrusion Detection System
- APT - Advanced Persistent Threat
- ARP - Address Resolution Protocol

Malware
- aus engl. "malicious" und "Software", also bösartige Software
- Arten von Malware: Würmer, Trojaner und Viren

- Nutzen von Malware: Systeme zerstören und stören, Datenverschlüsselung, Datenvernichtung und Gelderpressung
- Erkennung von Malware: Anti-Viren-Software, virustotal.com
- Quelle von aktuellen Viren: The Malware Zoo
- Zum Ausprobieren: ANY.RUN
- Definition: Der Virus ist ein Computerprogramm, das sich selbsttätig reproduziert, indem es andere Programme infiziert.

Würmer 🐛
- Definition: Der Wurm ist ein Computerprogramm, das sich nach Ausführung selbsttätig verbreitet. In Abgrenzung zum Virus verändert der Wurm keine fremden Dateien oder Bootsektoren.
- Beispiele: Blaster (2003) -> Angriff über veraltete Windows-Systeme über RPC-Protokoll (Port 135)
- Definition: Ein Trojaner ist ein Programm, dass vorgibt, ein nützliches oder harmloses Programm zu sein, jedoch im Hintergrund unerwünschten Payload ausführt. In einem regulären Programm, das sich ein User aus dem Netz herunterlädt oder zugeschickt bekommt, versteckt sich ein weiteres Programm mit verschiedenen Komponenten, die es dem Angreifer ermöglichen, den Rechner vollständig fernzusteuern und gleichzeitig dem Opfer beispielsweise vorzugaukeln, dass die Online-Sitzung weiterhin völlig normal verlaufe. Mittels des »entführten« Computers kann der Angreifer dann beispielsweise Einbrüche in andere Netze begehen, ohne dass eine direkte Spur zu ihm zurückführt, oder alle Passwörter des Benutzers aufzeichnen (loggen).
Erkennung von Schadsoftware
- Signaturbasierte Erkennung
- Hashsignatur berechnen, mit Datenbank abgleichen und bekannte Signaturen sperren/löschen
- Befehl:
md5 - Gegenmaßnahme: Code mit Junk-Code füllen und "verschleiern" der eigentlichen Signatur
- Beispiel: VirusTotal
- Heuristikbasierte Erkennung
- Verhaltensbasierte Erkennung
- Verhaltensbasierte Erkennung, z.B: Zugriffsrechte beobachten, Zugriff auf Arbeitsspeicher, usw.
- untersucht malware-typisches Verhalten im .log-file, Eventmanager und Arbeitsspeicher in Echtzeit
- Kryptographie: Ist die Lehre von den Methoden zur Ver- und Entschlüsselung von Nachrichten zum Zweck der Geheimhaltung von Informationen gegenüber Dritten.
- Kryptoanalyse: Wissenschaft von Methoden zur Entschlüsselung von Nachrichten ohne Zugriff auf den Schlüssel zu haben.
- Kryptologie: Wissenschaft der Ver- und Entschlüsselung von Nachrichten sowie von Methoden zur Entschlüsselung.
- Steganographie: Ziel bereits darauf ab, die Existenz einer Nachricht zu verbergen und nicht nur lediglich den Informationsgehalt einer Nachricht zu verschleiern.
Funktionsweise der symmetrischen Verschlüsselung:

Schlüsseltauschproblem der asymmetrischen Verschlüsselung:
- Berechnung der nötigen Schlüssel für n-Benutzer:
n^2/2 - n/2
Symmetrische Verschlüsselung
- AES - Advanced Encryption Standard
Asymmetrische Verschlüsselung
- Typen von PK-Verfahren
- 1. Faktorisierungsproblem -> RSA-Algorithmus
- 2. diskreten Logarithmusproblem
- 3. elliptischen Kurven
- -> 10*10 = 100
- <- 50 * 2, 4 * 25, 5 * 20, 10 * 10, 100 * 1
Kryptographische Hashingfunktion
- Verwendung: Überprüfung von Dateien (IT-Sicherheit) und Passwörter (Kryptologie)
- Lösungsansatz:
- Nachricht x, beliebige Länge, xi Block
- Kompressionsfunktion h
- kein Schlüsselmaterial notwendig
- -> h(x) kein vertraulicher Wert
- effizientes Erzeugen eines Message Digest z fester Länge
-
h: X* →Xn
- (Message-Digest, One-way-Hash), z.B. n=128
- Aber: h ist nicht injektiv, deshalb sind prinzipiell Kollisionen möglich!
Anforderung von Krypto-Hash-Funktionen
- Msg ist ein Element X* gilt: H(Msg)=y ist einfach zu berechnen
- Einwegeigenschaft von h
- Gegeben ist y=H(M). Bestimmen des Wertes M in X^*, mit M = H^{-1} (y) ist nicht effizient möglich
- Schwache Kollisionsresistenz
- Gegeben sei M in X^*, es ist nicht effizient möglich, ein M' in X^* zu finden, sodass gilt: M != M' und H(M) = H(M')
- Starke Kollisionsresistenz
- Das Finden von Paaren M, M' in X^*, mit H(M) = H(M') ist nicht effizient möglich
- Implikation des Geburtstagsproblem
- gegeben Hashfuntion H, Hashwert der Länge n, 2^n Hashwerte
- Die Anzahl der Nachrichten, die man konstruieren muss, um mit einer Wahrscheinlichkeit > 0,5 eine Kollision zu erzeugen, liegt bei
-
rund 2^{(n/2)}
- Sei H eine Hashfunktion mit Hashwerten der Länge n = 80
- Dann erfordert ein Kollisionsangriff die Berechnung von rund 2^{40} Hashwerten
- Das ist bei heutiger Rechenleistung einfach möglich
- Schlussfolgerung: Länge n ist maßgeblich für die Sicherheit (> 160 Bit Länge)
Hashfunktionen basieren auf Block-Chiffren, z.B. DES
dedizierte Hashfunktionen: u.a. MD4, MD5 mit 128-Bit Hash
oder SHA (Secure Hash-Algorithm)
- Definition:
Zugriffskontrollmodelle beschreiben auf logischer Ebene, auf welche Art und Weise Benutzer Zugriff auf IT Systeme erhalten.
- Grundidee:
Restriktive Rechtevergabe: Einem Prozess sollen nur diejenigen Zugriffe erlaubt sein, die für die Erfüllung seiner Aufgabe unverzichtbar sind.
(principle of least privilege, need-to-know principle)
- Arten von Zugriffkontrolle:
Discretionary Access Controll (DAC) - Ermessensbezogen
Identity Based Access Control (IBAC) - Identitätsgesteuert
Mandatory Access Control (MAC) - per Verpflichtung
Role based Access Controll (RBAC) - mit Hilfe von Rollenmodell
