Linux Sicurezza della digitazione delle password tramite xdotool vs driver della tastiera rispetto ad altre soluzioni

3

Sto cercando una soluzione universale silenziosa su come utilizzare la tastiera software per digitare le password su Linux.

Aspettative relative al livello di sicurezza: Ottieni una sicurezza non peggiore (o leggermente peggiore) rispetto a quando le password vengono digitate su applicazioni su tastiera USB fisica. (come nel caso peggiore è il punto di partenza per molte applicazioni che non supportano mezzi più avanzati, e inoltre, posso fare / acquistare il gestore di password hardware che agisce come tastiera usb come alternativa).

Lo scopo della mia preoccupazione qui è il confronto del vettore di attacco / rischi di soluzioni basate su tastiere USB o driver di tastiera vs semplicemente digitandoli tramite xdootool type ? (a lettori inconsapevoli: copiare le password tramite appunti ha un attacco vettoriale che qualsiasi applicazione può leggerlo)

Si prega di notare a tutti i lettori di domande: Se la tua macchina è compromessa, ci sono molti modi in cui le tue password o chiavi possono essere trapelate: incluso rubarle dalla memoria dei programmi. Qui vorrei prendere in considerazione il metodo "ragionevole" di trasporto delle password (sicuramente cerco qualcosa di meglio rispetto agli appunti), considerando i compromessi in mente (sì, mantieni le chiavi hardware, ecc. Ogni volta che puoi, ma non tutti i sistemi supportano quelli mezzi più avanzati di autorizzazione).

    
posta Grzegorz Wierzowiecki 18.10.2017 - 14:59
fonte

2 risposte

3

Qualsiasi applicazione che hai eseguito almeno una volta può, se lo desidera, vedere tutto ciò che scrivi, leggere tutti i tuoi file ed estrarre le password dal tuo gestore di password. Tutto ciò che deve fare è iniettarsi da qualche parte nel sistema:

  • Per vedere tutto ciò che scrivi: connettiti al server X e chiedi. (Per vedere come, esegui xtrace xinput test 42 dove 42 è l'ID del dispositivo della tua tastiera.)
  • In alternativa, prendi il focus senza dare alcun indizio visivo (e ritrasmetti l'input all'applicazione che sembra focalizzata, per evitare il rilevamento immediato).
  • Per leggere tutti i tuoi file: open , read .
  • Per estrarre le password dal gestore delle password: leggi il file del database delle password e ascolta mentre stai digitando la tua password principale. In alternativa, iniettare un wrapper attorno al processo di gestione password e ptrace it.

Sì, in teoria potresti notarlo. Ma in pratica, non lo farai.

Inserire la password negli Appunti ha dei punti deboli, ma le applicazioni locali non sono il problema . Le applicazioni locali possono comunque ottenere le tue password. I principali punti deboli delle password negli appunti sono:

  • Bug del browser che consentono alle applicazioni web (ad esempio qualsiasi scheda del browser aperta) di accedere agli Appunti.
  • Gestori di appunti che conservano una copia della password in un luogo a cui non si penserebbe.
  • Incisione accidentale nel campo sbagliato.

Il modo più sicuro per gestire le password è evitare di manipolarle. Ciò elimina il rischio di errore dell'utente. Quindi salva le tue password nel tuo browser web e usa la password automaticamente.

Per gli usi non web, l'iniezione di input da tastiera con xdotool è buona come si ottiene. Le applicazioni locali possono comunque ottenere le password, quindi non stai perdendo nulla.

    
risposta data 23.10.2017 - 02:37
fonte
1

Come mi sembra, il punto principale da attaccare sono gli eventi X11, che sono piuttosto facili da origliare per qualsiasi applicazione locale, ad es. di xinput test <dev> . Anche X11 è la parte delle (più) distribuzioni standard, e per esse tutte le entrate (incluse le tastiere USB) sono canalizzate attraverso X11.

Il xdotool utilizza le strutture X11 (XTEST) per iniettare le sequenze di chiavi richieste. Quindi presumo che li mandi direttamente attraverso lo stack di eventi X11 come ogni altro input. Poiché hai specificato esplicitamente che il tuo riferimento è una tastiera USB, direi in questo modo che raggiungi il tuo obiettivo di non introdurre ulteriori difetti.

Nota: ci sono alcune applicazioni come gksudo che sono piuttosto resistenti allo snodo X11, non so se questo si applica anche all'input xdotool . Altrimenti sarebbe un punto debole.

    
risposta data 23.10.2017 - 01:25
fonte

Leggi altre domande sui tag