Defensa en profundidad vs. baja complejidad - ¿Punto de equilibrio?

6

He realizado algunas preguntas relacionadas con los esquemas para varias funciones relacionadas con la seguridad, y he propuesto esquemas para lograr esos objetivos. En las respuestas, veo un conflicto entre dos principios fundamentales de la seguridad de TI; "defensa en profundidad" (haga que un atacante rompa no una, sino muchas capas de seguridad de la información) y "La complejidad es el enemigo de la seguridad" (el principio KISS).

La pregunta IMO es obvia; ¿Cuándo uno de estos dos tiene prioridad sobre el otro? No puedes tener ambos en el extremo; agregar capas necesariamente aumenta la complejidad del sistema, mientras que la simplificación de la seguridad por lo general lo "adelgaza". Hay un espectro entre la simplicidad completa "ideal" y la profundidad infinita "ideal", y por lo tanto un equilibrio para ser alcanzado. Entonces, ¿cuál de estos, cuando entran en conflicto, generalmente se prefiere en el diseño de un esquema de seguridad de la información?

    
pregunta KeithS 17.01.2013 - 21:25
fuente

3 respuestas

4

Esto está escrito desde la perspectiva de un desarrollador de software y gerente de proyectos, que a menudo necesita tratar con datos confidenciales en aplicaciones que estoy involucrado en la creación.

Defensa en profundidad no es necesariamente en desacuerdo con el principio de simplicidad. La simplicidad es difícil , y no es lo que piensas. La simplicidad no significa necesariamente falta de esfuerzo.

Puede (y en este caso, creo que generalmente significa) no usar mecanismos complejos y locales cuando existen prácticas / herramientas establecidas.

También puede significar mantener sus sistemas simples para reducir el área de la superficie de ataque, o hacer que sean objetivos menos atractivos al no almacenar el tipo de datos que las personas quieren robar.

Existe un verdadero arte, además de ciencia, para encontrar el equilibrio correcto entre simplicidad y funcionalidad, pero en mi experiencia, cuando se trata de simplicidad, la simplicidad en algunos aspectos es una de las claves para la defensa en profundidad.

La esencia de lo que voy a tratar de encontrar aquí es que la cantidad de tiempo que dedicas a defender tu aplicación debe ser proporcional a la sensibilidad de los datos contenidos y al tamaño de la superficie de ataque.

Aquí hay dos formas en que la simplicidad adds para la defensa en profundidad restando algo.

  1. Decide con cuidado si debes almacenar datos confidenciales en primer lugar
    • Una de las verdades más obvias y cegadoras sobre la protección de datos confidenciales es que si no tiene datos confidenciales, no necesita protegerlos.
    • Al desarrollar sistemas / software, lo más básico que puede hacer para aumentar la seguridad relativa de su sistema es hacerlo limitando los datos confidenciales en primer lugar.
    • Al decidir no almacenar datos confidenciales innecesarios, lo está simplificando, pero ejerciendo la defensa en profundidad al considerar la defensa como parte de su fase inicial de recopilación de requisitos.
  2. Reduciendo el área de superficie de ataque
    • Similar a lo anterior, pero esta vez mirando características. Cada control de entrada de un solo usuario: cuadro de texto, lista desplegable, etc., es una "ventana" potencial que, si no está protegida, puede ser un punto de entrada para un atacante. Si no puede validar la entrada o no puede sanear la salida, ese control puede ser vulnerable a cualquier número de ataques conocidos. Como desarrollador, puedo decirle que al crear sitios / formularios grandes y complejos, es fácil perder un control de validación aquí o validar algo incorrectamente allí.
    • La empresa puede querer una interfaz elegante que tenga todo tipo de campanas y silbidos, pero el beneficio de tener esa interfaz / característica debe compararse con el costo de asegurarla, y la desventaja de la mayor área de superficie de ataque.

Además, mantener la seguridad simple no significa necesariamente limitar sus defensas a menos defensas. Mantener la seguridad simple significa simplemente no hacerlo más difícil de lo necesario. Las maneras en que puede mantener la seguridad simple y aún tienen defensa en profundidad incluyen:

  • Tener valores predeterminados seguros. Establece tus defensas normales. Puedes tener cincuenta capas de defensas, pero si sabes cuál es tu línea de base, aún así lo mantendrás simple simplemente siguiendo la rutina normal.
  • Utilizando las mejores prácticas establecidas. Similar a lo anterior, para casi todos los tipos de I.T. actividad, ya existe un conjunto establecido de mejores prácticas. El simple hecho de seguir esos pasos en lugar de idear sus propios esquemas, mantiene las cosas simples.
  • Usando herramientas establecidas y confiables. Por supuesto, ninguna herramienta es infalible, pero si está agregando capas de defensa, usar herramientas establecidas en lugar de crear las suyas propias o herramientas menos conocidas y no compatibles hace que las cosas sean más simples a largo plazo. Tendrá mejor documentación, una comunidad de usuarios más amplia para el soporte y una mayor probabilidad de que, cuando haya un problema, se solucione rápidamente.

La defensa en profundidad se trata de capas de seguridad. Mantener cada capa lo más simple posible es la clave para aplicar el principio de simplificación a una estrategia de defensa en profundidad.

    
respondido por el David Stratton 17.01.2013 - 22:49
fuente
2

La "defensa en profundidad" generalmente es expulsada de una sensación de paranoia. Usted implementa capas sobre capas de defensa en respuesta a los despidos de pánico de la alta gerencia.

Por lo general, se promueve "Baja complejidad" para reducir costos y tiempos de entrega. Reduce la complejidad para cumplir con los plazos impuestos por la alta dirección.

A menudo, la "alta dirección" insistirá en ambos aspectos al mismo tiempo. Entonces, su trabajo es notificarles sobre los detalles molestos y molestos, como las Leyes de la física, que pueden impedir o ralentizar el cumplimiento simultáneo de ambos objetivos.

En última instancia, esto no es una decisión técnica; se trata de economía . El análisis de riesgo debería ponerle un precio a las intrusiones y, por lo tanto, evaluar cuánto dinero puede ahorrar la defensa en profundidad a largo plazo, al contener el daño resultante de un ataque exitoso. Del mismo modo, el aumento de los costos de desarrollo y los retrasos tendrán su propia estimación financiera. Depende de los tomadores de decisiones equilibrar estos costos, ya que se adapta mejor a su estrategia; el punto importante es que se trata de política , no de tecnología .

    
respondido por el Thomas Pornin 17.01.2013 - 21:43
fuente
1

La defensa en profundidad y la simplicidad no son contradictorias siempre que cada capa sea simple e independiente. Cada capa no debe depender de otras capas o realmente no es una buena defensa en profundidad. (Dado que en realidad es solo una capa compleja en ese punto). Si cada capa se puede trabajar por separado y se implementa de una manera simple, verificable y mantenible, realmente no hay nada en contra.

    
respondido por el AJ Henderson 17.01.2013 - 22:53
fuente

Lea otras preguntas en las etiquetas