¿Existe algún peligro al exponer los hashes de git sha1 commit?

6

Para un repositorio no público, ¿hay algún problema de seguridad al compartir hash hashes hash? Por ejemplo, cuando publico una pregunta relacionada con git stackoverflow que involucra git commit desde repositorios privados, cambiaré los hashes ligeramente fuera de paranoia.

O quizás un sitio web sirva un hash de confirmación git en un encabezado para mostrar qué versión del código está ejecutando el sitio para desarrolladores internos.

Continuando con el pensamiento, ¿hay alguna preocupación acerca de que un atacante obtenga acceso a hashes sha1 secuenciales?

    
pregunta Andy Ray 27.08.2013 - 06:18
fuente

2 respuestas

8

Como se explica allí , los hashes SHA-1 son identificadores de los objetos almacenados , incluidas las confirmaciones: se calculan de forma determinista a partir del contenido del objeto. No hay secreto ahí dentro. Aunque SHA-1 es nominalmente unidireccional, esto permitiría teóricamente permitir que un atacante, que quiere adivinar el contenido de un objeto, verifique si su suposición es correcta o no . Esto implicaría adivinar exactamente , hasta el último bit, incluidas las marcas de tiempo y otras cosas similares.

Si su objeto contiene algunos datos secretos que pueden ser forzados por la fuerza bruta (por ejemplo, una contraseña, sujeto a ataques del diccionario ) , entonces un atacante podría utilizar el hash SHA-1 como prueba. Esto parece difícil debido a la condición de adivinar todo lo demás correctamente, pero existe la posibilidad. Por lo tanto, si su confirmación contiene tales datos secretos, tiene razón al cambiar el valor de hash, pero en ese caso, no lo modifique ligeramente , porque es casi imposible. La coincidencia es tan buena como una coincidencia exacta en valores hash, para el atacante. Cambie los valores de hash completamente: reemplace cada uno de ellos con una secuencia de 40 caracteres hexadecimales aleatorios.

Tenga en cuenta que conocer los valores de hash no otorga ningún otro poder adicional al atacante; en particular, no le dan acceso al repositorio.

    
respondido por el Thomas Pornin 27.08.2013 - 15:12
fuente
0
  

Para un repositorio no público, ¿hay algún problema de seguridad al compartir hash hashes hash?

Definitivamente no. No hay absolutamente ninguna manera de correlacionar el hash SHA 1 de un compromiso git con el contenido real del compromiso.

  

Continuando con el pensamiento, ¿hay alguna preocupación acerca de que un atacante obtenga acceso a hashes sha1 secuenciales?

¿Qué quiere decir exactamente con hashes SHA 1 secuenciales?

    
respondido por el Ayrx 27.08.2013 - 06:21
fuente

Lea otras preguntas en las etiquetas