Security and Privacy in Pervasive Computing - Exam.pdf

Security and Privacy in Pervasive Computing - Exam
Security and Privacy in Pervasive Computing - Exam Aufgabe 1) In einem Netzwerk von einem Unternehmen gibt es verschiedene Sicherheitsmechanismen, um die Ziele der Informationssicherheit gemäß der CIA-Triade (Vertraulichkeit, Integrität, Verfügbarkeit) zu gewährleisten. Ein Administrator möchte sicherstellen, dass nur autorisierte Mitarbeiter auf vertrauliche Daten zugreifen dürfen. Gleichzeitig s...

© StudySmarter 2024, all rights reserved.

Security and Privacy in Pervasive Computing - Exam

Aufgabe 1)

In einem Netzwerk von einem Unternehmen gibt es verschiedene Sicherheitsmechanismen, um die Ziele der Informationssicherheit gemäß der CIA-Triade (Vertraulichkeit, Integrität, Verfügbarkeit) zu gewährleisten. Ein Administrator möchte sicherstellen, dass nur autorisierte Mitarbeiter auf vertrauliche Daten zugreifen dürfen. Gleichzeitig soll sichergestellt werden, dass die Daten korrekt und unverändert bleiben und jederzeit verfügbar sind, selbst bei Fehlern oder Angriffen.

a)

Beschreibe eine Sicherheitsmaßnahme für jedes der drei Ziele der CIA-Triade (Vertraulichkeit, Integrität und Verfügbarkeit) im Kontext des Netzwerkes in einem Unternehmen. Erkläre, wie jede Maßnahme realisiert werden könnte.

Lösung:

In einem Unternehmensnetzwerk ist die Umsetzung der CIA-Triade entscheidend für die Informationssicherheit. Hier sind Sicherheitsmaßnahmen für jedes der drei Ziele sowie deren möglichen Realisierungen:

  • Vertraulichkeit: Eine mögliche Maßnahme zur Gewährleistung der Vertraulichkeit ist die Implementierung von Zugriffssteuerungen. Realisierung: Dies kann durch die Verwendung von Zugangskontrolllisten (ACLs) und Rollenbasiertem Zugriffskontrollsystemen (RBAC) erreicht werden. spezifische Berechtigungen werden einzelnen Mitarbeiterrollen zugewiesen, sodass nur autorisierte Personen auf bestimmte Daten zugreifen können. Zusätzlich sollten verschlüsselte Kommunikationskanäle (z. B. HTTPS, VPN) genutzt werden, um Daten auf ihrem Weg durch das Netzwerk zu schützen.
  • Integrität: Um die Datenintegrität sicherzustellen, können Prüfmechanismen eingesetzt werden. Realisierung: Eine verbreitete Methode ist die Verwendung von Hash-Funktionstechniken, die Prüfsummen für Dateien und Nachrichten generieren (z. B. SHA-256). Diese Prüfsummen werden regelmäßig überprüft, um sicherzustellen, dass die Daten nicht manipuliert wurden. Ein weiteres Beispiel könnte die Implementierung einer Versionskontrollsoftware sein, die Änderungen an Dateien überwacht und speichert, sodass jede Änderung nachvollzogen werden kann.
  • Verfügbarkeit: Um sicherzustellen, dass die Daten jederzeit verfügbar sind, kann eine Redundanzstrategie genutzt werden. Realisierung: Dies kann durch die Einrichtung von Backup- und Recovery-Systemen erreicht werden. Regelmäßige Backups sollten auf verschiedenen physischen und/oder Cloud-basierten Speichermedien erstellt werden, um Datenverluste bei Hardwareausfällen oder Angriffen zu vermeiden. Zudem können Lastenausgleichsmechanismen und Überwachungssysteme eingesetzt werden, um die Verfügbarkeit von Netzressourcen und Diensten zu überwachen und Engpässe automatisch auszugleichen.

b)

Angenommen, ein Mitarbeiter versucht unbefugt auf vertrauliche Daten zuzugreifen, indem er sich als ein anderer Benutzer ausgibt. Analysiere die möglichen Schritte, die das Sicherheitsystem des Unternehmens unternimmt, um dies zu verhindern. Berücksichtige dabei Authentifizierungs- und Autorisierungsprozesse.

Lösung:

Ein Versuch eines Mitarbeiters, unbefugt auf vertrauliche Daten zuzugreifen, indem er sich als ein anderer Benutzer ausgibt, kann durch ein robustes Sicherheitsystem verhindert werden. Hier sind die möglichen Schritte, die das Sicherheitssystem des Unternehmens unternehmen kann, um solche Angriffe zu verhindern:

  • Authentifizierung: In dieser Phase wird überprüft, ob der Mitarbeiter wirklich die Person ist, die er vorgibt zu sein. Schritte:
    • Passwort-Management: Das System erfordert starke und regelmäßige Passwortänderungen. Passwörter sollten komplex sein und aus einer Kombination von Buchstaben, Zahlen und Sonderzeichen bestehen.
    • Mehrstufige Authentifizierung (MFA): Neben dem Passwort kann das System eine weitere Authentifizierungsstufe verlangen, wie z.B. einen SMS-Code, einen Authentifikator-App-Code oder biometrische Daten (Fingerabdruck, Gesichtserkennung).
    • Single Sign-On (SSO): SSO stellt sicher, dass Benutzer nur einmal authentifizieren müssen und gleichzeitig der Zugriff auf mehrere Systeme reguliert wird. SSO-Dienstleister implementieren oft zusätzlich Sicherheitsmechanismen, um Identitätsdiebstahl zu verhindern.
  • Autorisierung: Nach der erfolgreichen Authentifizierung wird überprüft, ob der Mitarbeiter berechtigt ist, auf die angeforderten Daten zuzugreifen. Schritte:
    • Rollenbasierte Zugriffssteuerung (RBAC): Das System ordnet Benutzer unterschiedlichen Rollen zu und diese Rollen haben spezifische Berechtigungen. Beispielsweise könnte ein einfacher Mitarbeiter keinen Zugriff auf die HR-Daten haben, während ein HR-Manager vollen Zugriff hat.
    • Richtlinien und Regeln: Zusätzliche Richtlinien und Regeln können implementiert werden, die basierend auf verschiedenen Faktoren entscheiden, ob der Zugriff erlaubt wird. Diese Faktoren könnten Uhrzeit, Gerätetyp, Standort (Geo-Blocking) etc. umfassen.
    • Zugriffsprotokollierung und -überprüfung: Das System protokolliert alle Zugriffsversuche und Überprüfungen. Wenn ungewöhnliche Aktivitäten erkannt werden (z.B. ein Benutzer versucht auf sensible Daten zuzugreifen, auf die er normalerweise keinen Zugriff hat), wird dieser Vorfall sofort zur weiteren Untersuchung gemeldet.

Durch die Anwendung dieser Maßnahmen kann das Sicherheitsystem des Unternehmens effektiv verhindern, dass unbefugte Mitarbeiter auf vertrauliche Daten zugreifen, selbst wenn sie versuchen, sich als andere Benutzer auszugeben.

c)

Ein Unternehmen verwendet eine kombinierte Strategie aus täglichem Backup und RAID (Redundant Array of Independent Disks), um die Verfügbarkeit der Daten zu gewährleisten. Berechne die Wahrscheinlichkeit eines Datenverlustes unter der Annahme, dass das tägliche Backup mit einer Wahrscheinlichkeit von 0.999 korrekt ausgeführt wird und der RAID-Verbund mit einer Wahrscheinlichkeit von 0.995 funktionsfähig ist. Gehe dabei davon aus, dass beide Lösungen unabhängig voneinander ausgeführt werden.

Lösung:

Um die Wahrscheinlichkeit eines Datenverlustes zu berechnen, wenn ein Unternehmen sowohl tägliches Backup als auch RAID verwendet, müssen wir die Wahrscheinlichkeiten beider Lösungen kombinieren.

Gegeben:

  • Die Wahrscheinlichkeit, dass das tägliche Backup korrekt ausgeführt wird: 0.999
  • Die Wahrscheinlichkeit, dass der RAID-Verbund funktionsfähig ist: 0.995

Da beide Lösungen unabhängig voneinander ausgeführt werden, bedeutet ein Datenverlust, dass sowohl das tägliche Backup als auch der RAID-Verbund gleichzeitig fehlschlagen müssen.

Zunächst berechnen wir die Wahrscheinlichkeit, dass jede Lösung fehlschlägt:

  • Wahrscheinlichkeit, dass das tägliche Backup fehlschlägt: 1 - 0.999 = 0.001
  • Wahrscheinlichkeit, dass der RAID-Verbund fehlschlägt: 1 - 0.995 = 0.005
Da diese Ereignisse unabhängig sind, berechnen wir die Wahrscheinlichkeit, dass beide Ereignisse gleichzeitig eintreten:

Daher ist die Wahrscheinlichkeit eines Datenverlustes:

  • Wahrscheinlichkeit eines Datenverlustes = 0.001 * 0.005 = 0.000005

Die berechnete Wahrscheinlichkeit eines Datenverlustes beträgt also 0.000005 oder 0.0005%. Dies zeigt, dass durch die kombinierte Nutzung von täglichem Backup und RAID die Wahrscheinlichkeit eines Datenverlustes extrem gering ist.

Aufgabe 2)

Symmetrische und asymmetrische KryptographieSymmetrische Kryptographie verwendet denselben Schlüssel für Verschlüsselung und Entschlüsselung, während asymmetrische Kryptographie ein Schlüsselpaar verwendet (öffentlicher Schlüssel für Verschlüsselung, privater Schlüssel für Entschlüsselung).

  • Symmetrische Kryptographie ist schneller und effizienter.
  • Es besteht das Problem des sicheren Schlüsselaustausches, da der geheime Schlüssel sicher übertragen werden muss.
  • Asymmetrische Kryptographie ermöglicht sichere Kommunikation ohne vorherigen Schlüsselaustausch.
  • Hybride Systeme kombinieren beide Methoden, indem z.B. der symmetrische Schlüssel asymmetrisch übertragen wird.
  • Bekannte Algorithmen: AES und DES für symmetrische Kryptographie, RSA und ECC für asymmetrische Kryptographie.
  • Mathematische Notation: Verschlüsselung: E_{K}(M) = C, Entschlüsselung: D_{K}(C) = M

a)

  • Erkläre die Vorteile und Nachteile der Verwendung von symmetrischer im Vergleich zur asymmetrischen Kryptographie in Bezug auf Geschwindigkeit und Sicherheit. Ziehe dabei Beispiele aus existierenden Algorithmen wie AES und RSA heran.

Lösung:

Vorteile und Nachteile der Verwendung von symmetrischer im Vergleich zur asymmetrischen Kryptographie in Bezug auf Geschwindigkeit und SicherheitSymmetrische Kryptographie:

  • Geschwindigkeit: Symmetrische Kryptographie ist in der Regel schneller und effizienter als asymmetrische Kryptographie. Dies liegt daran, dass Algorithmen wie AES (Advanced Encryption Standard) weniger Rechenleistung benötigen, was insbesondere bei großen Datenmengen einen erheblichen Vorteil darstellt.
  • Sicherheit: Ein Nachteil der symmetrischen Kryptographie besteht darin, dass der geheime Schlüssel sicher ausgetauscht werden muss. Dies kann ein Sicherheitsrisiko darstellen, denn wenn der Schlüssel während des Austauschs abgefangen wird, kann ein Angreifer sowohl die verschlüsselten als auch die unverschlüsselten Daten einsehen. Ein Beispiel ist der DES (Data Encryption Standard), der früher weit verbreitet war, jedoch aufgrund seiner kürzeren Schlüssellänge jetzt als unsicher gilt.
Asymmetrische Kryptographie:
  • Geschwindigkeit: Asymmetrische Kryptographie ist langsamer und weniger effizient als symmetrische Kryptographie. Algorithmen wie RSA (Rivest-Shamir-Adleman) oder ECC (Elliptic Curve Cryptography) benötigen komplexere mathematische Berechnungen, was zu einer höheren Rechenlast führt.
  • Sicherheit: Ein großer Vorteil der asymmetrischen Kryptographie ist, dass sie eine sichere Kommunikation ohne vorherigen Schlüsselaustausch ermöglicht. Ein öffentlicher Schlüssel kann frei verteilt werden, während der zugehörige private Schlüssel sicher aufbewahrt bleibt. Dadurch wird das Problem des sicheren Schlüsselaustauschs vermieden. Dies macht asymmetrische Kryptographie besonders nützlich für Anwendungen wie digitale Signaturen und Public-Key-Infrastrukturen (PKI).
Hybride Systeme:
  • In der Praxis werden oft hybride Systeme verwendet, die die Vorteile beider Methoden kombinieren. Zum Beispiel könnte ein symmetrischer Schlüssel mithilfe eines asymmetrischen Algorithmus wie RSA sicher übertragen werden. Danach kann dieser symmetrische Schlüssel zur schnellen und effizienten Verschlüsselung der eigentlichen Daten mit einem Algorithmus wie AES verwendet werden.
    • b)

      • Beschreibe das Prinzip eines hybriden Kryptosystems. Wie werden in einem solchen System symmetrische und asymmetrische Schlüssel verwendet? Gehe dabei konkret auf den Schlüsselaustauschprozess ein.

      Lösung:

      Prinzip eines hybriden KryptosystemsEin hybrides Kryptosystem kombiniert die Vorteile sowohl der symmetrischen als auch der asymmetrischen Kryptographie. In einem solchen System werden symmetrische Schlüssel für die eigentliche Datenverschlüsselung verwendet, während asymmetrische Schlüssel für den sicheren Austausch dieser symmetrischen Schlüssel eingesetzt werden.Verwendung von symmetrischen und asymmetrischen Schlüsseln:

      • Symmetrische Schlüssel: Diese Schlüssel werden für die Verschlüsselung und Entschlüsselung der Daten verwendet. Sie sind schneller und effizienter, daher eignen sie sich gut für die Verschlüsselung großer Datenmengen.
      • Asymmetrische Schlüssel: Diese Schlüsselpaare bestehen aus einem öffentlichen und einem privaten Schlüssel. Sie werden eingesetzt, um den symmetrischen Schlüssel sicher zu übertragen. Der öffentliche Schlüssel des Empfängers wird verwendet, um den symmetrischen Schlüssel zu verschlüsseln, während der private Schlüssel des Empfängers zur Entschlüsselung verwendet wird.
      Schlüsselaustauschprozess in einem hybriden Kryptosystem:
  1. Generierung des symmetrischen Schlüssels: Der Absender generiert einen zufälligen symmetrischen Schlüssel (z.B. für AES), der zur Verschlüsselung der eigentlichen Nachricht verwendet wird.
  2. Verschlüsselung der Daten: Der Absender verschlüsselt die Nachricht mit dem symmetrischen Schlüssel.
  3. Verschlüsselung des symmetrischen Schlüssels: Der symmetrische Schlüssel wird mit dem öffentlichen Schlüssel des Empfängers verschlüsselt. Dadurch wird sichergestellt, dass nur der Empfänger, der im Besitz des entsprechenden privaten Schlüssels ist, den symmetrischen Schlüssel entschlüsseln und somit die Nachricht lesen kann.
  4. Übertragung: Der Absender sendet sowohl die verschlüsselte Nachricht als auch den verschlüsselten symmetrischen Schlüssel an den Empfänger.
  5. Entschlüsselung des symmetrischen Schlüssels: Der Empfänger verwendet seinen privaten Schlüssel, um den verschlüsselten symmetrischen Schlüssel zu entschlüsseln.
  6. Entschlüsselung der Nachricht: Mit dem entschlüsselten symmetrischen Schlüssel kann der Empfänger nun die ursprüngliche Nachricht entschlüsseln.
Vorteile eines hybriden Kryptosystems:
  • Effizienz: Die schnelle und effiziente symmetrische Verschlüsselung wird genutzt, um die Daten zu schützen.
  • Sicherheit: Die sichere asymmetrische Verschlüsselung wird für den Schlüsselaustausch verwendet, was das Risiko verringert, dass der symmetrische Schlüssel während der Übertragung abgefangen wird.

c)

  • Gegeben sei eine Ausgangsmeldung M und ein symmetrischer Schlüssel K. Zeige mathematisch, wie die Meldung verschlüsselt (E_{K}(M)) und entschlüsselt (D_{K}(C)) wird, und verdeutliche dies anhand eines Beispiels mit einer fiktiven Meldung und Schlüssel unter Verwendung des AES-Algorithmus.

Lösung:

Mathematische Darstellung der Verschlüsselung und EntschlüsselungIm Allgemeinen kann die Verschlüsselung und Entschlüsselung mittels symmetrischer Kryptographie wie folgt dargestellt werden:

  • Verschlüsselung: \(E_{K}(M) = C\)
  • Entschlüsselung: \(D_{K}(C) = M\)

Hierbei ist:

  • \(M\) die Ausgangsmeldung (Originalnachricht)
  • \(K\) der symmetrische Schlüssel
  • \(C\) die chiffrierte Nachricht (Ciphertext)

Unter Verwendung des AES-Algorithmus (Advanced Encryption Standard) kann dieser Prozess veranschaulicht werden. Lass uns dies anhand eines fiktiven Beispiels verdeutlichen:

Beispiel:

Angenommen, die Ausgangsmeldung \(M\) ist \

Aufgabe 3)

Gegeben ist eine Übersicht über Sicherheitsarchitekturen für mobile Anwendungen. Diese Sicherheitsarchitekturen umfassen mehrere Schichten wie Hardware, Betriebssystem, Netzwerk und Anwendungs-Ebene. Sie nutzen Methoden wie Verschlüsselung, Authentifizierung, Sandboxing und Secure Boot, und basieren auf Frameworks wie dem OWASP Mobile Security Project und der Android Security Architecture. Zu den Implementationsstrategien gehören Sicherheitsrichtlinien, regelmäßige Updates und Patches, sowie Tests wie Penetrationstests und Codeanalysen.

a)

  • Erkläre den Begriff 'Sandboxing' und diskutiere seine Bedeutung in der Sicherheitsarchitektur für mobile Anwendungen. Beschreibe, wie Sandboxing in mobilen Betriebssystemen wie Android eingesetzt wird.

Lösung:

  • Erklärung des Begriffs 'Sandboxing': Sandboxen ist eine Sicherheitsmaßnahme in der Softwareentwicklung und -ausführung, die es ermöglicht, Anwendungen in einer isolierten Umgebung auszuführen. Diese Umgebung, die als 'Sandbox' bezeichnet wird, begrenzt den Zugriff der Anwendung auf bestimmte Ressourcen des Systems und verhindert, dass fehlerhafte oder bösartige Software das gesamte System beschädigt oder Daten kompromittiert.
  • Bedeutung in der Sicherheitsarchitektur für mobile Anwendungen: Sandboxing spielt eine entscheidende Rolle in der Sicherheitsarchitektur für mobile Anwendungen durch:
    • Schutz vor bösartigen Anwendungen: Es verhindert, dass bösartige Apps auf sensible System- oder Nutzerdaten zugreifen können.
    • Daten-Isolation: Jede Anwendung arbeitet in ihrem eigenen isolierten Speicherbereich, wodurch die Gefahr von Datenlecks und unerlaubtem Datenaustausch zwischen Anwendungen minimiert wird.
    • Sicherheitsrisiko-Reduzierung: Selbst wenn eine Anwendung kompromittiert wird, kann der Schaden durch Sandboxing begrenzt werden, da die App keine Zugriffsrechte auf andere Teile des Systems hat.
  • Sandboxing in mobilen Betriebssystemen wie Android: Android nutzt Sandboxing durch die folgenden Mechanismen:
    • Jede App läuft in ihrem eigenen Linux-Prozess und hat eine eigene User-ID, was bedeutet, dass sie nur auf ihre eigenen Daten und Ressourcen zugreifen kann.
    • Zugriffsrechte werden durch das Manifest der App definiert, wodurch der Entwickler die spezifischen Ressourcen angibt, auf die die App zugreifen darf. Diese Berechtigungen müssen vom Nutzer akzeptiert werden.
    • Die Android Runtime (ART) stellt sicher, dass der zwischen Anwendungscode und System einheitliche und sichere Interaktionen erfolgen.
    • SeLinux (Security-Enhanced Linux) verstärkt die Implementierung zusätzlicher Sicherheitsrichtlinien, die den Umfang der Operationen, die eine App ausführen kann, weiter einschränken.

b)

  • Verschlüsselung ist eine Schlüsseltechnologie in der Sicherheit mobiler Anwendungen. Wenn eine mobile Anwendung eine Datei der Größe 500MB mit einem symmetrischen Verschlüsselungsalgorithmus verschlüsselt, der eine Schlüssellänge von 256 Bit verwendet und eine Enryptionsrate von 50 MB/s hat, wie lange dauert der Verschlüsselungsprozess? Zeige Deine Berechnungsschritte.

Lösung:

  • Berechnung der Verschlüsselungsdauer:Um zu bestimmen, wie lange der Verschlüsselungsprozess für eine Datei von 500 MB dauert, müssen wir die Verschlüsselungsrate und die Dateigröße berücksichtigen. Hier sind die Schritte im Detail beschrieben:
    • Konvertierung der Dateigröße und Verschlüsselungsrate in die richtigen Einheiten (wenn nötig).
    • Anwendung der relevanten Formel zur Berechnung der Verschlüsselungsdauer.
  • Schritte:1. Die Dateigröße beträgt 500 MB.2. Die Verschlüsselungsrate beträgt 50 MB/s.3. Die Formeln für die Berechnung der Verschlüsselungsdauer lautet: \[ \text{Verschlüsselungsdauer} = \frac{{\text{Dateigröße (MB)}}}{{\text{Verschlüsselungsrate (MB/s)}}} \]4. Einsetzen der Werte: \[ \text{Verschlüsselungsdauer} = \frac{{500 \text{ MB}}}{{50 \text{ MB/s}}} = 10 \text{ Sekunden} \]
  • Ergebnis:Der Verschlüsselungsprozess dauert 10 Sekunden.
  • c)

    • Vergleiche die Android Security Architecture mit einer anderen mobilen Sicherheitsarchitektur nach Wahl. Welche Schwächen und Stärken lassen sich identifizieren?

    Lösung:

    • Vergleich der Android Security Architecture mit der iOS Security Architecture:
    • Stärken und Schwächen der Android Security Architecture:
      • Stärken:
        • Offenes Ökosystem: Android ist Open Source, was bedeutet, dass Entwickler weltweit an der Verbesserung der Sicherheit arbeiten können.
        • Sandboxing: Jede App läuft in ihrem eigenen Prozess und hat nur eingeschränkte Zugriffsrechte, was die Sicherheit erhöht.
        • Flexible Berechtigungen: Nutzer können individuell entscheiden, auf welche Ressourcen eine App zugreifen darf.
      • Schwächen:
        • Fragmentierung: Viele verschiedene Android-Versionen und Geräte führen zu uneinheitlichen Sicherheitsstandards.
        • App-Stores von Drittanbietern: Das offene Ökosystem ermöglicht es, Apps außerhalb des Google Play Store herunterzuladen, was die Gefahr schädlicher Software erhöht.
        • Langsame Updates: Nicht alle Hersteller liefern Sicherheitsupdates zeitnah aus, was zu potenziellen Sicherheitslücken führen kann.
    • Stärken und Schwächen der iOS Security Architecture:
      • Stärken:
        • Geschlossenes Ökosystem: Apple kontrolliert strikt, welche Apps in den App Store gelangen, was die Wahrscheinlichkeit schädlicher Software reduziert.
        • Regelmäßige Updates: Apple liefert regelmäßig Updates für alle unterstützten Geräte aus, was dafür sorgt, dass Sicherheitslücken zügig geschlossen werden.
        • Sicherheitsfunktionen: iOS bietet starke integrierte Sicherheitsfunktionen wie Secure Enclave und Face ID.
      • Schwächen:
        • Weniger Flexibilität: Die restriktive App-Verteilung von Apple kann die Flexibilität für Entwickler und Nutzer einschränken.
        • Abhängigkeit von Apple: Nutzer sind auf Apples Sicherheitslösungen angewiesen und haben wenig Einfluss auf Anpassungen.
    • Zusammenfassung des Vergleichs: Android und iOS bieten unterschiedliche Ansätze zur Sicherheit: Android punktet mit seiner Flexibilität und Offenheit, hat jedoch Probleme mit Fragmentierung und inkonsistenten Sicherheitsstandards. iOS ist durch sein geschlossenes Ökosystem und regelmäßige Updates sichererer, bietet aber weniger Flexibilität für Entwickler und Nutzer.

    d)

    • Erkläre den Unterschied zwischen statischer und dynamischer Codeanalyse. Wie tragen beide Methoden zur Sicherheit in mobilen Anwendungen bei? Nenne jeweils konkrete Beispiele, wie sie angewendet werden können.

    Lösung:

    • Unterschied zwischen statischer und dynamischer Codeanalyse:
    • Statische Codeanalyse:Die statische Codeanalyse prüft Quellcode, Bytecode oder Binärcode ohne den Code tatsächlich auszuführen. Diese Methode wird verwendet, um Fehler, Schwachstellen oder Verstöße gegen Codierungsrichtlinien frühzeitig zu erkennen.
      • Beitrag zur Sicherheit:Die statische Analyse identifiziert potenzielle Sicherheitslücken wie SQL-Injection, Cross-Site Scripting (XSS), oder unsichere Speicherzugriffe, bevor die Anwendung ausgeführt wird. Somit können Entwickler Probleme frühzeitig beheben, was die Sicherheit verbessert.
      • Konkretes Beispiel:Verwendung eines statischen Analyse-Tools wie SonarQube zur Untersuchung des Quellcodes einer mobilen App auf Schwachstellen und Stilfragen. Das Tool kann automatisch Reports erstellen und die gefundenen Probleme aufzeigen.
    • Dynamische Codeanalyse:Die dynamische Codeanalyse prüft den Code während der Laufzeit der Anwendung. Diese Methode hilft dabei, Schwachstellen zu identifizieren, die nur während der tatsächlichen Ausführung der Anwendung auftreten.
      • Beitrag zur Sicherheit:Die dynamische Analyse erkennt Laufzeitprobleme wie Speicherlecks, Race Conditions oder unerwartetes Verhalten. Sie trägt dazu bei, die Stabilität und Sicherheit zu erhöhen, indem tatsächliche Anwendungslaufzeiten untersucht werden.
      • Konkretes Beispiel:Verwendung eines dynamischen Analyse-Tools wie Valgrind zur Laufzeitüberprüfung der mobilen Anwendung. Zum Beispiel könnte ein Penetrationstest unter Verwendung von Tools wie Burp Suite durchgeführt werden, um sicherheitsrelevante Schwachstellen in der Kommunikation der App mit dem Server aufzudecken.
    • Zusammenfassung:Beide Analysemethoden sind entscheidend für die Sicherheit mobiler Anwendungen. Während die statische Codeanalyse frühzeitig Schwachstellen im Quellcode erkennt, bietet die dynamische Codeanalyse Einblicke in das Verhalten der Anwendung während der Laufzeit. Eine Kombination beider Methoden sorgt für einen ganzheitlichen Sicherheitsansatz.

    Aufgabe 4)

    TLS und SSH sind zwei der wichtigsten kryptografischen Protokolle, die sichere Kommunikationen über Netzwerke gewährleisten. TLS wird hauptsächlich zur Sicherung von HTTP-Daten auf Webservern verwendet, z. B. durch HTTPS, während SSH für sicheren Fernzugriff und Dateiübertragung auf Servern verwendet wird, z. B. durch SCP oder SFTP. Einige wichtige technische Eigenschaften von TLS umfassen den Handshake-Prozess zur Authentifizierung, Schlüsselaustauschmethoden wie RSA, DHE und ECDHE, Verschlüsselungsalgorithmen wie AES und ChaCha20, sowie Integritätsprüfung durch HMAC. SSH wiederum sichert den Fernzugriff und die Dateiübertragung durch Authentifizierung mithilfe von Passwörtern oder Public-Key, Schlüsselaustauschmethoden wie Diffie-Hellman (DH) und ECDH und Verschlüsselungsalgorithmen wie AES und 3DES. SSH nutzt standardmäßig Port 22.

    a)

    Erkläre ausführlich den TLS-Handshake-Prozess. Beschreibe die einzelnen Schritte und die dabei verwendeten kryptographischen Verfahren. Warum ist dieser Prozess sicher gegen Man-in-the-Middle-Angriffe?

    Lösung:

    Der TLS-Handshake-Prozess ist ein wesentlicher Bestandteil des TLS-Protokolls, das zur Sicherung der Kommunikation im Internet verwendet wird. Der Handshake-Prozess besteht aus mehreren Schritten, die darauf abzielen, eine sichere Verbindung zwischen dem Client und dem Server herzustellen. Im Folgenden erläutern wir die Schritte und die dabei verwendeten kryptographischen Verfahren:

    • ClientHello: Der Client sendet eine Nachricht an den Server, die die folgenden Informationen enthält:• Die unterstützten TLS-Versionen.• Eine Liste der unterstützten Verschlüsselungssuiten (Cipher Suites).• Eine Zufallszahl (Random Number).
    • ServerHello: Der Server antwortet mit einer Nachricht, die die folgenden Informationen enthält:• Die ausgewählte TLS-Version.• Die ausgewählte Verschlüsselungssuite.• Eine Zufallszahl (Random Number).
    • Serverzertifikat: Der Server sendet sein digitales Zertifikat an den Client. Dieses Zertifikat enthält den öffentlichen Schlüssel des Servers und wird von einer vertrauenswürdigen Zertifizierungsstelle (CA) signiert.
    • ServerKeyExchange: Falls nötig, sendet der Server zusätzliche Schlüsselmaterialien, die für den Schlüsselaustausch verwendet werden.
    • Zertifikatsanforderung: (Optional) Der Server kann den Client auffordern, sein eigenes Zertifikat zu senden, um den Client zu authentifizieren.
    • ServerHelloDone: Der Server signalisiert dem Client, dass er mit seiner Initialisierungsphase fertig ist.
    • ClientKeyExchange: Der Client sendet eine Nachricht, die entweder eine pre-master secret (bei RSA) oder seine Halbschlüssel (bei Diffie-Hellman oder ECDH) enthält.
    • CertificateVerify: (Optional) Falls der Client ein Zertifikat gesendet hat, signiert er die Nachrichten bis zu diesem Punkt mit seinem privaten Schlüssel und sendet die Signatur an den Server.
    • ChangeCipherSpec: Beide Parteien senden eine Nachricht, die anzeigt, dass alle zukünftigen Nachrichten mit den ausgehandelten Schlüsseln verschlüsselt werden.
    • Finished: Beide Parteien senden eine Nachricht, die einen Hash aller bisherigen Nachrichten enthält, um sicherzustellen, dass keine Manipulation stattgefunden hat.

    Nun zur Sicherheit gegen Man-in-the-Middle-Angriffe:

    • Authentifizierung: Das Serverzertifikat stellt sicher, dass der Client mit dem richtigen Server kommuniziert und nicht mit einem Angreifer. Das Zertifikat wird von einer vertrauenswürdigen CA signiert, die die Identität des Servers überprüft.
    • Integritätsprüfung: Die Verwendung von HMAC (Hash-based Message Authentication Code) stellt sicher, dass die Nachrichten während des Handshakes und der nachfolgenden Kommunikation nicht verändert wurden.
    • Verschlüsselung: Die ausgetauschten Nachrichten während des Handshakes und die eigentliche Datenübertragung sind verschlüsselt, was bedeutet, dass ein Angreifer die Daten nicht lesen oder manipulieren kann.
    • Schlüsselaustauschverfahren: Verfahren wie Diffie-Hellman und ECDH sind sicher gegen Man-in-the-Middle-Angriffe, da sie es ermöglichen, sichere Schlüssel über einen unsicheren Kanal auszutauschen.

    Zusammenfassend lässt sich sagen, dass der TLS-Handshake-Prozess durch die Kombination von Authentifizierung, Integritätsprüfung und Verschlüsselung eine sichere Kommunikation gewährleistet und effektiv gegen Man-in-the-Middle-Angriffe geschützt ist.

    b)

    Vergleiche die Schlüsselaustauschverfahren, die von TLS (RSA, DHE, ECDHE) und SSH (Diffie-Hellman, ECDH) verwendet werden. Welche Vorteile bieten die elliptischen Kurven-basierenden Methoden (ECDHE und ECDH) im Vergleich zu den herkömmlichen Verfahren?

    Lösung:

    In diesem Abschnitt vergleichen wir die Schlüsselaustauschverfahren, die von TLS und SSH verwendet werden, und beleuchten die Vorteile der elliptischen Kurven-basierten Methoden im Vergleich zu herkömmlichen Verfahren.

    • Schlüsselaustauschverfahren von TLS:RSA: Dieses Verfahren verwendet den RSA-Algorithmus, bei dem ein öffentlicher und ein privater Schlüssel zur Verschlüsselung und Entschlüsselung der Daten genutzt werden. RSA bietet eine robuste Cryptographie, ist jedoch ressourcenintensiv und weniger effizient bei größeren Schlüssellängen.• DHE (Diffie-Hellman Ephemeral): Dieses Verfahren ermöglicht den Austausch von temporären (ephemeren) Schlüsseln und bietet Perfect Forward Secrecy (PFS). Die Sicherheit basiert auf der Schwierigkeit, das diskrete Logarithmusproblem zu lösen.• ECDHE (Elliptic Curve Diffie-Hellman Ephemeral): Eine Variante von DHE, die elliptische Kurven verwendet, um den Schlüsselaustausch effizienter und sicherer zu machen.
    • Schlüsselaustauschverfahren von SSH:Diffie-Hellman (DH): Dieses traditionelle Verfahren ermöglicht zwei Parteien, über einen unsicheren Kanal einen geheimen Schlüssel zu erstellen. Die Sicherheit beruht ebenfalls auf der Schwierigkeit des diskreten Logarithmusproblems.• ECDH (Elliptic Curve Diffie-Hellman): Eine Variante von DH, die elliptische Kurven verwendet, um dieselben Sicherheitsziele schneller und mit kleineren Schlüsseln zu erreichen.

    Vorteile der elliptischen Kurven-basierten Methoden (ECDHE und ECDH):

    • Höhere Sicherheit bei kleineren Schlüssellängen: Elliptische Kurven bieten dieselbe Sicherheit wie traditionelle Methoden, jedoch mit viel kleineren Schlüssellängen. Zum Beispiel bietet ein 256-Bit-Schlüssel bei ECDH dieselbe Sicherheit wie ein 3072-Bit-Schlüssel beim traditionellen DH.
    • Effizienz: Die Berechnungen bei elliptischen Kurven sind weniger ressourcenintensiv und schneller. Das bedeutet, dass Geräte wie Smartphones und andere ressourcenbeschränkte Systeme sicherer und effizienter kommunizieren können.
    • Perfect Forward Secrecy (PFS): ECDHE bietet genauso wie DHE PFS, benötigte Schlüssel nicht gesammelt. Diese Eigenschaft stellt sicher, dass selbst bei Kompromittierung eines langfristigen Schlüssels keine vergangenen Sitzungen entschlüsselt werden können.
    • Bandbreitenersparnis: Durch die Verwendung kleinerer Schlüssel werden weniger Daten über das Netzwerk gesendet, was die Bandbreitennutzung verbessert und die Verbindungsgeschwindigkeit erhöht.
    • Flexibilität: Elliptische Kurven bieten eine Vielzahl von mathematischen Strukturen, die an spezifische Sicherheitsanforderungen angepasst werden können.

    Zusammengefasst bieten die elliptischen Kurven-basierten Methoden (ECDHE und ECDH) deutliche Vorteile in Bezug auf Sicherheit, Effizienz und Ressourcenschonung im Vergleich zu herkömmlichen Verfahren wie RSA und Diffie-Hellman.

    c)

    Ein Server bietet sowohl HTTPS (über TLS) als auch SFTP (über SSH) für Dateiübertragungen an. Skizziere die Schritte zur sicheren Dateiübertragung über SFTP und erkläre, wie die Authentifizierung und Datenintegrität gewährleistet werden. Warum wird standardmäßig Port 22 für SSH verwendet?

    Lösung:

    Um die Dateiübertragung über SFTP (über SSH) sicher durchführen zu können, folgen die Schritte der Verbindung und Übertragung genau festgelegten Abläufen. Im Folgenden skizzieren wir diese Schritte und erklären, wie Authentifizierung und Datenintegrität gewährleistet werden:

    Schritte zur sicheren Dateiübertragung über SFTP:

    • Initiale Verbindung: • Der Client initiiert eine Verbindung zum Server über Port 22, den Standardport für SSH. • Der Server antwortet, indem er eine SSH-Version und die unterstützten Authentifizierungsmethoden an den Client sendet.
    • Schlüsselaustausch und Authentifizierung: • Der Client und der Server tauschen ihre öffentlichen Schlüssel aus, um eine verschlüsselte Kommunikationsverbindung aufzubauen. Dies geschieht oft über Diffie-Hellman (DH) oder Elliptic Curve Diffie-Hellman (ECDH). • Der Server sendet dem Client seine öffentliche Host-ID, die der Client überprüfen kann, um sicherzustellen, dass er sich mit dem richtigen Server verbindet. • Der Client authentifiziert sich gegenüber dem Server, was durch verschiedene Methoden wie Passwörter, Public-Key oder andere Authentifizierungsmethoden erfolgen kann.
    • Einrichtung einer sicheren Sitzung: • Nach erfolgreicher Authentifizierung wird eine sichere Sitzung zwischen dem Client und dem Server eingerichtet. • Während dieser Sitzung werden alle Daten verschlüsselt übertragen, um abhörsichere Kommunikation zu gewährleisten.
    • Dateiübertragung: • Der Client kann nun Dateien auf den Server hochladen oder vom Server herunterladen. Jede Datei wird über die verschlüsselte SSH-Verbindung übertragen. • Integritätsprüfungen werden durch kryptografische Hash-Algorithmen (z. B. HMAC) durchgeführt, um sicherzustellen, dass die Dateien während der Übertragung nicht verfälscht werden.
    • Abmeldung und Sitzungsbeendigung: • Nach Abschluss der Dateiübertragung beendet der Client die Sitzung.

    Authentifizierung:

    • Die Authentifizierung kann verschiedene Formen annehmen, darunter: • Passwörter: Der Client gibt ein Passwort ein, das der Server überprüft. • Public-Key: Der Client verwendet ein Schlüsselpaar, um sich zu authentifizieren. Der öffentliche Schlüssel ist dem Server bekannt, und der Client beweist mit dem privaten Schlüssel seine Identität. • Weitere Methoden: Andere Authentifizierungsmethoden wie Zwei-Faktor-Authentifizierung können ebenfalls zum Einsatz kommen.

    Datenintegrität:

    • Um sicherzustellen, dass die während der Dateiübertragung gesendeten Daten nicht manipuliert wurden, wird ein HMAC (Hash-based Message Authentication Code) verwendet. • HMAC berechnet einen kryptografischen Hash aus den Daten und einem geheimen Schlüssel, der zwischen Client und Server geteilt wird. • Wenn der Empfänger die Daten erhält, berechnet er den HMAC erneut und vergleicht ihn mit dem gesendeten HMAC. Wenn beide übereinstimmen, ist die Integrität der Daten gewährleistet.

    Warum wird standardmäßig Port 22 für SSH verwendet?

    • SSH nutzt traditionell Port 22, weil dies in der Spezifikation des SSH-Protokolls festgelegt ist. Die Verwendung eines standardisierten Ports erleichtert die Kommunikation und die Konfiguration von Firewalls und Netzwerkinfrastrukturen. • Standardisierung und Vereinfachung: Durch die Festlegung eines festen Ports wird die Verwaltung und die Absicherung von Netzwerken vereinfacht. • Historische Gründe: Seit der Einführung von SSH im Jahr 1995 hat sich Port 22 als Standard etabliert.

    Zusammenfassend lässt sich sagen, dass SFTP durch die Verwendung der sicheren SSH-Verbindung sowohl Authentifizierung als auch Datenintegrität gewährleistet, indem es verschiedene kryptografische Verfahren und Mechanismen anwendet. Port 22 wird traditionell für SSH verwendet, um die standardisierte und sichere Kommunikation zu gewährleisten.

    Sign Up

    Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

    Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

    Kostenloses Konto erstellen

    Du hast bereits ein Konto? Anmelden