domingo, 23 de septiembre de 2012

Revelando la inseguridad de las aplicaciones: casos de mal uso y patrones de ataque


Introducción
En la actualidad muchas son las voces que comentan sobre la calidad de las aplicaciones, del pobre ejercicio de validación y aseguramiento que tiene el software y cómo los atacantes son capaces de revelar estas situaciones comprometiendo la seguridad de las operaciones en las empresas. Si bien cada organización adelanta un proceso de desarrollo de software siguiendo metodologías probadas y procedimientos estandarizados, la seguridad de sus productos, cada vez más se ve comprometida y probada, frente a eventos deliberados como a efectos de borde.

Así las cosas, comprender como hacer evidente la inseguridad de las aplicaciones, exige un ejercicio de humildad y prueba permanente por parte de los desarrolladores, para interiorizar que, como dice Gary Mcgraw, “la seguridad (en las aplicaciones) no es una característica que se incorpora, sino una propiedad emergente que se diseña y valida”. En este sentido, se plantea un cambio de paradigma en el desarrollo de aplicaciones, toda vez que las características funcionales son la norma que los programadores utilizan para construirlas y la seguridad no es parte natural de este concepto.  

Entendiendo que los atacantes no son clientes o usuarios normales, que son creativos y prueban las condiciones de interacción de la aplicación como son entre otras condiciones de borde, desbordamiento de pila, intercomunicación entre procesos y supuestos de funcionamiento del sistema, se hace necesario establecer una estrategia que permita, desde el proceso de desarrollo de las aplicaciones, anticiparse a comportamientos anormales o no estándares de los usuarios que adviertan condiciones de inestabilidad del software que lleven al compromiso, de su ejecución o de los datos, que transitan a través de éste.

Casos de mal uso - CMA
En este sentido, la literatura ha acuñado el concepto de casos de mal uso - CMA (abuse case o misuse case) los cuales buscan, siguiendo a Mcgraw en su libro “Software Security”, empezar a pensar como el atacante, estableciendo eventos  y condiciones inesperadas que reten el modelo actual de funcionalidad para el cual la aplicación fue creada. Por tanto, se espera que dichos casos intencionalmente generen problemas y hagan evidente los riesgos del software para proponer acciones de remediación y aseguramiento que hagan el producto más resistente a los ataques. (Nótese que no se dice “más seguro”).

Uno de los objetivos de los CMA es documentar y decidir a priori como el software debe reaccionar frente a un uso ilegítimo. Algo que podríamos llamar postura de falla segura. Es decir, poder establecer un comportamiento previsible frente a los abusos que se puedan cometer contra las aplicaciones. Esto exige del analista de seguridad de aplicaciones (nótese que no se habla del desarrollador) hacer las preguntas correctas, pensar por el complemento y exigir al modelo de desarrollo enfrentar la realidad de la inevitabilidad de la falla. 
http://komputasi.files.wordpress.com/2008/12/misuse031.jpg
Ejemplo CMA para sistemas de comercio electrónico

Siguiendo las reflexiones de Mcgraw, plantear un conjunto de CMA, exige entender el entorno de operación de la organización, aquellos grupos de interés o agentes que estarían interesados en generar un ataque en su contra. En este sentido, en el ejercicio normal de validación del ambiente y sus amenazas podemos advertir elementos y escenarios que pueden determinar un ataque para comprometer la reputación, buen nombre, ventaja competitiva o peor aún, impactar o destruir el valor de la empresa, bien en sus clientes o en su flujo financiero.

Así las cosas, el académico propone el diseño de “anti-requerimientos”, para pensar “en aquellas cosas que usted no quiere que su aplicación haga”, los cuales son generados, no por los constructores del software, sino por los analistas de seguridad en conjunto con los analistas de requerimientos (tanto técnicos como los de negocio). Los “anti-requerimientos” proveen ideas de cómo usuarios maliciosos, atacantes, competidores, terceros no autorizados pueden abusar o comprometer el sistema.

Mientras los requerimientos hablan y materializan la funcionalidad del sistema que se quiere diseñar, así como los comportamientos aceptables asociados con sus usuarios, los “anti-requerimientos” son definidos para determinar que ocurre cuando esta funcionalidad no se cumple. Generalmente los “anti-requerimientos” están atados a la falta o falla de las funciones de seguridad definidas en las aplicaciones, pero igualmente a comportamientos no estándar que puede recibir el software.

Los CMA, materializados vía la idea de “anti-requerimientos”, establece un discurso metodológico que permite ver tanto al desarrollador como a los analistas de negocio, como revelar situaciones límite o de borde, que las aplicaciones pueden recibir para comprometer su adecuada ejecución o vulnerar las condiciones de seguridad previamente establecidas.

Cuando pensamos en el modelo de “anti-requerimientos” estamos implícitamente diseñando un modelo de ataque que busca considerar patrones de agresión contra la aplicación para probar su resistencia a comportamientos no estándar o condiciones de presión o exigencia límite en su ejecución. En consecuencia, plantear este tipo de ejercicios, busca descubrir cómo reacciona el sistema frente a un embate y qué tipo ataques tienen mayor probabilidad de ocurrir.

Patrones de ataque
Como quiera que el desarrollo de aplicaciones demanda formalidades que se deben cumplir frente a la exigencia de los requerimientos y la disciplina para materializar los mismos, se hace necesario articular los casos de mal uso dentro de éstas, como práctica que custodia los intereses de los usuarios e incrementa la confiabilidad del producto. En consecuencia, se debe contar con un conjunto de patrones de ataques conocidos que deben ser revisados para materializar de manera práctica CMAs y establecer una línea base de control y validación que nos indique que tan seguros podemos llegar a ser.

El profesor Mcgraw lista al menos 48 patrones de ataques, que denomina un catálogo naciente, los cuales ya cuentan con historias prácticas que han logrado, cambiar el paradigma del aseguramiento de las aplicaciones, superando el entendimiento de la seguridad “más allá de un requerimiento funcional”, por una propiedad emergente que se debe diseñar y validar.

A manera de ilustración detallamos a continuación los elementos que constituyen un patrón de ataque: (BARNUM, S. y SETHI, A. 2006)
  • Patrón Nombre y clasificación: Un identificador único y descriptivo para el patrón.
  • Requisitos Ataque: ¿Qué condiciones deben existir o qué funcionalidad y qué características debe tener el software objetivo, o qué comportamiento debe exhibir, para este ataque tenga éxito?
  • Descripción: Una descripción del ataque que incluye la cadena de las medidas adoptadas.
  • Las vulnerabilidades relacionadas o Debilidades: ¿Qué vulnerabilidades específicas o debilidades apalancan el ataque?
  • Método de Ataque: ¿Cuál(es) es(son) el(los) vector(es) de ataque utilizado(s) (por ejemplo, entrada, datos maliciosos, el archivo creado de manera malintencionada, la falla en el protocolo)?
  • Ataque Motivación-Consecuencias: ¿Qué es lo que el atacante quiere lograr mediante el uso de este ataque? Esta información es útil para la alineación de patrones de ataque a los modelos de amenaza y para determinar qué patrones de ataque son relevantes para un contexto dado.  
  • Habilidad o conocimiento que se requiere Atacante: ¿Qué nivel de habilidad o conocimiento específico tiene el atacante para ejecutar este tipo de ataque? Esto debe ser comunicado en una escala aproximada (por ejemplo, bajo, medio, alto), así como en detalle contextual de qué tipo de habilidades o conocimientos son necesarios.  
  • Recursos necesarios: ¿Qué recursos (por ejemplo, ciclos de CPU, direcciones IP, herramientas, tiempo) son necesarios para ejecutar el ataque?  
  • Soluciones y mitigaciones: ¿Qué acciones o enfoques se recomiendan para mitigar este ataque, ya sea a través de la resistencia o capacidad de recuperación?  
  • Descripción del contexto: ¿En qué contextos técnicos (por ejemplo, plataforma, sistema operativo, lenguaje, diseño arquitectónico) es el patrón relevante? Esta información es útil para la selección de un conjunto de patrones de ataque que son apropiados para un contexto dado. 
  • Referencias: ¿Qué otras fuentes de información están disponibles para describir este ataque?

Reflexiones finales
Si podemos aplicar ejercicios metodológicos como los comentados previamente, estamos avanzando en los caminos de la inseguridad de la información, recorriendo algunos de los comportamientos asimétricos que se presentan, buscando comprender tanto la dinámica de la organización como la de su flujo de información materializado a través de las aplicaciones.

Sin perjuicio de las bondades de las prácticas formales establecidas para el desarrollo de software, las cuales cuentan con incontables historias de éxito y grandes logros en múltiples proyectos de grande y mediano alcance, los casos de mal uso y los patrones de ataque, nos pueden ayudar a reinventar dichas prácticas, para encontrar “espacios en blanco” en la construcción de software de mayor confiabilidad (que necesariamente es de mejor calidad), para que ante la eventualidad de un “cisne negro”, podamos poner a prueba la resistencia de las aplicaciones y sumar nuevas lecciones aprendidas frente a la inevitabilidad de la falla.

Referencias
MCGRAW, G. (2006) Software security. Building security in. Addison Wesley.
BARNUM, S. y SETHI, A.  (2006) Introduction to attack patterns. CIGITAL Inc. Disponible en: https://buildsecurityin.us-cert.gov/bsi/articles/knowledge/attack/585-BSI.html

lunes, 17 de septiembre de 2012

Pronósticos de seguridad de la información para 2013


Introducción

Cada año por estas épocas las empresas especializadas en temas de seguridad de la información y los analistas de importantes empresas de consultoría internacional inician la publicación de documentos sobre las tendencias y pronósticos para la seguridad de la información del año siguiente. En este ejercicio, donde la intuición, los datos disponibles y la experiencia juegan un papel relevante, nos encontramos con múltiples realidades y contextos que hacen de esta actividad un reto permanente para revelar, con alguna precisión, qué podemos esperar de la inseguridad de la información en los siguientes 365 días.

En la revisión de múltiples documentos, noticias y reportes publicados durante este año, los eventos relacionados con hacktivismo, malware (particularmente en móviles), inseguridad en dispositivos móviles (tabletas y teléfonos inteligentes), ciber seguridad, digitalización de registros de información, manejo y analítica de grandes datos (big data and analytics), regulaciones de protección y aseguramiento de información, certificaciones en seguridad, entre otras, mantuvieron la atención de los ejecutivos de seguridad de la información y de los terceros que hacen parte de la administración de la seguridad de la información en las organizaciones.

En este contexto, se advierten tendencias semejantes con variantes novedosas, toda vez que la convergencia de las tecnologías de información y comunicaciones, y las condiciones y comportamientos de la nueva generación Y, establecen un nuevo paradigma social de relacionamiento, donde la información instantánea, la movilidad, el despliegue y almacenamiento en la nube, se convierten en tres aristas fundamentales para comprender el nuevo escenario de análisis, donde la cultura de seguridad de la información debe evolucionar, de un ambiente conocido y cierto propio de un perímetro conocido, a uno dinámico, incierto y con nuevos valores alrededor de la información donde no hay fronteras y la vida ocurre en segundos.

Considerando lo anterior y con la alta probabilidad de andar por caminos insospechados, trataremos de hacer una visión propositiva sobre las variaciones y efectos de la inseguridad de la información considerando sus tendencias actuales y tratando de identificar algunas asimetrías emergentes en el ejercicio de revelar y anticipar la inevitabilidad de la falla.

A continuación cinco pronósticos de lo que puede pasar durante 2013 frente a las tendencias y manifestaciones de la inseguridad de la información.

1. Regulaciones emergentes: Revelando las tensiones entre el proteger y el compartir la información
Durante los últimos cinco años se ha identificado una clara tendencia en la formulación de regulaciones alrededor de la protección de la información, que buscan, por un lado asegurar una clara responsabilidad de las autoridades y las empresas, frente a eventos inesperados o incidentes de seguridad, y por otro, contar con buenas prácticas de seguridad y control de la información.

En este ejercicio normativo, los gobiernos han hecho evidente la tensión existente entre la necesidad de compartir: rendir cuentas, para fortalecer la transparencia empresarial y el proteger, como las actividades tendientes a evitar que terceros no autorizados tengan acceso a la información sensible. Así las cosas, cuando se cruzan las dos exigencias (compartir y proteger) se encuentran dos solicitudes legítimas que entran en conflicto, el cual deberá ser resuelto en clave de reglas de acceso, las cuales deberán respetar el derecho natural a mantenerse informado y las condiciones propias de acceso restringido establecidas por las empresas.

En consecuencia, las condiciones actuales de las relaciones entre gobiernos y empresarios deberán tomar caminos concertados frente a la seguridad de la información que permita articular y balancear dos derechos de rango constitucional, no solamente para mantener la armonía de las relaciones entre el estado y el sector productivo, sino para generar un ambiente menos inseguro para los ciudadanos, que demandan servicios e información de manera ágil e inmediata.  

2. Generación C: Repensando la cultura de la seguridad de la información
La realidad actual nos muestra que el mundo seguirá en su tendencia móvil, de servicios ágiles y novedades tecnológicas convergentes. En este sentido, el contexto en el cual se generaba una cultura de seguridad de la información, donde el perímetro era conocido, requiere ser actualizado y ajustado, considerando que ahora tenemos una realidad de perímetros poroso y desmaterializados.

Mientras la cultura de seguridad de la información previa a esta realidad, estaba fundada en una serie de recomendaciones sobre los flujos de información conocidos y de interacciones visibles entre las aplicaciones que hacían parte de los mismos, ahora dicho conjunto de creencias y valores propios de la protección de la información, deben evolucionar con el nuevo valor de la información que una nueva generación tiene por este elemento.

Para la generación y o recientemente denominada generación de C, es decir, aquella que permanece conectada, está centrada en los contenidos y es altamente orientada a comunidades digitales, el valor de la información está en el compartir más que en el proteger; está más en el informar o proponer, más que en el asegurar y restringir. Habida cuenta de lo anterior, el conflicto inherente planteado en el numeral anterior se hace evidente y por tanto, la cultura de protección de la información deberá asumir el reto de:
  • Entender las nuevas creencias de los pobladores digitales de la generación C. 
  • Transformar el hacer de sus prácticas frente al reto de la protección de la información sensible. 
  • Hacer visibles las nuevas realidades de seguridad y control que resuelvan o balanceen los deseos legítimos de las empresas y sus nuevos pobladores.
3. Malware Convergente: Un nuevo ciclo para el código malicioso
Las noticias recientes y frecuentes sobre los virus, sus mutaciones y utilizaciones en diferentes escenarios corporativos y de seguridad nacional, nos hace ver que lo que inició como diversión y demostración de habilidad técnica en los años 70 y 80, hoy se convierte en una habilidad técnica elaborada, cuyos propósitos y alcances, cada vez más nos sorprenden.

Basta con revisar los informes de empresas como Panda Labs, Mcafee, Trend Micro, Symantec, para advertir el nivel de complejidad técnica que se ha alcanzado en el perfeccionamiento de las técnicas de código malicioso y los devastadores efectos que pueden tener sobre la plataforma computacional, bien de uso masivos por las personas, como de computación empresarial, que soporta los procesos de negocio.

Como quiera que esta tendencia no va a desaparecer en el mediano y largo plazo, se hace necesario estudiar con detalle las tendencias de los últimos eventos para estudiar en profundidad las nuevas funcionalidades que tienen los dispositivos móviles, particularmente en lo relacionado con la geolocalización, la descarga de aplicaciones y su conectividad a redes de alcance global. Otro tanto, deberá seguirse monitorizando frente al uso interno de estos dispositivos y los retos que enmarca utilizar aplicaciones empresariales en los mismos.

De otra parte y no menos importante, se hace necesario mantener una vigilancia estrecha de los efectos del malware que tiene la capacidad de mutar y producir daños entre diferentes plataformas, con capacidades de autodestrucción, técnicas evasivas de distorsión de rastros, control de manera remota y capacidades de cifrado de su propio código para evitar su identificación y detección, condiciones que son relevantes para desarrollar “armas informáticas” bien como estrategias de defensa o ataque.

4. Nueva generación de redes: En la ruta de IP V6 y sus retos
Un reciente informe de CISCO manifiesta que la infraestructura actual de la red de redes internet, comienza a tener retos frente a la demanda de contenidos particularmente multimediales y alta interacción de las redes sociales que implica necesariamente impactos en el desempeño de la infraestructura.

Es claro que internet, en su diseño original, no estaba prevista para mantener y movilizar contenidos complejos o elaborados como los que combinan voz, video, datos y música, lo que claramente advierte una fisura en la estabilidad de la red y mantenimiento de su desempeño. Sumado a esto, el proceso de migración de IP v4 a IP v6 establece un reto adicional que todos los grandes participantes de la red deben asumir y manejar para asegurar un crecimiento y sostenimiento de la red y sus servicios.

En este sentido, temas como DNSSEC (Domain Name System Security Extensions - tecnología para proteger los servicios de resolución de nombres de la suplantación de identidad y el envenenamiento de caché mediante una "red de confianza", basada en criptografía de clave pública), los ataques masivos y anónimos de denegación de servicio, las nuevas fallas de seguridad inherentes al protocolo IP v6, el acondicionamiento y transición de la seguridad de la información de IP v4 a IP v6, establecen algunos de los temas que serán objeto de revisión durante este nuevo periodo de viaje de la tierra alrededor del sol.

5. Un nuevo teatro de operación y control: hacktivismo, APT y ciber defensa en ambientes tercerizados
Pensar en la revolución de la computación en la nube y la manera como paulatinamente se van adoptando modelos de operación que generen mayor confianza en los usuarios, es una realidad que se viene presentando, conforme maduran tanto los proveedores como los servicios en la nube. Sin embargo, esto no más que la antesala de un entorno más amplio y de marcada complejidad que exige comprender cómo están relacionados los terceros que operan las infraestructuras y comparten el almacenamiento, para dimensionar de manera amplia y sistémica lo que significa proteger la información.

En un ecosistema tecnológico, las condiciones de operación y las características de seguridad de la información, demandan un entendimiento de las relaciones entre sus participantes para establecer las posibles amenazas emergentes que dicho escenario nos plantea.


Ecosistema Tecnológico: Componentes y participantes

Por tanto, no es solamente entender las condiciones propias de seguridad y control de los proveedores de servicios en la nube (que por cierto aún no terminamos de comprender y analizar), sino el entorno superior que los contiene a todos ellos, para descubrir y advertir las nuevas propuestas que se pueden presentar desde allí, que impacten tanto de manera positiva como negativa a los participantes de esta nueva realidad.

Utilizando el escenario de las redes sociales como puede ser Facebook y twitter, que es el resultado de la interacción de múltiples proveedores de servicios en la nube y que su disponibilidad está asociada con las estrategias de continuidad asociada con cada uno de ellos, plantearemos un ejercicio prospectivo académico que muestre algunas posibilidades de escenarios manifiesten algunas posibilidades para la inseguridad de la información.

Las amenazas persistentes avanzadas, bien conocidas y documentadas en los últimos años, pueden materializarse y planearse utilizando la infraestructura de diferentes proveedores, sin su conocimiento, articuladas en la configuración de redes zombies (llamadas botnets) que utilizan recursos compartidos y monitorean las relaciones propias de las interrelaciones del entorno de la red social, para identificar temas de interés y establecer el vector de ataque requerido para materializar las mismas.

De igual forma, los hacktivistas que han sabido captar la atención de empresas y gobiernos, conocen las ventajas y posibilidades que existen en el ecosistema tecnológico y estarán identificando y tomando posiciones en la infraestructura tecnológica disponible, bien de manera gratuita o con apoyo de terceros, para contar con puntos de control y coordinación que permita acciones coordinadas, efectivas y no trazables que aseguren sus acciones no autorizadas, bien por la explotación de fallas inherentes en sus víctimas o por ejercicios de conectividad masiva que ponen a prueba la disponibilidad de las plataformas.   

Finalmente y no menos importante, los gobiernos, que conscientes de la realidad de las redes sociales, se encuentran atentos a las manifestaciones de sus participantes, deben mantener una estrategia de monitorización práctica y eficiente, balanceando las tensiones propias del proteger y compartir, que permitan encontrar en sus servicios y arquitectura puntos de falla que puedan ser aprovechados por agentes maliciosos, que encuentren en ellos nuevas forma de generar acciones no autorizadas, explotando la confianza actual de dichas redes entre los jóvenes y adultos que han sido seducidos por esta tendencia tecnológica.

Habida cuenta de lo anterior, noticias como nuevos gusanos, robos de datos, filtración  y suplantación de información, manipulación de medios de comunicación, colapso de infraestructuras tecnológicas, entre otras, deberán ser parte de los ejercicios de ciber defensa que las naciones deberán adelantar, toda vez que la mayor exposición de las infraestructuras de información críticas de la naciones, terminan indefectiblemente conectadas con las realidades de los ciudadanos y sus expectativas. Así las cosas, la defensa informática de una nación, deberá pasar por el entendimiento de qué estamos defendiendo, cómo lo vamos a hacer y para qué lo hacemos.

Reflexiones finales
Si bien la seguridad de la información es un proceso exigente y dinámico que requiere la habilidad de sus responsables para mantener en movimiento su creatividad frente a la inseguridad, es importante advertir que se debe repensar este concepto desde la vista sistémica que nos propone un ecosistema tecnológico. Esto es, hacer evidente la propiedad inherente de la inseguridad que se insinúa en las relaciones entre sus participantes, para así construir un modelo recursivo que permitan anticiparse a posibles amenazas y mantener en el radar de los ejecutivos de la seguridad, una vista dinámica de los movimientos asimétricos de las vulnerabilidades y sus condiciones de falla.

2013 será un nuevo año de emociones y retos para los ejecutivos de la seguridad de la información. Un año lleno de cambios y transformaciones organizacionales y globales que pondrán a prueba su capacidad para imaginar el futuro, entender la dinámica de los negocios internacionales y jugar en un escenario que necesariamente hará más evidente la necesidad de compartir y proteger al mismo tiempo.

Referencias
ROMAN, F; PETERSON, M; KOSTER, A; “The Rise of Generation C: How to Prepare for the Connected Generation’s Transformation of the Consumer and Business Landscape,” Strategy+Business, Booz & Company Inc., iss. 62, Spring 2011, Disponible en: http://www.strategy-business.com/article/11110
CISCO (2012) Visual Networking Index 2011-2016. Disponible en: http://www.cisco.com/web/solutions/sp/vni/vni_forecast_highlights/index.html
MCAFEE (2011) 2012 threats predictions. Disponible en: http://www.mcafee.com/us/resources/reports/rp-threat-predictions-2012.pdf
CHABROW, E. (2012) Top IT Security investment for 2013. Disponible en: http://www.inforisktoday.com/top-security-investments-for-2013-a-5001/op-1
CIO UPDATE (2012) Top 13 security trends to watch in 2012. Disponible en: http://www.inforisktoday.com/top-security-investments-for-2013-a-5001/op-1
TENNANT, D. (2011) Eight corporate IT Security prediction for 2012. Disponible en: http://www.inforisktoday.com/top-security-investments-for-2013-a-5001/op-1
ESG RESEARCH (2012) Which information security services are most popular? Disponible en: http://www.esg-global.com/blogs/which-information-security-services-are-most-popular/
SYMANTEC (2012) NORTON Cybercrime Report. Disponible en: http://www.symantec.com/content/en/us/home_homeoffice/html/ncr/