07 abril 2011

¿Son seguros los PDF's?

Por: MC Hugo Gonzalez

En esta ocasión trataré un tema en el que tengo un proyecto para el Verano de la Ciencia y que me ha resultado bastante atractivo. Se trata de un vector de ataque para comprometer equipos de cómputo y son los archivos PDF.

Algunas veces se cree que solo los archivos ejecutables pueden ser peligrosos, luego vinieron los virus de macro, como el "I love you" o el "Melissa", en estos últimos casos los programas incluyen código malicioso directamente, que ejecuta acciones específicas sobre el sistema aprovechandose del mismo motor del programa para verlos.

En otros casos, archivos que se consideran no peligrosos, pueden contener piezas de contenido malicioso que se aprovechen no del motor de la aplicación, sino de errores de programación de la misma aplicación para ejecutar código arbitrario en el sistema. Algunos de estos casos incluyen videos, páginas web, documentos de oficina ( Hojas de Cálculo, Presentaciones), imágenes, animaciones y un largo etc. De manera general una vez que "explotan" la vulnerabilidad en el sistema que los reproduce o interpreta, descargan un archivo de internet, desarman el antivirus, crean nuevos usuarios, se conectan a casa o realizan alguna otra actividad que permite al atacante controlar el sistema "explotado", en caso extremo eliminan y destruyen todo el sistema, aunque eso pasa lo menos por los mayores beneficios económicos que se obtienen a controlar miles de equipos conectados a Internet.

El caso de los PDF maliciosos se encuentra entre los dos anteriores, hay ocasiones que aprovechan fallas de programación para "explotar" algún lector en particular, como adobe o foxit, pero también se dá el caso de que se aprovechan de las capacidades de reproducir javascript de la especificación de PDF y confunden e instan a los reproductores a realizar diversas acciones maliciosas para comprometer el equipo, como ejemplo a descargar y ejecutar algún archivo de la web, a crear nuevos objetos en el sistema, o a generar un archivo que afecte a otro programa en el sistema.

Actualmente es difícil detectar los archivos PDF's maliciosos, ya que no todos son reconocidos por los antivirus, ya que generan codigo "mutante" que cambia de archivo en archivo y que aunque realiza la misma función, no se parece.

Para el análisis de los PDF's así como de malware, una metodología sugiere proceder realizando primero un análisis estático y luego en análisis dinámico del archivo, esto tiene que ver con los costos computacionales más altos del análisis dinámico.

Análisis dinámico:
1a. fase. Se ejecuta (se abre) el archivo PDF en un sistema "limpio" o recién instalado, se espera cierto tiempo y se analizan los cambios que se generaron, por ejemplo si se crearon nuevos archivos, servicios o si se descargaron archivos de Internet.
2a. fase. Se se generaron algunos de estos cambios, en una maquina "limpia" y con la ayuda de un depurador o "debugger" se ejecuta otra vez el PDF, siguiendo paso a paso para analizar con detalle las acciones que ejecuta y detectar el comportamiento malicioso.

Análisis estático:
1a. fase. Lo pasas por un antivirus para saber si lo detecta como malicioso.
2a. fase. Se analiza el contenido del archivo, la especificación de PDF nos habla de objetos que forman el archivo, que están contenidos en un documento de texto plano (puedes usar tu editor de textos favorito para ver el contenido del PDF). Estos objetos pueden estar codificados con diferentes métodos, si son textos, imágenes, código Javascript, etc. Entonces lo primero que habría que hacer es decodificarlos para poder seguir con el análisis, y buscar el flujo de información para interpretar el PDF.

Aparentemente es más complejo el análisis dinámico, pero este es más fácil de automatizar y es más rápido para realizarlo en un equpo de cómputo que el análisis dinámico. Además que se puede realizar con menos recursos de RAM y Disco Duro.

Actualmente estoy trabajando en un pre-analizador, que de manera automática asigne una calificación de que tan sospechoso es un archivo PDF para ser malicioso. Este se basa en lo siguiente:

1. Si incluye urls activas dentro del archivo.
2. Si tiene javascript ofuscado.
3. Si tiene javascript plano y funciones sospechosas.
4. Si tiene imagenes TIFF, y estas inclueyn urls dentro.
5. Si contiene un shellcode .

Algunas de estas tareas pueden resultar triviales, y otras no tanto, pero al lograr automatizarlas podremos identificar cuales de los PDF's merecen ser investigados con más detalle con análisis estático, y luego cuales deben ser pasados al análisis dinámico.

Hasta la proxima, y espero tener alumnos para completen este trabajo durante el verano.

25 febrero 2011

Editorial, Numero4

Hola a tod@ nuestros lectores, comenzando un año más, un nuevo semestre y tal vez nuevos proyectos o nuevas etapas de nuestra vida, les damos la bienvenida a una nueva entrega de "El Apunte del Byte", boletín de divulgación de la Academia de Tecnologías de la Información y Telemática de la Universidad Politécnica de San Luis Potosí.

En este número contamos con una nueva colaboradora, la Mtra. Liliana Gámez, a la cual damos la bienvenida y esperamos sus contribuciones regulares.

Es importante mencinoar que este año celebramos el aniversario número 10 de la fundación de nuestra casa de estudios, e invitamos a todos los integrantes de la comunidad a unirse a los festejos que tendremos durante el transcurso del año, en el ámbito académico, cultural y deportivo.

Y en el contenido de este número contamos con:

Seguridad en Dientes Azules

Por: MC Víctor Manuel Fernández Mireles

Las tecnologías Bluetooth juegan un papel importante en las conexiones entre diferentes dispositivos como teléfonos celulares, los auriculares, impresoras, el reproductor del coche y hasta para manipular un robot. Muchos usuarios de esta tecnología ignoran que es posible espiar las comunicaciones Bluetooth para obtener información confidencial que se encuentra en nuestro dispositivo. La mayoría de las personas cuentan con algún dispositivo móvil como un teléfono celular o un PDA y lo usan de forma confiada, sin preocuparse de que en estos dispositivos puedan contener información de nuestra identidad y de contactos como familiares, amigos, trabajo, etc.

Como en todas las tecnologías inalámbricas, esta tecnología está diseñada para iniciar y recibir conexiones desde otros dispositivos ubicados dentro de la misma área de difusión, por lo tanto un atacante que tuviera la tecnología adecuada podría interceptar dispositivos Bluetooth en un radio de varios metros. Un dispositivo Bluetooth inicia la búsqueda de los dispositivos que se encuentran en su radio de alcance, este procedimiento devuelve las direcciones de los dispositivos que descubre, para después abrir una canal de comunicación con alguno de los dispositivos descubiertos. El dispositivo que abre la comunicación se convierte en el maestro y el otro dispositivo es el esclavo, para definir una mini red entre dos o más dispositivos Bluetooth, donde un maestro puede tener hasta siete esclavos activos. Al igual que ocurre con cualquier técnica inalámbrica utilizada para la creación de redes, existe el riesgo de intercepción del tráfico o suplantación. Se han implementado diversas técnicas de ataque que consiguen eludir el proceso de emparejamiento entre dispositivos, los métodos son conocidos como Exploits y entre los daños que pueden ocasionar, es que pueden descargar los datos que se encuentran en un dispositivo móvil como la agenda de contactos, imágenes o cualquier otro archivo que se encuentre dentro del dispositivo. Otro tipo de amenaza que se podría presentar, es cuando el atacante puede enviar y recibir mensajes de texto y de correo electrónico, además de realizar llamadas con el dispositivo ajeno. También, existen herramientas que permiten analizar el tráfico entre dispositivos Bluetooth a través de una computadora, las cuales, pueden proporcionar los medios necesarios para realizar ataques a dispositivos Bluetooth.

Se han realizado pruebas de vulnerabilidad en dispositivos que cuentan con Bluetooth en lugares donde se conglomeran un gran número de personas, donde los resultados mostraron que casi la mitad de las personas pueden sufrir de algún tipo de ataque sobre su dispositivo. El uso de esta tecnología es responsabilidad de cada uno, lamentablemente la mayoría de los usuarios ignoran los riegos; así que cuando termines de usar el Bluetooth apágalo ya que alguien te podría estar vigilando sin que te des cuenta.

Ideas generales para mejorar el desempeño de nuestros alumnos de las carreras ITI e ITEM

por: Dr. Francisco Ordaz Salazar

En las estadísticas y en la percepción de los profesores se ha observado un bajo desempeño de nuestros alumnos en materias relacionadas con las materias básicas de programación. De acuerdo a las estadísticas tenemos un índice de aprobación del 60% para Introducción a la Computación, 60% para Programación I, en algún momento Programación II también llego a tener un 60% de aprobación y Programación III tiene un porcentaje de aprobación del 55%. Además los profesores de materias avanzadas perciben que los alumnos no tienen práctica pues no pueden resolver los problemas que se les plantean haciendo uso de la programación.

De acuerdo a la percepción de nuestros egresados (encuesta 2008-2009) mencionan que reconocen por un lado la capacidad muy elevada de conocimientos de nuestros profesores pero por otro lado indican falta de estrategias que hagan interesante las clases.

Tomando en consideración estos dos aspectos, el bajo desempeño del alumno y la motivación del estudiante, se ha propuesto el implementar alguna estrategia. La respuesta es una estrategia que considera ideas del constructivismo, por ejemplo la enseñanza basada en proyectos o el aprendizaje activo. Al respecto existen teorías que sugieren que los aprendizajes se ven incentivados cuando resultan significativos para el alumno y cuando se van presentando de manera tal que se van relacionando con conocimientos previos, lo cual se conoce como “zona de aprendizajes próximos”. Otra componente que se desea integrar son alguna ideas vertidas por Piaget y Vigosky que indican que el aprendizaje es más eficaz a través de interacciones interpersonales en ambientes colaborativos. Estos dos elementos suponemos que logran impactar en los dos aspectos antes mencionados.

Consideramos entonces que la propuesta debería ayudar a:

  1. Desarrollar un ambiente de aprendizaje favorable,
  2. que permita a los alumnos visualizar la utilidad de los aprendizajes al resolver de manera colaborativa problemas y proyectos atractivos reales,
  3. mejorar las estrategias de los profesores al hacer más interesantes sus clases,
  4. desarrollar habilidades para trabajo en equipo, organización, liderazgo, respeto, responsabilidad, etc.
  5. Elevar el desempeño de los alumnos y mejorar los índices de aprobación,
  6. Facilitar el trabajo de alumnos y profesores en materias avanzadas que hacen uso de competencias básicas de programación.

Como parte de ésta estrategia se propone la implementación de un laboratorio que ayude precisamente a desarrollar un ambiente de aprendizaje favorable en el que los alumnos logren desarrollar las competencias básicas de programación. El laboratorio de programación aplicada tendría equipamiento de Hardware y Software. En software estaríamos pensando en programas como Scratch, Visio, C para progamar legos y LabView; en hardware se propone la compra de equipo como LEGOs, LabView Robotics, Plataforma PIC, DSP, Tarjetas de adquisición de datos con conexión USB, Computadoras y Robot NAO.

No solamente se estaría considerando tecnología, sino que además, lo más importante es la propuesta de las estrategias de aprendizaje que se pudieran estar proponiendo a través del semestre. Por ejemplo, solución de proyectos aplicados, retos, concursos y prototipos. En los que como se menciona al principio se deberían estar aplicando ideas de aprendizaje activo y una evaluación que poco a poco se vaya acercando a la evaluación por competencias.

Importancia de una certificación

por Mtra. Liliana Gámez Zavala

Hoy en día la educación está cambiando cada vez más; en las Instituciones ya no solo se busca que un estudiante pueda adquirir conocimientos y aplicarlos en su actividad diaria, sino que además obtenga la COMPETENCIA adecuada para desarrollarse en el campo laboral.

Cuando ingresamos al campo laboral, y comenzamos a realizar diferentes tareas que, si bien están relacionadas con nuestra profesión, no somos expertos en desarrollarlas o no tenemos la competencia necesaria, debemos realizar algún tipo de investigación para dar resultados; pero es ahí en donde, además de adquirir nuevos conocimientos, comenzamos a alimentar eso que llamamos “Experiencia”.

Toda esa experiencia que vamos adquiriendo a través de los años la podemos plasmar en un curriculum vitae o perfeccionarla con el paso del tiempo, pero... como podemos comprobarla? Tenemos alguna oportunidad de decir que somos expertos en “algo” pero que fue aprendido durante nuestra experiencia laboral o durante nuestra estancia en alguna Institución?, es aquí donde podremos recurrir a la certificación…

Pero que es la certificación? Formalmente se puede definir como el método mediante el cual se otorga un reconocimiento formal (nacional o internacional) a aquellas personas que han demostrado
ser competentes en área específicas en cualquiera de las ramas de las TICS.

La certificación trae muchos beneficios, algunos que podemos mencionar son: crecimiento personal y profesional, credibilidad en la información contenida en un CV, incrementar la competencia entre los profesionales de las áreas, actualización en TICS, incluso puede llegar a ser un factor determinante en el pago de la remuneración por el trabajo prestado.

En una encuesta realizada por Certification Magazine's Salary Survey, podemos rescatar algunos resultados importantes relacionados con el tema de la certificación:

• El 93% de encuestados que están certificados laboran en un campo técnico relacionado con su certificación.

• Después de recibir su certificación más reciente, alrededor del 36 por ciento de los encuestados recibieron un aumento 5 por ciento de los encuestados dijeron que habían recibido un aumento de más del 50 por ciento.

•Más del 85 por ciento de los encuestados coinciden en que ya una vez que se han convertido en certificados, hay una mayor demanda de sus habilidades.

• El logro de la certificación, especialmente en la economía actual, puede ser más fácil cuando no se tiene que preocupar por el costo, y muchas empresas, convencidas de su valor, han brindado apoyo económico a sus empleados, que ahora, están certificados; se ha comprobado que cuando se ven beneficiados, permanecen en su empleo por más tiempo y son más leales.

Hoy en día existen muchas certificaciones en el área de TI, pero finalmente su importancia y validez es para las personas que la obtienen y las empresas que convencidas, desean garantizar la competitividad entre empleados y en el producto final que ofrecen.

Fuente: CERTIFICACIÓN MAGAZINE SALARY SURVEY

Análisis Forense a un Correo Electrónico

por MC Hugo Gonzalez

¿Alguna vez han querido saber de donde les llega un correo? No precisamente quién se los manda, que esa es otra historia, pero al menos saber donde se originó ese pedazo de información. A continuación voy a presentar un breve caso donde me llegó un correo, de supuestamente una alumna, pero el tema era ... ejem... relacionado con paginas de contenido para adultos e intercambios se... ejem, bueno para descartar un posible amor platónico realicé una breve investigación para estar cuasi-seguro que era un correo falso, descubrir que fue generado en Argentina y nada que ver con mi alumna; solo que su cuenta posiblemente está comprometida, pero esa, esa es otra historia.

El 23 de febrero por la mañana recibo un correo de "Elizabeth" donde mi invita a unirme al "FB del sexo", y me da una liga donde registrarme. De entrada me parece un correo de esos que se envían masivamente para distribuir y propagar malware. Aunque una rápida visita con navegador "lynx", que es solo texto y muy básico para sondear la situación me muestra que en efecto es un sistema de registro para amigos "sexosos" ...

El correo de origina de "amiga_29@hotmail.com" y me llega a mi bandeja de gmail, bingo, Hotmail como proveedor de cuentas de correo incluye un encabezado en sus correos que incluye la ip donde se origina el correo, no importa si lo utilizan por web o por otro medio. Para verlo, solo tenemos que buscar en nuestro cliente de correo para que nos muestre todos los encabezados, en el caso de gmail, en el combo desplegable en la parte superior del correo, podemos buscar mostrar original.

En la parte superior vienen todas las transacciones entre los distintos servidores de correo, pero por lo pronto nos interesan los siguientes encabezados.


X-Originating-IP: [190.188.63.182]
X-Originating-Email: [amiga_29@hotmail.com]


Que son los que nos indican de que cuenta de correo se generó, y que IP originó el correo. aunque estos número tal vez no te digan nada, puedes utilizar algunas herramientas del sistema para buscar más información, por ejemplo usar nslookup y la dirección ip.


nslookup 190.188.63.182


de entre las respuestas, esta es la nos interesa, que nombre está asociado a esa máquina, y por el puro nombre podemos suponer que es un servicio de Banda Ancha, ofrecido por prima.net.ar y que está en Argentina.


Non-authoritative answer:
182.63.188.190.in-addr.arpa name = 182-63-188-190.cab.prima.net.ar.


para corroborar esta intuición, o en caso de que nslookup no regresa información, podemos utilizar whois, esta herramienta viene por defecto en casi todos los linux, o pueden buscar un servicio en línea para consultarla.
El resultado es un poco extenso, pero con eso pueden verificar que el rango de direcciones donde ese encuntra esta en particular está asignada a Argentina.

También podemos intentar geoposicionarla, es decir buscar en un mapa donde está registrada la dirección, es decir que latitud y longitud tiene, aunque es probable que esta no sea completamente correcta, al menos nos puede dar una idea de por donde está. [ Como comentario, alguna vez en algun sito les ha aparecido, te conectas de GDL, MEX, o SLP ] Para esto existen diferentes demos de servicios en línea que te dan los coordenadas, o incluso te muestran el mapa. Ya con las coordenadas vas a tu software de mapas preferido y puedes ver un aproximado de la localización.




Entonces, este correo se origino en Argentina, incluso si ponemos atención en otro encabezado :

Received: from [192.168.1.1] ([190.188.63.182]) by BLU0-SMTP133.blu0.hotmail.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675);

Podemos saber que está utilizando una red local, y que está usando un cliente de correo de MS, tal vez el sistema está comprometido. Para asegurar esto sería necesario realizar un análisis forense de dicho equipo.

Otro uso que podriamos dar es intentar localizar el paradero de alguien que me mando un mensaje, un conocido, amigo etc. puedo buscar el encabezado:

Received: from [192.168.1.146] ([201.152.165.XXX])

lo geoposiciono, y luego utilizo los mapas para ver su casa ...

Para otros fines diferentes al análisis forense, esto asusta, ¿o no?

Afortunadamente o desafortunadamente, depende desde donde lo veamos, hay servicios como gmail que si utilizas la interface web no generan tu dirección ip por políticas de privacidad, pero ante una petición judicial SI proporciona esta información. Claro que si utilizas un cliente de correo para enviar tus mensajes, gmail también añade el encabezado desde que IP se recibió.

Concluyendo, es factible tener una idea de donde se originan los correos electrónicos, algunos servicios solo dan esta información ante una petición judicial, pero si los dán. Así que eviten hacer "cosas", ya que se puede rastrear, y si esas "cosas" se las hacen a ustedes también se puede rastrear.

Para asesoría o consultoria no duden en contactarme ...

Software de simulación de antenas gratuito

por Dr. Jorge Simón

En la actualidad el software de simulación se ha vuelto una importante herramienta en el diseño y análisis de sistemas de comunicación y en general de cualquier sistema electrónico que se desee implementar físicamente. El incluir etapas de simulación dentro de este tipo de proyectos, nos ayuda a ahorrar en fabricación o implementación de malos diseños antes de estar seguros de que cumplen con las características para las que fueron diseñados. El diseño de antenas en las comunicaciones inalámbricas es una tarea que comúnmente demanda simulación, esto con el fin de conseguir características deseadas como patrón de radiación, HPBW, directividad, ganancia, o bien la respuesta en frecuencia, la impedancia o el VSWR.

Existe en la actualidad software para diseño y análisis de antenas bastante completo como lo es el caso SuperNec, CST Microwave Studio y HFSS que son de los más utilizados en proyectos académicos e industriales. Existe software libre de este tipo, al cual los estudiantes de carreras como electrónica o telecomunicaciones pueden sacar mucho provecho como es el caso de MMANA-GAL que es una analizador de antenas que usa el método de los momentos(MOM), funciona en Windows, en recursos de máquina no es muy exigente y funciona bien al simular antenas de alambre recto. Otro software interesante es 4NEC2, es libre, genera patrones de radiación en campo cercano y lejano, simula estructuras en 2D y 3D y posee una interfaz especial para la construcción de modelos de antenas. Finalmente podemos mencionar la versión Lite de SuperNec para utilización académica gratuita que trabaja con el método de los momentos, puede correr en Windows y Linux, y tiene una entrada GUI 3D muy amigable basada en MatLab, incluye optimización de código para procesadores Intel.

Como podemos ver existe una gran variedad de herramientas de software que nos permite conseguir buenos resultados y optimizar recursos en nuestros diseños de antenas. La figura 1 muestra ejemplos de análisis con software de simulación de antenas: a) simulación de una antena fractal, b) simulación de una antena dipolo de conductores rectos, c) patrón de radiación en 3D y d) patrón de radiación en 2D.