DAS
Daten- und Anwendungssicherheit
Daten- und Anwendungssicherheit
-
- 1 / 48
-
Flashcards
Welche Sicherheitsdienste gibt es?
- Vertraulichkeit
- Integrität
- Authentifizierung
- Nicht-Abstreitbarkeit
- Zugangs- und Zugriffskontrolle
Was bedeutet "Vertraulichkeit" ?
Gewährleistet, dass kein Unbefugter übertragene
oder gespeicherte Daten belauschen bzw. mitlesen
kann.
Was ist mit "Integrität" gemeint?
- Gewährleistet die Unversehrtheit von gespeicherten bzw. übertragenen Daten.
- Maßnahmen zum Schutz der Integrität gewährleisten, dass keine Veränderung der Daten unerkannt bleibt.
Was heißt Authenifizierung / Authentizität ?
– Authentizität des Ursprungs der Daten
• Gewährleistet, dass Daten und Informationen tatsächlich aus der angegebenen Quelle stammen.
– Authentizität des Kommunikationspartners
• Gewährleistet, dass die Identität eines Benutzers oder eines IT-‐Systems korrekt ist.
Was sind die allgemeinen Eigenschaften eines Kryptosystems?
– Ver- und Entschlüsselungsfunktionen sollten bekannt sein => auf Sicherheit prüfbar.
– Sicherheit sollte nur von Schlüsseln abhängen (keine Security by Obscurity).
Prinzip von Kerckhoffs: Die Sicherheit eines KS darf nicht von der Geheimhaltung des Algorithmus abhängen. Die Sicherheit gründet sich nur auf die Geheimhaltung des Schlüssels.
Was ist ein HASH und wozu dient er?
Ein HASH ist eine Art Prüfsumme um die Integrität eines Datensatzes zu prüfen.
Welche Eigenschaften sollte ein HASH haben?
Einwegeigenschaft - Einfach HASH aus Nachricht zu berechnen, Praktisch unmöglich Nachricht aus HASH zu berechnen.
Kollisionsresistenz - Praktisch unmöglich zu einem gegebenen HASH eine andere Nachricht mit gleichem HASH zu generieren. BZW: zwei Nachrichten zu berechnen, die den gleichen HASH haben.
Was ist nötig um die Integrität von übertragenen Daten sicher zu stellen?
MAC
Wofür steht MAC?
Message Authentication Code
Was ist der Unterschied zwischen MAC und HASH?
Ein MAC ist eine Prüfsumme, in die noch ein (symmetrischer) Schlüssel einfließt. Das heißt, dass nur Besitzer des Schlüssels den MAC generieren und verfizieren können.
Was sind die Anforderungen an Blockchiffren?
Konfusion - Verschleierung des Zusammenhangs zwischen Klartext und Schlüsseltext. (Erschwert die Suche nach Redundanzen und Mustern im verschlüsselten Text)
Diffusion - Verteilung der im Klartext enthaltenen Information über den gesamten Schlüsseltext. (Erschwert die Suche nach Redundanz)
Was ist mit einem SP-Netzwerk gemeint?
SP-Netzwerk: Substitution (bewirkt Konfusion) und Permutation (bewirkt Diffusion) werden nach bestimmtem Schema durchgeführt und der Schlüssel fließt ein. Beispiel: Rijndael-Verschlüsselung.
Wie verhält es sich mit einem MAC und mehr als 2 Kommunikationspartnern?
Die Teilnehmer können nicht feststellen von wem eine bestimmte Nachricht stammt, da alle mit dem gleichen Schlüssel hantieren.
Wie wird eine digitale Signatur erstellt?
Für die digitale Signatur eines Datensatzes wird zuerst deren HASHwert gebildet. Diser Hashwert wird dann mit dem privaten Schlüssel signiert. Überprüft werden kann er dann von jedem mit dem öffentlichen Schlüssel.
Erkläre wie eine hybride Verschlüsselung funktioniert und warum man sie einsetzt.
Hybride Verschlüsselung kombiniert die Vorteile von symmetrischer und asymmetrischer Verschlüsselung: Die Nachricht wird mit einem symmetrischen Schlüssel verschlüsselt. Anschließend wird nur der relativ kurze symmetrische Schlüssel asymetrisch (also mit dem öffentlichen Schlüssel des Empfängers) verschlüsselt und der Nachricht angefügt. Geht schneller als wenn ganze Nachricht asymmetrisch verschlüsselt werden müsste.
Welche Sicherheitsdienste gewährleistet eine digitale Signatur?
Authentifikation
Nicht-Abstreitbarkeit
Ab welcher Schlüssellänge gilt RC-4 als sicher?
128 Bit oder mehr
Wie lauten die 8 Designprinzipien?
Economy of mechanism
Fail-safe defaults
Complete mediation
Open Design
Seperation of privilege
Least privileges
Least common mechanism
Psychological acceptability
Was ist mit "Economy of Mechanism" gemeint?
Das Design soll so einfach und klein wie möglich gehalten werden. So werden Fehlerquellen vermieden.
Was ist mit "Fail-Safe defauls" gemeint?
Zugangsrechte sollten eher auf Erlaubnis basieren als auf Ausschluss. Sprich: Wenn jemand keinen Zugang bekommt ist das im Notfall besser als wenn jemand nicht ausgeschlossen wird.
Was ist mit "Complete Mediation" gemeint?
Jeder einzelne Zugriff auf jedes einzelne Objekt muss auf Erlaubnis geprüft werden.
Was ist mit "Open Design" gemeint?
Open Design bedeutet, dass das Design, also die Funktionsweise, eines Sicherheitsmechnismus nicht darauf beruhen darf, dass sie geheim ist. Erst wenn der Sicherheitsmechanismus auch sicher ist, wenn bekannt ist wie er funktioniert hat man ausreichende Sicherheit (die außerdem noch von jedermann überprüft werden kann).
Was ist mit "Seperation of Priviledge" gemeint?
Wenn möglich sollte ein Sicherheitsmechanismus nicht nur von einem Schlüssel abhängen sondern von mehreren (Schlüsseln/Parametern). In der Praxis bedeutet das z.B. möglichst wenige Nutzerkonten mit Administrationsrechten einzurichten - diese sind für Eingreifer am attraktivsten.
Was ist mit "Least Priviledge" gemeint?
"Least Priviledge" bedeutet, dass jeder Nutzer eines System nur genau so viele Rechte haben sollte, wie er unbedingt benötigt um seine Arbeit zu erledigen.
Was ist mit "Least common mechanism" gemeint?
"Least common mechanism" bedeutet, dass möglichst wenig Mechanismen, sprich Quellcode und Variablen, für die Arbeit aller Benutzer nötig sein sollte eingesetzt werden sollten. In der Praxis bedeutet dies möglichst wenig privilegierten Code von Libraries einzusetzen und die gemeinsamen Ressourcen auf einem Minimum zu halten.
Was bedeutet "Psychological Acceptability"?
Das Benutzerinterface muss so einfach und angenehm gestaltet sein, dass es regelmäßig und korrekt eingesetzt wird.
Wie heißen die zwei zusätzlichen Designprinzipien und was ist ihre Bedeutung?
Work Factor - Die Sicherheitsmaßnahmen müssen so aufwendig sein, dass der Aufwand für einen Angreifer sie zu knacken größer ist als der Wert der Information oder des Systems für ihn.
Compromise Recording - Wenn möglich sollte ein Logging eingebaut werden, das Angriffe, bzw. einen Bruch des System erkennen und nachvollziehen lässt, bzw. im besten Fall sogar Alarm auslöst.
Was sind "Metacharacters"?
Metacharacters sind Zeichen, die von Programmen nichts als Daten interpretiert werden.
Welche Vorsichtsmaßnahmen können getroffen werden um sich vor "OS Injection" zu schützen?
- Library Aufrufe benutzen (im Gegensatz zu externen Prozessen)
- Whitelisting von erlaubten Aufrufen (Annahme, dass alle Aufrufe, die nicht auf der Whitelist stehen, schädlich sind)
- Alle anderen Aufrufe ablehnen oder in etwas erlaubtes transformieren.
- Dateizugriffsrechte vergeben!
Welche drei Arten Cross Site Scripting gibt es und wie funktionieren sie?
- DOM-Based XSS: Der Server injiziert das Script in die Webseite während er ein eigenes Script über die Benutzereingaben laufen lässt und diese abspeichert.
- Reflected XSS: Das Opfer gibt (auf Anstoß des Angreifers) ein Script per HTTP auf dem Server ein. (Wird oft über die Adresszeile / Link gemacht)
- Stored XSS: Die Webanwendung speichert den gefährlichen Code an einem ihr vertrauenswürdig erscheinenden Ort, z.B. Log-Dateien, Datenbank, Forum - bei späterem Aufruf des Orts durch Nutzer (oder Administratoren) wird das angreifende Script ausgeführt.
Wie lässt sich Cross Site Scripting abwehren?
Durch den Einsatz von Sicherheits-Encodierungs-Libraries, die die Nutzereingaben auf XSS prüfen und die Eingabe immer als Daten und nie als ausführbaren Code interpretieren.
Wie funktionieren SQL Injections?
Nutzereingaben werden als SQL Code interpretiert und ausgeführt.
Welche Maßnahmen können vor SQL Injections schützen?
1. Input Validation: Die Nutzereingaben sollten nur übernommen werden, wenn sie einem festgelegten Schema/Zeichensatz entsprechen (schwierig umzusetzen)
2. Escaping / Prepared Statements: Alle Nutzereingaben sollten als Daten und nie als ausführbarer Code interpretiert werden (mit speziellen Libraries)
3. Nutzerrechte einschränken: Datenbankzugriffe nur authentifizierten Usern erlauben.
4. Fehlermeldungen ... sollten für Außenstehende nie detailierte Fehlerbeschreibungen / Debugging-Informationen enthalten.
Was ist der Unterschied zwischen Stromchiffre und Blockchiffre?
Die Stromchiffre verschlüsselt den Klartext Zeichen für Zeichen per XOR mit (Pseudo)zufallsschlüsselstrom. Bei der Blockchiffre werden immer alle Zeichen eines Klartextblocks fester länger "gleichzeitig" verschlüsselt.
Außerdem wird bei der Stromchiffre bei der Entschlüsselung keine explizite Entschlüsselungsfunktion benötigt (da XOR, selbstinvers).
Zertifikatausstellung
1. Registrierungsinstanz - prüft Identität.
2. Zertifizierungsinstanz (CA) - erstellt das Zertifikat (Identität und öffentlicher Schlüssel werden von der CA signiert), legt es auch bei sich in den Verzeichnisdienst.
Was gibt es für Vertrauensmodelle in der PKI?
– Einzelne CA
– Oligarchie von gleichberechtigten CAs
– Oligarchie von CAs mit Delegierung
– Anarchie
Was steht alles in einem Zertifikat?
Version
Seriennummer
Algorithmus der Signatur
Name des Ausstellers
Gültigkeit
Name des Antragstellers
Öffentlicher Schlüssel des Antragstellers
Digitale Signatur
Sperrliste
Welche Gültigkeitsmodelle für Zerfikatsvalidierung gibt es und wie funktionieren sie?
Kettenmodell: Jedes jeweils übergeordnete Zertifikat muss nur zum Zeitpunkt der Ausstellung des darunterliegenden Zertifkats gültig gewesen sein.
Schalenmodell: Jedes der übergeordneten Zertifikate muss zum Zeitpunkt der Validierung immer noch gültig sein.
Aus welchen Gründen kann ein Zertifikat ungültig werden und wie wird damit umgegangen?
– Namensänderung, Adressänderung
– Ausscheiden aus Unternehmen
– Verlust des Schlüssels
– Kompromimerung des Schlüssels
Nicht mehr gültige Zertifikate werden in einer Sperrliste vermerkt.