Esiste l'autenticazione a più fattori per le macchine?

11

La maggior parte di ciò che ho visto sull'autenticazione mutiifactor (ad es. wikipedia o qui in sé) sembra umano centrico. Cioè è un umano che interagisce con una macchina e i fattori sono associati all'autenticazione dell'identità dell'essere umano alla macchina. I fattori sono legati a una persona:

  • qualcosa che conosci (pin, password, ecc.)
  • qualcosa che hai (token, cellulare, ecc.)
  • qualcosa che sei (riconoscimento vocale, impronte digitali, ecc.
  • da qualche parte (posizione - sei dove dovresti essere, o sei da qualche parte "fuori posto" o "meno affidabile")

Se tutti questi, "tu" è una persona. L'autenticazione a fattore singolo è generalmente "qualcosa che conosci" ed è considerata meno sicura al giorno d'oggi a causa della prevalenza di keylogger, malware, attacchi di dizionario e tutti gli exploit contro il server che detiene la password. Quindi la comunità di sicurezza ha inventato questi altri fattori per ridurre il rischio.

Ci sono molti fattori per la comunicazione macchina-macchina? La maggior parte delle nostre macchine comunica tramite ssh e sono 'single factor' (qualcosa che la macchina "sa"). Poiché si tratta di una macchina, vengono utilizzate chiavi "forti" (ad esempio lunghe). A causa della loro lunghezza, sono meno inclini agli attacchi di dizionario. Tuttavia è ancora 'single factor' - una volta che conosci la password, il sistema può essere compromesso.

Iptables e le regole del firewall potrebbero essere considerate un secondo fattore simile a "da qualche parte". Restrizioni adeguate potrebbero aiutare a limitare la superficie di attacco.

@ tom-leek sottolinea la differenza tra "la minaccia per una persona è la rappresentazione" e "la minaccia per una macchina è sovversione". Una volta che un computer è stato sovvertito, "cosa può fare un computer, può farlo". Sono interessato al ripple oltre il computer originale sovvertito. Anche se distruggo il computer sovvertito (abbastanza facile da fare in un'applicazione cloud), l'hacker conosce ancora le chiavi ssh e può usarle da altre macchine (cioè è una minaccia di rappresentazione). Credo che il modo standard per mitigare questo sarebbe ripudiare quella chiave pubblica ssh. Questo si increspa in molte altre macchine e mi chiedevo se ci fossero altri fattori utili per la minaccia di "impersonificazione".

Quali altri "fattori" ci sono nell'autenticazione machine-to-machine?

    
posta Duncan 14.03.2013 - 21:52
fonte

6 risposte

11

Durante l'autenticazione degli umani , il pericolo principale è rappresentazione : qualcun altro che si presenta come l'utente previsto. Poiché gli esseri umani sono biologici e non digitali, ci deve essere un collegamento tra i due mondi: qualcosa che lega il concetto di identità fisica a sequenze di bit su cui i computer possono nutrire.

Utilizziamo l'autenticazione a più fattori perché ogni singolo fattore che potremmo pensare è piuttosto debole. Le password possono essere indovinate (non possono essere ingannevoli perché altrimenti gli utenti non le ricorderebbero) o afferrate (registrando con una videocamera ad alta velocità la vera battitura della tastiera - con un semplice telescopio, questo può essere fatto da parecchie miglia di distanza !). La biometria richiede il controllo visivo (cioè una guardia armata che verifica che ciò che accade sul lettore di impronte digitali sia effettivamente un dito umano ancora attaccato al resto dell'umano). I dispositivi hardware possono essere rubati ( soprattutto smartphone, il tipo di oggetto più rubato). Ammucchiando diversi fattori insieme, speriamo di far fronte a questa situazione scadente.

Con computer , la situazione è completamente diversa. Qualsiasi computer può contenere un token di autenticazione estremamente robusto, ad es. una grande chiave asimmetrica . Il pericolo principale per i computer è subversion . In effetti, ciò che un computer può fare, può farlo. Ciò significa che se un dato server viene hackerato, allora tutti i "fattori di autenticazione" che il server potrebbe utilizzare sono ora ugualmente accessibili all'utente malintenzionato. Pertanto, gli scenari che implicano il fallimento di un fattore di autenticazione controllato dal computer, vale a dire gli scenari in cui i fattori di autenticazione supplementari sarebbero ritenuti utili, sono precisamente il tipo di scenario in cui i fattori di autenticazione aggiuntivi non aggiungono alcun vantaggio.

Si potrebbe immaginare una configurazione mista uomo / macchina: il computer contiene una chiave privata, utilizzata per l'autenticazione con altri computer, ma la chiave è archiviata crittografata con una password che il computer non conosce; deve essere digitato al momento dell'avvio (o eventualmente a intervalli regolari). Questo porterebbe un po 'di sicurezza aggiuntiva, almeno in alcune sottocasi di sovversione. Tuttavia, i server che non possono riavviarsi in modo automatico tendono ad essere impopolari con gli amministratori di sistema.

    
risposta data 14.03.2013 - 22:28
fonte
3

L'unico modo per autenticare una macchina tramite 2FA potrebbe essere l'uso di un dongle fisico o HSM (modulo di sicurezza hardware) che potrebbe essere utilizzato per crittografare / firmare un messaggio. Questo è qualcosa che non può essere rubato da un impostore attraverso l'accesso logico alla macchina come potrebbero essere le chiavi segrete memorizzate sulla macchina stessa. L'HSM dovrebbe essere rubato per impersonare la macchina.

    
risposta data 15.03.2013 - 01:08
fonte
2

Hai praticamente colpito i due modi più comuni per identificare una macchina: - dove è - come si identifica

Dove si trova, e come lo si determina, sono una funzione di, beh, dove si trova. Su una LAN locale molti prodotti scelgono di utilizzare l'indirizzo MAC di livello 2 per identificare un sistema. Questo non è male, ma lo spoofing MAC non è poi così difficile. Se la tua rete può eseguire l'applicazione MAC allo switch, questa è una misura di sicurezza abbastanza decente, ma solo come uno strato di un approccio a più livelli. Un altro computer sulla LAN, se compromesso, non sarebbe in grado di falsificare l'indirizzo MAC perché lo switch rifiuterà il MAC su una porta su cui non è consentito attivarsi. Un inconveniente qui è l'onere amministrativo di impostare questo ambiente e mantenerlo.

Nei livelli 3 e 4 della rete possiamo implementare le regole tradizionali di firewall / filtraggio dei pacchetti. L'hai già menzionato e, se fatto bene, lo sforzo aggiunge un ulteriore livello di sicurezza. Il filtraggio dei pacchetti può essere effettuato a livello di host, switch o router / firewall della rete, oppure tutti 3. Il vantaggio di farne più di uno è la rilevazione di correlazione e anomalie.

I tasti su un sistema utilizzato per le comunicazioni e l'identificazione crittografate, per impedire che una macchina sovvertita venga impersonata, dovrebbero essere archiviati in modo sicuro, come accennato in precedenza.

Questi livelli insieme rappresentano i metodi più tipici utilizzati e, se fatti bene (in modo completo) offrono una straordinaria sicurezza. Ma continua a non chiudere i loop.

È possibile aggiungere altre due cose.

Innanzitutto, profilazione del dispositivo. Come accennato in precedenza, un sacco di registrazione può aiutare con il rilevamento di anomalie. Tutti questi dati che alimentano i registri, se correlati, possono fornire una notifica; ma, solo se sai cosa dovrebbe fare l'host in primo luogo. Se Host-A ha lo scopo di connettersi con Host-B su TCP / 22, questo è un modello di traffico regolare. Se improvvisamente Host-A sta tentando di connettersi con Host-B, C e D su un intervallo di porte, probabilmente è qualcosa da guardare.

Quindi, il comportamento diventa un fattore di identificazione. (Questo è un po 'come i sistemi di identità che cercano di abbinare il modo di digitare la tua password, in modo che anche se qualcun altro sa qual è la loro password, il modo è immesso sarebbe diverso. Ad esempio, il modo in cui digito "password" sulla tastiera sarebbe completamente diverso da quello di un indovino della password a forza bruta che invia automaticamente la stringa.)

Network Admission / Access Control (NAC) è un altro modo per identificare una macchina. Quali processi sono in esecuzione? Quale software è installato? Un agente dovrebbe raccogliere tali informazioni e fornirle a un altro sistema che decidesse se dovrebbe essere autorizzato sulla rete. Di nuovo, ora stiamo profilando la macchina. Questo ci dà un'altra visione di se la macchina è la macchina. Tripwire, la versione veramente vecchia e quella nuova, fanno anche qualcosa di simile tagliando tutti i file. Questo può essere molto utile perché una macchina sovvertita potrebbe diventare il "cattivo ragazzo". Ora il "cattivo ragazzo" sembra legittimo, ma potrebbe avere installato software dannoso o file che sono stati sostituiti.

Quindi, accertarsi che una macchina sia davvero quella macchina che si ritiene debba essere più di due fattori. Una macchina sovvertita è ancora il sistema che pensavi di essere, ma potrebbe anche essere più. Quindi, un fattore importante per assicurarsi che i sistemi siano ciò che pensi siano profilare il sistema stesso e ciò che sta facendo sulla tua rete, o con gli altri sistemi con cui interagisce.

    
risposta data 15.03.2013 - 16:35
fonte
2

Autorizzare una macchina suona come una decisione booleana, ma puoi progettare applicazioni distribuite in modo che le macchine siano reciprocamente sospette.

Osserva che rubare un segreto rende solo più facile abusare dell'autorità se puoi forgiare un messaggio che descrive l'autorità che vuoi esercitare, quindi rendere i messaggi più difficili da falsificare può fungere da secondo fattore.

Nel modello di sola autorizzazione, una macchina riceve un messaggio

+----------------------------------+
|Header: secret-key                |
+----------------------------------+
|Body:                             |
|debit account for Alice Smith     |
|credit account for Craig McEvil   |
+----------------------------------+

con un segreto nell'intestazione, o firmato con un segreto, e la macchina ricevente agisce su tutti i messaggi così firmati.

Invece di fidarsi di qualsiasi messaggio che arriva con una singola chiave, che permette a qualcuno che ruba la chiave di falsificare messaggi, è possibile rendere i messaggi più difficili da falsificare identificando i principi usando identificatori non guidabili (ovvero crypto-strong PRNG), quindi il tuo messaggio potrebbe apparire come

+----------------------------------+
|Header: secret-key                |
+----------------------------------+
|Body:                             |
|debit account for ASVX009I...     |
|credit account for OAbB73I9...    |
+----------------------------------+

quindi, solo se un utente malintenzionato può ottenere anche un identificatore opaco e inaffidabile, può scaricare un account, riducendo così il rischio di errori sistematici.

Inoltre, se hai bisogno di rubare le chiavi di più macchine per ottenere un identificatore di account e addebitare l'account, hai sollevato la barra per un attacco e allargato la finestra durante la quale è stata rilevata la tua intrusione.

    
risposta data 15.03.2013 - 21:22
fonte
1

Sì. ad esempio, certificati combinati con segreti condivisi. Vedo che questo viene utilizzato in soluzioni di backup proprietarie, ad esempio, il certificato è richiesto per comunicare anche con il sottosistema di autenticazione, quindi una password utilizzabile una sola volta per l'accesso (e modificata al logout).

Anche se la macchina è duplicata, il certificato non ti porterà lontano (a meno che non stia duplicando la macchina entro 24 ore dall'ultima modifica della password) ... e anche in quel caso, la violazione verrà rilevata nella successiva ciclo di backup.

Si potrebbe sostenere che non si tratta dell'autenticazione multifattoriale, ma della sicurezza a più livelli, ma penso che la differenza sia la semantica. Se non si dispone del certificato, la password è inutile. Se non hai la password, il certificato è inutile. È due fattori nei miei libri.

Ovviamente, il firewall sta limitando l'IP di origine, ma penso che potrebbe essere un allungamento dal momento che tali informazioni non sono ben protette.

    
risposta data 15.03.2013 - 14:16
fonte
1

Le funzioni fisiche non clonabili forniscono un strong fattore "qualcosa che sei" per le macchine. Tali funzioni possono essere trovate nel tuo PC , ma è anche possibile progettare in supporto per PUF, ad esempio utilizzo di un FPGA .

Per utilizzare un PUF per autenticare una macchina, il verificatore deve conoscere una coppia di risposta alla sfida. È possibile utilizzarlo per creare potenti funzioni di autenticazione .

Una panoramica dettagliata delle PUF è fornita in questo documento .

    
risposta data 15.03.2013 - 23:42
fonte

Leggi altre domande sui tag