lunes, 13 de mayo de 2013

CALO: El sirviente del soldado



Estamos rodeados de tecnología que tiene sus orígenes en el mundo militar: GPSs, hornos microondas, metales anti-adherentes, incluso el propio Internet.

Sin embargo nadie pensaría que entre las aplicaciones más populares para nuestros móviles tenemos también algunas salidas de un laboratorio militar.

¿Os suena SIRI? ¿El asistente personal para iOS de Apple?


Pues, aunque poca gente lo sepa, SIRI es una evolución de parte del software creado para el proyecto militar CALO.

CALO fue un proyecto llevado a cabo por más de 300 expertos dentro del programa PAL (Personalized Assistant that Learns) de DARPA (Defense Advanced Research Projects Agency), la principal agencia del Departamento de Defensa de Estados Unidos responsable del desarrollo de nuevas tecnologías para uso militar.

CALO fue un proyecto que trató de integrar múltiples tecnologías de inteligencia artificial en un asistente cognitivo. CALO es el acrónimo de "Cognitive Assistant that Learns and Organizes". El nombre fue inspirado por la palabra latina "Calonis", que significa "el sirviente del soldado".

La tecnología del programa PAL no solo ha nutrido aplicaciones civiles como SIRI, sino que ha sido incorporada en varios proyectos militares como era su objetivo, por ejemplo en el CPOF (Command Post of the Future) del Ejército de los Estados Unidos (US Army).

El CPOF es un sistema de C2 (Mando y Control) que permite a los comandantes mantener una visión general del campo de batalla; colaborar con superiores, homólogos y subordinados; y comunicar sus intenciones en vivo.


martes, 9 de abril de 2013

Conceptos de Ciberguerra: Intrusion Kill Chain

En la terminología militar norteamericana "Kill Chain" es la secuencia de eventos que se produce durante un ataque contra una posición enemiga. Se compone básicamente de los siguientes elementos:
•    Identificación del objetivo.
•    Despliegue de fuerzas hacia el objetivo.
•    Decisión y orden de atacar.
•    Destrucción del objetivo.

Una de las mayores revoluciones en táctica militar (gracias principalmente a la tecnología) ha sido conseguir que el tiempo que pasa entre una fase y otra se reduzca para conseguir mayor efectividad.

Este concepto ha sido adoptado de forma interesante por algunos expertos en ciberguerra con términos como "cyber kill chain" o "intrusion kill chain".

La adopción de este término se debe a que el proceso de "kill chain" encaja bastante bien con el proceso tradicional de "hacking" por sus similitudes (sobre todo con el concepto APT) y porque permite planificar las acciones tácticas de forma ordenada.

El desarrollo de eventos típicos de una "intrusion kill chain" es:
•    Reconocimiento: Recogida de información previa (direcciones IP, emails, nombres, URLs).
•    Preparación de las armas: Adquisición y adaptación de las herramientas de hacking necesarias (exploits, payloads, troyanos).
•    Entrega: Envío del exploit (red local, Internet, email, disco USB).
•    Explotación: Aprovechamiento de una vulnerabilidad o descuido para ejecutar código en el objetivo.
•    Instalación: Instalación de malware, puertas traseras y herramientas en el objetivo.
•    Comando y Control: Comunicación remota con el malware y las puertas traseras instaladas.
•    Acciones en el objetivo: Cumplimiento de las metas de la misión.
  
   
En este caso la meta final de una "kill chain", la destrucción del objetivo, normalmente no es posible. Pero la planificación del resto de acciones tiene bastantes similitudes con el proceso tradicional.

En el entorno cyber-ofensivo también es importante minimizar los tiempos entre fases, para reducir la probabilidad de que las vulnerabilidades sean corregidas, para evitar que las puertas traseras sean detectadas y para dificultar que puedan llevarse a cabo acciones defensivas.

Este proceso ofensivo-defensivo está bastante bien desarrollado en un documento de LockheedMartin de lectura muy recomendable: Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains


lunes, 4 de marzo de 2013

¿Cracking?



El termino “hacking” tiene varias acepciones, aunque nosotros cuando hacemos uso de él normalmente nos referimos al hacking como la acción de acceder y utilizar recursos informáticos ajenos sin autorización, también referido en algunas ocasiones como “intrusión”.

Si nos ponemos puristas, "hacking" no sería el termino correcto. Es más, existe un sector  en el mundillo de la tecnología que intentar limpiar las supuestas connotaciones negativas de este término y utiliza el término alternativo "cracking" para definir la intrusión en los sistemas informáticos ajenos o en general a cualquier actividad informática maliciosa.

 

No quiero entrar en discusiones semánticas, es más es una batalla perdida. A nivel popular el uso del término "hacker" es incluso más alegre (cualquiera con unos mínimos conocimientos es denominado como tal) y más si tenemos en cuenta que algunos medios de comunicación a veces utilizan directamente otro término; "pirata", para definir a un individuo que utiliza la informática con fines cuestionables.

Así que usar el término "hacking" tal vez no es tan negativo dentro de lo que cabe y así nos ahorramos entrar en valoraciones éticas.

Y hablando del daño que han hecho los medios de comunicación al concepto de "hacker", podríamos también comentar la imagen que se da del mundillo de la seguridad informática y del hacking.

Los medios de comunicación y el cine han dibujado una imagen muy borrosa y fantasiosa de lo que es el hacking. Se ha creado una idea distorsionada que muestra al hacking como una especie de ciencia esotérica; mezcla de magia, suerte y espirales colores; olvidando que su principal faceta es técnica.

Eliminando los matices sociales asociados al hacking, tales como: la ética hacker, la cultura hacker o la moda hacker; y centrándonos solo en el aspecto informático, el hacking es principalmente una labor técnica con reglas y metodologías definidas (aunque siempre en constante cambio y actualización).

Además se ha mostrado también al hacker como un genio o gurú excéntrico, incapaz de ser detenido o vencido.
 

Todo esto se aleja de la realidad:

- El hacking no es algo exclusivo de genios, cualquiera con un poco de capacidad y constancia puede llegar a realizar acciones de hacking.

- El hacking se puede aprender y enseñar, no es algo abstracto.

- El hacking tiene un importante componente técnico. En la mayor parte de los casos es necesario saber cómo funciona un sistema informático para poder romperlo.

- El hacking puede ser evitado. La mayor parte de las veces un hacker aprovecha un error o la ignorancia de un administrador o de un programador para realizar su ataque. Estos errores pueden ser corregidos y prevenidos.

- Los hackers no son super-genios. Son humanos, cometen errores, tienen debilidades, tienen manías, tienen costumbres, dejan huellas.

Aunque es cierto que un buen hacker normalmente debe ser inteligente y recurrir a menudo al uso de pensamiento lateral, en algunos casos el hacking es increíblemente sencillo.

Todo depende de lo difícil que lo hayan puesto los administradores o los programadores de un sistema informático. A veces, como sucede en las películas, el protagonista consigue adivinar la contraseña que utiliza el malo en cuestión de segundos y sin la necesidad de conocimiento informático alguno.