Quanto è importante l'ora locale per la sicurezza?

61

Recentemente ho voluto vedere cosa succede quando cambio il mio fuso orario locale in qualcosa di chiaramente sbagliato. Ho provato l'anno 2218, quindi 200 anni nel futuro. Il risultato: non potevo più accedere a nessun sito web (non ho provato troppi, però). Ho ricevuto questo errore:

SuppongocheNET::ERR_CERT_DATE_INVALIDsignifichicheuncertificatoHTTPsnonèvalido.Madisolitoc'èun'opzione"avanzata" che mi permette di ignorarlo. Non è così qui. Inoltre, mi chiedo perché dice "il tuo orologio è avanti" - se chrome conosce l'ora esatta, perché non prende questo per il confronto?

Venendo alla mia domanda: quanto è importante l'ora locale per la sicurezza? Se un utente malintenzionato può modificare arbitrariamente l'ora del sistema, quali tipi di attacchi lo consentono? Ci sono casi segnalati in cui la manipolazione del tempo è stata una parte cruciale?

    
posta Martin Thoma 11.09.2018 - 20:36
fonte

9 risposte

16

If an attacker can arbitrarily change the system time, which kinds of attacks allows this?

Oltre i certificati ...

RNG mal ridimensionati

Potrebbero essere in grado di sfruttare un generatore di numeri casuali scarsamente seminato. Usare time come seme utilizzato per accadere molto prima che le migliori interfacce di numeri casuali rendessero conto che il tuo programmatore medio non può essere considerato affidabile per fornire un buon seme. Un utente malintenzionato può sfruttarlo impostando l'ora del sistema in un momento in cui il generatore di numeri casuali genererà l'output desiderato.

Ovviamente, l'attaccante può salvarsi un sacco di problemi semplicemente aspettando un momento desiderabile.

UUID

UUIDv1 e v2 dipendono entrambi dall'indirizzo MAC e dall'ora. L'indirizzo MAC può essere scoperto. Essere in grado di impostare il tempo significa che ora possono controllare quale UUID viene assegnato successivamente. Ad esempio, potrebbero essere in grado di duplicare l'UUID di un account amministrativo autonomamente. Ovviamente, UUIDv1 e v2 non sono pensati per essere secure , sono solo pensati per essere unique . Se vuoi essere sicuro e unico usi UUIDv4, ma c'è un sacco di software che usa UUIDv1 e v2 in modo inappropriato.

Lavori periodici

Molti sistemi hanno processi critici che vengono eseguiti periodicamente in determinati giorni e orari. L'utente malintenzionato può pasticciare il tempo necessario per manipolarlo.

Molti sistemi hanno finestre di manutenzione che si verificano in determinati momenti. L'autore dell'attacco può reimpostare continuamente il tempo di rimanere in questa finestra e mantenere il sistema inattivo per manutenzione.

Se è in corso un processo ad uso intensivo di risorse che si verifica periodicamente, possono compromettere il tempo in modo che più di quei processi vengano eseguiti contemporaneamente. Se il sistema non limita il numero di processi simultanei, questo può sovraccaricare il sistema.

Oppure puoi andare nella direzione opposta e reimpostare continuamente il tempo per impedire l'esecuzione di un processo di manutenzione critico.

Watchdogs

Il sistema potrebbe avere processi di watchdog che cercano troppe o troppo poche azioni in una finestra di tempo. Il watchdog può scegliere di intraprendere azioni di manutenzione automatica come riavviare macchine o interrompere i servizi . Un utente malintenzionato può manipolare il tempo per far sembrare che il tasso sia troppo alto o troppo basso per far scattare il watchdog e farlo arrestare un sistema funzionante.

    
risposta data 13.09.2018 - 21:48
fonte
69

Hai ricevuto un sacco di domande.

I guess NET::ERR_CERT_DATE_INVALID means that an HTTPs certificate is not valid.

Sì.

Ecco il certificato per help.ubuntu.com :

Noteraichehadatevalideevalidefinoalledate;seproviadaccedereaunsitoprotettodaquestocertificatoaldifuoridiquestedate,iltuobrowsersilamenterà.Ilmotivopercuiicertificatiscadonoè(tralealtreragioni)percostringereiwebmasteracontinuareariceverenuovicertificatiutilizzandol'ultimacrittografiaealtrenuovefunzionalitàdisicurezzaneicertificati.

Quandoiltuobrowserstacercandodidecideresesifidadiuncertificato,utilizzal'orologiodisistemacomelafontedefinitivadiveritàperiltempo.Certo,proveràadusareNTP,masetu(l'utenteamministratore)haidettoesplicitamentecheiserverNTPsonosbagliati,beh,seiilcapo.

Ifanattackercanarbitrarilychangethesystemtime,whichkindsofattacksallowsthis?

Consideriamoseparatamentepersonalcomputereserver.Nonhofattonessunaricercaqui,appenaincimaallamiatesta.

PersonalComputer

  • Gliutentispessogiocanoconilloroorologiodisistemaperaggirarelecosetipo"prova di 30 giorni". Se sei la società il cui software viene utilizzato illegalmente in questo modo, lo considereresti un problema di sicurezza.
  • Siti Web falsificati. È molto più facile hackerare i vecchi certificati scaduti - forse ha usato la crittografia di 10 anni che è facilmente incrinata, o forse il server è stato compromesso 6 anni fa ma le CA non tengono traccia delle informazioni di revoca per così tanto tempo (credito di idea: risposta di @immibis ). Se un utente malintenzionato può modificare l'orologio di sistema, non visualizzerai gli avvisi.

Server

  • Registrazione. Quando indaga su una violazione della sicurezza, se gli orologi dei tuoi server non sono sincronizzati, può essere molto difficile mettere insieme tutti i log per capire esattamente cosa è successo e in quale ordine.
  • account di accesso. Cose come l'autenticazione del fattore OTP 2 sono di solito basate sul tempo. Se gli orologi di un server si trovano dietro un server diverso, puoi guardare qualcuno inserire un codice OTP, quindi utilizzarlo contro il server dietro perché quel codice non è ancora scaduto.
risposta data 11.09.2018 - 20:54
fonte
26

Un motivo è che i record di revoca dei certificati non vengono conservati dopo la scadenza del certificato.

Supponiamo che io abbia rubato il certificato di Google 10 anni fa. Google ha immediatamente notato e revocato il loro certificato. Poiché il certificato è scaduto da qualche tempo negli ultimi 10 anni, la voce di revoca è stata cancellata. Se riporto l'orologio indietro di 10 anni a quando era valido, posso impersonare Google e il tuo browser non se ne accorgerà, perché non saprà che è stato revocato.

    
risposta data 12.09.2018 - 03:12
fonte
18

La tua domanda è ampia, ma se un utente malintenzionato può modificare l'orologio di sistema locale, può avvelenare i log della sua attività. In questo modo, possono nascondere la loro attività in modo che sembrino essersi verificati in passato (e forse oltre la finestra in cui gli amministratori cercano attività) o in coincidenza con l'attività di altri utenti.

Ad esempio, se irrompi in un sistema nel cuore della notte, puoi impostare l'orologio a mezzogiorno del giorno precedente, fare la tua attività, quindi ripristinare l'orologio. Chiunque ispezioni i registri presumerà che l'utente normale abbia svolto l'attività (o non la veda affatto tra le normali attività dell'utente).

Ecco perché è importante impostare l'orologio per essere sincronizzato con una fonte esterna autorevole. Quello e che tutti i log di tutte le fonti possono essere correttamente correlati.

    
risposta data 11.09.2018 - 20:48
fonte
3

Ci sarebbero due possibili situazioni in cui un computer che pensa che l'anno sia il 2038 prova a connettersi al mondo esterno, e tutto nel mondo esterno dice che è il 2018:

  1. L'orologio del computer è sbagliato.

  2. L'anno è in realtà il 2038 e tutto ciò che sembra essere il mondo esterno viene simulato, utilizzando certificati del 2018 che sono stati violati negli ultimi 20 anni.

Anche se gli attacchi di quella forma sarebbero abbastanza difficili da far si che la prima possibilità nella pratica sia molto più probabile, fare attenzione alla seconda richiederebbe la conferma che l'orologio del computer è sbagliato.

    
risposta data 13.09.2018 - 17:06
fonte
2

Se si esegue un singolo controller di dominio Windows, o parte della sua rete, una differenza di tempo di soli cinque o pochi minuti può essere critica: Kerberos Time Tolerance

Una volta ho avuto a che fare con un Windows SBS 2008 Server fallito e ho dovuto trovare un modo per entrare come SYSTEM per leggere il registro degli eventi.

Si è scoperto che una sovratensione aveva ripristinato l'orologio del BIOS CMOS sul controller di dominio, tornando alla data di progettazione del sistema, alcuni anni prima. Il risultato è che i ticket Kerberos non possono essere emessi.

I ticket Kerberos sono validi per pochi minuti.

    
risposta data 14.09.2018 - 03:02
fonte
0

Un altro esempio (leggermente contorto) di un attacco contro un computer con un tempo di sistema in ritardo sta servendo record DNS obsoleti da una zona protetta con DNSSEC.

Ad esempio, se il cliente ha chiesto l'indirizzo www.example.com, l'utente malintenzionato potrebbe rispondere con un riferimento al proprio server DNS e una prova (scaduta) di non esistenza di un record DS per example.com dall'ora quando example.com non è stato ancora firmato e successivamente serve i record DNS falsificati per qualsiasi cosa nella zona example.com.

    
risposta data 12.09.2018 - 17:16
fonte
-3

Potrebbe essere considerato falso e il mancato sincronismo dell'orologio del computer potrebbe sempre avere vantaggi e svantaggi. Quelli ovvi sono quelli già indicati. Un vantaggio è che i siti web non conoscono la data reale, anche se questo entrerebbe più nella privacy della sicurezza di per sé, normalmente la privacy è considerata parte della sicurezza.

Non so molto sull'enumerazione NTP ma è usato nel pentesting quindi è un fattore da prendere in considerazione per la sicurezza.

"The Network Time Protocol is a protocol for synchronizing time across your network, this is especially important when utilizing Directory Services. There exists a number of time servers throughout the world that can be used to keep systems synced to each other. NTP utilizes UDP port 123. Through NTP enumeration you can gather information such as lists of hosts connected to NTP server, IP addresses, system names, and OSs running on the client system in a network. All this information can be enumerated by querying NTP server." source: "https://www.greycampus.com/opencampus/ethical-hacking/ntp-enumeration"

    
risposta data 11.09.2018 - 22:06
fonte
-3

Molti software, in particolare quelli che funzionano in un cluster, la sincronizzazione temporale sono molto importanti. Quindi se qualcuno ha problemi con il tempo, il software in esecuzione su questo sistema causerà molti problemi, specialmente con la sincronizzazione. Questo alla fine conta come impatto del servizio.

    
risposta data 13.09.2018 - 18:44
fonte

Leggi altre domande sui tag