APSI H22

APSI Prep FHNW

APSI Prep FHNW


K. Z.
Diese Lernkarten decken fortgeschrittene Themen der IT-Sicherheit und Verschlüsselungstechnologien ab, die für Universitätsstudenten relevant sind. Sie behandeln Themen wie Authentifizierung, Verschlüsselung, Kryptoagilität, und Sicherheitsprotokolle, mit Fokus auf praktische Anwendungen und Schutzmechanismen. IT-Experten und Sicherheitsfachleute profitieren von diesen Karteikarten, um ihr Wissen über moderne Sicherheitsstrategien und -techniken zu vertiefen und zu aktualisieren.
Karten
103
Lernende
2
Sprache
Deutsch
Kategorie
Technik
Stufe
Universität
Erstellt / Aktualisiert
05.11.2022 / 29.01.2025

Lernkarten

Von Welchen Orten kann ein Angreifer Brute Forcen?

Wenn nach Ort des Angreifers aufgeschlüsselt wird, dann ergibt sich folgende Liste:
• Lokal
Dieser Angriff kann nur stattfinden, wenn Passworthashes gestohlen werden konnten oder ein
direkter Zugriff darauf besteht
• Von einem Host via Netzwerk
Hierbei wird traditionell ein Client nachgebaut, der Systematisch Anfragen macht. Natürlich erfolgt
dies parallel.
• Von einem Botnet via Netzwerk
Hierbei werden auch CLients nachgebildet. Reputationsbasierte Systeme kommen hier schnell an
Ihre Grenzen. Botnetze Umfassen typischerweise ein paar tausend bis Zehntausend hosts. Grosse
Botnetze bringen es aber auf mehrere Millionen Hosts (z.B. ZeuS (13Mio) oder Mirai (0.5Mio))

Sinn der Authentifizeirung

Eine Transportverschlüsselung ohne Authentifizierung ist nutzlos, weil es nichts nutzt, wenn
Sie eine perfekte Verschlüsselung aushandeln und dann nicht prüft, mit wem man
Informationen austauscht.
Formen der Authentifizierung:
▸ Das Passwort wird übermittelt
▸ Bei der Basic-Authentifizierung
▸ Bei der Formbasierten-Authentifizierung
▸ Passworte werden nicht übermittelt sondern im Stile einer Challenge mit zugehöriger
Response geprüft.
▸ Bei der Digest-Authentifizierung
▸ Die Authentifizierung wird gegenseitig gemacht mit Hilfe von nicht transferierbarer
Tokens.
▸ Bei der Zertifikatsbasierten-Authentifizierung

Beispiele für Frameworks

▸Captcha Frameworks (reCaptcha, hCaptcha, MTCaptcha, WPForms Custom Captcha,
    BotDetect Captcha, Sucuri Captcha)
▸ Authentifizierungs-Frameworks (Shiboleth, Keycloak, Apache Sling)
▸ CSRF/CORS-Protection-Frameworks (z.B. Spring)

Federation

Authentifizierungen, die aus mehreren, unabhängigen Quellen die
Authentifizierungs-Merkmale beziehen, nennt man “federiert”.

Realm

Eine einzelne Authentifizierungsquelle (z.B. alle Benutzername/Passwort-Tupel eines
LDAP-Servers) bezeichnet man typischerweise als “Realm”.

Authentifizierungs-Token

Eine Information, die es erlaubt einen Benutzer unabhängig von der
Authentifizierungs-Quelle anzumelden, nennt man ein “Authentifizierungs-Token”.

Authentifizierungs-Quelle

Eine Datenstruktur oder ein Service, der es erlaubt Benutzer zweifelsfrei zu identifizieren
nennt man eine Authentifizierungs-Quelle (manchmal auch Identitäts-Provider).

Authorisierungs-Quelle

Eine Datenstruktur oder ein Service, der es erlaubt identifizierten Benutzern Rechte
zuzuweisen oder zu entziehen wird als Authorisierungs-Quelle bezeichnet.

Typische Quellen für Authentifizierungen

▸ Hart codierte Logins (NEIN!)
▸ Lokale Files
▸ SQL-Datenbanken
▸ LDAP-Server (z.B. Active Directory, OpenLDAP, OpenDJ)

Authentifizierungs Beispiel Frameworks

Es gibt an vielen Orten Authentifizierungs-Frameworks (im Web, aber auch anderswo):
▸ Microsoft Active Directory Federation Services (AD FS)
▸ Shibboleth
▸ Keycloak
▸ SAML/OIDC/OAuth2 (eigentlich Protokolle)
▸ PAM

Zusammenführen von mehreren Authentisierungs-Quellen

Authentifizierungsquellen können auf verschiedene Weisen zusammengeführt werden:
▸ Konsolidierung in einem einzelnen Authentisierungsraum (Metaverse der
Authentisierungsquellen)
▸ Federation (Delegation) auf Authentisierungsquellen

Authentisierungs-Beispiel -> Ablauf

Das erste Vertrauen -> Arten von CA's

▸ Ein vertrauenswürdiger Schlüssel (sehr starr)
▸ Eine eigene CA
▸ Eine öffentliche CA (nur selten empfehlenswert)

 

Sie brauchen immer einen Vertrauensanker, mit dem Sie ein Vertrauen aufbauen können.
Im extremen Fall ist ein Vertrauensanker ein Schlüssel, dem Sie direkt vertrauen. Dies wird beispielsweise
bei den Linux-Repositories so gelöst. Das Verfahren ist extremm starr.
Viel besser und effizienter ist es aber einen generischen Vertrauensanker im Sinne einer eigenen CA
aufzubauen.
Bitte Beachten Sie: Eine eigene CA hat nichts(!) mit einem eigenen Kryptoalgorithmus zu tun. Es ist nur
der Vertrauensanker für Ihre Applikation. Es hat nichts mit “Weisheit” zu tun, hier anstelle der eigenen
CA oder des eigenen Schlüssels ein öffentlich signierten Schlüssel zu verwenden.
 

Kryptoagilität

Unter Kryptoagilität einer Applikation versteht man die Fähigkeit, die Kryptografischen Algorithmen
auszutauschen (ohne Update natürlich) sollte sich ein Algorithmus als unsicher erweisen.
Bei einer Kryptoagilen-Applikation werden typischerweise für jedes Kryptografische Primitiv (Asymmetrische
Verschlüsselung, symmetrische Verschlüsselung, Hashing, Signatur usw.) eine Alternative zur
Verfügung, die mathematisch auf einem anderen Problem basiert (also beispielsweise RSA und eine Elliptische
Kurve oder eine elliptische Kurve und ein gitterbasierter Algorithmus usw.).
Eine Variation der Schlüssellänge wird nicht als ausreichend für Kryptoagilität betrachtet. Unter Umständen
müssen auch Dinge wie das Padding oder der Cipher-Mode für eine ausreichende Kryptoagilität
berücksichtigt werden.

Suply Chain Attacke

Von einer Supply Chain Attacke spricht man in der Cyber Security, wenn über ein
Update-Kanal oder über eine sonstige Vertrauenswürdige Quelle, Schadsostware (Malware)
eingeschleust wird.

Dependency Hijacking

Von Dependency Hijacking (oder auch Dependency Confusion) spricht man, wenn eine
eigene Abhängigkeit in einem Projekt, durch eine öffentlche Abhängigkeit übernommen wird
bei automatischer Auflösung von Abhängigkeiten.

Arten der Upgrades

Es gibt verschiedene Arten von Upgrades, die unabhängig voneinander und selektiv
eingespielt werden können müssen
▸ Sicherheits-Upgrades
▸ Bugfixes
▸ Feature-Upgrades

Upgrade Mechanismen

Ein ideales Upgrade einer idealen Applikation erfüllt folgende Kriterien:
▸ Verfügbar
Upgrade ist immer möglich (typ. online und offline)
▸ Sicher
Es ist unmöglich dass Informationen oder Programme durch Dritte über den Upgrade
eingeschleust werden können.
▸ Vertraulich
Es ist unmöglich, dass Informationen über den Upgrade-Mechanismus exfiltriert
werden können. (Datenschutz)
▸ Selbstheilend
Fehler in den Upgrades und deren Mechanismen können zuverlässig behoben werden.

Kryptoagilität

Wenn ein Programm oder Protokoll in der Lage ist auf mehrere unterschiedliche Arten von
kryptografischem Schutz aufzubauen, dann spricht man von “Kryptoagilität”.

 

▸ Verschiedene Asymmetrische Verschlüsselungen (z.B.
Zahlenkörper/Kurven/Gitterbasierte-Algorithmen)
▸ Verschiedene Symmetrische Chiffren (Feistel-Chiffren oder “Substitutions und
Permutationsnetzwerke”)
▸ Verschiedene Hashes

Dependency Adoption und Hijacking

Damit der Buildprozess vertrauenswürdig ist, müssen alle Quellen, also auch alle Quellen der
direkten und indirekten Abhängigkeiten kontinuierlich geprüft und überwacht werden.

 

Die zwei primären Gefahren hierbei sind:
▸ Dependency Adoption
▸ Dependency Hijacking (auch Dependency Confusion)

Signatur von Upgrades

Signierte Upgrades können gewährleisten, dass ein Upgrade aus einer Vertrauenswürdigen
Quelle stammt. Da es sich hier um eine sehr überschaubare Anzahl von Quellen handelt, ist
die Verwendung einer reduzierten Trust-Store (oder besser noch: einer eigenen CA für
Upgrades) sehr empfehlenswert

Hashes zur Überwachung von Upgrades

Hashes sind kein Schutz für die Vertrauenswürdigkeit eines Upgrades. Sie gewährleisten nur
die Integrität der Übertragung.

Secured DNS (DNSSEC)

Secured DNS (DNSSEC) kann verwendet werden um DNS-Einträge signiert über unsichere
Netze zu übertragen. Das bedeutet, dass die Root-Einträge mit einem, auf dem Client
hinterlegten, Root-Schlüssel signiert werden. Diese signieren die Schlüssel der
Top-Level-Domäne, welche die Schlüssel der Second-Level-Domäne (und so weiter) signieren,
bis es einen Schlüssel gibt, der den endgültigen Eintrag signiert.
DNSSEC schützt vor DNS-Spoofing-Attacken. Es kann dies aber nur tun, wenn alle
involvierten Teildomänen vertrauenswürdig sind.

Lernen