¿Con qué tipos de exploits se beneficia la diversidad de software?

1

Este artículo clásico de Paul van Oorschot: Revisiting Software Protection , se menciona en la sección 3.4 que al emplear diversidad de software "un exploit creado para tener éxito en una instancia no necesariamente funcionará en contra de una segunda" instancia de software.

Sé que la diversidad de software no elimina la posibilidad de volver a ejecutar un ataque en una instancia de software diferente / diversa. Simplemente hace que una vulnerabilidad creada para una instancia de software (posiblemente) no funcione contra otra instancia de software que tenga la misma función.

Mi pregunta es ¿cuándo un exploit para una instancia no tendrá éxito en una instancia diferente? ¿Qué tipo de ataque realizado por un exploit fallará si se emplea diversidad de software?

He visto muchos artículos que indican que la diversidad de software protege contra los ataques de reutilización de código, con la programación orientada al retorno y la programación orientada al salto como ejemplos. Me pregunto si hay otros ataques contra los que la diversidad protege también.

    
pregunta Benny 26.01.2014 - 14:02
fuente

2 respuestas

2

Un ejemplo sería un ataque de desbordamiento de búfer. Estos a menudo están dirigidos específicamente contra versiones específicas de software de aplicación. Si tuvieras un exploit que funcionara contra IIS 7.0, ese mismo exploit no funcionaría también en Apache.

Un ejemplo contrario sería un ataque de secuencias de comandos entre sitios, que solo ataca el navegador del cliente y es contrario a las aplicaciones internas.

Con un ecosistema homogéneo, un virus que puede infectar un sistema vulnerable puede propagarse fácilmente para infectar a todos los sistemas idénticos, o un exploit que puede ejecutarse en una máquina puede ejecutarse en muchos.

La diversidad proporciona redundancias, y pueden ayudar a limitar su daño. Si tiene dos marcas de gasolineras en su tienda y un virus comienza a robar tarjetas de crédito, es posible que solo robe la mitad de las tarjetas de sus clientes.

El inconveniente de la diversidad es que presenta dos superficies de ataque para que un atacante elija. El ejemplo anterior de la bomba de gas es uno de esos escenarios. Como atacante, puedo intentar atacar el más sencillo de los dos softwares de bombeo, y si incumplo cualquiera de los dos, puedo robar la mitad de sus tarjetas de crédito. Como ladrón, robar la mitad de tu oro sigue siendo mucho oro, y vale la pena.

EDIT

La diversidad es ahora menos valiosa de lo que sugiere este documento. Como las prácticas de seguridad han mejorado dramáticamente desde 2003, las amenazas también se han vuelto cada vez más sofisticadas. El documento se ocupa solo de los vectores de ataque "tontos", como los virus, que fueron una ruina hace una década, pero gracias a la mejora de la seguridad ahora son mucho menos exitosos de lo que eran entonces.

Las amenazas modernas están dirigidas y adaptadas al sistema víctima. Identifican el software a través de métodos de toma de huellas dactilares y luego crean un ataque diseñado para derrotarlo. Las herramientas como autopwn significan que un entorno diverso simplemente brinda oportunidades adicionales para que un sistema sea vulnerable.

La diversidad solo aprovecha la seguridad a través de la oscuridad. Un sistema diverso podría considerarse seguro solo porque existen tan pocos que un atacante nunca se molestó en explorarlo para encontrar sus debilidades, o que el objetivo es de tan bajo valor que no había ninguna razón para atacarlo. Los avances en la tecnología de botnets significan que incluso los objetivos de valor ultra bajo, como refrigeradores o termostatos, pueden proporcionar valor a un atacante a través de actividades de spam, o tal vez como un objetivo para el ransomware, por lo que los atacantes están estudiando cada vez más las vulnerabilidades. Eso significa que el servicio en la nube de un termostato en su red doméstica puede terminar siendo el punto de entrada para que un atacante se ponga detrás de su cortafuegos, donde puede atacar su PC de la banca a su gusto. En este caso, la diversidad sin querer habilita al atacante.

Hasta hace poco, pensaba que la diversidad era una buena estrategia. Después de ver a los atacantes ejercer su oficio, ahora estoy convencido de que es casi irrelevante, y que las prácticas de seguridad efectivas deben seguir siendo el enfoque principal de los equipos de seguridad. Simplificar los sistemas, reducir las superficies de ataque, las revisiones de aplicaciones y los análisis de seguridad, la separación de tareas, el aislamiento de credenciales, la administración de claves y certificados y las políticas de seguridad claras, son prácticas efectivas.

    
respondido por el John Deters 28.01.2014 - 17:02
fuente
1

Van Oorschot está escribiendo sobre redundancia. Imagine que tiene que equilibrar el acceso a su red y necesita agregar dos cortafuegos. Esto significa que un usuario se enfrentará a un servidor de seguridad u otro cuando acceda a sus servidores, de modo que si uno de ellos tiene un error y el otro es seguro, el usuario no puede elegir qué servidor de seguridad estará activo.

Además, si detecta un error en un firewall, puede desactivarlo temporalmente y usar el otro mientras lo actualiza.

También protege sus activos ya que una empresa puede quebrar y es posible que se encuentre sin asistencia para sus servidores. Si tiene servidores / dispositivos diferentes, está diversificando sus inversiones.

(Escribí esto en un dispositivo móvil, por lo que es posible que necesite un poco de reescritura)

    
respondido por el kiBytes 26.01.2014 - 15:59
fuente

Lea otras preguntas en las etiquetas