domingo, 26 de septiembre de 2010

Cómo ser un científico de datos (en seguridad informática)?

Si usted ha vivido lo suficiente en este planeta, difícilmente no se ha enfrentado a la siguiente pregunta: qué quieres ser cuando seas grande? Esta pregunta siempre abre una caja de Pandora que en muchos casos nunca se cierra. Yo soy un ejemplo. Aunque hace varios años tome la decisión de ser un profesional en seguridad informática, sigo definiendo que significa esto ya que al menos para mí, es una tarea continua (como el cliché que muchos pregonan en seguridad: "seguridad no es una meta, es un proceso"). Así que he decidido hablar sobre un tema que impacta en gran forma la respuesta a la definición del profesional en seguridad informática, de cara al crecimiento exponencial de los datos a los que tenemos acceso hoy en día y por los próximos años.

La propuesta es sencilla: si usted trabaja en seguridad informática, usted debe ser capaz de manejar/analizar grandes cantidades de datos para hacer apropiadamente su trabajo. Esto significa que debe contar con las herramientas (conocimientos, habilidades) necesarias para lograrlo; de eso se trata este artículo. Cuales son esas herramientas? O usando un término más elegante: cómo me convierto en un científico de datos (en seguridad informática)? Pude haber utilizado el término analista pero científico suena más importante. :)

Científico de datos es un título que he encontrado insistentemente y cada vez con mayor frecuencia. Este profesional utiliza principalmente métodos estadísticos para analizar grandes cantidades de datos y así encontrar patrones de comportamiento, tendencias y/o respuestas, incluso en tiempo real en algunos casos. No es sorpresa entonces que los estadísticos protesten que el término científico de datos está de más, ya que ellos han estado haciendo ese mismo trabajo por siglos. Y aunque tienen razón en gran parte y el término puede ser considerado un oxímoron, es válido en el mundo actual.

En los últimos años, el análisis de datos se ha vuelto mucho más relevante debido a la revolución computacional (poder computacional disponible en cualquier lugar, cantidad de datos recolectados y ancho de banda para transmitirlos) que hemos vivido en las últimas décadas y lo impactante que está ha sido en todas las facetas de nuestras vidas. Ya nadie se sorprende de ver televisión o hacer pagos usando el Internet, encontrar un resumen de nuestra vida en un sitio web o de enterarse que hizo el hijo de mis amigos por medio de mi teléfono celular y Facebook. Realizar muchas de nuestras actividades diarias en el ciberespacio, por medio de computadoras, también ha tenido el impacto directo e indirecto de crear grandes cantidades de metadatos, que ahora necesitan ser estudiados.

Las empresas se han dado cuenta de la posibilidad de trabajar con grandes cantidades de datos y algunas incluso tienen años hablando del tema. IBM es un buen ejemplo de esto, observen el siguiente video:



Microsoft Research publicó en octubre pasado el libro titulado "The Fourth Paradigm: Data-Intensive Scientific Discovery". El libro es un tributo al científico Jim Gray, quien en 2007 compartió su visión del cuarto paradigma en investigación científica, en referencia al mundo descrito arriba. El libro está disponible de forma gratuita por lo que es una excelente oportunidad para conocer las distintas oportunidades que actualmente aparecen en las áreas de ciencias naturales, medicina, infraestructura científica y comunicaciones.

Regresando a la seguridad informática, tampoco escapamos de la necesidad de analizar grandes cantidades de datos. Solamente ver el aumento de velocidad en el enlace de conexión al Internet que poseen nuestras organizaciones para estar de acuerdo. Hace 10 años atrás nadie hablaba de conexiones de 10Mbps, algo mucho más común hoy en día. Cómo se adaptan, por ejemplo, los sistemas de detección de intrusos para analizar el tráfico a esa velocidad? En el área de investigación en seguridad informática también puedo mencionar dos proyectos que me parecen muy apropiados, ambos provenientes del Grupo de Investigaciones en Seguridad Informática de la Universidad de California, San Diego. El primero, Como Detectar URLs Maliciosos, muestra como utilizar algoritmos de lenguaje de máquinas y millones de datos analizados en tiempo real, para determinar si un enlace web (como los que encontramos en las páginas web o en los mensajes de correo electrónico) es malicioso y antes que el usuario haga utilice el enlace. El segundo proyecto lo cubrimos brevemente en otra entrada de este blog, por lo que recomendamos su lectura.

Entonces, cuáles son las áreas que debe conocer un científico de datos, incluyendo para seguridad informática? Sin incluir las obvias (redes, sistemas distribuidos y seguridad) que dan experticia sobre las peculiaridades del problema, hay tres temas importantes:
  1. Estadística: es la base, definiendo la recolección, organización e interpretación de los datos. En otras palabras, es el oxígeno. Sin esta ciencia, no hay vida (para analizar datos).
  2. Lenguaje de Máquinas: diseño y desarrollo de algoritmos para modificar el comportamiento de las computadoras, en base al análisis de datos. Por esta última parte de la definición es que un gran número de algoritmos de este campo utilizan técnicas estadísticas. Lenguaje de máquinas es un área muy interesante y con mucho futuro.
  3. Álgebra Lineal: Trata sobre el estudio de vectores, matrices y campos vectoriales. Uno de sus beneficios es que permite el analisis en paralelo de los datos, lo que ayuda al manejar grandes cantidades de datos. Ademas la arquitectura de computadoras también ya permite este tipo de análisis/cálculos.
Esta lista proviene de la perspectiva de un ingeniero en computación (o ciencias computacionales), aplica a cualquier tema de estudio (no sólo seguridad) y no significa que corresponde directamente a los cursos que hay que tomar. La respuesta podría ser distinta si se le pregunta a un matemático o estadístico. Además, es importante no confundir los requisitos de un analista de datos con los de un administrador de base de datos. Aunque ambas áreas tienen tareas o temas en común, la administración de base de datos posee una definición mucho más limitada y puede ser considerado como un requisito (no indispensable) del analista de datos.

Hace unos años atrás presenté un póster sobre mi tema de investigación, en una conferencia de seguridad informática y como estudiante de ingeniería en computación. A lado mío había un estudiante del departamento de estadística, también presentando un póster. Luego de conversar, concluí que su tema tenía un matiz demasiado teórico y un poco lejos de la realidad vivida en seguridad informática. Pero su propuesta también permitía analizar más datos y más rápido. Y desde entonces me he preguntado (nuevamente) que tengo que hacer para mejorar como profesional en seguridad informática.

No hay comentarios:

Publicar un comentario