
🎤⌨️ Akustisches Tastaturabhören
Dies ist eine Sammlung von Kommandozeilen- und GUI-Werkzeugen zum Erfassen und Analysieren von Audiodaten.
Das interessanteste Werkzeug heißt keytap - es kann gedrückte Tastaturtasten erraten, indem es nur das über das Mikrofon des Computers aufgenommene Audio analysiert.
Weitere Details finden Sie in diesem Blogbeitrag:
Keytap: Beschreibung und einige zufällige Gedanken
Video: Kurzdemo von Keytap in Aktion
Das Werkzeug keytap2 ist ein weiteres interessantes Werkzeug zur Wiederherstellung von Text aus Audio. Es benötigt keine Trainingsdaten – stattdessen verwendet es statistische Informationen über die Häufigkeiten von Buchstaben und n-Grammen in der englischen Sprache.
Eine ausführlichere Beschreibung des Werkzeugs finden Sie hier: Keytap2 Diskussion
Video: Kurzdemo von Keytap2 in Aktion
CTF: Kannst du den getippten Text erraten?
Diese Version führt im Vergleich zu keytap2 erhebliche Algorithmusverbesserungen und bessere n-Gramm-Statistiken ein. Der Angriff ist jetzt vollständig automatisiert und erfordert während des Textwiederherstellungsprozesses keine manuellen Eingriffe.
Video: Kurzdemo zur Verwendung von Keytap3
Video: Ein weiteres Beispiel für die Verwendung von Keytap3
Überprüfen Sie, ob Ihre Tastatur anfällig für Keytap ist:
"Das funktioniert unglaublich gut.
Ich hoffe, dir ist klar, was du erschaffen hast (und der ganzen Welt zur Verfügung gestellt hast)." -- ffpip
"Ich habe es gerade ausprobiert und es funktioniert unglaublich gut. Es bringt mich fast dazu, keine mechanische Tastatur mehr verwenden zu wollen." -- Karawebnetwork
"Dieser Angriff und Van-Eck-Phreaking sind der Grund, warum Edward Snowden beim Eintippen von Passwörtern und anderen sensiblen Informationen eine Decke über sich und seinen Laptop legte." -- aarchi
"Das haben Benutzer mechanischer Tastaturen verdient" -- super guy
"Scheiße.." -- Lluis Franco
Abhängigkeiten:
SDL2 - wird verwendet, um Audio aufzunehmen und GUI-Fenster zu öffnen libsdl
[Ubuntu]
$ sudo apt install libsdl2-dev
[macOS mit Brew]
$ brew install sdl2
[MSYS2]
$ pacman -S git cmake make mingw-w64-x86_64-dlfcn mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
FFTW3 (optional) - einige der Hilfswerkzeuge führen Fourier-Transformationen durch fftw
Linux, FreeBSD, macOS, Windows (MSYS2 + MinGW)
git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make
Kurze Zusammenfassung der verfügbaren Werkzeuge. Wenn der Status des Werkzeugs nicht stabil ist, sollten Sie mit Problemen und nicht optimalen Ergebnissen rechnen.
record-full
Nimmt Audio als rohe Binärdatei auf der Festplatte auf
./record-full output.kbd [-cN]
play-full
Gibt eine mit dem Werkzeug record-full aufgenommene Aufnahme wieder
./play-full input.kbd [-pN]
record
Nimmt Audio nur während des Tippens auf. Nützlich zum Sammeln von Trainingsdaten für keytap
./record output.kbd [-cN] [-CN]
play
Gibt eine mit dem Werkzeug record erstellte Aufnahme wieder
./play input.kbd [-pN]
keytap
Erkennt gedrückte Tasten in Echtzeit durch Audioaufnahme über das Mikrofon. Verwendet mit dem Werkzeug record aufgenommene Trainingsdaten.
./keytap input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN] [-pF] [-tF]
keytap-gui
Erkennt gedrückte Tasten in Echtzeit durch Audioaufnahme über das Mikrofon. Verwendet mit dem Werkzeug record aufgenommene Trainingsdaten. GUI-Version.
./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN]
Online-Demo: https://keytap.ggerganov.com
keytap2-gui record.kbd n-gram-dir [-pN] [-cN] [-CN]
Jegliches Feedback zur Leistung der Werkzeuge wird sehr geschätzt. Bitte hinterlassen Sie einen Kommentar hier.
| Name | Typ | Status |
|---|
| record | text | stabil |
| record-full | text | stabil |
| play | text | stabil |
| play-full | text | stabil |
| view-gui | gui | stabil |
| view-full-gui | gui | stabil |
| key-detector | text | stabil |
| keytap | text | stabil |
| keytap-gui | gui | stabil |
| keytap2-gui | gui | stabil |
| keytap3 | text | stabil |
| keytap3-gui | gui | stabil |
| - | extra | - |
| guess-qp | text | Experiment |
| guess-qp2 | text | Experiment |
| keytap3-multi | text | Experiment |
| scale | text | Experiment |
| subreak | text | Experiment |
| key-average-gui | gui | Experiment |
| keytap2 | text | Experiment |
Erkennt gedrückte Tasten durch Audioaufnahme über das Mikrofon. Verwendet statistische Informationen (n-Gramm-Häufigkeiten) über die Sprache. Es sind keine Trainingsdaten erforderlich. Die Eingabedatei 'record.kbd' muss mit dem Werkzeug record-full erzeugt werden und enthält die zu analysierenden Audiodaten. Der Ordner 'n-gram-dir' muss n-Gramm-Wahrscheinlichkeitsdateien für die entsprechende Sprache enthalten.
./keytap2-gui record.kbd ../data
Online-Demo: https://keytap2.ggerganov.com
keytap3
Vollständig automatisierte Wiederherstellung unbekannten Textes aus Audioaufnahmen.
./keytap3 input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
Online-Demo: https://keytap3.ggerganov.com
keytap3-gui
GUI-Version des Werkzeugs keytap3.
./keytap3-gui input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
Online-Demo: https://keytap3-gui.ggerganov.com
view-full-gui
Visualisiert Wellenformen, die mit dem Werkzeug record-full aufgezeichnet wurden. Kann auch die Audiodaten abspielen.
./view-full-gui input.kbd [-pN]