Un attacco di forza bruta può essere sicuramente prevenuto su una shell unix / linux?

0

Mi sono un po 'incuriosito dalla sicurezza del computer.

So che la forza bruta è stata discussa un bel po 'su Stack, ma voglio approfondire un po' chiedendo, "E 'possibile / certamente / fermare i tentativi di forza bruta?"

Sì, è possibile rallentare un attacco in vari modi, ma se un attaccante va perfettamente d'accordo con l'attesa di qualche anno, questo non sarà sufficiente.

I puzzle logici sono una tattica popolare, tuttavia stavo considerando questo e sembra che un essere umano possa risolvere e archiviare tutte le risposte al database dei puzzle (con un tempo sufficiente). I dati potrebbero essere cambiati periodicamente, ma questo può a sua volta essere gestito da uno script umano e probabilmente anche da AI.

Anche i tentativi di logging falliti sembrano essere un buon contromisura, ma ovviamente questo non fa necessariamente nulla, specialmente se l'attacker attraversa un nodo tor e non gli importa se l'amministratore è a conoscenza che sta cercando di rompere il password.

Infine, l'unica soluzione garantita sembra essere il frequente cambio di password. Per me, questo sembra analogo al "teorema della scimmia infinita", in cui, se l'attaccante "diventa fortunato" una volta ogni 10 anni, la password è stata ancora infranta.

Questo non è un elenco esauriente di contromisure e nemmeno inizia a toccare alcun numero di metodi di forza bruta come attacchi di dizionario o altro.

Quello che sto chiedendo è, "C'è un modo per essere certi che la tua password non possa essere violata con la forza bruta?"

Per il bene di questo esempio, diciamo che stiamo parlando di una shell linux / unix perché questa sembra essere meno coperta.

    
posta bigcodeszzer 21.01.2016 - 03:58
fonte

1 risposta

2

Iniziamo assicurandoci di avere una chiara comprensione di cosa sia il "forzante bruto".
Un attacco a forza bruta è quando un avversario tenta di indovinare ogni singola combinazione di personaggi, a partire da uno lunghezza e aumentando la lunghezza di uno fino a quando la password non viene spezzata. per esempio. 1, 2, ... a, b, ... 11, 12, ... 1a, 1b, ... aa, ab, ... ecc. A seconda del set di caratteri utilizzato, può richiedere un tempo relativamente breve indovinare tutti i possibili spazi chiave (mixalpha), o relativamente un tempo molto più lungo per indovinare tutti i possibili spazi chiave (mixalpha-numerico-tutto-spazio). La cosa importante da portare via qui è che l'avversario sta semplicemente indovinando (e sta sbagliando) un numero molto elevato di password. Ora ..

"Per il piacere di questo esempio, diciamo che stiamo parlando di una shell linux / unix perché questa sembra essere meno coperta."
Se l'avversario ha accesso locale e l'hard disk non è crittografato, gli hash delle password possono essere ripristinati senza effettuare l'accesso. Se l'hard disk è crittografato, la difesa principale dagli attacchi per tentativi di password è la configurazione dei blocchi tentativo fallito e aumenta il tempo di ritardo dopo un la password non convalida. Da qui mi riferirò a un avversario che è già entrato nel tuo sistema, rubato gli hash delle password e i sali da /etc/shadow , e sta tentando di crackarli.

"C'è un modo per essere certo che la tua password non possa essere violata con la forza bruta?"
No.

Se l'avversario è in grado di recuperare gli hash / sali della password, possono iniziare a forzare gli hash sul proprio hardware, e in questo caso avrai assolutamente zero controllo.

Se invece ti stai riferendo ad un avversario che non ha ancora accesso al tuo computer, ma sta cercando di potenziare il tuo accesso SSH, allora sì, l'utilizzo di un firewall / IPS preverrà praticamente tutti i tentativi di bruteforce. Semplicemente la registrazione degli accessi non riusciti non è sufficiente, ma l'utilizzo di uno strumento che vieta gli IP offensivi ( come Fail2Ban ) fare tentativi di indovinare una password di qualità non fattibile.

"Anche i tentativi di logging falliti sembrano essere un buon contromisura, ma ovviamente questo non fa necessariamente nulla, specialmente se l'hacker attraversa un nodo tor e non gli importa se l'amministratore è a conoscenza che sono cercando di infrangere la password. "

Ok, torniamo agli attacchi remoti, presumibilmente contro SSH?

"... soprattutto se l'autore dell'attacco attraversa un nodo tor ..."

Tor elenca pubblicamente tutti i loro nodi di uscita. Danneggia tutti.

"... e non gli interessa se l'amministratore sa che sta tentando di infrangere la password."

Finché il tuo firewall / IDS è configurato correttamente, non importa quanti diversi server proxy l'avversario ha a loro disposizione, ci vorrebbe una quantità insormontabile di tempo e proxy a bruteforce qualsiasi password di qualità.

"Sì, è possibile rallentare un attacco in vari modi, ma se un attaccante va perfettamente d'accordo con l'attesa di qualche anno, questo non sarà sufficiente."

Gran parte delle versioni di Linux ha cancellato le loro password con SHA-256. Se il tuo avversario è capace di un trilione di tentativi / secondo (come citato da Edward Snowden alcuni anni fa.), E avevi una password a 12 caratteri misti, ci sarebbero voluti 104 mila anni per la forza bruta il poco più di 3 sextillion (3.279.156.381.453.603.300.000) combinazioni possibili di password. A meno che non si stia utilizzando una password con parole del dizionario o modelli comuni di numeri e / o lettere, non ci si deve preoccupare degli attacchi basati su liste di parole / regole, che in realtà è il modo molto più comune e efficace di scansionare le password. Questo non inizia nemmeno a prendere in considerazione il tempo aggiuntivo speso su ogni connessione, se questa era una forza bruta contro un server SSH non firewallato.

"I puzzle logici sono una tattica popolare, tuttavia stavo considerando questo e sembra che un essere umano possa risolvere e archiviare tutte le risposte al database dei puzzle (con un tempo sufficiente). I dati potrebbero essere cambiati periodicamente ma questo può a sua volta essere gestito da un umano e possibilmente script di AI. "

Non so esattamente cosa intendi qui, ma se un essere umano può risolvere un enigma, a un computer può essere insegnato a risolverlo in un tempo immensamente inferiore.

    
risposta data 21.01.2016 - 05:59
fonte

Leggi altre domande sui tag