¿Debería Stack Exchange ser más oscuro en la estructura de sus sistemas?

20

Me he dado cuenta de que Stack Exchange siempre revela la estructura detallada de sus servidores y sistemas ( vea Estos blog posts ). Y también los resultados exactos de sus pruebas y puntos de debilidad (consulte antiguo y resultados de las últimas pruebas ) Conozco los conceptos de software de código abierto con respecto a la seguridad, muchos ojos lo mantienen más seguro que un ojo, pero siempre pensé que ese es el caso de las cosas genéricas, no revelar su propia arquitectura de red de sistemas exacta y detallada.

Aunque admito que es muy útil y educativo, disfruto cada parte de su lectura y estudio, y se lo considera una referencia para muchas cosas, pero tengo razón al suponer que revelar muchos detalles puede considerarse tan Es útil para un atacante y es una obvia brecha de seguridad?

EDITAR: También como señaló Henning Klevjer, el explorador de datos también es una buena fuente de cómo se ve la estructura de datos interna y la base de datos , eso puede ser una guía para alterar o dañar fácilmente una parte específica de los datos si una intrusión tuvo éxito.

Creo que todo eso es grandioso, y debería fomentarse un poco más de apertura en otros sitios y sistemas, pero, ¿no va Stack Exchange a ir demasiado lejos con eso? Cualquiera puede saber dónde están los centros de datos, cuántos de ellos, el hardware de los servidores utilizados, el esquema de pila completa, los sistemas operativos utilizados, la topología de la red y las versiones de software exactas (en muchos casos). Usted puede saber el mantenimiento programado; qué sucede exactamente, y qué sucedió correctamente y qué sucedió mal y por qué, y qué están haciendo para corregirlo. Creo que eso es increíble, pero ¿es seguro?

    
pregunta amyassin 04.11.2012 - 13:05
fuente

3 respuestas

30

No. Siempre debes asumir que el atacante lo sabe todo. La seguridad por oscuridad es considerada una mala práctica por la mayoría de los desarrolladores y arquitectos no gubernamentales. El obstáculo que proporciona es mínimo, y si algo se mantiene en secreto, puede ser para ocultar un defecto. El principio de Kerckhoffs es importante tener en cuenta.

Editar : esta respuesta trata la seguridad por oscuridad en general; no particularmente para StackExchange.

    
respondido por el Henning Klevjer 04.11.2012 - 13:11
fuente
10

La revelación tiene dos caras:

  • Supuestamente , la divulgación completa aumenta la probabilidad de que una persona bien intencionada localice los errores y los informe, para que puedan solucionarse rápidamente. Esto es lo que Eric S. Raymond llama "ley de Linus" (expresado como "Dados suficientes globos oculares, todos los errores son superficiales". ). Aunque ESR y Linus Torvalds creen en eso, hay otras opiniones por ahí. Que un blog patrocinado por Microsoft intente contradecir a un conocido defensor de Linux no debería ser una sorpresa; sin embargo, ambos artículos son una lectura interesante (no creas lo que lees, pero piensa al respecto).

  • Supuestamente , la oscuridad impide que los atacantes encuentren errores; o, al menos, los frena. Hay muchos ejemplos históricos de sistemas de seguridad que se están rompiendo a pesar de que estaban ocultos. En el campo de las computadoras, cualquier exploit de día cero contra software de código cerrado es prueba suficiente. No es tan difícil hacer ingeniería inversa en el código compilado (como programador, a veces me resulta más fácil trabajar en binarios desensamblados que en inspeccionar el código fuente, cuando ese código fuente ha sido escrito de manera descuidada). Además, la arquitectura del sistema está probablemente documentada en algún lugar, generalmente como montones de papel en estantes anónimos o (con frecuencia) tirados en la basura; estas cosas rara vez permanecen en secreto por mucho tiempo. Esto se puede resumir en: la oscuridad no es exhaustiva y es difícil de mantener .

En la práctica, el error que se debe evitar es creer en la eficiencia de la divulgación completa u oscuridad. La divulgación completa no es confiable como una forma de detectar problemas de seguridad (encuentra algunos, no todos). La oscuridad no es confiable para ocultar los problemas de seguridad (ralentiza a algunos atacantes, no a todos). Idealmente , la divulgación no debería importar (pero ese es el mismo "idealmente" que en "idealmente, el software no tiene errores"). Prácticamente , simplemente asuma el peor de los escenarios: considere que todos los atacantes potenciales, y solo ellos, inspeccione sus sistemas y conozca todo sobre ellos.

    
respondido por el Thomas Pornin 04.11.2012 - 20:01
fuente
3

Diría que quizás oculta los números de versión exactos de las cadenas de respuesta, pero:

  1. Solo cuando esté seguro de que la implementación del protocolo es estable y correcta (no desea que algún software que use la versión sepa que emplee una solución para su implementación incorrecta del protocolo).
  2. Es un fruto muy bajo, suficiente para detener a algunos chiquillos de script que intentan encontrar servidores que saben que son versiones comprometidas. Incluso un script para niños que solo intenta su / su lista de exploits de todas formas no va a ser detenido.

En última instancia, cualquier atacante real tiene innumerables formas de obtener dicha información. Desde el modo en que se comporta de una manera particular al software x versión y, a alguien en el interior que puede transmitir los detalles.

    
respondido por el ewanm89 04.11.2012 - 13:25
fuente

Lea otras preguntas en las etiquetas