Prevención / detección de falsificación de registros generados en un entorno potencialmente hostil

3

Tengo una aplicación que se ejecuta en algún equipo host y genera registros. Más tarde en el día, esos registros se transmiten de forma segura a mi máquina.

El problema es que, mientras se generan los registros, no tengo acceso a la máquina host, mientras que algunos usuarios tienen acceso total a ellos y es posible que desee falsificar los registros para su beneficio. ¿Hay alguna manera de detectar (o mejor aún prevenir) tales falsificaciones?

La aplicación de generación de registros puede modificarse para cifrar o insertar MAC en los registros, pero las claves de cifrado / firma deben estar en la misma máquina. Dado que los usuarios malintencionados también pueden tener acceso al código fuente de la aplicación, ¿cómo hago para proteger esas claves? O hay otras mejores técnicas para abordar este escenario.

TIA

    
pregunta mzzzzb 03.09.2014 - 21:18
fuente

2 respuestas

1

Si ejecuta un servicio en una máquina en la que no confía, solo generará resultados en los que no pueda confiar.

Incluso si autenticas los registros de alguna manera, ellos pueden cambiar el registro de todos modos, porque tienen acceso al código fuente. Supongo que utiliza algún lenguaje interpretado (PHP, Python, Ruby) en la aplicación.

Una forma de tener registros seguros es enviar las entradas fuera del sitio tan pronto como se generan. Escriba los registros en un archivo local, pero al mismo tiempo envíelos a su servidor de confianza. Un servicio web será bueno.

No evitará que los usuarios malintencionados falsifiquen las entradas de registro y se las envíen, pero les será imposible cambiar los registros en su servidor de confianza. Si envía los registros utilizando SSL, no pueden cambiar los registros sobre la marcha.

Más adelante, puede comparar los registros recibidos consolidados y los registros enviados por el servicio web para ver si coinciden.

    
respondido por el ThoriumBR 03.09.2014 - 21:34
fuente
1

Si solo almacena los registros en la máquina, no puede evitar que los registros se modifiquen o eliminen. Y no puede detectarlo de manera confiable sin al menos un elemento confiable.

Si solo tienes miedo de los compañeros de trabajo, puedes usar servicios de alojamiento web dinámicos gratuitos (solo busca Google "php mysql libre") como elemento de confianza, y haz que la estación de trabajo envíe el registro completo (cifrado si quieres / tienes a) en tiempo real, o hashes de los mensajes de registro, a una aplicación que usted haya codificado. Hágalo de una manera en que la aplicación almacene la hora de cada incidente por sí misma, y solo otorgue acceso a la aplicación en la estación de trabajo.

    
respondido por el user10008 04.09.2014 - 00:26
fuente

Lea otras preguntas en las etiquetas