martes, diciembre 01, 2009

La nube de información de tiempo real sobre Londres 2012

En los últimos meses he estado trabajando en el un proyecto de "Cloud Computing" para aplicaciones de tiempo real (IRMOS) -algo similar a Amazon EC2 pero para aplicaciones senstivas a retrasosy pérdidas en procesamiento y enlaces-. También uno de mis "pet projects" es un data-ming en twitter (el cual -twitter- tiene como uno de sus objetivos ser el "pulso del mundo"). Así que esta noticia acerca de la construcción de la "Cloud" (Nube) o el observatorio de tiempo real para los juegos olímpicos de Londres captó mi ojo de inmediato.




La idea de la Cloud es construir una plataforma de observación compuesta de ligeras nubes esféricas. Las nubes son alimentadas por información en tiempo real recolectada usando múltiples fuentes de datos. Estos datos se suponen vienes de fuentes como Facebook, Google, Twitter y estarían relacionados con los juegos olímpicos (por ejemplo videos, fotos, updates de estatus de los eventos).

Está de más comentar de lo innovador y pretencioso del proyecto. Por un lado el desafío físico de construir la plataforma y las nubes (materiales, y claro, los permisos del ayuntamiento y el presupuesto para la construcción) y por otro el tecnológico para procesar los ríos de información en tiempo real. En el contexto técnico, hay dos grandes problemas:

1) Analizar cada pieza de información para determinar que está relacionada con los juegos, categorizar el tipo de información y finalmente presentarla. En este aspecto es indiscutible que algún tipo de inteligencia articifial y "machine learning" es necesario. En el campo de procesamiento de lenguaje (NLP) ha habido grandes avances y supongo que no será muy complejo obtener sino información perfecta, si una buena aproximación. Otros adelantos como la identificación de usuarios via GPS y smartphones creo que ayudará, sin embargo el gran problema puede ser:
2) Como manajer y procesar la gran cantidad de información en tiempo real que se produce. Aquí Google puede aportar mucho al proyecto en el uso de tecnologías de procesamiento en paralelo como mapreduce y en su propia experiencia como search-engine.

En general creo que el proyecto es muy interesante, dudo que los veamos hecho realidad en la forma en la que está presentado hoy en día, pero estoy seguro que generará algunos resultados interesantes. Como datos del proyecto, éste está impulsado por el "senseable city lab" del M.I.T, Google y Umberto Eco como asesor. Más información en los sitios de la Cloud y en el artículo de Techcrunch donde encontré la noticia.


sábado, agosto 08, 2009

Noticias y recursos de DoS/DDoS


Aprovechando el "hype" que han tomado las noticias sobre los ataques de negación de servicio a Twitter, Facebook y Livejournal decidí cambiar un poco el template de mi blog de investigación para agregar algunos recursos. El post con los detalles aquí.


lunes, julio 27, 2009

Librerías "Machine Learning"

He estado haciendo algunos experimentos usando "machine learning" en varios proyectos y me gustaría comentar un poco sobre las librerías que he estado usando y de las que he leído un poco (aunque no las haya usado). Por el momento todas las que he usando están escritas en Python pero también comentaré algunas en Java y en C++.

Una muy sencilla de usar es FANN (Fast Artificial Neural Network), también tiene ports a Python y a otros lenguajes (PHP, Java, Perl, etc. Aunque la versión de Python no me funcionó por alguna razón).

Para Support Vector Machines usé LIBSVM (A Library for Support Vector Machines). En el website incluso pueden encontrar una serie de recomendaciones para usar SVMs. Otras librerías que también soportan SVM son PyML y MLPy (pero por alguna razón la compilación no funcionó en mi máquina y use LIBSVM).

Una utilería que se ve muy interesante para implementar un Naive Bayes Classifier es Orange . Aún no la prueba pero se ve bien, además que tiene buena documentación y links a varios datasets.

Si están interesados en Reinforcement Learning, Tiles es una librearía en Python (también en C++ y Lisp) que permite "transformar" las entradas a una función de valor representada por un vector de "tiles". En general, la representación en tiles dará una mayor resolución que simplemente discretizar a estados.

Si quieren un "decision tree" simple pueden usar éste que esta incluido y explicado en el libro. Está explicado en el libro de "Collective Intelligence". Si bien recuerdo, el algoritmo utilizado esta basado en ID3.

Y finalmente, esta mahout. Este proyecto de la Fundación Apache por lo pronto esta fuera de mis posibiliades de prueba, además de que no tengo la infraestructura ni la necesidad de usarlo. Esta basado en Hadoop y en los conceptos de mapreduce. Muy interesante.


P.D. Si quieren más recursos pueden visitar mis bookmarks en delicious de machine learning.


martes, abril 28, 2009

SPAM, comercio de miedo


   Hace unos días comenté que pronto veríamos como los SPAMers empezarían a generar correos vendiendo vacunas o medicamente contra la influenza y que pronto ya no sería el viagra el medicamento ideal sino ahora sería el . Un poco después el US-CERT advierte acerca de ataques de phishing usando este nuevo vector de ingeniería social y el SANS publica una lista de sitios que podrían generar malware/phishing/scams dado sus dominios.





  Pues hoy recibí mi primer SPAM relacionado con la influenza. También visitando un sitio de noticias me encontre este anuncio de Google Ads. Los anuncios no son sitios de malware (al menos estos tres no parecen, pero por si las dudas entren bajo su propio riesgo), pero sin duda tienen pensado lucrar con el miedo de la gente.





  Bueno, creo que los humanos somos bastante predecibles.


miércoles, abril 01, 2009

La gran noticia de hoy de Conficker es que ... No hay noticias


    Por el momento todo luce calmado. Aunque ya prácticamente es 1 de abril en todo el mundo aún no hay noticias del esperado fin del mundo que traería este día como resultado de la expansión del gusano conficker y del nuevo "payload" que hoy se activaría.

   Más que el resultado de una gran campaña de parcheo, creo que el famoso gusano aprovechó una gran campaña mediática donde se exageraron y sobrestimaron sus efectos. Espero no equivocarme y creo que el día seguirá tranquilo. Por si algo pasa, estaré actualizando a través de mi cuenta de twitter y mi tumbr. En caso de infección o pro-acción contra el gusano aquí hay algunos recursos.

lunes, marzo 16, 2009

La BBC, su botnet y otras noticias de ataques DDoS


  Sin duda la noticia acerca de ataques de DDoS más comentada de la semana fue la relacionada a la BotNet que la BBC contrató. Para no ser tan amarillista como otros medios, en realidad no fue la BBC como cadena de medios, sino el staff de uno de sus programas llamado Click. El objetivo del programa era demostrar lo fácil que es contratar un botnet para actividades delictivas. La botnet se uso para enviar SPAM a una cuenta predefinida y para atacar con un DDoS a un sitio de una empresa de seguridad específicamente puesto para este propósito. Aunque se ha dicho mucho acerca de la ética seguida por el staff de Click, lo cierto es que demostraron lo fácil y barato que es contratar este tipo de servicios.

En otra noticia, José Nazario de Arbor Networks en su presentación en SOURCE Boston comentó acerca de los neuvos "trends" en cyber delitos. Nazario explica que cyber criminals ya no solo venden kits de software para ejecutar actividades ilícitas en computadoras no protegidas, sino que ahora hasta venden servicios para los script-kiddies o criminales que nada más no se les da como usar el software malicioso. El audio de la presentación aquí.

Y el ataque al sitio de Torrents Mininova continúo. Aquí pueden ver algunos trends en el tráfico que los ataques han generado.


domingo, marzo 08, 2009

DDoS a principios de Marzo

Ante el asombro de algunos, el sitio del Pirate Bay fue atacado por un DDoS a principios de esta semana. Aún no hay noticias de quienes fueron los autores intelectuales. El sitio esta estable por lo pronto.

De acuerdo a un analisis de la firma de anti-virus Sophos, el gusano Confiker podría iniciar un ataque de DDoS hacia algunos sitios, entre ellos Soutwest Airlines. El DoS sería un daño colateral debido a la propagación del gusano. La nota en TechRepublic.

Y el sitio de Torrents Minova ha sido atacado también por un DDoS. De acuerdo a TorrentFreak el ataque ha llegado hasta los 2 Gbps viniendo de redes de bots que parecen estar en Alemania y Argentina.

jueves, febrero 26, 2009

Administración de Redes


   Hoy estaba escribiendo acerca de algunos conceptos en Administración de Redes y decidí compartirlos aquí. Estos conceptos son Netflow, Simple Network Management Protocol (SNMP) y Remote Network MONitoring (RMON). Netflow es un protocolo definido por Cisco Systems y hoy en día es el estándar de-facto para monitorear flujos de datos en IP. Un flujo es un grupo de paquetes de IP que comparten un huella digital (fingerprint) común, la información en esta huella digitial incluye el siguiente set de atributos:

  • Dirección IP fuente
  • Dirección IP destino
  • Puerto fuente
  • Puerto destino
  • Tipo de protocolo Capa 3
  • Clase de Servicio (Class of Service)
  • Interfaz de enrutador o switch. 
Para que los paquetes sean considerados parte del mismo flujo deben compartir la misma direcciones de IP fuente y destino, mismo puertos fuente y destino, la mima interfaces y la misma clase de servicio.

En redes TCP/IP, el protocolo SNMP es usado para monitorear y administrar redes. En su definición están incluidos un set de estándares, un protocolo de aplicación, una base de datos de definiciones y un set de objetos. Para saber que información solicitar o escribir, SNMP define el "Management Information Bases (MIB)". El MIB define la estructura de administración de la información del dispositivo. Uno de los MIBs más importantes es el MIB-2, éste define un set estándard de definiciones de objetos a manejar como datos de TCP, uso de interfaz, razones de error y "uptime" del sistema entre otros más. 

RMON (también conocido como RMON1) es un protocolo para monitorear redes de área local (LANs). Define varios grupos para monitorear estadísticas en tiempo real en capa 2 (Layer 2), entre ellas utilización, bytes recibidos/transmitidos, colisiones, Top N-hosts, etc. RMON2 es similar a RMON1 pero analiza estadísticas en capa de aplicación.

miércoles, febrero 25, 2009

SPAMers se diversifican


   A veces tengo la costumbre de checar mis folders de SPAM para ver si no se fue algún correo mal etiquetado. En esta ocasión la mayoría de mi SPAM ya no es de viagra, artefactos para mejorar la sexualidad o ni el scam nigeriano. Ahora l gran mayoría son ofertas de empleo, muchas de ellas incluso de trabajos donde haces poco y ganas mucho, de verdad que en tiempos de crisis hasta te dan ganas de creerles.

Y bueno, este es el resultado de la diversificación de los SPAMers para aprovechar los nuevos intereses de la gente, en tiempos de bonanza la compra, ahora en crisis: Ofertas de empleo. Estos son algunos asuntos (en inglés, no se si porque los SPAMers en español aún no reaccionan o porque mi profile tiene más sentido en "inglish"):
  • Job you might be interested in
  • The offer you can not say no to!
  • Now hiring! Click to find out!
  • Dare to earn more! The answer inside!
  • It's not a dream, it's reality √you can get a designer watch for half price.
  • Beating the high cost
  • Awesome discounts here
Y bueno, los últimos no son de trabajo pero que tal seguir gastando para compensar nuestro espíritu gastador pero ahora a bajos precios. Como último detalle, si les interesa alguno de los trabajos hay que mandar esta información (por cierto, no se los recomiendo):


If feel qualified, please, attach the following info to start up with:
- Fist Name:
- Last Name:
- Age:
- Sex:
- Country
- State, City, Zip
- Phone number (home and cell)
- Valid email address


viernes, enero 23, 2009

Practical Artificial Intelligence and Machine Learning

Esta es la presentacion que di ayer en Ignite UK North. Hable un poco (muy poco, solo 5 minutos) sobre Machine Learning, un poco de teoría, un poco de ejemplos prácticos y algunos recursos interesantes. No detalle mucho pero espero que la presentación sirva un poco para explicar algunas cosas básicas de ML.

jueves, enero 22, 2009

Machine Learning en Ignite UK North

Una de las razones por las cuales no he posteado mucho es que hoy daré una presentación en Ignite UK North en Leeds. En Ignite tienes 5 minutos y 20 filminas para hablar de un tema, así que tienes 15 segundos para hablar sobre cada filmina. Los eventos de Ignite empezaron en Seatle en el 2006 y este es el primer Ignite organizado en el UK. En esta ocasión habra 18 presentaciones y cerca de 100 asistentes.

La presentación que daré es "Practical Artificial Intelligence and Machine Learning" en la cual hablaré un poco de teoría, daré algunos pequeños ejemplos de como usar ML y finalmente algunos recursos que pueden ser útiles para hacer cosas más complejas. No creo que pueda ahondar mucho en los temas por la restricción de tiempo pero trataré de que los conceptos y los ejemplos se entiendan lo mejor posible.

Aquí dejo algunos de los recursos que usé para hacer mi presentación y crear los ejemplos:

Libros:
Practical Artificial Intelligence Programming in Java, Mark Watson (e-Book gratutito, también hay uno de Ruby)
Programming Collective Intelligence, Toby Segaran; O'Reilly
Artificial Intelligence: A Modern Approach, S. Russell, P. Norvig, J. Canny; Prentice Hall,
Machine Learning, Tom Mitchell; MIT Press

Recursos en Línea
Curso de ML en Stanford
Statistical ML

Código
Fast Artificial Neural Networks FANN (C++, Python y PHP)
OpenNLP
C4.5 (Decision Trees)
ML and Java

Training Data
UC Irvine Machine Learning Repository
Amazon Public Datasets