lunes, 25 de febrero de 2013

Cursos para Desarrollar Programas Seguros.


Me dijo un desarrollador: “Se quejan de que no sabemos desarrollar un programa de manera segura pero a la hora de querer encontrar un curso dónde poder aprenderlo, hay muy pocas opciones”.


¿Y saben? Tiene razón. Sobre todo buenas opciones en México.

 
En fin. Me di a la tarea de buscar algunas posibilidades. Aclaro que no sé si estos cursos se dan en nuestro país o no y que no he tomado ninguno de ellos. Tómenlo como una lista y ustedes vean cuál les parece mejor.


Curso del EC-Council: “Certified Secure Programmer”. Aunque su curso de “Ethical Hacker” del EC-Council no me pareció tan bueno por estas razones, le doy un voto de confianza a este curso.


Curso de OffSec (creadores de BackTrack): “Offensive Security Web Expert”. Cuando estos señores dicen “hands-on”, en verdad lo es y no creo que les vaya a disgustar, son garantía de ofrecer excelentes cursos.


Curso del SANS: “Secure Coding in Java/JEE: Developing Defensible Applications”. El SANS tiene reputación por hacer buenos cursos en general.


Curso del SANS: “Secure Coding in .NET: Developing Defensible Applications”. Como ya dije, el SANS tiene Buena reputación de ofrecer cursos técnicos y de calidad.


Curso de “Web Application Security Training” de WhiteHatSec. En dicha empresa labora Jeremiah Grossman, un experto de seguridad reconocido por su labor en seguridad en aplicaciones por lo que estimo que sus ofertas pueden ser atractivas.

 
Curso del CERT (SEI Training): “Secure Coding in C and C++”. Supongo que por venir del CERT de EUA debe de ser bueno. Subrayo la palabra “supongo”. Revisen bien su oferta.

 
Curso tipo “eLearning” de VeraCode: “Application Security eLearning”. Veracode tiene buenos productos competitivos para seguridad en aplicaciones. Supongo que estos cursos deben estar bien. Subrayo la palabra “supongo”.


Catálogo de cursos de SecureCodingAcademy. Dudé en enlistar aquí a estos cursos. Nunca había escuchado de esta “academia”, así es que revisa bien las condiciones de los cursos y los temarios. Y tal vez comentarios (buenos y malos)  en Internet antes de adquirir uno de estos.

 
Bueno, hasta aquí mi lista. ¿Tú conoces algunos buenos cursos para desarrollar programas seguros? ¿Sabes de alguno que se imparta en nuestro país y que lo recomiendes? Codificar de manera segura no es una cuestión trivial. Y aunque existen varios libros y sitios en donde se pueda aprender este arte, algunos prefieren los cursos.

jueves, 21 de febrero de 2013

Mis opiniones del reporte de Mandiant (APT1)


El martes 19 de febrero, la empresa Mandiant publicó un reporte que liga actividades de espionaje industrial con el gobierno chino. El documento gira en torno a un grupo de crackers chinos bautizados con el identificador APT1. APT en inglés es Advanced Persistent Threat.

Para mí, no es un reporte más, sino que adquiere relevancia ya que demuestra con bastantes y razonables evidencias que hay un patrocinio o tolerancia gubernamental de China orientado a actividades de robo de información que suponen una ventaja competitiva a diversas industrias chinas.

Quedé impactado de la información que se vierte en el reporte, el cual sugiero fuertemente leer y se encuentra en www.mandiant.com/apt1. A reserva de que lo leas, quisiera comentar algunos puntos relevantes de este documento que aclaro, son mis interpretaciones y opiniones de la lectura que hice del reporte.

Pero primero. ¿Estuvo bien que esta empresa Mandiant lo haya publicado? Hay voces que dicen que no, que porque es pura publicidad para la empresa que lo sacó a la luz y pone en alerta a los crackers quienes seguramente cambiarán sus técnicas. En mi opinión, pienso que hicieron más bien que mal. Mandiant es una empresa de EUA que tiene acceso a datos concretos de cómo están drenando dinero de empresas de su propio país y sería triste que se quedaran de brazos cruzados. Claro, pudieron haber alertado de los hackeos puntualmente a cada empresa, sin embargo la solución será puntual también y el problema general en sí persistirá. Creo que al publicarlo al menos moverán voluntades hasta ahora detenidas y puede significar cambios importantes en la administración de la seguridad de aquel país.

Dicho lo anterior, entremos en materia.

A lo largo del reporte se establecen diversas ligas entre el grupo de crackers chinos y su gobierno. Se dan detalles como por ejemplo que el Ejército Popular de Liberación tiene bajo su mando al grupo llamado “Unit 61398”, encargado de realizar las penetraciones y que como ya dije, es identificado por Mandiant como APT1. Inclusive se da la dirección física desde donde ocurre el ciber- espoinaje (un edificio en Datong Road en Gaoqiaozhen, Shanghai). Asimismo en el reporte se encuentran fotos del inmueble. En mi opinión se ha establecido fuertemente el origen chino del grupo de crackers auspiciado o al menos tolerado por el gobierno de ese país, cuestión que siempre ha negado oficialmente. (Pág. 3 del reporte de Mandiant).

El documento de Mandiant habla de que se estima que la Unidad 61398 emplea a cientos o tal vez miles de personas encargadas de diversas tareas de ciber- espionaje. (Pág. 3). No sólo hay gente que se mete a las computadoras, sino que hay otras más encargadas de analizar la información, distribuirla a los interesados y recibir peticiones concretas de espionaje.

 Curiosamente la Unidad 61398 contrata a empleados de cierto perfil. En concreto, buscan gente de seguridad informática y de redes; asimismo piden que hablen inglés. (Pág. 3).

Se registró el robo de cientos de terabytes de información de 141 empresas alrededor del mundo. Y es de notar que esta Unidad puede estar “adentro” de varias empresas de manera simultánea. Lo anterior es relevante, ya que habla de sus capacidades: no sólo es entrar a una infraestructura, sino una vez adentro empezar a analizar la información a la  que se tiene acceso para extraerla; dicho análisis no es trivial. Es necesario comprometer un sistema, ver qué tiene y seleccionar el siguiente objetivo dentro de la empresa víctima para de nueva cuenta analizar la información que contiene y seleccionar aquella que es de utilidad. Este proceso junto con mantener el acceso informático no autorizado, evidentemente consume tiempo y recursos humanos/tecnológicos. (Pág. 3). El equipo de personas encargadas de estos análisis podría incluir lingüistas, desarrolladores de software, creadores de malware, expertos analistas de industrias, economistas; todos ellos orientados a penetrar empresas e interpretar la información “recibida” (Pág. 5).

Una vez que los crackers de APT1 establecían acceso, periódicamente seguían visitando a las víctimas. No sólo por unas semanas, sino por meses o años (de ahí su nombre de ataques persistentes). Por el tipo de datos extraídos, básicamente estaban detrás de información industrial y de defensa (planos, procesos, resultados de pruebas, documentos con estrategias de precios, acuerdos comerciales, etc.). En mi opinión, esto claramente significa que perseguían tres objetivos: 1) Robar información que beneficie a empresas chinas ahorrándoles grandes cantidades de inversión;  2) Tener a la mano estrategias de mercado, precios de compra y venta así como acuerdos para adelantarse a algún movimiento de la empresa víctima o negociar un mejor trato para algunos sectores de la industria china y 3) Obtener información de defensa de países extranjeros como tecnología militar o estrategias de seguridad; básicamente datos que pudieran ser de utilidad en este ámbito. (Pág. 3).

De las 141 empresas víctimas, 87% se encontraban en países cuyo lenguaje oficial es el inglés. Interesante dato. Me pregunto. ¿Quiere decir que ese tipo de países son los que tienen información realmente útil? ¿O que este grupo de crackers expuesto en el reporte se dedicaba a este tipo de países pero que hay otros que se orientan a otras regiones?

La Unidad de espoinaje se vio benficiada por una conexión de fibra óptica contratada con China Telecom que es propiedad del gobierno de aquel país. Si hicieran operaciones encubiertas dentro de su propio país, lo más inteligente sería no pasar tráfico por una empresa gubernamental (Pág. 19).

Si bien no hay nada divertido en el reporte, lo que leí en la página 51 del reporte me hizo reír. Hasta antes de esta página me preguntaba cómo habían logrado los analistas de Mandiant capturar toda esta información. ¿Cómo le habían hecho para conocer tantos detalles y dar direcciones, identidades, etc.? Respuesta: hackeando a los hackers. Resulta que los atacantes tenían prácticas online inseguras. Por ejemplo, iniciaban sesión a FaceBook o Twitter directamente desde las máquinas desde donde hackeaban. Aunque el reporte no es muy explícito en todas las “prácticas inseguras” de los atacantes, pues es un hecho que nunca pensaron que a ellos los iban a espiar y de ahí sus descuidos. Supongo que pecaron del mismo pecado que explotaron: sentirse seguros.

 Lecciones aprendidas.

Mi primera lección aprendida (de nueva cuenta) es que los antivirus protegen de las amenazas conocidas y comunes. No harán lo mismo para malware especializado y dirigido. En un pequeño ejercicio con 1,000 muestras de virus usados por APT1, sólo se encontraron 22 “conocidos”.
 
Si bien se pudo usar VirusTotal con motores reales de antivirus y obtener diferentes resultados (tal vez alguien ya lo haya hecho), el punto es que en mi opinión la mayoría de los virus usados por APT1 de todas maneras no se hubiera identificado. Si en tu empresa te tomas la seguridad seriamente, debes complementar el antivirus con un producto de listas blancas.

Mi segunda lección es que las empresas siguen siendo muy laxas en su seguridad. No hay nada perfecto, pero al menos se puede dificultar la labor de los atacantes si se tienen ciertas prácticas de seguridad en marcha.
 
En el video publicado por Mandiant donde se observan algunas de las técnicas usadas por APT1 se puede ver que no son estrategias de ataque demasiado avanzadas (sin embargo, ver mi quinta lección).

En la página 27 del reporte de Mandiant se ilustra y describe la estrategia de ataques spear phishing que lleva a una liga maliciosa o que contiene un ZIP con malware dirigido. Es algo que productos como Bit9 (whitelisting), FireEye o Mandiant podrían mitigar, junto con una estrategia de monitoreo y respuesta a incidentes, sin mencionar una gestión de parches y nuevas actualizaciones o seguir al menos algunos de los 20 controles sugeridos del SANS.
 
Pero vaya, no quiero enlistar N protecciones. El punto es que con algunos cambios en la gestión de la seguridad y una inversión no tan grande se podría mejorar significativamente el nivel de seguridad de esas corporaciones que fueron y serán víctimas de hackeos.

Mi tercera lección es respecto al spear phishing (del cual en la página 28 se dice que es una de las técnicas favoritas para penetrar organizaciones). En otros foros y blogs se habla una y otra vez que hay que entrenar a los empleados para que identifiquen correos sospechosos que puedan tratarse de spear phishing.
 
En la página 27 del reporte de Mandiant se describe que la gran mayoría de ataques se concretaron por medio de spear phishing, correos que eran cuidadosamente elaborados, diseñados y con mensajes coherentes.

Luego entonces me viene a la cabeza que un mensaje spear phishing bien hecho y previamente analizado por el atacante será muy difícil que sea identificado como tal por la víctima. Hasta para los llamados “expertos de seguridad”. Si no hay nada sospechoso o raro en el mensaje de correo, lo más natural será ir a la liga sugerida o abrir el PDF adjuntado. ¿Es culpa del empleado?

Yo opino que no del todo. Si yo fuera usuario y un experto me viene a decir que no abra correos sospechosos, después de preguntarle lo que significa “sospechoso” y que me conteste que “cosas raras e inesperadas”, procederé a aventarle una maceta y le voy a decir que se ponga a trabajar y que me provea de un ambiente seguro y un mecanismo que me permita hacer mi trabajo que incluye leer correos de clientes y colegas sin que tenga que estar adivinando si es o no “sospechoso”, porque aun así, habrá correos tan bien hechos que haga lo que haga me engañarán.

Me da risa cuando ponemos tanto empeño en decirles a los usuarios que no abran correos sospechosos ni ejecuten archivos raros, cuando ese archivo es un PDF que explota una debilidad en Adobe que los de Sistemas/Seguridad NO parcharon. ¿Culpa del usuario de todas maneras?

 Mi cuarta lección es que este tipo de ataques APT1 no tienen el objetivo de dañar la reputación de la víctima, ni de hacerle una denegación de servicio ni de publicar en Internet la información robada.
 
Se trata de lo que por años se ha dicho: la información. Los chinos lo saben, los rusos lo saben, todos lo saben: información es poder y da una ventaja competitiva, de otro modo no se tomarían la molestia de gastar dinero y recursos para mantener a un grupo de personas orientadas al robo y análisis de información.
 
A veces como que siento que se le tiene más temor a ataques de reputación que a los de robo silencioso de información. En fin.

Mi quinta lección es sobre la sofisticación de los ataques que hablé párrafos atrás refiriéndome a que no eran muy avanzados. Sólo hago notar que el hecho de que no hayan sido avanzados no se traduce de inmediato en que los atacantes son unos idiotas Script Kiddies. ¿Si la infraestructura víctima no es nada robusta, para qué utilizar ataques avanzados si con mecanismos básicos y simples se puede conseguir lo deseado?

Mi séptima lección. Se ha dicho que lo mejor sería bloquear el tráfico desde China hasta tu empresa (se toca este tema en la página 39) en caso de que no tengas ningún negocio qué tratar con ellos. Simplemente bloqueas ese tráfico y se acabó. Falso. Lo que tendrían que hacer los atacantes al ver que se topan con una pared, es “saltar”: comprometen a un equipo en Canadá y de ahí inician su ataque.

 
Comentarios Aleatorios.

Primero: el 19 de febrero de 2013, Time publicó una nota llamada “U.S. Ready to Strike Back Against China Cyberattacks”. Mi pregunta es por qué los EUA tuvieron que esperar a un reporte de una empresa privada para declarar que están listos para ver cómo arreglan el asunto.
 
¿Las agencias de inteligencia entonces no sabían nada o no tenían suficientes elementos previos? Me pregunto si las agencias de tres letras de EUA tienen mejores reportes y evidencias de los hackeos desde China o algún otro país y cuentan con ellos desde hace años.
 
En mi opinión, poco han hecho por su sector empresarial dejando que siga sangrando ese líquido vital de información valiosa. Y si no lo sabían, pues sin comentarios.

 
Segundo: si bien libros como Zero Day de Mark Russinovich o Deamon de Daniel Suárez están bien como lectura y mezclan la realidad con ciencia ficción, el reporte de Mandiant it’s the real shit. Eso es lo que pasa en la realidad, no lo que podría pasar.

 
Tercero: días después de la publicación del reporte de Mandiant, China niega que auspicie o tolere actos de hackeo. Si llegan a leer u hojear el reporte, verán detalles que  les dejarán poca duda. Lo anterior, aunado a sospechas de años atrás de que esto ha estado ocurriendo; caray, pues es difícil de negar que sucede.


Cuarto: hay opiniones que estiman que los chicos malos de APT1 no son los más hábiles de China. Podría haber otros equipos de aquel país con más capacidades técnicas que persiguen otros objetivos más difíciles de penetrar. Es altamente probable que sea así.

martes, 5 de febrero de 2013

Consejos de Seguridad de Twitter y Google


Twitter y Google nos dan consejos de seguridad. Mis comentarios al respecto.

Twitter.

Vale la pena leer las recomendaciones de Twitter y seguirlas. En general son bastante atinadas pero tengo un par de observaciones:

Nos dicen: “ten cuidado con los enlaces sospechosos”. Es un buen consejo pero siempre me quedo con la duda de cómo traducir eso al mundo real. ¿Qué es un tweet con un link sospechoso? 
Tal vez un tweet que te manden sin sentido, o tal vez incoherente. Pero si resulta que es algo por el estilo de “Apple ha perdido ganancias en la bolsa, entérate aquí http://bit.ly/algo” pues no hay mucho de dónde rascarle para decidir que es “sospechoso”.

Nos dicen: “Aunque un amigo te haya enviado el enlace, es posible que su cuenta esté comprometida”. Igual que arriba y peor porque te la mandó un amigo. Insisto, si no es algo demasiado incoherente o sin sentido, será difícil diferenciar lo que es “extraño” o “sospechoso”.

Nos dan recomendaciones en caso de usar computadoras públicas: “Si utilizas una computadora de acceso público…”. Mi recomendación es que en lo posible no usaras este tipo de equipos que se encuentran en Cafés de Internet y similares para iniciar sesión en X o Y. Entiendo que no siempre se puede, pero yo que tú lo evitaría.

En fin, lean el post de Twitter y no dejen de lado su “página de ayuda para cuentas comprometidas”.

Google.

De nueva cuenta, la información que nos presenta Google es de utilidad, así es que no hay que dejar de leerla. Realmente no tengo más que un par de comentarios menores al respecto, así es que vayamos al grano:

En la sección “Protege tus contraseñas” no nos dicen que debemos de usar administradores de passwords si se quiere que sean únicos por servicio y robustos. De otra manera sin su ayuda es una tarea difícil que acaba por vencer el mejor usuario. Recomiendo KeePass o LastPass.

En la sección de “Evita el robo de identidad” vuelvo a lo mismo de las recomendaciones de Twitter. Te encontrarás con “No respondas a un correo sospechoso”, “página web desconocida” o “una liga en la que no confías”.   
Pienso que lo que podemos hacer es NO dar click en todo tipo de sitio en modo automático. 
Si nos detenemos a pensar un poco en lo coherente del mensaje y si tiene sentido tendremos una mejor oportunidad de estar protegidos. Aun así, créanme, podremos (me incluyo) evitar varios engaños, pero si está bien hecho y el atacante hizo un trabajo previo de recolección de información, será muy difícil detectar el mensaje “sospechoso”.

¿Qué hago ante una liga sospechosa? Pues si la sospecha es fuerte, ni abrirlo. Si la sospecha no es concluyente, abrir la liga en un sistema operativo con navegador (ambos) actualizados, con Firefox o Chrome, con NoScript activado. Y agregaría que rezaras, pero eso no sirve de nada ni aquí ni en ningún otro caso. Obvio hay otras medidas más paranoicas que no estoy tocando aquí.

Conclusión.
Lean los consejos. Y síganlos.

viernes, 1 de febrero de 2013

Lecciones del espionaje al NYT


Esta semana el New York Times publicó una nota en donde dice que fueron víctimas de un hackeo. Aquí unos comentarios y lecciones a aprender de la poca información que dice el artículo.

1.- Antivirus.
El artículo indica que “The Times — which uses antivirus products made by Symantec”. Bien por tener un antivirus, pero actualmente en un corporativo no se puede depender únicamente de esta herramienta. 

El mismo Symantec lo dice. ¿Ya tienen listas blancas como las que puede ofrecer Bit9? ¿Ya tienen un área que monitoree los eventos en la infraestructura de TI para detectar posibles intrusiones? Cuando te traen ganas, un antivirus te servirá tanto como un caballo para cruzar el Atlántico. 

Hay que saber para lo que puede actualmente servir y qué no es capaz de hacer.

2.- Contraseñas robustas.
El reportaje dice: “they identified the domain controller that contains user names and hashed, or scrambled, passwords”.  

Lo que significa que entraron hasta la cocina, es decir, el Directorio Activo y de ahí bajaron todos los passwords para crackearlos. Esto nos dice que no sirve de nada cambiar el password cada XX meses, ya que al estar comprometido y ser de interés del atacante, ya tendría un malware adentro que da el control al hacker independientemente del password. 

Eso de cambiar la contraseña periódicamente va perdiendo validez hasta que sólo se dice porque se ha estado diciendo desde hace décadas. Luego entonces es mejor tener contraseñas robustas y complejas que no las vayan a hackear en 9 minutos. 

Otra lección es que el Directorio Activo sigue siendo la joya de la corona; puedes dejar de lado otros sistemas por falta de recursos, pero no éste. 

2.- Correos con phishing dirigido.
El NYT comenta cómo posiblemente se inició el ataque: “Investigators still do not know how hackers initially broke into The Times’s systems. They suspect the hackers used a so-called spear-phishing attack”.  

Luego entonces, el usuario hace click en una liga, la cual lo dirige a un sitio malicioso que explota una debilidad (Java, Flash) en su sistema y el resto es historia. 

Yo podría decir que se puede poner en marcha un programa de concientización, pero honestamente, ya debemos de dejar de decir eso porque a menos que ese programa tenga sanciones serias, será equivalente a decir misa en una iglesia católica donde al rebaño le entra el mensaje por un oído y le sale por el otro (por favor díganme dónde no sucede eso). 

Entonces o ligas el programa de concientización a sanciones, o mejor ponte a parchar tu software. Será algo más efectivo pero que no lo haces porque te da hueva, o la problemática de parchado te rebasó y te abruma. No trates de trasladar el problema al usuario y ponte a trabajar.