- Ein Skript, das die Altersverifizierungsverfahren mehrerer Plattformen automatisch als erwachsen besteht
- Wenn man Code in die Discord-Konsole einfügt und ausführt, sendet es automatisch eine API-Anfrage an
/age-verification/verify und wechselt zur Seite für den abgeschlossenen Verifizierungsvorgang
- Auch auf anderen Plattformen wie Twitch, Kick und Snapchat ist mit derselben Methode eine Verifizierung möglich, indem die QR-Code-URL eingegeben wird
- Dieses Tool missbraucht die Verarbeitungsstruktur für Gesichtsdaten des k-id-Systems, um auch ohne echtes Gesicht legitime Metadaten zu erzeugen
- Es wurde so entwickelt, dass es im Zuge der globalen Ausweitung von Altersverifizierungen das Prüfverfahren umgeht, indem AES-GCM-Verschlüsselung und vorhersagbare Datenstrukturen nachgebildet werden
Verifizierungsverfahren bei Discord
- Die Methode besteht darin, ein bestimmtes Skript in die Entwicklerkonsole (F12) der Discord-Web-App einzufügen und auszuführen
- Das Skript extrahiert den Webpack-Modul-Cache von Discord, findet den internen API-Client und sendet eine Anfrage an den Endpunkt
/age-verification/verify
- Die als Ergebnis erhaltene
verification_webview_url wird zu age-verifier.kibty.town weitergeleitet
- Der Nutzer muss nach dem Lösen des Captchas warten, bis die Seite „success“ anzeigt; dann ist die Verifizierung abgeschlossen
- Dadurch wird das Discord-Konto als altersverifiziert angezeigt
Verifizierung auf anderen Plattformen (Twitch, Kick, Snapchat usw.)
- Auf der Altersverifizierungsseite der jeweiligen Plattform die Option „selfie“ auswählen und die angezeigte URL des QR-Codes kopieren
- Diese URL in das Eingabefeld von
age-verifier.kibty.town einfügen und auf den Button „verify“ klicken
- Danach läuft der Verifizierungsprozess automatisch weiter und zeigt eine Erfolgsmeldung an
Funktionsweise
- Das von Discord verwendete k-id-System zur Altersverifizierung sendet keine Gesichtsaufnahmen an den Server, sondern nur gesichtsbezogene Metadaten und Details zum Prozess
- Durch diese Struktur ist es möglich, die Verifizierung auch ohne echtes Gesicht zu bestehen, wenn glaubwürdig wirkende Metadaten manipuliert und übermittelt werden
- Nachdem in der Vergangenheit der k-id verifier von amplitudes veröffentlicht wurde, verschärfte der Partner faceassure zwar die Prüfung, doch dieses Tool umgeht sie nun auf neue Weise
Technische Detailschritte
- Schritt 1: Reproduktion der Verschlüsselungsparameter
- Im Vergleich zu legitimen Anfragen wurde festgestellt, dass
encrypted_payload, auth_tag, timestamp und iv fehlen
- Bei der AES-GCM-Verschlüsselung wird der Schlüssel aus
nonce + timestamp + transaction_id mittels HKDF(SHA-256) abgeleitet
- Durch Nachbildung derselben Struktur werden die fehlenden Parameter erzeugt
- Schritt 2: Manipulation der Vorhersagedaten
- Als selbst eine perfekte Nachbildung der Verschlüsselung scheiterte, wurde festgestellt, dass die Verifizierung von den „prediction arrays“ (outputs, primaryOutputs, raws) abhängt
- Auf Basis der
raws-Daten werden mit z-score Ausreißer entfernt und daraus outputs sowie primaryOutputs erzeugt
- Zusätzlich werden die folgenden Bedingungen geprüft
- Für die Werte
xScaledShiftAmt und yScaledShiftAmt sind jeweils nur zwei Möglichkeiten zulässig
- Der Medienname (Kamera) muss mit der tatsächlichen Geräteliste übereinstimmen
- Der Abschlusszeitpunkt des Status muss mit der Timeline übereinstimmen
- Der Open-Source-Code, der all diese Prozesse implementiert, wurde veröffentlicht und kann von jedem eingesehen werden
Veröffentlichung und Hintergrund
- Der Entwickler bedankt sich bei xyzeva und Dziurwa sowie bei amplitudes, die bereits früher an verwandten Arbeiten beteiligt waren
- Es wird erklärt, dass Discord die globale Altersverifizierung im März flächendeckend einführen will und deshalb eine neue Methode zur Umgehung der Prüfung erforscht wurde
Noch keine Kommentare.