SaveSaveSaveSave ← Alle Ratgeber
Deutsch

Maschinell unterstützte Übersetzung, nicht von Muttersprachlern geprüft. Im Zweifel gilt die englische Fassung.

Ratgeber · Nachrichten-Risiko · · von Stefan Tsezarov · aktualisiert am

Der Text, den du nicht siehst

Zwei Nachrichten können genau gleich aussehen und völlig verschiedene Zeichen enthalten.

Du kopierst eine Nachricht.

Sie sieht normal aus.

Drei gewöhnliche Sätze. Nichts Seltsames.

Du fügst sie in ein Dokument, eine Website, eine Wallet oder einen KI-Assistenten ein.

Und plötzlich passiert etwas, das die Nachricht, so wie du sie gesehen hast, nie zu sagen schien.

Wie?

Weil das, was du auf dem Bildschirm siehst, nicht unbedingt alles ist, was im Text steckt.

Manche Zeichen nehmen überhaupt keinen sichtbaren Platz ein.

Sie sind trotzdem da.

Sie lassen sich trotzdem kopieren, einfügen, speichern und verarbeiten.

Du kannst sie nur nicht sehen.


Dein Computer sieht Buchstaben nicht so wie du

Wenn du einen Satz ansiehst, siehst du Formen.

Dein Computer sieht Daten.

Der Buchstabe A zum Beispiel wird durch ein Unicode-Zeichen mit einem bestimmten Codepunkt dargestellt. Ein Leerzeichen ist ein anderes Zeichen. Jeder Buchstabe, jede Ziffer, jedes Satzzeichen und viele andere Symbole haben ihre eigene Darstellung.

Aber nicht jedes Zeichen erzeugt eine sichtbare Form.

Manche Zeichen sagen Software, wie sich Text verhalten soll.

Sie können einem Programm sagen:

So kannst du zwei Texte haben, die gleich aussehen und doch verschiedene Zeichenfolgen sind.

Dieser Unterschied kann wichtig sein.

Sehr wichtig.

Drei Arten unsichtbaren Textes, die du kennen solltest

Es gibt mehrere Mechanismen, aber drei sind besonders nützlich zu verstehen.

1. Zeichen, die nicht erscheinen

Sie heißen oft Zeichen ohne Breite (zero-width).

Beispiele sind Zero-Width Space, Zero-Width Joiner und Word Joiner.

Sie nehmen eine Position im Text ein, erzeugen aber keine sichtbaren Pixel.

Diese beiden Wörter können zum Beispiel gleich aussehen:

Zwei Wörter · eines ist nicht, was es zu sein scheint

payment

pay​ment

erstes: 7 Zeichenzweites: 8 Zeichen

Im zweiten steckt ein unsichtbares Zeichen.

Du kannst es wahrscheinlich nicht sehen.

Dein Computer schon.

Die beiden Zeichenketten sind also nicht wirklich gleich.

Das kann Suchen, Filter, Benutzernamen, Kennungen und andere Systeme betreffen, die die zugrunde liegenden Zeichen vergleichen statt dessen, was ein Mensch sieht.

Und es gibt einen legitimen Grund, warum manche dieser Zeichen existieren.

Darauf kommen wir zurück.

2. Zeichen, die die sichtbare Reihenfolge ändern

Manche unsichtbaren Zeichen beeinflussen die Textrichtung.

Das ist nötig, weil Sprachen wie Arabisch und Hebräisch von rechts nach links geschrieben werden, Englisch aber von links nach rechts.

Ein Satz mit beiden kann Anweisungen brauchen, wie die Software die verschiedenen Teile anzeigen soll.

Diese Anweisungen können nützlich sein.

Sie können aber auch missbraucht werden.

Ein Steuerzeichen für die Richtung kann die gespeicherten Zeichen auf dem Bildschirm in anderer Reihenfolge erscheinen lassen.

Das schafft ein offensichtliches Sicherheitsproblem.

Ein Dateiname kann zum Beispiel so aussehen, als ende er auf eine Endung, während seine eigentliche Zeichenfolge etwas anderes sagt.

Dasselbe Prinzip kann bei Quellcode wichtig sein.

Ein Prüfer sieht das eine.

Der Computer verarbeitet etwas anderes.

3. Zeichen, die eine unsichtbare Nachricht tragen können

Das ist der ungewöhnliche Fall.

Unicode enthält einen Bereich namens Tags-Block.

Diese Zeichen wurden für Markierungszwecke entworfen und sind bei der Anzeige normalerweise unsichtbar.

Interessant ist, dass einzelne Tag-Zeichen gewöhnliche ASCII-Zeichen darstellen können.

Genug davon zusammen können Text kodieren.

Ein Satz kann also eine zusätzliche Zeichenfolge enthalten, die auf dem Bildschirm nicht erscheint.

Für deine Augen sieht die Nachricht vielleicht wie ein völlig gewöhnlicher Gruß aus.

Für Software, die die eigentlichen Zeichen liest, kann da viel mehr stehen.

Und dieser Unterschied wird besonders interessant, wenn das Ziel ein KI-Assistent ist.

Eine KI sieht deine Nachricht nicht als Foto des Bildschirms.

Sie verarbeitet die Zeichen.

Etwas, das du nicht sehen kannst, kann also trotzdem Teil der Eingabe sein.

So sieht das aus

Nimm diesen Satz:

Send the payment to the address below.

Sieht normal aus, oder?

Stell dir jetzt vor, dass unsichtbare Zeichen hineingesetzt wurden.

Auf deinem Bildschirm kann er immer noch so aussehen — und dieser hier ist echt, vorbereitet zum Testen:

Ein vorbereitetes Beispiel · markieren, kopieren, prüfen

Send the​ payment⁠ to the​ address below.󠁨󠁩󠁤󠁤󠁥󠁮

sichtbare Zeichen: 38tatsächliche Zeichen: 47Unterschied: 9

Aber darunter hält der Computer womöglich zusätzliche Zeichen.

Zum Beispiel:

Derselbe Satz, beschrieben

Was du siehst:

Send the payment to the address below.

Was der Computer erhält:

Send the unsichtbar payment unsichtbar … TAGS

Der sichtbare Satz hat sich nicht verändert.

Die zugrunde liegende Zeichenkette schon.

Das ist die wichtige Idee.

Gleiches Aussehen. Andere Daten.

Wenn du das vorbereitete Beispiel durch einen Scanner laufen lässt, kann er diese Zeichen erkennen, obwohl deine Augen es nicht können.

Tipp den sichtbaren Satz von Hand ab, und die versteckten Zeichen kommen nicht mit.

Das ist der ganze Trick.

Der Buchstabe, der nicht der Buchstabe ist

Unsichtbare Zeichen sind nicht das einzige Problem.

Manchmal ist das Zeichen völlig sichtbar.

Es ist nur nicht das Zeichen, für das du es hältst.

Sieh dir diese beiden an:

Gleiche Form · verschiedene Zeichen

savesavesave

sаvesavesave

zweite Zeichenkette, 2. Zeichen: kyrillisch U+0430nicht lateinisch U+0061

Sie sind fast nicht zu unterscheiden.

Aber sieh dir die zweite genau an.

Das zweite Zeichen ist nicht der lateinische Buchstabe a.

Es ist ein kyrillisches а.

Sie sehen gleich aus.

Es sind verschiedene Zeichen.

Diese Technik heißt Homoglyphen-Angriff.

Dieselbe Idee lässt sich bei Benutzernamen, Domainnamen, Token-Namen und anderen Kennungen anwenden.

Ein gefälschtes Konto kann ein Doppelgänger-Zeichen verwenden.

Eine gefälschte Website kann eine Doppelgänger-Domain verwenden.

Für einen Menschen kann der Name vertraut wirken.

Für einen Computer ist es eine völlig andere Zeichenkette.

Wo kann das wirklich Probleme machen?

Das ist nicht nur ein seltsamer Unicode-Trick.

Es zählt überall, wo Text kopiert, verglichen oder als Grundlage für Handlungen genutzt wird.

KI-Assistenten

Du fügst eine Nachricht in einen KI-Assistenten ein.

Du siehst eine Frage.

Der zugrunde liegende Text kann Zeichen enthalten, die du nicht siehst.

Weil der Assistent den eigentlichen Text verarbeitet und nicht nur das Aussehen, werden diese Zeichen Teil der Eingabe.

Deshalb können Prüfungen auf unsichtbare Zeichen nützlich sein, bevor du nicht vertrauenswürdigen Text in ein System einfügst, das handeln oder vertrauliche Informationen verarbeiten kann.

Benutzernamen und Kontonamen

Zwei Konten können scheinbar denselben Namen haben und doch verschiedene Zeichen enthalten.

Das macht Nachahmung viel schwerer zu bemerken.

Links und Domains

Ein Link kann Zeichen enthalten, die vertrauten Buchstaben ähneln.

Der Name, den du erkennst, ist nicht unbedingt genau die Domain, für die du ihn hältst.

Code

Steuerzeichen für die Richtung und andere ungewöhnliche Unicode-Zeichen können Quellcode schwerer korrekt prüfbar machen.

Ein Entwickler sieht den angezeigten Text.

Der Compiler sieht die tatsächlichen Zeichen.

Suche und Filter

Ein Filter vergleicht meist Zeichenketten.

Setz ein unsichtbares Zeichen ein, und die Zeichenkette ändert sich.

Das kann Suchen, Sperrlisten, Moderationssysteme und andere Werkzeuge zur Textverarbeitung betreffen.

Wie kannst du prüfen?

Du musst kein Unicode-Experte werden.

Es gibt ein paar einfache Prüfungen.

PRÜFUNG 1 — Den Text scannen

Füge verdächtigen Text in einen Scanner für Zeichensicherheit ein.

Ein nützlicher Scanner sollte dir sagen:

Genau das soll der Scanner auf dieser Seite zeigen.

Wichtig ist, dass er dir sagt, was er tatsächlich gefunden hat, statt dir nur ein rätselhaftes grünes oder rotes Licht zu zeigen.

PRÜFUNG 2 — Die Zeichenzahl vergleichen

Das ist eine schnelle Plausibilitätsprüfung.

Wenn ein Satz 38 Zeichen zu haben scheint, ein Zeichenzähler aber 47 meldet, hast du einen Unterschied, dem du nachgehen solltest.

Die Zeichenzahl sagt dir nicht, was die zusätzlichen Zeichen sind.

Aber sie kann dir sagen, dass da etwas ist, das du nicht siehst.

PRÜFUNG 3 — Text abtippen, wenn es passt

Wenn dir jemand eine kurze Anweisung schickt und du die Formatierung nicht brauchst, kann das Abtippen des wichtigen Teils unsichtbare Zeichen aus dem kopierten Text entfernen.

Aber denk daran:

Abtippen macht das Ziel nicht vertrauenswürdig.

Wenn dir jemand zum Beispiel eine verdächtige Webadresse schickt, beweist das Abtippen nicht, dass die Website selbst seriös ist.

Es ist nur ein Weg, versteckte Zeichen im kopierten Text zu vermeiden.

PRÜFUNG 4 — Die tatsächliche Domain lesen

Verlass dich nicht nur darauf, wie eine Domain aussieht.

Wenn ein Link wichtig ist, prüfe die tatsächliche Domain.

Für wichtige Konten nutze ein gespeichertes Lesezeichen oder tipp die bekannte Adresse selbst ein, statt einem unerwarteten Link zu folgen.

Dasselbe Prinzip gilt für Benutzernamen und Wallet-Adressen:

die Form zu erkennen ist nicht dasselbe, wie die Zeichen zu prüfen.

Keine Panik, wenn du ein unsichtbares Zeichen findest

Das ist wichtig.

Unsichtbar heißt nicht automatisch bösartig.

Manche unsichtbaren Unicode-Zeichen gibt es, weil Menschen sie wirklich brauchen.

Zero-Width Joiner können zum Beispiel beeinflussen, wie Zeichen in verschiedenen Schriftsystemen verbunden werden.

Sie werden auch in Emoji-Folgen verwendet.

Steuerzeichen für die Richtung sind nötig, um Text korrekt anzuzeigen, der Schriften von links nach rechts und von rechts nach links mischt.

Ein gefundenes unsichtbares Zeichen heißt also nicht automatisch:

„Das ist ein Angriff.“

Es heißt:

Hier ist etwas, das ich nicht sehen kann.

Was das bedeutet, hängt vom Zusammenhang ab.

Wer hat den Text geschickt?

Was verlangt der Text von dir?

Wo willst du ihn einfügen?

Geht er in einen KI-Assistenten, eine Wallet, eine Website, ein Terminal oder ein anderes System, das danach handelt?

Diese Fragen zählen.

Der Tags-Block verdient besondere Aufmerksamkeit

Tags-Zeichen sind ungewöhnlich, weil ihr Zweck ist, Informationen darzustellen und bei normaler Textanzeige unsichtbar zu bleiben.

Wenn dir ein Fremder eine Nachricht mit einer unerwarteten Folge davon schickt, solltest du dem nachgehen.

Ein Scanner kann zeigen, dass die Zeichen da sind, und, wo es passt, den Text dekodieren, den sie darstellen.

Aber selbst dann sagt die Erkennung nichts über die Absicht des Absenders.

Sie sagt dir, was im Text steht.

Das ist eine viel nützlichere und besser vertretbare Antwort.

Was ein sauberes Ergebnis sagt — und was nicht

Auch hier müssen Sicherheitswerkzeuge ehrlich sein.

Ein Scanner erkennt Zeichen.

Er liest keine Gedanken.

Wenn der Scanner unsichtbare Zeichen findet, kann er dir sagen, welche es sind.

Er kann dir nicht sagen, wer sie eingefügt hat.

Er kann nicht beweisen, warum sie eingefügt wurden.

Und wenn er nichts findet, heißt das nicht, dass die Nachricht selbst vertrauenswürdig ist.

Ein völlig normal aussehender Satz kann trotzdem eine Lüge, einen bösartigen Link oder eine gefährliche Anweisung enthalten.

Ebenso kann eine Nachricht mit einem unsichtbaren Zeichen völlig harmlos sein.

Auch die automatische Erkennung von Homoglyphen hat Grenzen. Ein Scanner kann bekannte Doppelgänger-Zeichen und bekannte Zeichensätze prüfen, aber keine einzelne Prüfung ist eine Garantie, dass jede mögliche optische Täuschung gefunden wurde.

Das Ergebnis sagt dir, was gefunden wurde.

Du musst trotzdem entscheiden, was der Text bedeutet und ob du seiner Quelle vertraust.

Die einfache Gewohnheit, die sich lohnt

Du musst keine Angst vor Kopieren und Einfügen haben.

Werde nur langsamer, wenn der kopierte Text gleich etwas auslösen soll.

Ein KI-Assistent.

Eine Wallet.

Eine Website.

Eine Kommandozeile.

Ein Konto.

Eine Finanztransaktion.

Ein Stück Code.

Wenn du den Text nicht selbst geschrieben hast, weißt du nicht unbedingt alles, was darin steckt.

Und du musst nicht raten.

Prüfe die Zeichen, bevor du sie wirken lässt.

Es dauert Sekunden.

Und in vielen Fällen ist die Prüfung kostenlos.


Dieser Artikel dient der Aufklärung. Er erklärt, wie unsichtbare Unicode-Zeichen, Steuerzeichen für die Textrichtung und Doppelgänger-Zeichen digitalen Text beeinflussen können. Das Beispiel auf dieser Seite enthält absichtlich eingefügte unsichtbare Zeichen, damit du den Mechanismus selbst untersuchen kannst. Der versteckte Text ist harmlos und dient nur der Demonstration. Das Beispiel ist auf Englisch, weil der Scanner englische Texte prüft.

Unsichtbare Zeichen überstehen Kopieren und Einfügen, der Scanner sieht sie also so oder so. Um das Einfügen zu überspringen, nutze das Lesezeichen zum Prüfen markierten Textes.