Consentire o negare l'accesso a una rete basata sull'hardware client [duplicato]

1

Dobbiamo costruire un prodotto che abbia una rete. Gli utenti saranno in grado di connettersi a questa rete scaricando un client. Tuttavia, prima di consentire loro di accedere alla rete, vogliamo verificare se il loro hardware, ad esempio, supporta determinate caratteristiche.

Avevo pensato che inviando al nostro server il risultato di un test, che cerca queste caratteristiche hardware e il suo hash, entrambi crittografati, potrebbe essere sufficiente. Tuttavia, temo che questo risultato possa essere "iniettato", e quindi saremmo ingannati nel pensare che lui / lei abbia l'hardware corretto.

Sulla stessa lunghezza d'onda, potrei voler controllare che il client non sia stato manipolato, usando, per esempio, un algoritmo di hashing. Penso che affrontiamo un problema simile a quello dello scenario di verifica dell'hardware.

    
posta eversor 01.07.2013 - 14:22
fonte

2 risposte

3

Quindi, in termini di società di gioco che bloccano software illegale, come @lucaskauffman e @terrychia menzionano in commmenti questo è tipicamente fatto dalla società che rilascia le chiavi di licenza a ciascun utente e poi fa un controllo online durante l'installazione / operazione che la chiave è solo usato in un posto ed è una chiave valida.

Se stai cercando di limitare l'accesso a un sistema basato su caratteristiche hardware o magari su software / configurazione installati sembra più un lavoro per i sistemi in stile NAC (Network Access Control).

In genere funzionano distribuendo un agente su ciascun client che esegue una serie di controlli restituendo il risultato all'hardware di rete che consente quindi l'accesso alla rete solo se il risultato è come previsto.

Un grosso avvertimento con questo tipo di sistema è che un determinato attaccante sarà probabilmente in grado di aggirarlo. L'avviso di sicurezza è che una volta che l'utente malintenzionato ha il controllo dell'hardware (in questo caso il client) di solito può ignorare i controlli implementati su di esso.

Non vuol dire che non sia un buon controllo, ma che sia efficace solo in alcune situazioni e contro alcune classi di aggressori.

    
risposta data 01.07.2013 - 15:28
fonte
1

C'è una buona regola da tenere presente qui: -

Using only client sided validation never works. https://stackoverflow.com/questions/3531968/why-is-client-side-validation-a-security-risk-as-opposed-to-server-side-validati

Pertanto, se si chiede solo a un software basato sul client di verificare l'autenticità degli host, non funzionerà mai (con o senza cose come i controlli hash). Possiamo discuterne nei commenti o nella chat room. ;)

Siamo quindi più concentrati sui concetti in cui l'autenticazione viene gestita su un server remoto che viene considerato sicuro dall'attaccante.

Le soluzioni correlate di Network Access Control (NAC) sono utili per la maggior parte delle applicazioni, ma come quasi tutto è la sicurezza non può darti una soluzione in un solo passaggio. Hanno il vantaggio di non richiedere spesso installazioni software client-side. Prova PacketFence: link

La maggior parte delle soluzioni in cui il software può essere installato sul computer di un cliente implicano dare agli utenti credenziali di accesso univoche che vengono quindi verificate per l'integrità sul server. L'uso simultaneo di un set di credenziali non è consentito e viene rilevato tramite due sessioni simultanee dallo stesso ID utente dal modulo di gestione delle sessioni.

Funziona bene a meno che tu non voglia che le credenziali di accesso utente siano legate a un PC. In tal caso, non esiste una soluzione definitiva che io conosca. Gli amministratori si affidano a cose come l'utente non ha il know-how per clonare l'immagine del sistema operativo o per rubare e spoofare il MAC.

Implementando più controlli di questo tipo e mantenendo i registri insieme a ciò, è possibile intercettare i guai provocatori potenzialmente avventurosi mentre impari come aggirare il sistema.

    
risposta data 01.07.2013 - 15:48
fonte

Leggi altre domande sui tag