Eine Sammlung von Interviewfragen für Rollen in der Informationssicherheit
Inhaltsverzeichnis
Anwendungssicherheit
-
Wenn Sie Daten während der Übertragung sowohl verschlüsseln als auch komprimieren müssten, was würden Sie zuerst tun und warum?
- Komprimierung versucht, Muster in Daten zu nutzen, um deren Größe zu reduzieren.
- Verschlüsselung zielt darauf ab, Daten zu randomisieren, damit sie ohne geheimen Schlüssel nicht interpretierbar sind.
- Wenn Sie zuerst verschlüsseln und dann komprimieren, ist Ihre Komprimierung nutzlos. Komprimierung funktioniert nicht mit zufälligen Daten.
- Wenn Sie zuerst komprimieren und dann verschlüsseln, kann ein Angreifer Muster in der Nachrichtenlänge (Komprimierungsverhältnis) finden, um etwas über die Daten zu erfahren und die Verschlüsselung möglicherweise zu vereiteln (wie CRIME)
- Ressourcen:
-
Was könnten Angreifer mit einer HTTP-Header-Injection-Schwachstelle anrichten?
- Wagenrücklauf und Zeilenvorschub (oder %0D & %0A) sind Mittel zum Zweck, die es Angreifern ermöglichen, HTTP-Header zu kontrollieren
- Angreifer könnten XSS über den Referer-Header injizieren
- Angreifer könnten Cookies auf einen dem Angreifer bekannten Wert setzen (Session Fixation)
- Angreifer könnten auf einen bösartigen Server umleiten
-
Beschreiben Sie das letzte Programm oder Skript, das Sie geschrieben haben. Welches Problem hat es gelöst?
- Es wird lediglich geprüft, ob der Kandidat grundlegende Programmierkonzepte versteht und zumindest einfache Programme schreiben kann
-
Wie würden Sie ein sicheres Anmeldefeld auf einer stark frequentierten Website implementieren, bei der die Leistung eine Rolle spielt?
-
Welche verschiedenen Möglichkeiten gibt es, um Brute-Forcing entgegenzuwirken?
- Kontosperrungen/Timeouts
- API-Ratenbegrenzung
- IP-Einschränkungen
- Fail2ban
- ...usw.
-
Was ist Cross-Site Request Forgery? Und wie kann man sich dagegen verteidigen?
- Wenn ein Angreifer den Browser eines Opfers dazu bringt, Anfragen mit den Anmeldedaten des Opfers zu stellen
- Beispiel: Wenn ein Image-Tag (``) auf eine URL mit einer zugehörigen Aktion verweist, z. B. https://foo.com/logout
- Die Verteidigung umfasst unter anderem:
- Origin-Header und Referer-Header prüfen
- CSRF-Tokens oder Nonces prüfen
-
Was ist Cross-Site Scripting? Welche verschiedenen Typen von XSS gibt es? Wie kann man sich gegen XSS verteidigen?
- XSS liegt vor, wenn Angreifer den Browser eines Opfers dazu bringen, Code (normalerweise JavaScript) in dessen Browser auszuführen
- Traditionell wurden die Typen in Stored- und Reflected-XSS-Angriffe unterteilt.
- Stored XSS ist Code, den ein Angreifer in einer Datenbank speichern konnte und der abgerufen und den Opfern präsentiert wird (z. B. Forum)
- Reflected XSS hat in der Regel die Form einer bösartig erstellten URL, die den schädlichen Code enthält. Wenn der Benutzer auf den Link klickt, wird der Code in seinem Browser ausgeführt
- In letzter Zeit gab es Diskussionen über DOM-basiertes XSS, das auftritt, wenn Angreifer DOM-Elemente kontrollieren können und so XSS erreichen, ohne Anfragen an den Server zu senden
- XSS-Kategorien überlappen sich häufig. Daher ist es viel besser, XSS in Begriffen wie Server Stored XSS, Server Reflected XSS, Client Stored XSS (z. B. gespeichertes DOM-basiertes XSS) oder Client Reflected XSS (z. B. reflektiertes DOM-basiertes XSS) zu beschreiben
- Die Verteidigung umfasst:
- Ausgabekodierung (wichtiger)
- Eingabevalidierung (weniger wichtig)
-
Wie handhabt HTTP den Zustand?
- HTTP ist zustandslos
- Der Zustand wird in Cookies gespeichert
Architekt
- Haben Sie Sicherheitsmaßnahmen entworfen, die sich über überlappende Informationsdomänen erstrecken?
- Können Sie mir ein paar Beispiele für Anforderungen an die Sicherheitsarchitektur nennen?
- Welche besonderen Sicherheitsherausforderungen stellt eine serviceorientierte Architektur (SOA) dar?
- Haben Sie eine Sicherheitslösung entworfen, die SaaS-Komponenten umfasste? Mit welchen Herausforderungen waren Sie konfrontiert?
- Haben Sie an einem Projekt gearbeitet, bei dem die Beteiligten beschlossen, identifizierte Sicherheitsrisiken zu akzeptieren, die Ihnen Sorgen bereitet haben? Wie sind Sie mit der Situation umgegangen?
- Wie gehen Sie mit Anforderungen verschiedener Beteiligter um, die widersprüchliche Anforderungen haben?
- Wie stellen Sie sicher, dass Lösungsarchitekten sichere Lösungen entwickeln?
- Wie stellen Sie sicher, dass eine Lösung angesichts sich weiterentwickelnder Bedrohungen widerstandsfähig bleibt?
- Was ist Ihrer Meinung nach derzeit die wichtigste Technologie? Wie werden wir sie absichern?
Blue Team
Verschlüsselung
-
Was ist der Unterschied zwischen Kodierung, Verschlüsselung und Hashing?
- Kodierung gewährleistet die Integrität der Nachricht. Sie ist leicht umkehrbar. Beispiel: base64
- Verschlüsselung gewährleistet die Vertraulichkeit der Nachricht. Sie ist nur mit den entsprechenden Entschlüsselungsschlüsseln umkehrbar. Beispiel: AES256
- Hashing ist eine Einwegfunktion. Sie kann nicht umgekehrt werden. Die Ausgabe hat eine feste Länge und ist in der Regel kleiner als die Eingabe.
-
Verwendet TLS symmetrische oder asymmetrische Verschlüsselung?
- Beides.
- Der anfängliche Austausch erfolgt mit asymmetrischer Verschlüsselung, aber die Verschlüsselung der Massendaten erfolgt symmetrisch. Siehe nächste Frage für weitere Informationen.
- Ressourcen:
-
Beschreiben Sie den Prozess, wie eine TLS-Sitzung aufgebaut wird, wenn jemand eine sichere Website besucht.