Perché il sistema operativo non si autenticano da me?

1

A volte mi capita, quando faccio qualcosa come un brew install , o qualsiasi cosa su una CLI (anche se suppongo che questo sia vero anche per le GUI in misura minore) che mi suggerisce una password - che in realtà no è stato fatto uno sforzo per autenticare che è il sistema operativo che ha il controllo di stdin.

Sembra, almeno per me, che si possa scrivere un programma che sembrerebbe ragionevole fornire un accesso di root, anche se potrebbe stampare un prompt: 'Password:', e forse non avrei mai saputo che avevo dato il mio password del SO in chiaro per l'applicazione.

Potrei pensare di averlo fatto, se l'applicazione ha fatto qualcosa che ha richiesto sudo, e così il sistema operativo ha richiesto; anche se allora non potrei essere sicuro - se generasse un altro processo, ad esempio, penso che sarebbe possibile che il sistema operativo inviasse realmente due volte, una volta per ogni bambino?

Questo vale anche per le GUI, solo molto marginalmente (e contro Kirckhoff) meno a causa della necessità di replicare il prompt del sistema operativo.

Perché non c'è una qualche forma di autenticazione - a prescindere che possa sembrare - dimostrando a me , l'utente, che il presunto sistema operativo, è il sistema operativo quando ad es. richiede la mia password?

    
posta OJFord 17.05.2015 - 16:55
fonte

1 risposta

1

Quando digiti "sudo [software]", suppone sempre che il software abbia bisogno dei diritti di amministratore.

Quindi, il sistema operativo chiederà la password, prima che il processo [software] abbia una possibilità di funzionare.

Tuttavia, hai un rischio, e questo è il momento in cui hai impostato sudo per "ricordare" la tua autorizzazione per un tempo prestabilito. Questo è il comportamento predefinito, e penso che il tempo sia impostato su 5 minuti. Questo può essere disabilitato così sudo chiederà sempre la password il 100% delle volte.

Quindi se "autorizzazione ricordare" è abilitato, il software che stai lanciando usando sudo, potrebbe chiedere la tua password, e pensi che sia il prompt sudo. MA RICORDA: Hai già autorizzato il software a essere eseguito come root, in modo che possa facilmente eseguire "passwd [nome utente]" e modificare la password, se il software è dannoso e vuoi mantenere l'accesso come root. Un'altra cosa che il software può fare, dal momento che è in esecuzione come root, è aggiungere un proprio account utente con diritti sudo, o semplicemente cambiare la password di root in qualcosa che il software conosce.

Una volta che autorizzi un software a essere eseguito come root tramite sudo, presumi che questo software sia completamente legittimo e completamente affidabile al 100%, quindi un'autenticazione utente OS > non aggiungerebbe alcuna sicurezza.

Finché digiti il comando "sudo", non esiste un'applicazione che non abbia i diritti di root, potresti ingannarti a inserire la tua password per un processo dannoso.

Se un software tuttavia "auto-sudo" quando ha bisogno di diritti elevati, come "brew install" senza sudo, c'è la possibilità che il software acquisisca la tua password.

Tuttavia, diciamo che il sistema operativo autentica tramite l'autenticazione reciproca, visualizzando una "domanda di sicurezza" che solo tu e il sistema operativo conoscete. Quindi il software dannoso potrebbe acquisire l'autenticazione del sistema operativo da solo generando il processo e leggendo da STDIN, oppure il software potrebbe semplicemente posizionarsi come un "MITM" tra il processo di richiesta della password del sistema operativo e l'utente, utilizzando le pipe, visualizzando il sistema operativo corretto. > auth dell'utente (anche se l'autenticazione utente di OS- > sarebbe un sistema di password monouso) E anche l'acquisizione della password.

Windows ha risolto questo problema richiedendo all'utente di premere CTRL + ALT + CANC prima di accedere. Se un utente generava un processo simile a una finestra di dialogo di accesso e lo metteva a schermo intero nel tentativo di acquisire, ad esempio, le credenziali dell'amministratore, l'amministratore notava che mancava il prompt CTRL + ALT + CANC, OPPURE che l'amministratore premesse CTRL + ALT + CANC che avvia invece il task manager, che dà immediatamente il via libera alla finestra di accesso.

Tuttavia, questo è applicabile solo per la prima finestra di dialogo di accesso. Non è possibile eseguire alcuna protezione / autenticazione per l'accesso richiesto eseguito mentre una sessione utente è attiva, che sarebbe protetta da qualsiasi processo dannoso in esecuzione come tale utente.

    
risposta data 18.05.2015 - 03:18
fonte

Leggi altre domande sui tag