Bedrohungen und Antworten
Brute-Force-Angriffe
Wir verschlüsseln Ihre Geheimnisse mit dem AES-256-Algorithmus. Der Algorithmus selbst ist mit heutigen Mitteln nicht zu knacken. Auch das Ausprobieren aller möglichen 256-Bit-Schlüssel scheidet für absehbare Zukunft aus. Aber als Angriffspunkt bleibt das Hauptkennwort. Denn der Schlüssel wird von Ihrem Hauptkennwort abgeleitet.
Daher sollten wir die Brute-Force-Methode genau betrachten: "Brute-Force" (deutsch: rohe Gewalt) bedeutet, dass Buchstaben und Wortkombinationen nacheinander (oder parallel) ausprobiert werden. Das parallele Ausprobieren ist nur möglich, wenn die Angreifer*in an die verschlüsselten Daten kommt. Da es es einfacher ist, einen Server gegen Hacker*innen zu schützen als eine Vielzahl von PCs, sind Online-Systeme dagegen besser geschützt. Besonders dann, wenn diese die Datenhaltung auf dem Server mit einer clientseitigen Verschlüsselung kombinieren. Eine Angreifer*in müsste sowohl den Server als auch den Client (PC) knacken, um an die Geheimnisse zu kommen.
Jede Nutzer*in kann sich über die Angriffe auf ihr Konto informieren, indem sie das Feature "Statistik" nutzt. Sie erfährt dabei auch, wie dicht die fehlerhaften Kennworteingaben ihrem wirklichen Kennwort gekommen sind und kann durch ein entsprechend komplexeres Hauptkennwort dem entgegenwirken.
Um Brute-Force-Angriffe zu erschweren, nutzt key.matiq auch das "Key-Stretching" mit SCrypt und hält damit die Berechnung des AES-Schlüssels aus dem Hauptkennwort so speicher- und zeitaufwändig. Somit ist zumindest für gewöhnliche Online-Kriminelle das Knacken einer key.matiq-Box auch dann faktisch unmöglich, falls ihnen gelänge, in den matiq-Server einzudringen. Und auch für Geheimdienste, die über viel Geld und Resourcen verfügen, treiben wir zumindest die Kosten hoch.
Die eigentliche Gefahr ...
... liegt also darin, dass das Programm key.matiq selbst die Geheimnisse verrät, bzw. zum Verrat gebracht wird. Wie könnte das geschehen? Fahrlässig, indem in Log-Dateien versehentlich z. B. das Hauptkennwort herausgeschrieben wird. Oder vorsätzlich, indem die Programmquellen so geändert werden, dass der Anmelde-Dialog oder die Enschlüsselung von Geheimnissen protokolliert werden.
Der fahrlässigen Variante konnten wir leicht entgegenwirken, indem wir auch im Debug-Modus alles Logging von Geheimnissen herausfiltern. Zur Sicherheit testen wir den Server mit Pseudo-Geheimnissen und durchsuchen regelmäßig den gesamten Server, ob diese nicht in irgendeiner Datei wieder auftauchen. Damit testen wir nicht nur die Webanwendung selbst, sondern auch den dazu benötigten Webserver und überhaupt das ganze System.
Aber wir gehen noch einen Schritt weiter: Wir unterstützen mit key.matiq komplementäre Geheimnisse, die nur im Browser mit JavaScript verarbeitet werden, also gar nicht erst auf den Server gelangen. Damit ist es ohne krimninelle Energie für das matiq-Team gar nicht mehr möglich, an die vollständigen Geheimnisse der Benutzer*innen zu gelangen.
Ab Version 2.0 implementieren wir zudem die clientseitige Verschlüsselung, die im Rahmen des "Cautiously Knowing Service"-Konzepts das Wissen des Servers auf das absolut notwendige beschränkt, d. h. insbesondere das Wissen um Kerngeheimnisse auf Ausnahmefälle, die durch die Nutzer*in explizit genehmigt werden müssen begrenzt.
Kriminelle Energie
Durch gute, sorgfältige Personalauswahl lässt sich die Gefahr minimieren, dass sich die matiq ein faules Ei ins Haus holt, aber wie steht es mit Zulieferern? Die matiq UG mietet ihren Server derzeit bei der Hetzner Online GmbH. Das ist nun eine wesentlich größere Organisation. Sie ist nach ISO 27001 zertifiziert und würde ziemlich viel riskieren, sollten ihre Mitarbeiter*innen dennoch unbefugt auf den matiq-Server zugreifen.
Ein rein lesender Zugriff auf die Platten des matiq-Servers wäre noch keine große Gefahr, da alle kritischen Daten auf verschlüsselten Platten gespeichert sind. Um an deren Klartexte zu gelangen, müsste eine Angreifer*in nicht nur physikalischen Zugriff auf den Server haben, sondern diesen auch geschickt manipulieren. Das geht jedoch nicht, ohne Spuren zu hinterlassen. Und es ist ziemlich wahrscheinlich, dass wir solche Spuren dann entdecken würden. Diese würden zu einem beschränkten in Deutschland ansässigen Personenkreis führen. D. h. derartige Angriffe sind sehr schwierig und für die Angreifer*in persönlich riskant.
Das wesentliche Restrisiko wird also wohl sein, dass ein ausländischer Geheimdienst viel Geld investiert, um hochkompetente Agent*innen bei uns oder Hetzner einzuschleusen und für ihre persönliche Risiken zu entlohnen. (Bei einem inländischen Geheimdienst wäre vermutlich das Risiko für die verantwortlichen Politiker*innen zu hoch, da diese damit irgendwann auffliegen dürften.) Unsere Gegenstrategie ist jedenfalls, die Kosten für solche Aktionen kräftig in die Höhe zu treiben.
Denjenigen Kund*innen, die dieses Restrisiko nicht akzeptieren wollen, empfehlen wir, für kritische Geheimnisse Komplemente zu verwenden und diese nur manuell anzuwenden, also darauf zu verzichten, das Zusammenfügen der Geheimnisse durch key.matiq (per JavaScript) vornehmen zu lassen. Dann laufen nämlich sogar geheimdienstliche Angriffe auf key.matiq ins Leere.
Ausblick
Wir gehen davon aus, dass mit dem Wachstum der Bedeutung von key.matiq auch die Zahl und Intensität der Angriffe auf dieses System ansteigen werden. Allerdings steigt im gleichen Verhältnis unser finanzieller Spielraum, Gegenmaßnahmen zu ergreifen. Wir haben da einige Ideen, die zwar aufwändig, aber ab einer gewissen Benutzer*innenzahl durchaus umsetzbar wären.