sábado, 10 de marzo de 2012

Educación en la Web: Como hacer un buscador como Google... sin saber de programación!

Recientemente comenzó un curso de programación, totalmente gratis y desarrollado por profesores de las Universidades de Virginia y Stanford. El nombre del curso? Construyendo un Buscador Web (Building a Search Engine). Los instructores del curso indican que no se necesitan conocimientos previos en programación para participar en el curso.

El curso forma parte de un proyecto mucho más grande, llamado Udacity. El objetivo es ambicioso e interesante: proveeer educación universitaria de alta calidad y a bajo costo. Utilizando la economía del Internet, Udacity busca conectar a profesores de universidades y programas reconocidos con cientos de miles de estudiantes alrededor del mundo. A la fecha ofrecen dos cursos y en abril próximo comenzarán varios más: 'Web Application Enginnering', 'Programming Languages' y 'Applied Cryptography'. Demasiado bueno para sonar cierto? He estado siguiendo el curso por las primeras tres semanas y hasta el momento he estado impresionado con la calidad y contenido del mismo.

Puede sonar demasiado ambicioso armar un buscador web sin tener ningún conocimiento previo de programación. Pero los autores del curso están realizando un excelente trabajo, introduciendo conocimientos básicos necesarios de programación y computación alrededor de la idea de armar un buscador web. Presentan pequeñas pruebas luego de tan sólo mostrar un concepto nuevo. Evitan esperar a presentar toda la teoría de computación y se concentrar en mostrar que se puede hacer con lo poco que se haya presentado en un corto tiempo (minutos). Pero a la vez, el curso no olvida el objetivo de construir el buscador por lo que cada concepto aprendido es un paso en la dirección para lograr armar el buscador.

Para todos aquellos que trabajamos en computación, el curso puede parecer demasiado básico. Sin embargo, los autores no evitan hablar de las dificultades que un programador enfrenta al intentar construir un buscador y catalogar los sitios web en el Internet. El curso ofrece información sobre estos problemas y como expertos en el tema han trabajado para resolverlos. Gabriel Weinberg, creador del buscador DuckDuckGo participa en un video de Udacity, hablando de su proyecto. Anna Patterson, creadora del buscador Cuil y actual directora de investigación de Google, también participa compartiendo sus experiencias sobre las dificultades que existen para escribir un buscador web. He aquí el video, Anna aparece a los 49 segundos:



Para aquellos que desean más información sobre lo que habla Anna, ella escribió hace varios años un artículo para la revista Queue de ACM, titulado 'Porque escribir tu propio buscador web es difícil'. El artículo describe consideraciones para optimizar el buscador y evitar problemas como agotar recursos en las computadoras o en las redes.

El proyecto de Udacity es parte de una revolución que está ocurriendo poco a poco y que creo afectará la forma como enseñamos y aprendemos computación. Múltiples universidades lideres en computación como MIT, Stanford y Carnegie Mellon tienen proyectos similares, en donde se ofrecen cursos de calidad y al menos hasta ahora, de forma gratuita. Para todo aquel que se dedica a la enseñanza, estas plataformas están empujando a cambiar los paradigmas bajo los cuales se enseña. Y para todo aquel que es estudiante en computación, las oportunidades para aprender y la calidad de los cursos a su disposicion, han aumentado significativamente.

viernes, 23 de diciembre de 2011

La educación es una responsabilidad de todos, no sólo de un grupo

El siguiente artículo fue publicado en el periodico La Prensa, en su edición del 30 de diciembre de 2011. Está también disponible aquí.

El Ministerio de Educación (MEDUCA) anunció hace unos días atrás que Panamá no participará en la próxima ronda de las pruebas internacionales de evaluación a estudiantes de educación media, conocidas como PISA. Esta decisión me parece incorrecta ya que no permitirá evaluar el rendimiento de nuestro sistema educativo y comparar nuestros resultados con los de otros países, en medio del proceso mundial de la globalización. Esto nos obliga a participar, colaborar y competir fuera de nuestras fronteras, muchas veces con países considerados como desarrollados. Si la globalización es parte de nuestra realidad, estemos listos o no para competir, por qué mejor no realizar un diagnóstico periódico como las pruebas PISA que nos permita determinar dónde estamos frente a otros países y si nuestro esfuerzo está produciendo buenos resultados? Como dijo Lord Kelvin, famoso físico e ingeniero del siglo XIX: “si no lo puedes medir, no puedes mejorarlo”. 

Dentro de la explicación de MEDUCA sobre porque no participar en la próxima ronda de PISA, se mencionó: “…el sistema nuestro no estaba guiando al estudiante hacia esos tipos de exámenes…”. Esto puede sugerir que el Ministerio asume la completa responsabilidad de los resultados obtenidos. No es de sorprenderse entonces que hayan decidido suspender nuestra participación en la próxima ronda de los exámenes PISA. Se sienten únicos responsables de los malos resultados. Aunque es una actitud loable (y titánica) no deja de ser incorrecta. El rendimiento de nuestros estudiantes en las pruebas PISA es el producto del esfuerzo y dedicación que el gobierno, empresa privada, escuelas, maestros, padres de familia y estudiantes ponemos en la educación de estos últimos. 

Octavio Méndez Pereira dijo que “al país lo hacen los ciudadanos y no los profesionales”. Uno de los máximos propulsores de la educación que ha tenido nuestro país comprendía que la responsabilidad era demasiado grande para recaer en un sólo grupo. Aunque nadie niega el importante rol que juegan gobierno y maestros en la educación de nuestros estudiantes, se requiere del esfuerzo de otros grupos para lograr los resultados que todos queremos. Y aunque pueda sonar como sorpresa para algunos, el grupo más importante es el de los padres de familia. Es en el hogar donde se define la verdadera importancia de la educación y en donde los estudiantes adquieren la conciencia de su valor. Si esta definición comienza en las escuelas, es usualmente síntoma del mal trabajo realizado por los padres del estudiante. 

Un ejemplo del mal trabajo que realizamos los padres con nuestros estudiantes se demuestra por medio del bajo hábito por la lectura en nuestro país. ¿Cuántos libros regala o recibe usted en estas fiestas? ¿Cuántos recibe(n) su(s) hijo(s)? En un artículo reciente encontraba que en España existe 1 librería por cada 10,000 habitantes. Haciendo un conteo no científico, encontré alrededor de 65 librerías en nuestro país. Esto representa 1 librería por cada 52,000 habitantes. La Vice-Ministra de MEDUCA indicó que nuestro mal rendimiento se debió parcialmente a “…que (PISA) son pruebas no memorísticas en donde se utilizan párrafos para análisis”. La lectura aumenta la capacidad de entendimiento y rendimiento escolar de nuestros estudiantes. Si nuestros hijos no tienen el hábito de la lectura, es principalmente nuestra culpa, no del gobierno o los maestros. Y tampoco debemos sorprendernos cuando salen mal en este tipo de pruebas. Por cierto, España terminó 29 posiciones por arriba de nuestro país en los resultados PISA 2009. 

En 1913, Méndez Pereira participó en la Primera Asamblea Pedagógica de Panamá, cuyo objetivo era mejorar la enseñanza en nuestro país. Allí dijo: “Nos queda mucho por hacer en este ramo importantísimo del progreso del pueblo. Gabinetes, laboratorios, museos, asociaciones, bibliotecas modernas, nuevos métodos racionales de pedagogía…”. Imposible pensar que sólo un grupo de la sociedad pueda llevar a cabo todo esto. Se requiere que como padres de familia actuemos con responsabilidad, practicando la importancia de la educación con nuestros hijos y velando por la participación responsable y activa de los otros grupos. Pidamos al gobierno que participemos nuevamente en las pruebas de evaluación internacional como PISA. El resultado en estos exámenes depende de todos, no sólo del gobierno o nuestros maestros.

martes, 6 de septiembre de 2011

Lo que 4 Años en la Web enseñan sobre Malware

Frecuentemente escuchamos que la complejidad de los ataques contra un sistema informático van en aumento. Sin embargo, al pedir más detalles, no siempre escuchamos ejemplos concretos que demuestren el incremento en complejidad de los ataques. Recientemente, Google publicó un reporte técnico que muestra claramente como los ataques han aumentado en complejidad.

El reporte utiliza datos recolectados durante los últimos 4 años por medio de la Infraestructura 'SafeBrowsing', que genera diariamente 3 millones de alertas a más de 400 millones de usuarios que navegan por la web. Los navegadores Mozilla Firefox y Google Chrome utilizan esta infraestructura. 

En el reporte se detalla como los navegadores son utilizados extensamente por los atacantes para instalar malware en computadoras de terceros. Además, cambian constantemente los métodos que utilizan para comprometer las victimas y realizan serios esfuerzos para evadir programas antivirus y otros métodos de detección, que incluso muchos en seguridad informática utilizamos y en los cuales hasta confiamos.

He aquí varios puntos a resaltar y que se mencionan en el reporte:
  • Se analizan cuatro métodos para detectar sitios web que están publicando malware: honeypots tipo cliente y emuladores de navegadores, programas antivirus y sistemas de reputación de dominios.  En el reporte se concluye que es necesario utilizar y depender de multiples métodos ya que los atacantes intentan confundir estos métodos de detección.

    En la gráfica de abajo se muestra como se puede incrementar la detección de malware utilizando dos metodos: emuladores de navegadores (se muestra bajo el nombre 'Exploit Only' y en color blanco) y honeypots tipo clientes (bajo el nombre 'NewProcess Only' y en color negro). El uso de ambos métodos se muestra en color gris. Como puede apreciarse, se detecta un mayor numero de sitios maliciosos al utilizar ambos métodos. Aunque detectan juntos una larga proporcion de los sitios web analizados, tambien cubren casos diferentes durante otros periodos de tiempo. En otras palabras, al utilizar varios metodos de forma simultanea se disminuye la incertidumbre (sobre si un sitio es malicioso o no) y el numero de falsos negativos (casos que fueron equivocadamente clasificados como benignos).

La siguiente gráfica muestra el trabajo de emuladores de navegadores y programas antivirus. Esta gráfica puede confundir, pues muestra un gran porcentaje de los sitios detectados por medio de los programas antivirus (en color negro). Sin embargo, el reporte indica la tendencia de estos programas a generar falsos positivos (casos que fueron equivocadamente clasificados como maliciosos). Esto es conocido en la comunidad debido en parte al uso de programas para empaquetar el malware. Otra razón es que el programa antivirus debe actuar de forma más precavida ya que puede no contar con el tiempo necesario para confirmar si un archivo es malware o no. Recuérdese que en el escenario de detección experimentado por Google, es necesario determinar si el archivo es malware ANTES de que infecte una computadora por medio de un navegador. Esto hace que los programas antivirus sean sobre precavidos y declaren como malware algun archivo del que no están completamente seguros, para disminuir su tiempo de respuesta y aún cuando esto aumente el número de falsos positivos.



  • Los atacantes cambian rápidamente los vulnerabilidades utilizadas para instalar malware en las computadoras de sus victimas. Esto tiene el objetivo de evadir ser detectados. La gráfica de abajo muestra 24 vulnerabilidades, identificadas cada una por su código CVE, en el eje Y. El eje X muestra el tiempo que son utilizadas, por medio de bloques. En la mayoría de los casos, las vulnerabilidades son utilizadas por espacio que va de semanas a meses. La intensidad del color de cada bloque indica la 'popularidad' de la vulnerabilidad, en un momento determinado y comparado con otras vulnerabilidades utilizadas durante el mismo instante.

    Notese por ejemplo la vulnerabilidad CVE-2010-0249 que fue utilizada por un espacio no mayor a seis meses.


  • El tiempo entre que una nueva vulnerabilidad es ejecutada y cuando es publicada ha ido disminuyendo, dando cada vez menos tiempo a que un administrador utilice métodos manuales para proteger sus sistemas informáticos. La siguiente tabla muestra el número de días entre que se detectó una vulnerabilidad (fue ejecutada) y cuando fue publicada. En los casos en donde se muestra número de días negativos, como la vulnerabilidad CVE-2008-6442 con -242 días, significa que la vulnerabilidad primero fue detectada y luego publicada. En el caso de CVE-2008-6442, esto representa más de ocho meses.


  • Google ha puesto su infraestructura 'SafeBrowsing' a disposición de cualquiera que desee utilizarla, por medio de un API. Para mayor información, favor consultar el sitio web Google Safe Browsing API.

    Para aquellos interesados, el reporte está disponible aquí. Ademas, los autores también han publicado comentarios en su blog. El reporte es una interesante lectura, describiendo el mundo del malware y el reto al que se enfrentan quienes debemos proteger los sistemas informáticos de estos ataques.

    domingo, 30 de enero de 2011

    Como mentir con las estadisticas... nuevamente

    En 1954 vió la luz el libro How to Lie with Statistics de Darrell Huff. El libro indica varios de los más comunes errores que cometemos diariamente, algunos voluntariamente, para usar las estadísticas y así apoyar nuestras teorias u opiniones. Aunque han pasado más de seis décadas desde que fue publicado, el libro es tan vigente hoy como en aquel entonces. Recientemente me encontré con dos artículos que me hicieron pensar que el libro seguirá siendo vigente por los próximos años.

    Ejemplo 1: En el articulo Efectividad del ‘Pele Police’ es de 0.5% del diario La Prensa se confunden términos no estadísticos con fórmulas estadísticas. Este es un ejemplo de lo importante de ser constante y estricto al utilizar la estadística, para evitar confusiones.

    El Pele Police es el nombre popular que se le ha dado en Panamá al dispositivo electrónico utilizado por la policia para acceder una base de datos de personas involucradas en casos con la justicia de ese país. Cuando leí el título, inmediatamente salté luego de leer el 0.5% que aparecia allí.



    El problema del artículo parte de que utiliza un término no estadístico como efectividad con una formula utilizada para definir la eficiencia (estadística), lo que crea confusión a los lectores. El 0.5% aparece luego de dividir el número de personas detectadas por el Pele Police con casos pendientes con la justicia (8,894) entre el número de personas que fueron verificadas con el dispositivo (1,641,711). Esa cifra del 0.5% se refiere más bien a la eficiencia del proceso, en el cual se utiliza el aparato.

    El artículo pudo utilizar otros métricos para describir de una forma más clara la eficiencia del sistema.  Se pudieron considerar métricos de error como el porcentaje de falsos positivos (el aparato dijo que una persona tenía caso pendiente y esto era falso) y falsos negativos (el aparato no alertó a pesar de ser una persona con caso pendiente) que se han obtenido tras utilizar el Pele Police. Los más de 40 comentarios encontrados en la página web de la noticia son prueba de que hubo confusión estadística.

    Ejemplo 2: El artículo científico 'Feeling the Future: Experimental Evidence for Anomalous Retroactive Influences on Cognition and Affect' aparecerá próximamente en una reconocida revista de psicología. Aunque todavía no ha sido publicado, el artículo ya ha generado controversia. Varios científicos consideran que se utilizaron métodos poco estadísticos para generar y validar los resultados obtenidos en las pruebas.

    El artículo de por si trata sobre un tema controversial (y algunos dirán hasta de ficción): percepción extra sensorial. Uno de los experimentos presentados indica que cuando a los participantes se le pedía adivinar la ubicación de fotos con contenido erótico, fueron capaces de acertar en un 53% de los casos. Esto es casi similar a un comportamiento aleatorio del 50%. Sin embargo el autor del artículo, Daryl Bem de la Universidad de Cornell, utiliza este resultado como evidencia de que la percepción extra sensorial existe.

    Algunas personas indican que el Dr. Bem tiene un peculiar sentido del humor. Independientemente de que esto haya contribuido a que se haya publicado el artículo o no, le valió una invitación al programa de comedia "Colbert Report". He aquí el video:



    Mon - Thurs 11:30pm / 10:30c
    Time-Traveling Porn - Daryl Bem
    www.colbertnation.com
    Colbert Report Full EpisodesPolitical Humor & Satire BlogVideo Archive

    El artículo del Prof. Bem puede indicar problemas más importantes que las posibles fallas al utilizar o ignorar métodos estadísticos. Un ejemplo es el proceso de evaluación utilizado para aceptar el artículo (conocido como 'peer review') proveniente de una persona como Bem, quien es una figura reconocida de la psicología y profesor emerito de Cornell. Pero mantengamos el tema en la estadística para no complicar el asunto más.

    El artículo de Bem ha creado tanta controversia que el periódico NY Times ha publicado dos artículos sobre el mismo: Journal’s Paper on ESP Expected to Prompt Outrage y You Might Already Know This .... Son una buena manera de adquirir mayor información sobre el artículo sin necesidad de leer el mismo. A menos que ya puedas percibir de que se trata sin leerlo.

    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.

    domingo, 5 de septiembre de 2010

    Implementación del DNSSEC y algunas expectativas falsas sobre el PKI

    El 15 de julio pasado se llevó a cabo la ceremonia para implementar las extensiones de seguridad al protocolo DNS, conocidas como DNSSEC, en los servidores . (punto) del Internet. DNSSEC utiliza una infraestructura de llave pública (PKI) para su implementación y operación. El impacto y beneficio de DNSSEC es mundial, lo que también demuestra el valor que posee la tecnología PKI. La razón por la que menciono el rol de esta tecnología es que como profesional de la seguridad informática he participado en proyectos que han utilizado PKIs y observado al mismo tiempo como se ha mal ganado una reputación negativa en el camino. La implementación de DNSSEC es evidencia de como PKI puede ser una excelente solución, siempre que se haya identificado apropiadamente el problema para el cual funcionará.

    DNSSEC es un conjunto de especificaciones que ayudan a mejorar la seguridad del protocolo DNS, utilizado para traducir los nombres que escribimos en nuestros navegadores web a las direcciones utilizadas por las computadoras (por ejemplo, www.utp.ac.pa debe ser traducido a 168.77.99.19 para que un navegador web visite el sitio de la Universidad Tecnológica de Panamá o UTP). Esta traducción ocurre luego que el navegador hace la consulta a otros servidores de DNS. El problema es que esta consulta se hace sin ser autenticada, lo que podría resultar en la falsificación de resultados y la eventual visita del navegador a un sitio equivocado (siguiendo el mismo ejemplo, visitar un sitio falso en lugar de la UTP. Imagínese lo que esto significaría para los estudiantes que van a pagar su matrícula en la UTP y terminan enviando el dinero a un sitio falso). Aquí es donde DNSSEC viene al rescate. DNSSEC permite autenticar la fuente de las traducciones de nombres a direcciones (y viceversa) antes de visitar cualquier sitio. Si una fuente no es legítima, de acuerdo al PKI utilizado por DNSSEC, se previene que el navegador visite el sitio malicioso (o no autenticado).

    La tecnología PKI ha sufrido de una mal ganada fama durante más de una década, al punto que varias personas cuestionan su utilidad. En lo personal creo que la implementación de DNSSEC es un excelente ejemplo de porque el PKI es un valioso recurso para mejorar la seguridad de los sistemas informáticos, cuando es bien implementado y se tiene una clara imagen del problema a resolver (y por ende del rol del PKI).

    La mala fama de la tecnología PKI proviene principalmente de la época de la revolución del .COM. En aquellos tiempos se pensaba que el PKI (o los certificados digitales generados por estos) era todo lo que se necesitaba para garantizar la seguridad de los sitios web. Otra razón de la mala fama es que se pensó que los PKI podían resolver todos los problemas (algo parecido al concepto de "un sólo tamaño para todos" o "one size fits all").

    Al reventar la burbuja del .COM también reventó la confianza que se tenía en la tecnología PKI. Realmente no había mucho que se pudiera hacer, excepto darle tiempo al tiempo, ante las altísimas expectativas que habían por la revolución del .COM y consecuentemente por la tecnología PKI. Por otro lado, la idea de utilizar el PKI como una solución"one size fits all" todavía persiste, aunque no tan insistente como hace algunos años. Hace casi una década atrás, existieron leyes sobre el tema en países como Panama y Colombia, que decretaban instituciones a nivel nacional para manejar de forma exclusiva el tema de los certificados digitales (y por ende, de los PKIs). Hoy en ambos países ya se han derogado estas leyes, pero en algunos casos todavía persiste la idea de implementar PKIs nacionales utilizando mecanismos legales inferiores.

    Entre 2003 y 2004, tuve la oportunidad de participar en la implementación del primer PKI en la Autoridad del Canal de Panamá (ACP), en el proyecto de recolección de datos para tránsito de naves. El PKI implementado fue diseñado para suplir necesidades específicas de este proyecto, firmar documentos electrónicos y establecer una red de confianza entre todos los participantes del sistema de recolección de datos. Aunque su diseño también incluyó su posible rol como autoridad certificadora raíz para otros proyectos, se mantuvo el diseño e implementación original. Luego de más de seis años, el PKI ha cumplido con su rol inicial y es para mi una muestra del uso de la tecnología para resolver apropiadamente un problema para el cual estaba diseñado y respondiendo a una institución (bajo la misma administración, facilitando su implementación).

    Aunque en una ceremonia mucho más modesta que la realizada para la implementación de DNSSEC, la generación de la llave para proteger el servidor raíz fue realizada por el personal de Seguridad Informática de la ACP (Juan Chong, Eduardo Thomas y yo), el consultor del proyecto Tan Chee Young, y los ingenieros Francisco Loaiza y Edwin Reina (director y sub-director del Departamento de Informatica en aquel momento). Abajos unas fotos del momento (histórico?):

    Figura 1. Generación de la llave privada para el servidor raíz del PKI utilizado en ACP, el 15 de enero de 2004. De izquierda a derecha: el autor, Francisco Loaiza, Edwin Reina, Juan Chong, Tan Chee Young y Eduardo Thomas.

    Figura 2. Entrega de los "tokens" con parte de la llave privada del servidor raíz, entregadas al director
    y sub-director de informática (pero almacenadas en un lugar seguro y secreto :)

    El proyecto DNSSEC apenas ha comenzado y junto al PKI utilizado no están libre de dificultades, al igual que el PKI de la ACP. Pero ambos casos (cada uno en su justa dimensión) permiten demostrar claramente los beneficios que ofrece la tecnología PKI.

    Hay mucha más información sobre el tema de seguridad en DNS y DNSSEC. Si deseas conocer sobre ataques de seguridad a los protocolos DNS, estos son conocidos como "DNS cache poisoning". Detalles sobre la implementación de DNSSEC y el PKI correspondiente están disponibles en: (1) registro completo (con videos) del proceso de firma de los servidores raiz, (2) arquitectura utilizada en DNSSEC para la generación y protección de llaves criptográficas, (3) compendio de documentos sobre el tema, (4) como participar en el proyecto y (5) el rol en el proyecto DNSSEC del Registro de Direcciones de Internet para América Latina y el Caribe, LACNIC. La antigua y actual leyes sobre PKIs de la República de Panamá están disponibles aquí: Ley 43 de 31 de julio de 2001 y Ley 51 del 22 de julio de 2008. Más información sobre el esfuerzo del Gobierno de Panamá de promover el uso de PKIs y certificados digitales está disponible en el sitio de la Dirección de Comercio Electrónico del Ministerio de Comercio e Industrias.

    domingo, 15 de agosto de 2010

    Cinco razones de por que asistir a Usenix Security

    La semana pasada asistí a la 19ma versión de la conferencia USENIX Security. En la misma se presentaron 30 documentos de investigación (papers), se ofrecieron charlas de especialistas de la industria sobre seguridad y permitió que sus asistentes intercambiaran opiniones y comentarios sobre los problemas más actuales en seguridad informática. También una que otra oportunidad para disfrutar de una buena cerveza... :)


    En mi opinión, esta es una de las mejores conferencias de seguridad informática que presenta el estado de arte en varios de los temas más actuales de seguridad informática, desde el punto de vista de un investigador y de la industria. En otras palabras, la conferencia está orientada a investigación aplicada. Además, la conferencia posee dos pistas simultáneas (double track). En una de las pistas se presentan los 30 papers que pasaron exitosamente el proceso de evaluación por terceros (peer review), mientras la otra pista contiene exclusivamente charlas de especialistas de la industria en seguridad informática. Esta última incluyó este año a expertos en seguridad de Microsoft (comparando la seguridad de Unix con Windows), Adobe (seguridad en Flash) , Google (seguridad de ChromeOS) y Mozilla (seguridad en Firefox). Durante mi asistencia a la conferencia, sentí que debía aprovechar cada minuto de la misma debido a la gran cantidad de temas interesantes y bien presentados, así como a la excelente oportunidad de conversar con expertos y colegas.

    He aquí cinco razones por las que vale la pena asistir a la conferencia Usenix Security:
    1. Oportunidad de conocer trabajos de investigación con potencial para convertirse en productos de ingeniería. UsenixSec es sobre investigación aplicada por lo que la validez de una idea e investigación depende de su aplicación en la industria. En la conferencia, expertos provenientes de industria y academia dieron su evaluación sobre el trabajo presentado e incluso realizaron comparaciones con otros trabajos/productos similares.
    2. Si eres estudiante o profesor de primer año, oportunidad de conseguir fondos para asistir. Usenix ofrece becas para asistir a sus eventos, incluyendo a UsenixSec. El proceso para aplicar es fácil y se puede realizar en línea. Yo llené toda la información en cuestión de días (ya que debes hacer un ensayo, así que me tomé el tiempo para revisarlo y corregirlo). La beca que me otorgaron cubrió el 70% de mis gastos.
    3. Participar en pista de charlas de la industria. Escuchar a los especialistas que están decidiendo e implementando los mecanismos de seguridad en los productos utilizados hasta por cientos de millones de personas, no tiene precio. En la conferencia de este año habló Crispin Cowan sobre los avances en seguridad de Unix y Windows en los últimos 10 años. Cowan es una de las pocas personas, en mi opinión, que puede hacer una comparación objetiva ya que ha desarrollado varios programas de seguridad para Unix para luego ingresar a Microsoft en 2008.
    4. Oportunidad para conversar con verdaderos expertos de seguridad que asisten anualmente. Este año asistieron expertos como Steven Bellovin, Bill Cheswick, Simson Garfinkel, Farnam Jahanian, Chris Kruegel, Wenke Lee, Peter Neumann, Niels Provos, Avi Rubin, Chris Schuba y Robin Sommer. En cada una de las actividades sociales de la conferencia (breaks, sesiones de poster, cena, etc.) se tiene la oportunidad de conversar con ellos y debo añadir que la gran mayoría siempre está muy dispuesto a conversar. Por ejemplo, hablé con Bellovin sobre la mal ganada fama de los PKI (algo de lo que comentaré después aquí) y con Sommer sobre el futuro del sistema de detección de intrusos Bro. Las opiniones ofrecidas por cada uno, demuestran el conocimiento profundo que tienen en seguridad informática.
    5. Oportunidad para conocer otros colegas de la seguridad informática y darte a conocer. Mientras se es estudiante de investigación (MSc y PhD), resulta muy interesante y divertido conversar y convivir con otras personas que están pasando por la misma experiencia y tienen intereses similares. Esta podría incluso ser la razón más importante por la que un estudiante debe asistir a conferencias como Usenix Security. Las primeras cuatro razones sólo mejoran la experiencia exponencialmente... :)
    La lista no es exclusiva y existen razones adicionales que uno podría también mencionar. Por ejemplo, conocer la ciudad de la conferencia y participar en los workshops que ocurren antes y después de la conferencia. Este año el evento fue en Washington, DC, EEUU, una ciudad con un sistema de metro muy fácil y conveniente de utilizar. Una de las estaciones del metro estaba a lado del hotel de la conferencia. Además, Washington posee un sin numero de museos y lugares a visitar, la mayoría de los cuales son gratuitos. Por otro lado, se realizaron siete workshops en Usenix Security. Incluían temas como voto electrónico, experimentación en seguridad y tecnologias ofensivas. En varios de los workshops, los estudiantes podían también aplicar a becas que cubren parcialmente los costos.

    Si no estás convencido del potencial y ventajas que ofrece Usenix Security, es porque no trabajas en seguridad o yo hice un mal trabajo en vender la conferencia. Es una de las mejores conferencias de seguridad a las que he asistido. De seguro la mantendré en mi radar para no perder la oportunidad de asistir en próximos años.