Inserimento password su OS X e keylogger

3

Ci sono molti posti nella mia 'infrastruttura di sicurezza personale' (c'è una frase migliore per questo?) dove mi ritrovo a digitare password molto importanti in campi di testo su OS X (ad esempio, dis-cifrare e montare thumbdrive contenenti molto dati sensibili.)

Sono (forse irragionevolmente) impaurito dei keylogger, in quanto questi sono l'unico metodo che posso pensare a meno di una vulnerabilità a livello di sistema o di guardare fisicamente (o registrare) le mie attività quando inserisco la password. In altri sistemi sicuri che utilizzo, c'è un'opzione per inserire una parte finale della password usando il mouse o simili, per evitare che i keylogger rendano il lavoro di un aggressore troppo difficile.

tl; dr : esiste un modo per (parzialmente) sconfiggere gli attacchi di keylogger contro l'immissione di password a livello di sistema su OS X?

Modifica: Poiché non sono qui per discutere la fattibilità dei keylogger su OS X, supponiamo che parli di difesa contro un keylogger fisico che viene iniettato nella pipeline dei dati della mia tastiera. (Sia una tastiera sostituita con il logger nascosto all'interno, o qualcosa collegato al suo 'cavo USB.)

    
posta ELLIOTTCABLE 04.01.2015 - 00:34
fonte

3 risposte

2

Is there any way to (partially) defeat keylogger attacks against system-level password entry on OS X?

Sì. Il keylogger tradizionale è un dispositivo hardware che intercetta i dati tra la tastiera e l'immissione di dati di carattere sul controller della tastiera (principalmente dispositivo USB, tastiera HID). I componenti fisici sono pochi e vari sigilli antimanomissione possono essere usati per assicurare l'integrità del sistema fisico. Avresti bisogno di un controllo iniziale per assicurare che nessun keylogger fisico esista, quindi allegare o installare i sigilli. È quindi necessario eseguire controlli periodici o periodici dei sigilli per verificare che l'integrità dell'hardware sia intatta.

Tuttavia i keylogger più moderni sono basati su software o firmware e quindi possono essere difesi solo dai metodi di sicurezza del software. Ciò include la catena dal firmware IC del controller della tastiera, il driver del controller della tastiera, il sottosistema USB del livello OS, il buffer della tastiera e il software della shell.

Ciò richiederebbe di trovare il firmware o il software per ciascun componente della catena e verificare che non sia stato manomesso. Ciò viene solitamente ottenuto ottenendo dal produttore un hash crittografico del firmware o del software per il componente e calcolando l'hash crittografico del software attualmente in uso sul sistema in questione. Se i valori hash crittografici corrispondono, il firmware o il software non sono modificati.

Più software nella catena, più difficile è proteggere e verificare solo per la natura della crescente complessità e più permutazioni delle sequenze di istruzioni.

There's several places in my ‘personal security infrastructure’ (is there a better phrase for that?) where I find myself typing very important passwords into text-fields on OS X (for instance, dis-encrypting and mounting thumbdrives containing very sensitive data.)

I'm (perhaps unreasonably) afraid of keyloggers

Nei keylogger hardware sì, nel software keylogger no.

as these [Keyloggers] are the only method I can think of short of a system-level vulnerability or physically watching (or recording) my activities when entering the password.

No, ci sono molti altri modi per determinare la tua password. Il più comune è trovare una password o una frase esposta da un altro sistema e tentare di usarla sul sistema in questione. Questo di solito ha successo poiché molte persone riutilizzano le password.

Un altro esempio banale è il tentativo di trovare tasti usati frequentemente sulla tastiera sia da sporcizia che da ware e provare le combinazioni con limiti di quei tasti usati frequentemente per trovare la password;

Inoltre ci sono varie forme di ingegneria sociale e phishing che sono piuttosto efficaci.

In other secure systems I use, there's an option to enter a final part of the password using the mouse or similar, to help avoid keyloggers making an attacker's job too difficult.

Ci sono due posibiliti qui. Le chiavi sono divise, ovvero quella parte della chiave è memorizzata in un contenitore sul sistema e una parte della chiave è memorizzata nella tua mente. Oppure la chiave completa è memorizzata in un contenitore e il sistema ha bisogno solo di pochi caratteri per determinare quale chiave è necessaria.

Esistono anche due tipi generali di suddivisioni di chiavi: una che chiamo in sezione e una che chiamo la suddivisione in lunghezza della chiave intera. Il sezionato prende una chiave con n bit e la divide in due o più parti.

Ad esempio: prendere una chiave 0xA55AC33C e dividerla in 0xA55A e 0xC33C.

L'intera lunghezza della chiave divisa prende una chiave di n bit e la divide in due o più parti di lunghezza n.

Ad esempio: prendere una chiave 0xA55AC33C e dividerla in 0x42244224 e 0xE77E8118.

La suddivisione in sezione è una scelta sbagliata per diversi motivi, tra cui l'esposizione a attacchi di forza bruta e problemi che ricombinano la chiave nella corretta endianità e ordine.

Una divisione sezionata potrebbe sventare un keylogger, ma non se l'inserimento della stessa divisione consente a un utente malintenzionato di accedere ai dati sensibili. Ad esempio: se hai solo bisogno di inserire 0xC33C e il keylogger registra questo, un utente malintenzionato può inserire 0xC33C e ottenere lo stesso accesso.

Generalmente, i comandi a livello di shell che non generano i dati sensibili dei caratteri sullo schermo o sul buffer di registro della shell sono più sicuri dei componenti grafici.

    
risposta data 07.04.2015 - 08:04
fonte
0

su mac os X (non proprio su tutti i * NIX) non è facile semplicemente "catturare" la tastiera senza che l'utente sia in grado di scoprirlo. Avresti bisogno di un modulo del kernel per questo e non è così facile ingannare OS X nel caricarlo per te (apple ha alcune caratteristiche sgradevoli per quando si aggiorna). puoi semplicemente chiedere al sistema quali tastiere conosce e ci sono anche alcune funzionalità (come per la casella della password) che richiedono un'interazione diretta con la tastiera 2 dell'app (cosiddetta funzionalità di tastiera sicura) Con la tastiera sicura nessun altro programma è in grado di interferire con il tuo input (applicato dal kernel), quindi il semplice collegamento di un dispositivo HUD non produrrebbe l'input (un dispositivo MITM Capture, tuttavia, come sarebbe un firmware modificato della tastiera, e il programma nella tastiera stessa).

L'abilitazione di una tastiera su schermo aggirerebbe le misure di sicurezza di OS X (può essere fatto, ma richiede di mettere il sistema in una modalità di funzionamento non sicura che disabilita la tastiera sicura) Su os X ogni tastiera funziona in modo indipendente (controlla il blocco maiuscolo, per esempio) in modo da ottenere lo stesso vantaggio digitando la tua chiave usando 2 tastiere.

    
risposta data 05.01.2015 - 16:17
fonte
0

Puoi parzialmente sconfiggere i keylogger, puoi aggiornare a OS X 10.11 che ha aggiunto la funzionalità SIP senza radici . I keylogger come Aobo keylogger per Mac non funzioneranno se SIP è abilitato. Controlla anche le preferenze di sistema - dispositivi di sicurezza e privacy ~ per fermare qualsiasi accesso keylogger. Ma alcuni software di monitoraggio del posto di lavoro come il monitor dei dipendenti di Easemon per Mac non saranno interessati da SIP, quindi questa è solo una soluzione parziale.

    
risposta data 23.10.2015 - 03:25
fonte

Leggi altre domande sui tag