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)
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
Bei einem HTTP-Verkehrsprotokoll zwischen einem Rechner in Ihrem Netzwerk und einer Drittanbieter-Website (z. B. Google): Wie würden die Quell- und Zielports aussehen?
Der Quellport könnte eine Zahl über Port 1024 sein (auch als ephemerer Port bekannt)
Der Zielport könnte 80 (HTTP) oder 443 (HTTPS) sein
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.
Beschreiben Sie den Prozess, wie eine TLS-Sitzung aufgebaut wird, wenn jemand eine sichere Website besucht.
Der Client sendet eine hello-Nachricht, die kryptografische Informationen auflistet, wie die SSL/TLS-Version und die Präferenzreihenfolge des Clients für Cipher Suites. Die Nachricht enthält außerdem einen zufälligen Byte-String, der für nachfolgende Berechnungen verwendet wird. Der Client kann auch Datenkomprimierungsmethoden in die hello-Nachricht aufnehmen.
Der Server antwortet mit einer hello-Nachricht, die die vom Server gewählte Cipher Suite, das digitale Zertifikat des Servers und einen weiteren zufälligen Byte-String enthält. Wenn der Server eine Client-Zertifikatsauthentifizierung verlangt, sendet der Server auch eine client certificate request an den Client.
Der Client verifiziert das digitale Zertifikat des Servers.
Forensik
Allgemein
Sind Open-Source-Projekte mehr oder weniger sicher als proprietäre Projekte?
Beide Modelle haben Vor- und Nachteile.
Es gibt Beispiele für unsichere Projekte aus beiden Lagern.
Das Open-Source-Modell fördert "viele Augen" auf einem Projekt, aber das führt nicht zwangsläufig zu sichereren Produkten
Wichtig ist nicht Open Source vs. proprietär, sondern die Qualitätskontrolle des Projekts.
Wen bewundern Sie im Bereich Informationssicherheit? Warum?
Woher beziehen Sie Ihre Sicherheitsnachrichten?
Incidence Response
Netzwerke
Red Team
Schwachstellenmanagement
Welche Klassifizierung von Schwachstellen wird am häufigsten ausgenutzt?
Wie oft sollte man scannen?
Was ist der Unterschied zwischen einem externen und einem internen Scan?
Was ist der Unterschied zwischen einem authentifizierten und einem nicht authentifizierten Scan?
Wie könnte ein Scan ein Betriebssystem per Fingerprinting identifizieren?
Was ist ein CVSS-Score?
Wie sollte man Scans aufteilen?
Wie würden Sie verschiedene Organisationen beraten, was sie zuerst patchen sollten?
Was ist eine Schwachstelle?
Sind Sie mit den branchenüblichen Methoden zur Verfolgung von Schwachstellen vertraut?
Was ist CVE und warum ist die von CVE bereitgestellte Standardisierung wichtig?
Wo würden Sie nach weiteren Informationen zu einer Schwachstelle suchen?
Was ist der Unterschied zwischen einem Exploit und einer Schwachstelle?
Wenn es eine Bedrohung, aber keine Schwachstelle gibt, würden Sie sagen, dass dennoch ein Risiko besteht? Was ist, wenn es eine Schwachstelle, aber keine Bedrohung gibt?
Können Sie einige Schwachstellen nennen, von denen Sie kürzlich gehört haben?
Sind Sie mit Tools vertraut, die zum Scannen nach Schwachstellen verwendet werden? Wenn nicht, können Sie welche nennen?
Können Sie Tools nennen, die zum Patchen von Schwachstellen in einem Unternehmen verwendet werden?
Was ist SCCM?
Sind Sie mit Open-Source-Tools vertraut, die häufig zum Ausnutzen von Schwachstellen verwendet werden?
Können Sie Software nennen, die dafür bekannt ist, regelmäßig Schwachstellen aufzuweisen?
Wie oft werden Microsoft-Patches veröffentlicht (kein Notfall?
Der Client sendet einen zufälligen Byte-String, der mit dem öffentlichen Schlüssel des Servers verschlüsselt ist, damit sowohl Client als auch Server den geheimen Schlüssel berechnen können, der für die anschließende Verschlüsselung zwischen Client und Server verwendet wird.
Wenn der Server ein Client-Zertifikat angefordert hat, sendet der Client einen zufälligen Byte-String, der mit dem privaten Schlüssel des Clients verschlüsselt ist, zusammen mit dem digitalen Zertifikat des Clients oder einem "no digital certificate alert". Dieser Alert ist nur eine Warnung, aber einige Implementierungen lassen den Handshake fehlschlagen, wenn die Client-Authentifizierung obligatorisch ist.
Der Server verifiziert das digitale Zertifikat des Clients.
Der Client sendet eine finished-Nachricht, die mit dem berechneten geheimen Schlüssel verschlüsselt ist
Der Server sendet eine finished-Nachricht, die mit dem berechneten geheimen Schlüssel verschlüsselt ist
Für die Dauer der TLS-Sitzung können Server und Client nun Nachrichten austauschen, die mit dem gemeinsamen geheimen Schlüssel symmetrisch verschlüsselt sind
Forward Secrecy ist ein System, das temporäre (ephemere) Sitzungsschlüssel für die eigentliche Verschlüsselung der TLS-Daten verwendet, sodass ein Angreifer selbst dann, wenn der private Schlüssel des Servers kompromittiert würde, diesen nicht verwenden könnte, um aufgezeichnete Daten zu entschlüsseln, die in der Vergangenheit an diesen Server gesendet wurden.