Llegamos a ustedes gracias a:



Reportajes y análisis

El software: El eterno campo de batalla de las ciberguerras

Los ataques a internet tienen distintas formas, pero muchas de ellas explotan las persistentes debilidades del software.

Estamos en riesgo. Las computadoras son vulnerables a los efectos de un pobre diseño, controles de calidad insuficientes, accidentes y, tal vez, lo más alarmante, a ataques deliberados.
Computadoras en riesgo, Computer Science and Telecommunications Board, National Research Council, 1991.
[24/07/2009] Ahora, 18 años después, seguimos en riesgo. Nuestras computadoras aún son vulnerables. Todavía sufren los ataques permitidos por pobres diseños y controles de calidad insuficientes. Gastamos enorme cantidad en seguridad TI, aunque las empresas e individuos en Estados Unidos están perdiendo decenas de miles de millones de dólares anualmente por el cibercrimen.
En enero, Heartland Payment Systems reportó lo que podría ser el más grande robo en la historia. La empresa dijo que en una operación de ciberfraude global robaron información de más de 100 millones de tarjeta habientes de crédito. Alguien había plantado un programa sniffer en uno de los discos de un servidor de Heartland, donde aparentemente husmeó sin ser detectado por semanas.
Estas mega-brechas se vuelven grandes noticias y causan a sus víctimas mucho dolor. Pero solo son la punta de un enorme iceberg cibercriminal. En septiembre pasado, Gartner publicó un escalofriante caso de estudio acerca de The Procter & Gamble (P&G), una empresa reconocida por su sofisticación en TI y un desarrollo robusto de firewall, detección de intrusos y herramientas de antivirus.
P&G llevó a cabo una auditoría mundial que tomó seis meses sobre sus PC para ver si alguna estaba infectada por robots de software escondidos, o bots, que pudieran conectarse con botnets secretamente controladas por terceros. Utilizando sensores especiales, P&G descubrió que tres mil de sus 80 mil PC estaban infectadas con clientes botnet. Esos bots estaban intentando comunicarse con una docena de sitios a control remoto, y alrededor del 20% de esos intentos pasaban a través de las medidas de seguridad de P&G.
Pero eso no es todo. P&G canceló los bots ofensivos haciendo un re-imaging en las PC, un proceso laborioso de remover y reinstalar todo el software, incluyendo el sistema operativo. De acuerdo con Gartner, sin embargo, muchas PC se reinfectan inmediatamente cuando se restauraron los datos respaldados del usuario que contenían ejecutables escondidos en las máquinas reparadas.
En los últimos 18 años ha habido asombrosos avances en cada faceta de las TI -en redes, procesadores, memorias, discos, lenguajes, aplicaciones, métodos de desarrollo y herramientas de seguridad-; sin embargo, la tecnología claramente no ha podido cambiar la marea en la guerra contra los cibercriminales.
Nuestros oponentes en ciberseguridad están ganando, y continúan ganando, señala Jim Routh, jefe de seguridad de la información en The Depository Trust & Clearing Corp. "Esta no es una guerra de la cual veremos el final".
William Scherlis, un profesor de ciencia de la computación en la Universidad Carnegie Mellon y un especialista en seguridad y confiabilidad del software, señala que los ataques hoy son más sofisticados, más elusivos y se llevan a cabo mucho más rápido que antes. Él apunta a tres tendencias en TI que están haciendo el problema aún peor. Estos son obvios, pero han avanzado cautelosamente hacia nosotros, y el mundo es ahora radicalmente diferente, señala.
La primera es el enorme cambio de los sistemas funcionales de silos hacia sistemas interconectados, corporativos y entre empresas. Una falla en un lugar, puede influenciar o tener un efecto dominó en lugares que tienen poco que ver en tiempo, geografía y función.
La segunda es una descentralización de la responsabilidad de TI, que va en parte a gente que no es de TI. Un cambio -como un simple cambio en los privilegios de acceso por un administrador, o un cambio en una regla de negocios por un experto de márketing- puede repercutir a lo largo de una corporación mundial, señala Scherlis.
El tercer factor, relacionado con los otros dos, es la extrema velocidad con la cual las acciones -simples errores al igual que ataques- son propagadas a través de las redes y los sistemas. Estos tres cambios contribuyen con valor y agilidad a la empresa, pero también cambian la forma de la imagen de seguridad, señala.
Scherlis dice que hace pocos años una organización habría colocado un firewall corporativo entre sus sistemas internos y las redes externas. Luego, cuando se volvió obvio que había malos actores o malos programas dentro de la compañía, la empresa se hubiera vuelto hacia firewalls departamentales, y luego de eso, hacia firewalls en computadoras individuales. Luego, cuando eso hubiera probado ser insuficiente, la compañía habría empezado a poner escudos alrededor de las aplicaciones individuales.
Ahora, señala Scherlis, incluso eso no es suficiente, ya que los sistemas se vuelven más y más fragmentados e interconectados. Las aplicaciones modernas contienen frameworks y librerías de diversas fuentes, y éstas se estiran a lo largo de múltiples computadoras, indica. Así que ahora necesitas considerar perímetros dentro de la aplicación, en las interfases de programación de la aplicación.
Incluso, la más simple de las modernas aplicaciones, puede contener miles de componentes ejecutables individuales, de múltiples fuentes. Eso hace que el problema de la certidumbre del software sea muy difícil, señala Schneider.
Cambie la jugada
Fred Schneider, un experto de seguridad y confiabilidad de software de la Universidad de Cornell, va incluso más allá, diciendo que la noción entera de construir perímetros defensivos -a cualquier nivel- es obsoleta. Hoy en día, la gente descubre vulnerabilidades porque alguien usa una en un ataque, y luego la arreglan. Ellos están dando vueltas alrededor, encontrando agujeros en la represa y parchándolos. Esto es jugar a alcanzarse y dejar que el atacante defina el problema. Es un juego donde inherentemente te vuelves loco.
Pero, él sugiere, ¿qué tal si volteamos el tablero en una forma que nos permita ir delante de los ataques?.
Muchos ataques nacidos en Internet vienen a través de spoofing; llega un mensaje que pretende ser de Citibank, pero no lo es, y que contiene algún malware. Suponga que cada mensaje en Internet pudiera ser atribuido a la persona que lo envía, señala. Entonces, cuando alguien lanzara un ataque, usted podría averiguar quién lo envió y arrestarlo.
Schneider señala que esto podría cambiar el estado mental: de prevención a uno de responsabilidad. La gente se comportará mejor, no porque su mal comportamiento sea bloqueado, sino porque pueden ser descubiertos y responsabilizados por ello. El problema con la mentalidad de prevención actual es que tienes que protegerlo todo, señala Schneider, pero el atacante solo tiene que encontrar una grieta en la armadura.
Aunque no es trivial, implementar tal responsabilidad en Internet es técnicamente viable. Pero hay dos grandes barreras para hacer que suceda, concede Schneider.
Una es la expectativa de anonimato que muchos usuarios no abandonarán fácilmente. La otra es que los caprichos de la ley local y las aduanas podrían llevar a los atacantes fuera de los Estados Unidos, lo cual haría difícil traerlos a dar cuentas. Necesitamos descubrir un balance entre responsabilidad y anonimato, señala Schneider, y necesitamos acuerdos internacionales.
Al menos uno de los mayores fabricantes de software podría haber recibido el mensaje. En un documento publicado el año pasado, Scott Charney de Microsoft Corp. esbozó los pasos que la compañía ha tomado desde el 2002, cuando Bill Gates creó la iniciativa de Cómputo Confiable que ahora lidera Charney. Él nota que la compañía ha hecho un progreso significativo en fortalecer sus productos contra ataques, pero admite que mejorar cualquier pieza dada de software no es suficiente.
Charney argumenta que fundamentalmente debemos cambiar el juego, y que se necesitan dos elementos para hacerlo. El primero es construir una pila confiable con fuerte autenticación en cada capa -hardware, software, gente y datos-, algo que Microsoft llama confianza de extremo a extremo. El segundo implementaría la prescripción de Schneider para auditar los eventos que brindan responsabilidad.
Sin embargo, a corto plazo, los usuarios deben hacer lo mejor que pueden con la tecnología existente, señala Alan Paller, director de investigación del Instituto SANS, una firma de educación en seguridad de la información. Él dice que las ciberamenazas que explotan software son de tres tipos: aquellas que explotan vulnerabilidades dejadas por código defectuoso, aquellos que explotan errores lógico en diseños defectuosos, y explotación de ingeniería social que engaña a los usuarios a hacer cosas que no deberían hacer, como revelar una contraseña.
La más poderosa de las nuevas técnicas de ataque está en la ingeniería social, donde ellos están haciendo un análisis mucho más profundo de la gente que van a atacar, señala Paller. Pero parte de eso es pura tecnología, indica, porque una vez que permites entrar al tipo, él aún tiene que romper algunas cosas.
Eso significa que la tecnología defensiva es necesaria dentro del sistema de modo que si un usuario, por ejemplo, le da clic a algún malware, el atacante no pueda insertar un keylogger u otro software malicioso en su máquina.
Los usuarios no están indefensos
Así que parece que los usuarios están en un patrón sostenido. Ellos están esperando que los fabricantes de software fortifiquen productos individuales, algo que han estado haciendo lentamente por años; ellos están esperando que las compañías deTI hagan entregas masivas de tecnologías confiables; y ellos están esperando que los gobiernos y sociedades lleguen a acuerdos sobre medidas de responsabilidad. Mientras tanto, las compañías como Heartland y P&G están por su cuenta.
Pero hay coas que los usuarios pueden y deben hacer, señala Scherlis. La frase clave es ?administración de la configuración?, indica.
La gente subestima la importancia de esto porque suena lóbrego y aburrido -como hacer un inventario-. Pero muy pocas organizaciones o usuarios conocen incluso lo que está corriendo en sus computadoras. Las cosas simplemente aparecen, y ni siquiera sabes cuál es su herencia, señala.
Scherlis dice que una computadora de escritorio típica puede tener cinco mil o más archivos ejecutables, con muchos de origen incierto. Adicionalmente, hay archivos ocultos y modificaciones dinámicas a los archivos. Eso es muy tenebroso, concluye.
Ocúpese del origen de su software, señala Scherlis, y sea absolutamente riguroso sobre la administración de la configuración y la integridad de la configuración, ambas durante el desarrollo y sin cesar durante las operaciones.
Mientras tanto, indica, una idea que emerge para los constructores de software es producir evidencia de que sus códigos satisfacen ciertos criterios. Los desarrolladores pueden ayudar a los compradores y usuarios a evaluar software brindando casos de prueba, modelos, documentación vinculada como Javadoc, desarrollo/configuración de logs, logs de defecto/problema, y resultados de análisis, indica.
Pero, incluso, las mejores medidas de protección nunca harán completamente el trabajo, señala Robert Lucky, un vicepresidente de investigación de Telcordia Technologies Inc. Lucky dirigió una fuerza de trabajo del Departamento de Defensa de los Estados Unidos en el 2006,que buscó la amenaza de código malicioso secretamente insertado en software estadounidense desarrollado fuera del país.
Su reporte detallaba un número de pasos que podrían ser tomados para ayudar a protegerse contra tal sabotaje, pero él le dijo recientemente a Computerworld que considera al problema del cibercrimen ?intratable?. A final de cuentas, para mí es siempre evaluación de riesgos, señala. No puedes gastar una cantidad infinita de dinero. Tienes que hacer trueques inteligentes y aceptar el riesgo.
La mejor aproximación, aconseja Lucky, es identificar aquellos componentes de sistema que son críticos y sensibles, y gastar en grande solo en esos. Pero él admite que no es fácil listar todos los componentes críticos en un sistema grande y complejo.
No importa lo que los usuarios y los fabricantes hagan, Schneider de Cornell advierte contra la complacencia. Schneider, quien es el jefe de la junta de consejo externa de Microsoft sobre seguridad, señala: Es claro que el software [de Microsoft] es mucho más seguro de lo que era hace cinco años,no hay duda. Pero que el software sea más seguro no es la pregunta correcta que hay que hacer, indica, porque la amenaza ha cambiado también.
El hecho de que el software se haya vuelto mejor está bien, dice, pero el software se está volviendo más complejo, y la tasa de ataques exitosos parece estarse incrementando.
El reto hoy en día es acercarse al problema de una manera más completa. Y mejor nos apuramos, señala Schneider, porque los tipos malos aún no están cerca de estar tan instruidos como podrían llegar a ser.
Hay muchos más métodos sofisticados de ataque que ellos aún no han usado, indica. Nuestro software podría volverse mejor, y ellos todavía tendrían muchos trucos.
Gary Anthes. Computerworld (US)