Pregunta

¿Cuáles son las principales características debería tener en cuenta si quiero crear una prueba simple fraude y el sistema no repudio? Para esta pregunta, estoy concentrado principalmente en la integridad de las filas de bases de datos. Esta no es una cuestión de permisos de seguridad.

El uso de una base de datos de fútbol como ejemplo, algunas de las características clave que iba a aplicar son:

  1. Evitar DBA de la modificación de los datos de fila utilizando SQL tradicional. Por ejemplo, si la fila de base de datos ya ha almacenado 2: 1 como resultado de ello, si DBA cambió el resultado a 2: 3, debemos ser capaces de detectar la modificación. Todos los cambios deben hacerse a través de la aplicación principal.

  2. Evitar la copia de una fila de los datos a otra fila de utilizar los cambios de back-end. Debemos ser capaces de detectar los cambios de fraude.

¿Hay otros problemas o características que deben tener en cuenta para que mi sistema de prueba más fraude? ¿Cuáles son las mejores prácticas que debería tener en cuenta? Cualquier indicador serían más apreciados.

Muchas gracias de antemano.

¿Fue útil?

Solución

Crea una columna que es una firma criptográfica de las otras columnas. En tanto que la ID se incluye en el cálculo de la firma, no se puede copiar una fila porque el ID cambiaría. No hay modificaciones pueden realizarse sin volver a calcular el hash, por lo que el cambio de la DBA sería detectable también.

Eso no abordar el problema de los administradores de bases eliminar filas, que importa - es sólo valida que cada fila individual fue a través de la lógica de negocio apropiado. Que usted podría incluir una firma para toda la tabla, pero que empieza a ser bastante pesado!

Por supuesto, en algún momento se necesita un secreto - la parte privada de la clave de firma. Su código tendrá acceso a esa ... y el que escribe que el código podría incluir una puerta trasera de un correo electrónico a sí mismos la clave privada, etc. Tarde o temprano hay que confiar en a alguien , Sospecho. (Se podría aplicar varias firmas, por supuesto, de diferentes equipos -. Por lo que los equipos tendrían que actuar en connivencia con el fin de forja nada)

Otros consejos

Para ser perfectamente franco:. Estás perdiendo el tiempo

DBA tienen el equivalente de acceso root a su base de datos. Si no es así, que van a ser bastante ineficaz. Los mismos problemas surgen con los administradores de sistemas y básicamente cualquier cosa que puede hacer es poco más que un placebo en el mejor. El único que se puede hacer sobre una persona con malas intenciones con ese nivel de acceso no se les da el acceso a empezar.

Lo mejor que puede hacer es que sea un poco más duro mediante la creación de un registro de auditoría. De registro cuando los usuarios inician sesión y cierre de sesión, lo que hacen, lo que responde el sistema de eventos para y así sucesivamente. El único valor real de esto es ser capaz de reconstruir (con suerte) lo que sucedió si decide manualmente para entrar y mirada en ella más tarde.

En cuanto a cambiar el resultado de un partido de fútbol, ??pregúntese qué tan probable es que suceda. Por supuesto que en realidad no cambia el resultado del partido de fútbol. Simplemente cambia la forma en que fue grabado. Cualquiera que haya visto o participado estarán al tanto del resultado real así que lo que valor hay en una persona que cambia en el sistema?

En las empresas, el error y la malicia y manejado por los procesos de reconciliación. Un corredor de bolsa tendrá un equipo que ejecuta informes sobre lo que hay en el sistema y compararlo con las transacciones bancarias realizadas realidad. Cualquier discrepancia quedar marcado. Por lo que podría cambiar el equilibrio en el sistema, sino que conseguirá una copia de seguridad.

La otra parte de este rompecabezas es que las restricciones a la actividad DBA realidad no va a resolver el problema. Los desarrolladores de aplicaciones pueden liberar de código arbitrario. Incluso si se revisó el sistema todavía puede descomponer en los ingenieros construir o alguien con acceso a nivel de raíz al entorno de producción compilar una versión modificada y funcionando eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top