Blog

Eine Analyse Passwortgeschützter Gehaltsabrechnungen Hinsichtlich DSGVO

Herzlich Willkommen auf dem Blog der XSEC infosec. Im folgenden ersten Blogeintrag beschreiben wir unsere Erkenntnisse, welche wir im Zuge einer Analyse passwortgeschützter Gehaltsabrechnungen erlangen konnten.

;TLDR

Viele Arbeiter und Angestellte bekommen die monatlichen Gehaltsabrechnungen als verschlüsseltes PDF. Dabei wird der einfachheitshalber immer häufiger die Sozialversicherungsnummer als Passwort genutzt.
Mit modernen Grafikkarten können diese Passwörter jedoch oft innerhalb von Sekunden geknackt werden. Im Hinblick auf die kommende Datenschutzgrundverordnung kann dies zu Komplikationen führen, da durch das Knacken des Passworts nicht nur personenbezogene Daten wie beispielsweise private Adressen oder Gehaltsdaten offenbart werden sondern auch automatisch die Sozialversicherungsnummer des Geschädigten.
Daher würden wir dringlichst davon abraten, die Sozialversicherungungsnummer als Passwort zu verwenden.

Die Datenschutzgrundverordnung 2018

Die Datenschutzgrundverordnung wird am 25.5.2018 „scharf“ geschalten – mit allen Rechten und Pflichten für das Unternehmen. Bei Nichteinhaltung drohen empfindliche Strafen. Grund genug um sich mit dem Thema ausführlich zu beschäftigen. Sicherheitsexperten der XSEC haben sich mal umgesehen und sich folgende Frage gestellt:

Werden die übermittelten Lohnzettel von Standard ERP Lösungen hinreichend nach dem Stand der Technik abgesichert – oder besteht in Hinblick auf die DSGVO Handlungsbedarf?

Viele der renommierten Lösungsanbieter stellen passwortgeschützte Lohnzettel zur Verfügung – Leider allzu oft mit einem zu kurzen und unsicheren Passwort wie das untere Video demonstriert. Die Rede ist vom Gebrauch der Sozialversicherungunsnummer als Passwort zum schützen sensibler Gehaltsdaten.

Sozialversicherungsnummern – Aufbau

Eine Sozialversicherungsnummer besteht aus einer Laufnummer, einer Prüfziffer und dem Geburtsdatum (DDMMYY). Ein Beispiel für eine gültige Sozialversicherungsnummer wäre beispielsweise 1334090776 wobei es sich bei 133 um die Laufnummer handelt, bei 4 um die Prüfziffer und bei 090776 um das Geburtsdatum.

Die Laufnummer kann Werte von 100 – 999 annehmen. Die Prüfziffer wird wie folgt berechnet:

  • Multiplizieren von bestimmten Zahlen (siehe Beispiel unten) mit Laufnummer und Geb. Datum

  • Ergebnis Modulo 11

Wenn diese Berechnung 10 ergibt, wird die Laufnummer um 1 erhöht

Beispiel: 133X 090776

X = (1×3 + 3×7 + 3×9 + 0×5 + 9×8 + 0×4 + 7×2 + 7×1 + 6×6) mod 11 = 4

Sozialversicherungsnummer: 1334090776

Sozialversicherungsnummern – Keyspace

Das obige Beispiel demonstriert, dass sich pro Kalendertag ca. 820 verschiedene Sozialversicherungsnummern ergeben. Berechnet man alle Sozialversicherungsnummern zwischen den Jahren 1952 – 2003 (alle ab 14 bis 65) ergeben sich ca. 16 Mio. verschiedene SV Nummern.

Eine handelsübliche Grafikkarte schafft ca. 100.000 Berechnungen/Sekunde wodurch innerhalb von 3 Minuten alle Möglichkeiten getestet werden können.

Proof of Concept

Im Zuge unserer Untersuchung erstellten wir ein Programm, welches alle gültigen Sozialversicherungsnummern zwischen den Jahren 1952 – 2003 (alle ab 14 bis 65) berechnete. Wie bereits zuvor erwähnt, ergeben sich daraus ca. 16 Millionen verschiedene SV Nummern.

Das folgende Video demonstriert das Knacken eines passwortgeschützten PDFs mittels hashcat.

Fazit

Wie unser Proof of Concept zeigt, können derartig schwache Passwörter in Sekundenschnelle geknackt werden. Eine Offenlegung von sensiblen Informationen wie beispielsweise private Adressen, Gehaltsdaten, gerichtliche Lohnpfändungen und Sozialversicherungsnummern steht im Raum. Datenschutzrelevante Prozesse zum Eindämmen des Schadenspotenzials müssten in Zukunft aktiviert werden. Gerade die Verwendung der Sozialversicherungsnummer als Passwort wird aus unserer Sicht sehr kritisch gesehen. Die Sozialversicherungsnummer stellt ohne Zweifel eine personenbezogene Information im Sinne des § 4 Z 1 DSG 2000 dar, an dem ein schutzwürdiges Geheimhaltungsinteresse besteht.

Der § 31 Abs. 4 im ASVG gibt den Zweck der Sozialversicherungsnummer eindeutig vor. Demnach darf diese nur zur Verwaltung personenbezogener Daten im Rahmen der Sozialversicherung gesetzlich übertragenen Aufgaben verwendet werden. Wir würden jedem Unternehmen dringlichst davon abraten, ein solches Bildungsgesetz für ein Passwort zu verwenden.