Ha senso verificare l'integrità del comando dopo averlo eseguito come root?

0

L'altro giorno Dave si stava affrettando per il suo progetto di notte. Voleva installare homebrew sul suo Mac. Digitò "homebrew" nella barra di ricerca di Safari, premette return e fece clic sul primo link. Ha copiato il comando sulla pagina web, incollato nel terminale, quindi inserito la sua password sudo.

Dopo ciò, Alice passò e gli chiese se avesse controllato il comando prima di inserire la password sudo. Dave lo ha immediatamente controllato: ha fatto scorrere verso l'alto e /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" era ancora lì. Safari mostrava brew.sh e il certificato era valido. Gli appunti contenevano lo stesso comando.

Tuttavia, Alice ha detto che è troppo tardi perché Dave ha già digitato la sua password sudo, dando il privilegio escalation al comando sconosciuto. Dave ha fatto qualcosa di insicuro questa volta?

    
posta tonychow0929 17.11.2018 - 12:53
fonte

1 risposta

0

Did Dave did something insecure this time?

Sì.

Tempo della storia:

Avevo un amico Ramin al college che controllava se il suo succo d'arancia fosse chiuso correttamente scuotendo la bottiglia a testa in giù. Abbiamo coniato un termine dopo di lui:

Def: Ramin Test: a test where you are only prepared for one of the possible outcomes.

Il tuo Dave ha fatto un classico Ramin Test; installa del software arbitrario, eseguilo con sudo, poi chiedi se è malizioso. Cosa avrebbe fatto se la risposta fosse "Sì"? Distruggi il laptop e acquistane uno nuovo? Cambia tutte le sue password e chiama la banca per cancellare le sue carte di credito? Non penso che fosse preparato per questo risultato.

Metafora: dire che apro un pacchetto di polvere bianca in un luogo pubblico affollato, poi chiedo se si trattava di antrace. Ciò che mi accingo a fare? Tutte queste persone sono già infette; il danno è già stato fatto. Allo stesso modo, chiedere se qualcosa è malware dopo che è stato autorizzato a rilevare il tuo computer è quasi inutile.

La cosa giusta da fare è controllare che il software sia prima affidabile che tu gli dia il controllo del tuo computer (aka eseguilo). Questo è il punto di controllare il checksum di un file prima di aprirlo. Questo è il motivo per cui i gestori di pacchetti unix appropriati o il sistema di firma del codice di Windows controllano la firma digitale al momento dell'installazione, e possibilmente anche di nuovo ogni volta che viene eseguito per assicurarsi che non sia stato modificato.

    
risposta data 17.11.2018 - 17:06
fonte

Leggi altre domande sui tag