Permettere a tutti di sapere quando è stato avviato un processo del server comporta un rischio per la sicurezza?

4

Recentemente ho scoperto che nel framework Microsoft .NET un thread impersonato non è autorizzato a richiedere "il momento in cui è stato avviato il processo corrente". Questo potrebbe essere fatto intenzionalmente o questo potrebbe essere un deficit di implementazione.

C'è qualche rischio per la sicurezza se qualche codice eseguito su un server è in grado di trovare quando è iniziato il processo in cui è in esecuzione questo codice?

    
posta sharptooth 18.03.2013 - 10:17
fonte

3 risposte

4

Al di là del consiglio generale "non dire niente a nessuno", che è assolutamente vero, ci sono un paio di cose interessanti sull'orario di inizio del processo dal punto di vista di un attaccante.

  • se si riesce a bloccare un processo, il suo orario di inizio verrà ripristinato. Potresti usare queste informazioni per capire quali altri attacchi stavano funzionando.

  • alcuni sistemi hanno avuto delle vulnerabilità in cui usano l'ora di inizio del processo come seme per la generazione di numeri casuali crittografici - Netscape ha avuto un errore del genere da molto tempo. Se sapessi che un sistema lo ha fatto, l'ora di inizio del processo sarebbe estremamente utile.

risposta data 18.03.2013 - 15:41
fonte
0

Data la domanda di un "utente malintenzionato" sa quando un processo è avviato è che un problema di sicurezza la risposta è sì.Se un utente malintenzionato può analizzare attraverso i tempi di avvio dei processi è già più in profondità nel sistema di una configurazione sicura dovrebbe consentire .

Per questa domanda supponiamo che l'ora di avvio del processo sia l'unico dettaglio disponibile per l'aggressore. Un vincolo irrealisticamente artificiale ma perfetto per concentrarsi sul valore del tempo di inizio per l'attaccante.

Analizzando i tempi di avvio e concentrandosi sul funzionamento più lungo, è possibile restringere rapidamente i processi relativi al kernel avviati all'avvio del sistema, informazioni preziose. La possibilità di vedere tentativi di accesso esterni tramite servizi Web o tentativi di accesso remoto individuando i processi relativi al tentativo di accesso utilizzando gli orari di inizio sarebbe altrettanto utile. La localizzazione di questi processi consente all'aggressore di concentrare i propri sforzi contro le risorse legate a questi processi al fine di tentare di ottenere i privilegi e / o accedere ai dettagli attendibili ad essi correlati.

Ora facciamo un passo indietro rispetto al vincolo artificiale di guardare solo agli orari di inizio e discutere il valore dell'opacità dei processi al difensore. Il sandboxing è esattamente questo e il gold standard per la protezione dei sistemi da attacchi esterni che proteggono i processi affidabili da processi non sicuri (isolando la scheda del browser bancario sicuro dalla scheda di navigazione casuale). Il sandboxing viene creato limitando l'accesso al processo ad altri processi, anche a quelli generati come nel caso delle schede di un'applicazione del browser Web, ai soli dettagli essenziali necessari per far funzionare la funzionalità.

    
risposta data 18.03.2013 - 14:26
fonte
0

Bella domanda, sembra che uno debba fare un po 'di pensiero creativo qui. Considera questo (potrei sbagliarmi)

Suppose process A which does the authentication and Process B does the authorization.

tenendo in considerazione il principio IAA (identificazione, autenticazione e autorizzazione), il programmatore vuole naturalmente che il processo di autenticazione sia seguito con l'autorizzazione e non viceversa. Ora, il modo in cui l'autorizzazione funziona dipende da una politica basata sul tempo più della stessa cosa in teoria nei router in cui viene visualizzato come ACL basati sulla politica. . Qui, l'istante in cui inizia il processo di autorizzazione è fondamentale in quanto definisce il diritto dell'utente di accedere all'applicazione o a una risorsa.

L'intero sistema consente l'accesso agli oggetti in base al contesto, quindi l'attaccante in quel caso può recuperare le informazioni relative al tempo, probabilmente attraverso attacchi di social engineering che l'utente (x) è l'amministratore del sito e accede in remoto a certe ore del giorno. Usando queste informazioni l'attaccante che può sapere o fa una delle seguenti azioni: -

  1. Rileva il traffico
  2. Criterio delle password deboli con forza bruta
  3. Trova un bug dell'applicazione Web / (injection sql)
  4. Usando un server già compromesso, può forse scrivere uno script per attivare lo sniffing quando vede il processo B in memoria.

Questo scenario è forse localizzato e dipende dalla variabile di ambiente, ma è del tutto plausibile alla tua affermazione su ciò che hai detto potrebbe essere un rischio per la sicurezza o meno.

    
risposta data 19.03.2013 - 07:03
fonte

Leggi altre domande sui tag