.

Computación

Puntos débiles dentro de un tipo de software más protegido

1

Las tecnologías de seguridad dificultan los ataques a los ordenadores, pero no lo suficiente.

  • por Robert Lemos | traducido por Francisco Reyes (Opinno)
  • 30 Marzo, 2010

Durante la última década, Microsoft, el objetivo preferido de muchos criminales de internet, ha endurecido su sistema operativo, adoptando tecnologías diseñadas para dificultar que los atacantes encuentren y se aprovechen de distintas vulnerabilidades. Appple y muchos otros fabricantes de software han seguido el mismo camino, introduciendo medidas de seguridad similares en sus sistemas operativos.

No obstante la semana pasada, durante el “concurso Pwn2Own” en CanSecWest, una conferencia sobre seguridad en Vancuver, Canadá, un grupo de investigadores demostraron que los fabricantes de software tienen que hacer más para poder proteger sus programas. Mediante el uso de vulnerabilidades previamente desconocidas, los investigadores fueron capaces de comprometer el navegador Safari de Apple, el Explorer 8 de Microsoft y el Firefox de Mozilla, saltándose las últimas tecnologías de seguridad instaladas en los sistemas operativos sobre los que se ejecutaban dichos navegadores.

“Estas cosas hacen que el asunto sea difícil—realmente difícil,” afirma Charles Miller, analista principal en Independent Security Evaluators y el investigador que logró saltarse la seguridad del navegador Safari de Apple en el sistema operativo Mac OS X Snow Leopard. “No obstante, cualquier atacante con determinación puede encontrar la forma de realizar el ataque.”

Los resultados del concurso Pwn2Own pusieron de relieve una obviedad dentro de la seguridad: aquellos que la defienden tienen que estar en lo correcto todo el tiempo, mientras que los atacantes sólo tienen que estar en lo correcto una vez. “Las formas de entrar en los sistemas son realmente creativas; y de ahí viene la dificultad,” señala Aaron Portnoy, jefe del equipo de investigación de seguridad en TippingPoint, la firma de seguridad que patrocina la competición Pwn2Own.

Comenzando con su Trustworthy Computing Initiative en 2002, Microsoft empezó a implementar una serie de tecnologías de seguridad en Windows. En primer lugar, la compañía protegió “el stack”—el espacio de memoria lógico usado por los programas para almacenar datos de forma temporal. Una tecnología llamada “/GS flan” (nombrada así en referencia al interruptor de software usado por el compilador de la compañía), evitaba que los atacantes publicasen su propio código en el stack. Sin embargo en 2003, David Litchfield, un investigador independiente, demostró una forma saltarse la protección. Microsoft reaccionó mediante el lanzamiento de dos tecnologías más: SafeSEH para solucionar los ataques usando SEHs (structured exception handlers), y ASLR (address space layout randomization), para hacer que las vulnerabilidades similares fuesen más difíciles de explotar en el futuro. Los investigadores, no obstante, han encontrado formas de saltarse ambas protecciones.

Más recientemente, Microsoft lanzó otra tecnología, conocida como DEP (data execution protection), que previene los ataques que sobrescriben la memoria con código y después tratan de ejecutar dicho código. Sin embargo a principios de este año, un investigador independiente, Dion Blazakis, demostró un ataque, conocido como ‘JIT spraying’, que utiliza vulnerabilidades encontradas en otros programas—de forma más notable, el Flash de Adobe y Java de Sun—para saltarse estas protecciones.

“Estas técnicas de explotación son un producto muy solicitado ahora mismo,” afirma Portnoy. “Si consigues una forma de saltarte la seguridad del sistema operativo, eso te coloca a un nivel por encima de la mayoría de la gente.”

Apple tampoco ha resultado inmune. La compañía ha seguido lanzando más tecnologías de seguridad en su propio sistema operativo, y Snow Leopard incluye tanto las tecnología ASLR como DEP, según Miller.

Microsoft reconoce que siempre existirán errores en el software, y afirma que el objetivo es hacer que la explotación de este tipo de vulnerabilidades sea menos dañina. Hoy día, otra serie de medidas, entre las que se incluyen más niveles de protección del stack, ASLR, y DEP hacen que sea más difícil encontrar y explorar una vulnerabilidad.

“Si no contásemos con estas técnicas, se darían muchas más explotaciones de las que vemos ahora mismo,” afirma HD Moore, director de seguridad de Rapid7 y director de Metasploit Project, que agrupa técnicas de explotación en frameworks de fácil uso para investigadores de seguridad.

Se están llevando a cabo investigaciones sobre formas adicionales de ofrecer protección, y una de las candidatas principales es la conocida como “sandboxing”—una técnica mediante la que el código no fiable se ejecuta en áreas de la memoria y en espacios de proceso protegidos, y no se permite que afecte a otras partes del ordenador o del dispositivo. El lenguaje de programación Java y el entorno de ejecución han hecho que las “sandboxes” sean populares, aunque hasta recientemente los programas no han empezado a usar las “sandboxes” de forma más extensa. Los fabricantes de navegadores están contemplado la posibilidad de ejecutar su código en una sandbox, y Google Chrome, que sobrevivió al concurso Pwn2Own sin lograr ser atacado, ejecuta el código en una “sandbox”.

Moore señala que las “sandboxes” tienen sus limitaciones. “Las sandboxes son muy buenas a las hora de proteger contra una vulnerabilidad en una aplicación que se convierta en una explotación del sistema operativo,” afirma, “aunque sólo es útil si los datos que estás intentando proteger no pueden accederse.” En muchos casos, el programa puede que necesite acceder a datos delicados o a datos del sistema, y es ahí cuando las sandboxes dejan de ser útiles, señala.

Finalmente, los fabricantes de software han hecho que sus programas sean más difíciles de explotar, afirma Miller. Aunque descubrió casi 20 vulnerabilidades en programas populares, como por ejemplo programas creados por Adobe, Apple y Microsoft, sólo un grupo muy reducido pudieron ser explotado en sistemas puestos al día, afirma. “Hay un precio a pagar,” admite Miller. “Cada vez que añades una de estas protecciones, ralentiza el sistema o hace que el desarrollo sea más difícil. El objetivo es hacer que el software sea difícil de explotar, y eso es algo que ya se ha logrado.”

Computación

Las máquinas cada vez más potentes están acelerando los avances científicos, los negocios y la vida.

  1. Google anuncia un hito hacia la computación cuántica sin errores

    Una técnica llamada “código de superficie” permite a los bits cuánticos de la empresa almacenar y manipular datos fielmente durante más tiempo, lo que podría allanar el camino a ordenadores cuánticos útiles

  2. El vídeo es el rey: bienvenido a la era del contenido audiovisual

    Cada vez aprendemos y nos comunicamos más a través de la imagen en movimiento. Esto cambiará nuestra cultura de manera inimaginable

    Dos personas creando contenido en formato vídeo
  3. Esta empresa quiere superar a Google e IBM en la carrera cuántica con un superordenador de fotones

    La empresa quiere construir una computadora que contenga hasta un millón de cúbits en un campus de Chicago