¿Cómo divulgar de manera responsable una vulnerabilidad en un algoritmo generalizado?

4

Para ser claros, esto es puramente hipotético.

Ayer me golpearon en la cabeza con algunos ladrillos y, en la bruma de las conmociones cerebrales, descubrí un ataque perfecto de preimagen en SHA2. Para cualquier hash dado, puedo encontrar inmediatamente algún valor que tenga hash. Quiero revelar esto de manera responsable.

Dado que este es un algoritmo y no un programa, no hay nadie que pueda parchearlo en un período de gracia. Y como es un algoritmo muy extendido, no puedo contactar a algunas personas y decirles que cambien a otra función hash. ¿Qué debo hacer?

    
pregunta Hovercouch 24.03.2018 - 05:46
fuente

1 respuesta

1

El período de gracia es proporcional a la complejidad y el tiempo que tomaría remediar la vulnerabilidad. Por ejemplo, tome este hilo en reportar una vulnerabilidad de seguridad sobre una autoridad de certificación confiable , un problema bastante serio con consecuencias de gran alcance. Un póster explica bien el protocolo de informes:

  

Las reglas de divulgación responsable, tal como se describen aquí, dicen que debe ponerse en contacto con el proveedor y negociar un período de tiempo, entre 1 semana y 6 meses, dependiendo de la profundidad de los cambios requeridos, en el que pueden implementar un parche. , revoque y vuelva a emitir certificados, publique boletines de seguridad, etc., antes de hacer públicos sus hallazgos. La intención es que al final del período negociado recibas tu reconocimiento público, pero tu público no puede hacer más daño, si el proveedor ha hecho su trabajo correctamente.

Me imagino, en su situación, que el proveedor vulnerable (con suerte) transmitirá la información a otros. También puede ponerse en contacto con CERT , que es de confianza y tiene experiencia en tratar estos asuntos a gran escala. En una cadena similar a la Una que he vinculado arriba, hay esto:

  

Debes informar a los desarrolladores en privado para que tengan la oportunidad de solucionarlo. Después de eso, si se hace público con la vulnerabilidad, debe permitirle al desarrollador el tiempo suficiente para solucionar el problema y quien esté expuesto a él el tiempo suficiente para actualizar sus sistemas. Personalmente, permitiría al desarrollador hacer el anuncio en un boletín de seguridad en la mayoría de los casos en lugar de anunciarlo yo mismo.

Probablemente podamos estar de acuerdo en que sería una mala idea hacerlo público de inmediato, porque eso dejaría la puerta abierta para la explotación. Así que notificarlos en privado es la mejor manera de ir. Mientras tanto, probablemente lo arreglarían, actualizarían o cambiarían a otra cosa. ¿Qué otras opciones razonables hay?

Finalmente, hay casos de vulnerabilidades criptográficas en el mundo real, y esos algoritmos fueron ampliamente utilizados. Un ejemplo es Dual_EC_DRBG , un algoritmo basado en curvas elípticas, que se utilizó durante bastante tiempo antes de ser revocado debido a problemas de seguridad. Me enteré de eso en este hilo .

    
respondido por el user171922 24.03.2018 - 07:04
fuente

Lea otras preguntas en las etiquetas