¿Qué importancia tiene la hora local para la seguridad?

61

Hace poco quería ver qué sucede cuando cambio mi hora local a algo que obviamente está mal. Probé el año 2218, así que 200 años en el futuro. El resultado: ya no pude acceder a ningún sitio web (aunque no probé demasiados). Recibí este error:

SupongoqueNET::ERR_CERT_DATE_INVALIDsignificaqueuncertificadoHTTPsnoesválido.Perogeneralmentehayunaopción"avanzada" que me permite ignorarla. No es así aquí. Además, me pregunto por qué dice "tu reloj está adelantado": si Chrome sabe la hora correcta, ¿por qué no se toma esto para comparar?

A mi pregunta: ¿qué importancia tiene la hora local para la seguridad? Si un atacante puede cambiar arbitrariamente la hora del sistema, ¿qué tipo de ataques lo permiten? ¿Hay casos reportados donde la manipulación del tiempo fue una parte crucial?

    
pregunta Martin Thoma 11.09.2018 - 20:36
fuente

9 respuestas

16
  

Si un atacante puede cambiar arbitrariamente la hora del sistema, ¿qué tipo de ataques lo permiten?

Más allá de los certificados ...

RNG mal sembrados

Pueden ser capaces de explotar un generador de números aleatorios mal sembrados. El uso de time como semilla solía ocurrir mucho antes de que las mejores interfaces de números aleatorios se dieran cuenta de que no se puede confiar en que su programador promedio proporcione una buena semilla. Un atacante puede explotar esto configurando la hora del sistema en un momento en el que el generador de números aleatorios produzca la salida deseada.

Por supuesto, el atacante puede ahorrarse muchos problemas simplemente esperando un tiempo deseable.

UUIDs

UUIDv1 y v2 dependen de la dirección MAC y la hora. La dirección MAC puede ser descubierta. El hecho de poder establecer la hora significa que ahora pueden controlar qué UUID se asigna a continuación. Por ejemplo, pueden duplicar el UUID de una cuenta administrativa por sí mismos. Por supuesto, UUIDv1 y v2 no están diseñados para ser seguros , solo deben ser únicos . Si desea un uso seguro y único, use UUIDv4, pero hay un montón de software que usa UUIDv1 y v2 de manera inapropiada.

Trabajos periódicos

Muchos sistemas tienen procesos críticos que se ejecutan periódicamente en ciertos días y horas. El atacante puede meterse con el tiempo para manipular esto.

Muchos sistemas tienen ventanas de mantenimiento que ocurren en ciertos momentos. El atacante podría restablecer continuamente el tiempo para permanecer en esta ventana y mantener el sistema inactivo para el mantenimiento.

Si hay un proceso intensivo de recursos que ocurre periódicamente, pueden alterar el tiempo de tal manera que varios de esos procesos se estén ejecutando al mismo tiempo. Si el sistema no limita la cantidad de procesos simultáneos, esto puede inundar el sistema.

O puede ir al otro lado y restablecer continuamente el tiempo para evitar que se ejecute un proceso de mantenimiento crítico.

Watchdogs

El sistema puede tener procesos de vigilancia que buscan demasiadas o muy pocas acciones en un intervalo de tiempo. El perro guardián puede optar por realizar acción de mantenimiento automático, como reiniciar máquinas o detener servicios . Un atacante puede manipular el tiempo para que parezca que la velocidad es demasiado alta o demasiado baja al disparar al perro guardián y hacer que se detenga un sistema en funcionamiento.

    
respondido por el Schwern 13.09.2018 - 21:48
fuente
69

Tienes un montón de preguntas puestas ahí.

  

Supongo que NET :: ERR_CERT_DATE_INVALID significa que un certificado HTTPs no es válido.

Sí.

Aquí está el certificado para help.ubuntu.com :

Notarásquetienefechasválidasdesdeyválidashasta;Siintentaaccederaunsitioprotegidoporestecertificadofueradeestasfechas,sunavegadorsequejará.Larazónporlacualloscertificadoscaducanes(entreotrasrazones)paraobligaraloswebmastersaseguirobteniendonuevoscertificadosutilizandolasúltimasfuncionescriptográficasyotrasnuevascaracterísticasdeseguridadenloscertificados.

Cuandosunavegadorestátratandodedecidirsiconfíaenuncertificado,usaelrelojdelsistemacomolafuentedefinitivadelaverdadparaeltiempo.Claro,intentaráusarNTP,perosiusted(elusuarioadministrador)lehadichoexplícitamentequelosservidoresNTPestánequivocados,bueno,ustedeseljefe.

  

Siunatacantepuedecambiararbitrariamentelahoradelsistema,¿quétipodeataqueslopermiten?

Consideremoslascomputadoraspersonalesylosservidoresporseparado.Nohehechoningunainvestigaciónaquí,soloporencimademicabeza.

Computadoraspersonales

  • Losusuariosamenudojueganconelrelojdesusistemaparasortearlascosasdeltipo"prueba de 30 días". Si usted es la empresa cuyo software se usa ilegalmente de esta manera, entonces lo consideraría un problema de seguridad.
  • Sitios web falsificados. Es mucho más fácil piratear certificados caducados viejos: tal vez usó criptografía de 10 años que se puede descifrar fácilmente, o tal vez el servidor se vio comprometido hace 6 años, pero las AC no rastrean la información de revocación durante tanto tiempo (crédito de idea: respuesta de @immibis ). Si un atacante puede cambiar el reloj de su sistema, no verá las advertencias.

Servidores

  • Registro. Al investigar una brecha de seguridad, si los relojes de sus servidores no están sincronizados, puede ser muy difícil reunir todos los registros para averiguar exactamente qué sucedió y en qué orden.
  • inicios de sesión. Cosas como la autenticación del factor OTP 2 suelen estar basadas en el tiempo. Si los relojes de un servidor están detrás de un servidor diferente, entonces podría ver a alguien ingresar un código OTP y luego usarlo contra el servidor que está atrasado porque ese código no habrá expirado todavía.
respondido por el Mike Ounsworth 11.09.2018 - 20:54
fuente
26

Uno de los motivos es que los registros de revocación de certificados no se conservan después de que caduque el certificado.

Supongamos que robé el certificado de Google hace 10 años. Google inmediatamente notó y revocó su certificado. Dado que el certificado expiró en algún momento de los últimos 10 años, la entrada de revocación se eliminó. Si hago retroceder su reloj 10 años antes de que fuera válido, puedo hacerme pasar por Google y su navegador no lo notará, porque no sabrá que fue revocado.

    
respondido por el immibis 12.09.2018 - 03:12
fuente
18

Su pregunta es amplia, pero si un atacante puede cambiar el reloj del sistema local, puede envenenar los registros de su actividad. De esa manera, pueden ocultar que su actividad parece haber ocurrido en el pasado (y quizás más allá de la ventana en la que los administradores están buscando actividad) o coincidir con la actividad de otros usuarios.

Por ejemplo, si ingresa en un sistema en medio de la noche, puede configurar el reloj para que sea al mediodía del día anterior, haga su actividad y luego ajuste el reloj. Cualquier persona que inspeccione los registros asumirá que el usuario normal realizó la actividad (o no la vio en absoluto entre la actividad del usuario normal).

Es por esto que es importante configurar su reloj para que se sincronice con una fuente externa autorizada. Eso, y que todos los registros de todas las fuentes pueden estar correctamente correlacionados.

    
respondido por el schroeder 11.09.2018 - 20:48
fuente
3

Habría dos situaciones posibles en las que una computadora que piensa que el año es 2038 intenta conectarse al mundo exterior, y todo en el mundo exterior dice que es 2018:

  1. El reloj de la computadora es incorrecto.

  2. El año en realidad es 2038, y todo en lo que parece ser el mundo exterior se está falsificando, utilizando certificados de 2018 que se han roto en los 20 años desde entonces.

Aunque los ataques de esa forma serían lo suficientemente difíciles como para lograr que la primera posibilidad en la práctica fuera mucho más probable, protegerse contra la segunda requeriría obtener una confirmación de que el reloj de la computadora en realidad está mal.

    
respondido por el supercat 13.09.2018 - 17:06
fuente
2

Si está ejecutando un solo controlador de dominio de Windows, o parte de su red, una diferencia de tiempo de solo cinco o unos minutos puede ser crítica: Tolerancia de tiempo Kerberos

Una vez tuve que lidiar con un Windows SBS 2008 Server fallido y tuve que encontrar una manera de ingresar como SISTEMA para leer el Registro de eventos.

Resultó que una subida de tensión había restablecido el reloj de BIOS del CMOS en el controlador de dominio, de nuevo a la fecha de diseño del sistema, algunos años antes. El resultado es que no se pudieron emitir los tickets de Kerberos.

Los boletos de Kerberos son válidos por unos pocos minutos.

    
respondido por el birdwes 14.09.2018 - 03:02
fuente
0

Otro ejemplo (un poco complicado) de un ataque contra una computadora con retraso del sistema está sirviendo registros de DNS obsoletos de una zona protegida con DNSSEC.

Por ejemplo, si el cliente solicitó la dirección www.example.com, el atacante podría responder con una referencia a su propio servidor DNS y una prueba (caducada) de no existencia de un registro DS para example.com desde el momento cuando example.com aún no se firmó, y posteriormente sirve registros de DNS falsificados para cualquier cosa en la zona example.com.

    
respondido por el Edheldil 12.09.2018 - 17:16
fuente
-3

Podría considerarse falso y no tener el reloj de la computadora sincronizado siempre podría tener sus ventajas y desventajas. Los obvios son los ya apuntados. Una ventaja es que los sitios web no conocerán su fecha real, aunque esto implicaría más privacidad que seguridad en sí misma, normalmente la privacidad se considera parte de seguridad.

No sé mucho acerca de la enumeración NTP, pero se usa para realizar pruebas de prueba por lo que es un factor a tener en cuenta para la seguridad.

  

"El Protocolo de tiempo de red es un protocolo para sincronizar el tiempo en   su red, esto es especialmente importante cuando se utiliza Directory   Servicios. Existe una cantidad de servidores de tiempo en todo el mundo.   que se puede utilizar para mantener los sistemas sincronizados entre sí. NTP utiliza   Puerto UDP 123. A través de la enumeración NTP puede recopilar información como   como listas de hosts conectados al servidor NTP, direcciones IP, nombres de sistemas,   y sistemas operativos que se ejecutan en el sistema cliente en una red. Todo esto   la información se puede enumerar consultando el servidor NTP. "source:" enlace "

    
respondido por el Devuan User 11.09.2018 - 22:06
fuente
-3

Muchos programas, especialmente aquellos que trabajan en un clúster, la sincronización de tiempo es muy importante. Entonces, si alguien se mete con el tiempo, el software que se ejecuta en este sistema causará muchos problemas, especialmente con la sincronización. Esto eventualmente contará como un servicio impactante.

    
respondido por el PrashantKC 13.09.2018 - 18:44
fuente

Lea otras preguntas en las etiquetas