Betrifft den Punkt „Schwachstellenausnutzung“ der Cyber Kill Chain.


Lt. Wikipedia benutzt man „homomorphe Verschlüsselung“ für:

„[…] Berechnungen auf dem Geheimtext durchführen lassen, die mathematischen Operationen auf den entsprechenden Klartexten entsprechen. […]“

https://de.wikipedia.org/wiki/Homomorphe_Verschl%C3%BCsselung

Berechnungen auf verschlüsselten Daten? Das sollte doch gar nicht möglich sein, deswegen setzt man ja Verschlüsselung ein?

Es wird also absichtlich kaputte Krypto eingesetzt, damit Berechnungen mit verschlüsselten Daten durchgeführt werden können.

Veranschaulichung

Wenn man über Outlook eine verschlüsselte eMail mit gleichem Inhalt an mehrere Personen verschickt, dann ist der Ciphertext (also der verschlüsselte Teil) pro Empfänger natürlich unterschiedlich. Ich hoffe das leuchtet ein, so funktioniert gute Verschlüsselung.

Bei homomorpher Verschlüsselung ist der Ciphertext jedoch bei allen Empfängern gleich. Das ist das Prinzip dahinter. Damit könnte man jetzt in einer Datenbank bspw. zwei Daten miteinander vergleichen; trotz „Verschlüsselung“.

Beispiel

Personenbezogene Daten über das Alter einer Person werden in einer Datenbank „homomorph verschlüsselt“ abgelegt.

Bei einer Person steht in Datensatz &TZ45§ bei einer zweiten Person steht drin -ö38“r und bei einer dritten Person steht drin &TZ45§. Jetzt weiß man, trotz Verschlüsselung, dass die erste und dritte Person gleich alt ist.

Will man bspw. auch noch Kleiner/Größer-Vergleiche machen, dann wird die Verschlüsselung noch schwächer gemacht. Kleiner/Größer-Vergleiche sind bspw. für Webseiten mit Altersfreigabe wichtig, weil man ja schauen will ob jemand anhand des Datums schon 16 oder 18 Jahre alt ist.

Ok, wo ist denn jetzt das Problem; ist doch trotzdem alles verschlüsselt?

.. spielen wir mal einen Angriff durch um, beispielsweise Kreditkartendaten zu bekommen …

1. Den Usernamen des Opfers phishen (da helfen einem Social Engineering Tools und der User selbst)

2. Die Datenbank kompromittieren (da hilft Kali-Linux und ein Fünkchen Glück)

3. Mit dem Usernamen (siehe 1.) anmelden und mit-sniffen nach was die Datenbank schaut (da hilft Kali-Linux)

4. Jetzt kennt man den „verschlüsselten“ Usernamen und damit auch den Userdatensatz.

  • Um an die Kreditkartendaten zu kommen benötigt man einen (Test)Account
  • So ein Account ist schnell angelegt, wenn man die Datenbank sowieso schon hat (siehe 2.)

5. Jetzt fängt man an und probiert über den „Testaccount“ einfach die Kreditkartendaten durch.

  • Der Server verschlüsselt schön und dann kann man die Werte vergleichen, zwischen dem „Testaccount“ und den Userdatensatz (siehe 4.)

6. Wenn die Werte plötzlich mal übereinstimmen … BINGO

Wenn die Datenbank zufällig sogar noch Kleiner/Größer-Vergleiche erlaubt, ist das durchprobieren nur noch eine Sache von Sekunden.


weitere Fachbeiträge …


Informationssicherheit und Datenschutz – Beratung und Konzeption – Landsberg am Lech