¿Cómo sabemos que los sistemas que utilizamos son seguros? ¿En qué momento tenemos que auditar el software que utilizamos? ¿Cómo afectan el software las amenazas de seguridad desconocidas con el tiempo?
¿Cómo sabemos que los sistemas que utilizamos son seguros? ¿En qué momento tenemos que auditar el software que utilizamos? ¿Cómo afectan el software las amenazas de seguridad desconocidas con el tiempo?
Eso es cierto siempre que las personas sigan siendo personas . Si le pregunta a cualquier desarrollador sobre su proyecto de programación, probablemente le den dos a tres escenarios hipotéticos donde alguien podría explotar su código (y cómo). En cada proyecto de desarrollo siempre hay que tomar decisiones de alto nivel, muchas de ellas en relación con el nivel de seguridad que el proyecto garantiza. Esto sucede ya sea por falta de presupuesto, falta de planificación por parte del equipo de desarrollo (o gestión) y simple supervisión (no se puede ver el bosque por los árboles). Porque todo lo que hacemos como personas en estos días interactúa con algún tipo de conexión externa, ya sea un cable Ethernet, un dispositivo Bluetooth, una tarjeta wifi, una torre celular, un lector de tarjetas de cajero automático (quizás un tramo), o incluso dispositivos USB externos como discos duros y pulgares nunca hay ningún seguro máquinas.
Las auditorías de software deben realizarse con frecuencia (si no varias veces al día), pero la frecuencia de las auditorías depende de algunas cosas:
Las amenazas de seguridad desconocidas que surgen después de que se lanza un software (o hardware) suelen ser parcheadas. Como la mayoría de los parches se publican públicamente como actualizaciones de seguridad, actualizaciones de software y firmwares, esto hace que todas las demás versiones del software anterior a la versión actual más reciente sean vulnerables a la vulnerabilidad documentada que el parche supuestamente debe corregir.
Un ataque no documentado donde no existe un parche se conoce como ataque de día cero . Aquí hay una advertencia reciente sobre un Microsoft Internet Explorer 8 Cero vector de ataque del día.
La mayoría de las principales aplicaciones de monitoreo de seguridad / antivirus tendrán un sistema de coincidencia de patrones bayesiano a veces denominado análisis heurístico implementado que intenta evitar todo lo que se parece a un estilo de ataque documentado que está ocurriendo en vivo en una máquina.
La seguridad no se trata de hacer algo imposible de romper. Se trata de un equilibrio costo / beneficio entre usabilidad y protección. Es prácticamente imposible que un sistema sea 100% seguro, sin embargo, es posible hacer que el esfuerzo requerido para romper un sistema exceda el valor potencial de comprometer el sistema.
Además, las medidas de protección pueden reducir el valor del sistema para los usuarios legítimos, por lo que el riesgo debe ser evaluado y se debe tomar una decisión informada acerca de dónde está el equilibrio adecuado entre invertir en la protección contra atacantes y permitir la facilidad de uso para usuarios válidos. .
La esencia de la seguridad consiste en descubrir las mejores maneras de permitir a los usuarios hacer cosas buenas y, al mismo tiempo, evitar que los atacantes hagan cosas malas para maximizar la cantidad de protección que se puede proporcionar para que valga la pena atacar. En la mayoría de los casos (a menos que te conviertas en un objetivo) no tienes que estar completamente seguro, solo debes estar más seguro que el siguiente tipo de igual valor. Incluso si eres un objetivo, solo tienes que estar lo suficientemente seguro para que el atacante invierta más en atacarte que el resultado.
Pero no, no podemos saber que las cosas están seguras, porque incluso si se ha realizado un buen esfuerzo, un atacante suficientemente determinado siempre podría encontrar una manera de romperlo (incluso si esa forma está llegando a su casa y amenazando para golpear sus rodillas con una llave .)
En pocas palabras (demasiado simplificado), debe equilibrar el costo de la pérdida y / o el robo de información, con el costo para (intentar) prevenirlos.
El libro Practical Unix & Internet Security (3ª ed.) tiene un buen capítulo introductorio (y muy general para todos los sistemas) que habla sobre el enfoque de seguridad -vs- costo y es una lectura muy interesante.
Lea otras preguntas en las etiquetas threats