Mit dem Passwort zu mehr Cybersecurity

Heute ist wieder der „Ändere dein Passwort-Tag“. Eine gut gemeinte
Initiative für mehr IT-Sicherheit. Die ursprünglich aus dem militärischen Kontext der 1960er-Jahre stammende Empfehlung, das Passwort regelmäßig zu wechseln, findet sich auch heute noch in vielen Unternehmensrichtlinien wieder. Moderne Richtlinien wie das aktuelle BSI Grundschutzkompendium und die NIST Digital Identities Guidelines streichen diese Anforderung, denn es gibt effektivere Strategien, die Passwortsicherheit zu erhöhen:

Passwortlänge schlägt -komplexität

Zuallererst gilt: Ein starkes Passwort muss nur dann geändert werden, wenn es
den Verdacht gibt, dass es enthüllt wurde.

Angreifer können heute mit automatisierten Systemen Milliarden von Passwörtern innerhalb kürzester Zeit ausprobieren. Insbesondere wenn diese Systeme über das Netzwerk erreichbar sind oder Zugriff auf die Passwort Hashes haben und daher effektiv offline ausprobiert werden können. Die Komplexität des Passwortes ist daher vollkommen gleichgültig, wenn es zu kurz ist. Die Empfehlungen für die Länge schwankt zwischen 8 bis zu mindestens 14 Zeichen. Fortschritte bei Angriffswerkzeugen wie zum Beispiel Hashcat und durch schnellere, spezialisierte Hardware zum Passwortraten treiben diese Anforderungen immer weiter in die Höhe.

Compliance-Richtlinien verlangen heutzutage individualisierte Zugangsdaten. Damit entfällt die Gefahr, dass ein Passwort vielen Leuten bekannt ist und so auch die Notwendigkeit dieses regelmäßig zu ändern. Ein langes Passwort für genau eine Person für genau einen Dienst. Ziemlich sicher.

Passworte sind keine Wiederholteile

Hand aufs Herz, haben Sie nicht auch schon mal das identische oder ein sehr ähnliches Passwort für mehrere Dienste verwendet? Das sollten Sie sich schnell abgewöhnen, denn so führt ein erfolgreicher Angriff auf einen Dienst automatisch zu einem erfolgreichen Angriff auf weiteren. Vor allem die Verwendung bereits privat genutzter Passwörter im Unternehmensumfeld ist besonders kritisch.

Moderne Passwortrichtlinien stellen sicher, dass Passworte abgelehnt werden, die in Listen erbeuteter Passwörter vorkommen. Die Webseite haveibeenpwand zum Beispiel zeigt an, ob ein Passwort erbeutet wurde. Moderne Systeme bieten hier Schnittstellen, um Passworte dahingehend zu prüfen. In CONTACT Elements können Sie diese ganz einfach aktivieren:

from cdb.sig import connect
from cdb.authentication import check_pwned_password
connect(‚password_acceptable_hook‘)(check_pwned_password)

Passwort-Manager statt Einheitsbrei

Passwortwiederholung ist schlecht, kurze Passwörter auch. Benutzer stehen vor der Herausforderung, sich eine große Anzahl langer Passwörter im Kopf zu merken. Auf einen Zettel schreiben und diesen unter der zu Tastatur verstecken oder an die Pinnwand zu kleben ist keine Lösung, da eine Kamera das Passwort abfilmen kann.

Besser ist es, einen Passwort-Manager zu verwenden. Dieser kann lange Passwörter erstellen, verwalten und erleichtert per Copy und Paste die Eingabe. Leider blockieren einige Unternehmen, getrieben von der Sorge, dass ein Trojaner die Passwörter in der Zwischenablage abfangen, die Copy und Paste-Methode in ihren Anwendungen und verhindern damit die Verwendung eines Passwort-Managers. Bei einem Trojaner-Befall ist diese Maßnahme jedoch meist wirkungslos und Unternehmen sollten die Benutzer anleiten, einen Passwort-Manager zu benutzen, um Ihre IT-Sicherheit zu erhöhen.

Vorsicht vor Wegelagerern und Trickbetrügern

Selbst das stärkste Passwort schützt nicht vor Angriffen, wenn es abgefangen wird. Das geht oft erstaunlich einfach. Verbindungen ohne ein Mindestmaß an Sicherheit wie Transport Layer Security (TLS) sind ein offenes Buch für jeden Angreifer. Auch ältere Netzwerkprotokolle wie Kerberos bieten zahlreiche Einfallstore. Ransomware nutzt diese aus, um sich im Firmennetz auszubreiten. Sobald sich ein Administrator auf einem befallenen Rechner anmeldet, hat der Angreifer die Zugangsdaten und kurz darauf sind goldene und silberne Tickets erstellt und die Windows-Domäne ist fest in der Hand des Angreifers. Auch hier steht und fällt die Sicherheit mit dem Passwort, da dieses in die Berechnung der Authentifizierungstickets eingeht und aufgrund der symmetrischen Verschlüsselung dem Angreifer ermöglicht, aus dem Ticket das Passwort zurückzurechnen.

Sicherheit durch mehrere Faktoren steigern

Eine Empfehlung, um die Schwächen von Passworten zu umgehen, ist es, weitere Faktoren einzubeziehen. Das funktioniert sehr gut aus der Perspektive der Sicherheit. Ein zweiter Faktor erhöht in praktisch jedem Fall die Sicherheit deutlich. Dabei ist es in den meisten Fällen zweitrangig, ob es sich um Einmalpassworte wie TANs per SMS, zeitbasierte Codes wie Definition Time-based One-time Password (TOTP) oder auch schlichte Bestätigungsemails mit Links handelt.

Die Schattenseite von zweiten Faktoren ist der zusätzliche Aufwand und die Auswirkungen auf die Usability. Helpdesk Prozesse werden komplizierter, Benutzer müssen geschult werden und Anmeldevorgänge passieren oft langsamer.

Single Sign-On – Fluch und Segen zugleich

Benutzer:innen lieben Single Sign-On (SSO), bei dem man nur einmalig ein Passwort und einen zweiten Faktor eingeben muss, um zahlreiche Dienste zu nutzen. Das minimiert den Aufwand enorm – allerdings auch für den Angreifer. Insbesondere, wenn der Zugang nur an einem schwachen Passwort hängt. Ein zentrales Login-System löst auch viele Probleme für Compliance, wenn Benutzer:innen gesperrt oder Reports erstellt werden. Auch die Kosten für Benutzerverwaltung reduzieren sich.

Single Sign-On stellt die oben angeführte Argumentation „Ein Passwort pro Dienst“ auf den Kopf. Wieder steht nur ein Passwort zwischen dem Angreifer und Ihrem System. Kennt der Angreifer das Passwort, so hat er Zugang. Und dann öffnet das Single Sign-On-System dem Angreifer alle Türen.

Phishing erkennen

Auch stärkere Verfahren wie TOTP oder Hardware-Keygeneratoren bieten keinen Schutz, wenn man Passwort und Zugangscode auf einer gefälschten Webseite eingibt. Diese Praxis ist bekannt unter dem Namen Phishing. Die Lösung dagegen lautet Kanal- oder Token-Binding und verknüpft (bindet) den gewünschten Zugang mit dem Kanal, über den der Zugang angefragt wird. Was bedeutet, dass ein Token nur für den Zugang zu Gerät A akzeptiert wird, nicht aber für Gerät B des Angreifers.

Diese Form der Mehrfaktorauthentifizierung ist sehr sicher und mit moderner Hardware oder Mobiltelefonen einfach zu verwenden. Für die Unternehmens-IT ist die Integration in gängige Plattformen dabei relevant. Windows Hello, Apple und Android unterstützen den von der FIDO Alliance spezifizierten FIDO2 / WebAuthn-Standard, um Phishing aufzudecken und Single Sign-On sicher zu machen.

Passworte sind überflüssig!?

Ausgehend vom WebAuthn-Standard gibt es seit 2022 mit Passkeys eine neue Initiative – getrieben von Apple, Microsoft und Google – um Passworte aus Anwendungen und Single Sign-On zu verbannen. Sie können Ihr Passwort bereits heute schon in einen Passkey ändern, wenn Ihr Gerät das unterstützt und 2024 den „Change your Password Day“ dazu nutzen, Ihr Passwort zu löschen und nie wieder verwenden zu müssen.


Mehr zum Thema Cybersecurity

In unserem kostenlosen White Paper „IT Sicherheit für Unternehmen“ erfahren Sie alles zum Aufbau einer verlässlichen IT-Sicherheitsarchitektur zum Schutz vor Cyberattacken.

Groß, größer, gigantisch. Die Folgen der Riesenmodelle in der KI

Die Entwicklung der Sprachmodelle im Bereich NLP (Natural Language Processing) hat vor allem seit 2019 zu gewaltigen Sprüngen in der Genauigkeit dieser Modelle für bestimmte Aufgaben geführt, aber auch in der Anzahl und dem Umfang der Fähigkeiten an sich. Als Beispiel seien die mit viel Medienrummel von OpenAI veröffentlichen Sprachmodelle GPT-2 und GPT-3 genannt, die mittlerweile für den kommerziellen Einsatz verfügbar sind und sowohl in Art, Umfang  und Genauigkeit erstaunliche Fähigkeiten haben, auf die ich in einem anderen Blog-Post eingehen möchte. Dies wurde im Fall von GPT-3 durch Training mittels eines Modells mit 750 Milliarden Parametern auf einem Datensatz von 570 GB erreicht. Das sind Werte, die einem die Sprache verschlagen.

Je größer die Modelle, je höher die Kosten

Gigantisch sind aber auch die Kosten, die das Training dieser Modelle verschlingt: Setzt man nur die angegebenen Compute-Kosten 1 für einen kompletten Trainingslauf an, kommt man auf eine Größenordnung von 10 Millionen USD für das Training von GPT-3 2, 3. Hinzu kommen weitere Kosten für Vorversuche, Storage, Commodity-Kosten für die Bereitstellung etc., die in ähnlicher Größenordnung liegen dürften. In den vergangenen Jahren hat sich der Trend, immer größere Modelle zu bauen, verstetigt und jedes Jahr kommt ungefähr eine Größenordnung hinzu, d.h. die Modelle sind 10x größer als im Jahr davor.

Größe von NLP-Modellen von 2018-2022. Die Parametergrößen sind logarithmisch aufgetragen in Einheiten von Milliarden. Die rote Linie stellt das mittlere Wachstum dar:  ca. 10-20 mal größere Modelle pro Jahr 2.

Das nächste Modell von OpenAI GPT-4 soll ca. 100 Billionen Parameter haben (100 x 1012 ). Zum Vergleich: Das menschliche Gehirn hat ungefähr 100 Milliarden Neuronen (100 x 109) also 1000 mal weniger. Die theoretische Grundlage für diesen Gigantismus liefern Studien, die ein klares Skalenverhalten zwischen Größe des Modells und Performance belegen 4. Danach sinkt der sogenannte Verlust – ein Maß für die Fehlerhaftigkeit der Vorhersagen der Modelle – um 1, wenn das Modell 10mal größer wird. Das funktioniert aber nur wenn Rechenleistung und Trainingsmenge ebenfalls nach oben skaliert werden.

Neben den ungeheuren Mengen Energie, die das Berechnen dieser Modelle verschlingt und dem damit einhergehenden CO2-Footprint, der ein Besorgnis erregendes Ausmaß annimmt, ergeben sich direkte wirtschaftliche Folgen: Offenbar können nicht nur kleinere Unternehmen die Kosten für das Training solcher Modelle nicht stemmen, auch größere Konzerne dürften vor Kosten von 10 Mio. USD bzw. in Zukunft 100 Mio. USD oder mehr zurückschrecken. Ganz abgesehen von der notwendigen Infrastruktur und Personalausstattung für ein solches Unterfangen.

Monopolstellung der großen Player

Das hat direkte Auswirkungen auf die Verfügbarkeit: Während die kleineren Modelle bis Ende 2019 mittlerweile Open Source sind und über spezialisierte Provider frei zugreifbar, gilt das für die großen Modelle ab ca. Ende 2020 (dem Auftauchen von GPT-2) nicht mehr. OpenAI bietet zum Beispiel eine kommerzialisierte API für den Zugriff an und erteilt nur durch einen Genehmigungsprozess einen Zugang. Das ist einerseits für die Entwicklung von Applikationen mit diesen NLP-Modellen bequem, da die Arbeit des Hostings und der Administration entfällt, andererseits ist die Eintrittsbarriere für Wettbewerber in diesen Markt so steil, dass im Wesentlichen die super-großen KI-Firmen dort teilnehmen: Google mit OpenAI, Microsoft mit Deepmind und Alibaba.

Die Konsequenzen dieser Monopolstellungen der führenden KI-Unternehmen sind wie bei jedem Monopol alternativlose Preismodelle und starre Geschäftspraktiken. Die Fähigkeiten der jetzigen Large Language Models wie GPT-3 und Megatron Turing NLG sind allerdings schon so beeindruckend, dass abzusehen ist, dass wahrscheinlich in 10 Jahren jedes Unternehmen für die unterschiedlichsten Anwendungen Zugriff auf die dann aktuellen Modelle braucht. Ein weiteres Problem ist, dass die Herkunft der Modelle aus dem amerikanischen oder chinesischen Raum einen großen Bias in die Modelle bringt, der sich einerseits klarerweise darin ausdrückt, dass Englisch oder Chinesisch die Sprache ist, mit der die Modelle am Besten funktionieren. Andererseits bringen die Trainingsdatensätze, die aus diesen Kulturbereichen stammen, eben kulturellen Tendenzen aus diesen Räumen mit, so dass abzusehen ist, dass andere Regionen der Welt unterrepräsentiert sind und weiter ins Hintertreffen geraten.

Was kann man tun?

Ich glaube es ist wichtig, die Entwicklung sorgfältig im Auge zu behalten und die Entwicklung von KI im europäischen Raum aktiver zu gestalten. Es ist jedenfalls eine größere Anstrengung notwendig, um langfristig eine Abhängigkeit von monopolisierten KI-Providern zu vermeiden. Denkbar ist vielleicht die Einbindung von nationalen Rechenzentren oder Forschungsverbünden, die vereint mit Unternehmen eigene Modelle trainieren und kommerzialisieren und ein Gegengewicht zu amerikanischen oder chinesischen Unternehmen bilden. Die nächsten 10 Jahre werden hier entscheidend sein.

1 s. hier in Abschnitt D sowie Compute-Kosten per GPU z.B. auf Google Cloud ca. 1USD/hour für eine NVIDIA V100
2 Rechenansatz: V100 = 7 TFLOPs = 7 10^12 / s, 3.14 10^23 Flops => 3.14 10^23/7×10^12 / 3600 = 10^7 Stunden = 10 Mio USD, Details der Rechnung sowie Recherche der Parameter hier.
3 s. auch hier zum Vergleich Grafik mit älteren Daten.
4 s. arxiv und Deepmind


Wofür ist Quantum Computing gut?

Beim Thema Quantum Computing (QC) hat sich nach den durchaus realen Durchbrüchen in der Hardware und einigen spektakulären Ankündigungen unter Titeln wie „Quantum Supremacy“ der übliche Hype Cycle entwickelt mit einer Phase von vagen und überzogenen Erwartungen. Ich möchte hier versuchen, kurz einzuordnen, warum der enorme Aufwand in diesem Bereich überhaupt getrieben wird und welche realistischen Erwartungen dahinter stecken.

Um die fundamentalen Unterschiede zwischen QC und Classical Computing (CC) zu verstehen, muss man zunächst einen Schritt zurücktreten und sich fragen, auf welcher Basis beide Computing-Paradigmen operieren. Für das CC ist die Basis die universelle Turing-Maschine ausgedrückt in der allgegenwärtigen von-Neumann-Architektur. Das mag ein wenig abgehoben klingen, ist aber im Grunde einfach zu verstehen: Eine universelle Turing-Maschine abstrahiert den Sachverhalt, dass man in einen klassischen Computer jeden Algorithmus einprogrammieren kann (universell), der irgendwie (klassisch) algorithmisch ausdrückbar ist (Turing-Maschine).

Die weitaus meisten „Algorithmen“, die praktisch implementiert werden, sind dabei schlichte Sequenzen von Aktionen, die auf äußere Ereignisse reagieren wie Mausklicks auf einer Webseite, Transaktionen im Web-Shop oder Meldungen von anderen Computern im Netzwerk. Ein sehr sehr geringer, wenn auch wichtiger Anteil von Programmen macht das, was man im Allgemeinen mit dem Wort Algorithmus assoziiert, nämlich das Durchführen von Rechenoperationen zur Lösung eines mathematischen Problems. Die Turing-Maschine ist das angepasste Denkmodell zur Programmierung dieser Probleme und führt dazu, dass Programmiersprachen die Konstrukte aufweisen, die man gewohnt ist: Schleifen, Verzweigungen, elementare Rechenoperationen etc.

Was ist das Computing-Paradigma für einen Quantencomputer?

Ein Quantencomputer ist aufgebaut aus Quantenzuständen, die miteinander verschränkt werden können und über Quantengatter evolviert werden. Ist auch ein bisschen abgehoben, heißt aber einfach ausgedrückt, dass ein Quantencomputer so eingestellt wird, dass er einen (Quanten)Anfangszustand hat, der sich in der Zeit entwickelt und zum Schluss gemessen wird. Das Paradigma für einen Quantencomputer ist deshalb die Schrödingergleichung, die fundamentale Gleichung der Quantenmechanik. Ohne die Details zu verstehen, dürfte klar sein, dass sich Allerweltsprobleme schwer in den Formalismus der Quantenmechanik pressen lassen und dieser Aufwand wahrscheinlich auch keinen Gewinn bringt: Die Quantenmechanik ist eben nicht das angepasste Denkmodell für die meisten (Allerwelts-)Probleme und bei der Lösung auch nicht effizienter.

Was kann man dann damit?

Die Antwort ist sehr einfach: QC ist im Wesentlichen eine Methode zum Quantum Computing. Das klingt jetzt redundant, heißt aber, dass ein Quantencomputer eine universelle Maschine ist, um Quantensysteme zu berechnen. Dieser Vision, die Richard Feynman schon 1981 formuliert hat, folgt die Logik der Forschung bis heute. So ist es wenig überraschend, dass die Veröffentlichungen zum Thema, die sich mit Anwendungen befassen, entweder in der Quantenchemie oder der Grundlagenforschung der Physik angesiedelt sind [5][6].

Warum ist das wichtig?

Weil der klassische Computer sehr ineffizient darin ist, Quantensysteme zu berechnen oder zu simulieren. Diese Ineffizienz ist prinzipiell begründet in der mathematischen Struktur der Quantenmechanik und wird sich durch noch so gute klassische Algorithmen nicht beheben lassen. Neben Fragen der Grundlagenforschung wird QC wahrscheinlich auch wichtig werden im Bereich der Hardware klassischer Computer, wo man im Zuge der Miniaturisierung an Grenzen der Auslegung von Transistoren auf den Chips mit Hilfe der klassischen Theorien zur Elektrizität stößt. 

Daneben gibt es eine Reihe interessanter Verbindungen zur Zahlentheorie und anderen diversen Problemen, die man bisher als interessante Kuriosa einstufen kann. Allein die Verbindung zur Zahlentheorie könnte nach jetzigem Wissensstand eine erhebliche Auswirkung haben, da sich aus historischen Gründen fast alle praktischen asymmetrischen Verschlüsselungsverfahren auf Algorithmen stützen, die im Wesentlichen annehmen (einen Beweis dafür gibt es nicht), dass die Primzahlfaktorisierung mit klassischen Algorithmen nicht effizient zu lösen ist. Quantencomputer können das im Prinzip, sind jedoch hardware-technisch weit davon entfernt, das zu realisieren.