IT-Sicherheit 1. Einführung und organisatorische Sicherheit 2. Datenschutz und Nicht-technische Datensicherheit 3. Identity Management 4. Angewandte IT Sicherheit 5. Praktische IT Sicherheit 1. Einführung und organisatorische Sicherheit Gefahren----> unbeabsichtigt Handlungen beabsichtigte Handlungen Zu schützenden Ziele: ---> materielle (Lebewesen; Einrichtungen; IT-Technik...) und immaterielle Schutzgüter (Daten; Informationen; persönliches Ansehen...) In der englischen Sprache: Security (Schutz eines Systems vor Angriffen) Safety (Zuverlässigkeit eines Systems) 1.2 Grundlegende Datensicherheitsaspekte und Sicherheitsanforderungen Sicherheitsaspekte zur Klassifizierung von Angriffen: Integrität (engl. Integrity): Ressourcen dürfen nicht unautorisiert verändert werden. Checksummen bei der Übertragung (bspw. mittels Hash-Funktion) Authentizität (engl. Authenticity): Ressourcen müssen echt sein (Absender, Quelle...) Digitale Signatur (sym./asym. Schlüssel) Verfügbarkeit (engl. Availability): Ressourcen müssen nutzbar und erreichbar sein. Verbindlichkeit (engl. Accountability, Non-Repudiation): auch Nachweisbarkeit oder Nicht-Abstreitbarkeit (wichtig z.B. bei Internet-Transaktionen wie Bestelloder Zahlvorgängen). Vertraulichkeit (engl. Confidentiality): Geheimhaltung von Informationen gegenüber Unberechtigten. Privatsphäre (engl. Privacy): Umgang mit personenbezogenen und personenbeziehbaren Daten. 1.3 Sicherheitsrisiken, Sicherheitslücken und bekannte Attacken Sicherheitslücken Schwachstelle (engl. Vulnerability) Bedrohung (engl. Threat) Werte/Ressourcen (engl. Assets) Angriff (engl. Attack) Basisangriffe auf eine Kommunikation 1.3.1 Programme mit Schadensfunktion Viren und Trojaner 1.3.2 Cross-Site Scripting XSS Vorrausetzungen: 1. eine vertrauenswürdige Web-Applikation, die dynamische Seiten erzeugt und 2. ein Browser, der die Ausführung von Scripten ermöglicht. Cross-SiteScripting 1. 2. 3. 4. 1.3.3 SQL Injection SQL ermöglicht das Definieren, Abfragen und Verändern von Daten in relationalen Datenbanken. SQL Injection: Eingriff durch eingeschleuste Datenbankanfragen Abhängig von den verwendeten Befehlen sind verschiedene Angriffe auf eine Datenbank möglich: Lesen von Informationen: z.B. SELECT Manipulation beziehungsweise Löschen von Informationen: z.B. DELETE, INSERT, UPDATE Zerstören von Datenbanken bzw. Tabellen: z.B. DROP TABLE, DROP DATABASE Ausführen von Systembefehlen auf dem Hostsystem: z.B. System.exec(“format c:“) Wie beim Cros-Site Scripting ist die Integration einer Eingabeüberprüfung die wichtigste und effektivste Maßnahme zur Vermeidung von SQL Injection Angriffen. Diese sollte wiederum mit einer vollständigen Beschreibung und Überprüfung der zulässigen Eingaben durch reguläre Ausdrücke realisiert werden. 1.4 Sicherheitspolicies und Modelle Ziel: Zugriff auf Ressourcen zu reglementieren Diese Regeln legen fest, welche Subjekte s (Nutzer, Gruppen oder Prozesse) auf Objekte o (Prozesse, Dateien, Nutzer, …) mit welchen Rechten r (lesen, schreiben, ausführen, …) zugreifen dürfen. Sicherheitsmodelle Access Control Matrix (ACM) Vorteile: einfache und intuitive Verwendung effiziente Suche innerhalb der Matrix Nachteile: Größe der Matrix, gegebenenfalls leere Zellen Großer Aufwand beim Hinzufügen bzw. Entfernen neuer Subjekte oder Objekte. Access Control List (ACL) Für jedes Objekt o (hier Dateien) werden alle Subjekte s (hier Nutzer) gespeichert, die Rechte für den Zugriff besitzen. Vorteil: Im Gegensatz zur ACM werden hier nur notwendige Einträge gespeichert, dadurch gibt es keine leeren Zellen. Nachteil: langsamere Suche im Vergleich zu ACMs, wodurch sich beispielsweise die Zusammenstellung aller Rechte eines Subjektes zeitlich aufwändig gestaltet. Capability List (CAP) Role-based Access Control (RBAC) Rollenbasierte Zugriffskontrolle Mandatory Access Control Zugriffsrechte beruhen nicht allein auf der Identität des Subjektes sondern auf zusätzlichen Regeln und Eigenschaften des Subjektes und des Objektes Multi-Level Access Control Hierarchie von Schutzstufen: Zugriff auf ein Objekt wird zum einen abhängig gemacht von der Schutzstufe des Subjektes (clearance) und der des Objektes (classification). Bell-LaPadula-Modell (Beispiel) „No-read-up“: Es ist nicht möglich, das ein niedriger eingestuftes Subjekt s1 Informationen eines höher eingestuften Subjektes s2 lesen kann. „No-write-down“: Es darf einem höher eingestuften Subjekt s2 nicht möglich sein, Informationen in ein Objekt eines niedriger eingestuften Subjektes s1 zu schreiben. 1.4.3 Integritätsmodelle: Biba, Clark Wilson Sicherung der Integrität: Daten dürfen nicht durch Unbefugte manipuliert werden können „No-read-down“: Jedes Subjekt darf nur innerhalb von Objekten der gleichen oder einer höheren Schutzstufe lesen. Dadurch wird erreicht, dass nur zuverlässige Informationen (da von höherer Stufe geschrieben) verwendet bzw. weitergegeben werden. „No-write-up“: Schreiben darf ein Subjekt nur in Objekte der gleichen oder einer niedrigeren Schutzstufe. So werden nur Informationen aus einer kompetenteren Quelle an die anderen Stufen weitergegeben. Biba-Modell Clark-Wilson-Modell Es ist ein auf Großrechnern (Mainframes) häufig eingesetztes Modell. Es beschreibt Maßnahmen, die es möglich machen den integeren Zustand eines IT-Systems zu erhalten. Das bedeutet, dass das System von einem gültigen (konsistenten) Startzustand in einen ebenfalls konsistenten Endzustand überführt wird. Übergänge zwischen konsistenten Zuständen können nur durch wenige explizit erlaubte und wohlgeformte Transaktionen erfolgen. Wohlgeformt heißt in diesem Kontext, dass die Konsistenz des Systems bei der Transaktion erhalten bleibt. Beispiel: Für die Kontoführung von Bankkunden seien folgende Eigenschaften gegeben: Sin - Summe des heute eingezahlten Geldes Sout - Summe des heute abgehobenen Geldes Ggestern - Geld auf dem Konto am gestrigen Tag Gheute - Geld auf dem Konto am heutigen Tag Die Konsistenz kann dann wie folgt beschrieben werden: Gheute = Ggestern + Sin - Sout 1.4.4 Hybride Modelle (Multilateral Access Control Modelle) Ziel: Sicherung von Integrität und Vertraulichkeit durch Vermeidung von Interessenkonflikten Chinese Wall Modells Ressourcen werden bestimmten Konfliktklassen zugeordnet werden. Gehören zwei Objekte unterschiedlichen Konfliktklassen an und will ein Subjekt, welches bereits Zugriff auf eines der beiden Objekte hatte, auf das andere zugreifen, so wird dieser Zugriff verweigert. Das bedeutet, dass die Regeln des Modells zukünftige Zugriffe von Subjekt s1 auf ein Objekt o1 verhindern, wenn s1 in der Vergangenheit bereits Zugriff auf ein Objekt o2 hatte und o1 und o2 derselben Konfliktklasse angehören. 1.4.5 Praktischer Zugriffschutz in UNIX Dateizugriffsrechte unter UNIX-Betriebssystemen 1.5 Sicherheitsstandards ISO 27001 1.6 Social Engineering Ziel des Social Engineering ist das Ausspähen bzw. „in Erfahrung bringen" von vertraulichen Daten. Human-based Social Engineering: Angreifer tritt direkt mit dem Opfer in Verbindung. Dies kann über direkten Kontakt oder auch über das Telefon passieren. Based Social Engineering: Kontaktaufnahme über die verschiedenen Möglichkeiten des Computers. Typische Beispiele sind hier das Versenden von EMails oder das Kontaktieren in Chats. Z.B. Phishing Mail (paypal) Angriffsbaum zur Erlangung des Passworts einer Person P