¿Qué tan peligroso es el conocimiento sobre la existencia de objetos a los que el usuario no puede acceder?

3

Tengo entendido que un buen diseño de seguridad no revela información sobre los datos a los que el usuario no puede acceder. Esto incluye información sobre la existencia de dichos datos, es decir, si un usuario no tiene permiso para acceder a entidades de cierto tipo, tampoco debería poder averiguar si existe una entidad de ese tipo con un ID determinado.

Un proyecto en el que estoy trabajando actualmente no lo admite de manera constante. Por ejemplo, una solicitud a /edit/record/52 devolverá un error HTTP 404 si el registro con ID 52 no existe y un error HTTP 403 si existe.

No estoy seguro de qué problema hay en términos de seguridad. Solo con esta información, los atacantes probablemente no pueden hacer nada. Mi preocupación es que esto permite a los atacantes agregar información sobre los datos en el sistema (ya que tenemos varios puntos finales para diferentes entidades que muestran este mismo comportamiento) que luego podrían usarse para atacar el sistema. Es cierto que no tengo un escenario de ataque usando esta información presentada en mi cabeza, pero me temo que esta fuga podría al menos facilitar los ataques. Desafortunadamente, cambiar esto requeriría un poco de refactorización de nuestra arquitectura de seguridad, por lo que no lo hicimos de inmediato.

¿Es este un vector de ataque común? ¿Debería preocuparme y arreglar esto siempre que sea posible? ¿O es aceptable la filtración de información sobre la existencia de objetos? ¿Podría proporcionar ejemplos de ataques conocidos o de alto perfil en los que la filtración de datos aparentemente insignificantes conduzca al compromiso de un sistema?

    
pregunta Chris 27.06.2016 - 10:30
fuente

1 respuesta

3

Su evaluación del riesgo es correcta: filtrar estos datos podría facilitar un ataque ayudando al atacante a recopilar información. Entonces, aunque no exista un riesgo directo, podría acelerar la fase de recopilación de información de un ataque.

Si tiene alguna inquietud, la solución habitual es desinfectar sus respuestas según sea necesario; podría reemplazar esos 403 por 404, por ejemplo. Pero si, como ha mencionado, esto es un gran esfuerzo, vale la pena sopesar si el ligero riesgo de fuga necesita una solución.

    
respondido por el Rory Alsop 27.06.2016 - 11:02
fuente

Lea otras preguntas en las etiquetas