¿Qué tan útil es encriptar / desencriptar información en un servidor de aplicaciones y enviarla a la base de datos encriptada?

1

Acabo de agregar algo de código a nuestro servidor de aplicaciones para cifrar la información personal antes de que se almacene en la base de datos. Esto se hizo principalmente por razones de cumplimiento, pero ¿cuánta ganancia de seguridad real es?

Me entero de volcados de bases de datos todo el tiempo, pero no tengo claro cómo los atacantes suelen obtener la base de datos. Si es al llegar a una shell y poder ejecutar código arbitrario, parece bastante sencillo ir a los servidores de aplicaciones para encontrar la clave de cifrado que se está utilizando.

Te lo pregunto porque si es una verdadera ganancia de seguridad, entonces probablemente deberíamos cifrar más datos antes de que lleguen a la base de datos. Por otro lado, si es solo teatro, preferiría dedicar nuestro tiempo a mejorar la seguridad de una manera significativa.

(Esto supone que las copias de seguridad de la base de datos están cifradas).

    
pregunta MaxGabriel 24.07.2018 - 02:30
fuente

2 respuestas

2

Ya que no ha habido una respuesta, intentaré esto ... pero ya hay otras preguntas sobre el cifrado de la base de datos, por lo que es posible que también desees comprobar algunas de ellas.

En cuanto a cómo se adquieren los volcados de base de datos:

  • copias de seguridad
  • Inyección SQL
  • Puertos abiertos y el terror relacionado con las contraseñas predeterminadas
  • Instantáneas de producción utilizadas en desarrollo o puesta en escena

Aunque es posible que un atacante solo pueda adquirir la clave de cifrado del disco como usted sugiere ... Cubro algunas formas de mitigar ese riesgo en una respuesta anterior .

En cuanto a su efectividad general ... Me gustaría tener algún recurso estadístico al que recurrir, pero no lo tengo. Intuitivamente, parece proteger sus datos con la mayoría de los enfoques de volcado estático. Aumenta el requisito de complejidad para un atacante, que generalmente es exactamente lo que quieres, ya que ahora deberán violar la capa de la aplicación para obtener las claves, además de la capa de la base de datos.

La Brecha de Patreon es generalmente mi ejemplo favorito de cómo el cifrado de base de datos ayuda a mitigar las consecuencias. de un incidente mayor.

    
respondido por el nbering 24.07.2018 - 14:14
fuente
2

Es difícil responder de forma genérica, ya que depende del caso de uso real. Así que solo le daré algunos consejos y preguntas que podría considerar para elegir.

  • ¿Es necesario el cifrado de la base de datos para cumplir con algunas normas reglamentarias o normativas? Si la respuesta es afirmativa y es suficiente para cumplir con el requisito, no se preocupe por más.
  • ¿has hecho un análisis de riesgo? Si la respuesta es no, debe considerarse antes de cualquier otra acción
  • ¿concluyó el análisis de riesgo que debería evitar ser responsable por una fuga de datos a toda costa? Si la respuesta es afirmativa, debe considerar una solución de cifrado del lado del cliente: si no posee la clave, no puede ser responsable de una fuga de datos.
  • ¿concluyó el análisis de riesgos que debe proteger a los usuarios de una posible pérdida de clave / contraseña? si la respuesta es afirmativa, la encriptación del lado del cliente no es una opción

El problema cuando se realiza el cifrado del lado del servidor es que la clave debe existir en una forma invertible en el servidor. Entonces, no es una bala mágica (como lo es el cifrado del lado del cliente) sino solo un elemento de defensa en profundidad. El atacante tiene que:

  • encuentre un exploit en el servidor
  • utiliza ese exploit para obtener acceso a la base de datos
  • utiliza ese exploit para encontrar la clave de cifrado

Se espera que cada fase tarde un tiempo que puedes usar para repeler el ataque.

Con respecto a su pregunta sobre los volcados de base de datos, es principalmente una preocupación cuando la base de datos no está dentro del mismo centro de datos y podría tener una protección más baja. También es una preocupación tan pronto como consideras ataques internos. Una conexión de administrador a un servidor de aplicaciones para buscar una clave de cifrado no es una operación estándar y podría notarse, mientras que una conexión a la base de datos para extraer un volcado suele ser una operación de mantenimiento estándar, por lo que es probable que no se note.

    
respondido por el Serge Ballesta 24.07.2018 - 17:30
fuente

Lea otras preguntas en las etiquetas