¿Fingiendo un flujo de verificación de certificado entre 2 aplicaciones?

0

me preguntaba, digamos que tengo un ejecutable A, que verifica un certificado en el conjunto B.

El ensamblaje B está firmado con el certificado de confianza de ca raíz.

¿Qué me impide tomar el ejecutable A, cambiarlo y omitir la verificación del certificado de B?

Supongo que el ejecutable A también debe estar firmado, pero ¿qué sucede si no lo es? o ¿qué sucede si tomo también el ejecutable A y lo firmo con mi propio certificado malicioso autofirmado?

gracias

    
pregunta ArielB 06.12.2016 - 12:56
fuente

2 respuestas

0
  

¿Qué me impide tomar el ejecutable A, cambiarlo y omitir la verificación del certificado de B?

esta es la razón por la que los usuarios estándar no deben tener acceso de escritura a los módulos binarios de la aplicación. Deben poder ejecutarse, pero no modificar. Además, podría usarse alguna plataforma de aplicación de listas blancas para controlar qué ejecutables pueden ejecutarse. Incluso si firma la solicitud con su propio certificado, no se ejecutará, porque el software AWL no lo reconocerá como confiable.

    
respondido por el Crypt32 06.12.2016 - 13:12
fuente
1

Quis custodiet ipsos custodes

En el caso de que una parte sea un ejecutable y la otra un certificado, no es posible asegurar una verificación mutua; por lo tanto, si A valida B y usted necesita C para validar A.

Si simplemente estuviéramos hablando de 2 certificados, entonces es posible la autenticación mutua ya que se pueden agregar firmas a la entidad sin cambiar la parte firmada. Desafortunadamente, x509 solo permite una única firma en un certificado, y Dado que el modelo de confianza no está realmente diseñado para funcionar de esta manera, puede haber complicaciones con las herramientas para este enfoque (ya que al menos una firma deberá realizarse con un certificado sin firma).

Pero me estoy desviando del problema preguntado.

  

A también tiene que estar firmado

Pero para que esto tenga algún valor, la firma en A debe verificarse - por lo tanto, C. Y cómo validas 'C' - las tortugas están completamente abajo.

... o al menos hasta el punto donde está fuera de su control, ya sea porque está limitado por los permisos configurados por el administrador o las claves de confianza en UEFI o una Autoridad de certificación raíz (esto no significa que que sus administradores, proveedores de hardware o Autoridades de Certificación son de confianza implícita, sin embargo).

Puede valer la pena señalar aquí que las claves PGP públicas pueden tener múltiples signatarios que, curiosamente, permitirían al sistema operativo (dentro de algunas limitaciones) validar el hardware, así como el hardware que valida el sistema operativo de arranque en un arranque seguro, pero lamentablemente "Arranque seguro" utiliza x509.

    
respondido por el symcbean 06.12.2016 - 13:56
fuente

Lea otras preguntas en las etiquetas