5.12.11

Hacking orientado a eventos en Standford AI Class

La inteligencia artifical siempre ha sido una de las área de la informática que más interés ha despertado en mí. Y no sólo la IA que se aplica en los juegos, desde los clásicos de ajedrez hasta los Fifas y los Calls of Duties... me gusta la IA al estilo Skynet (aunque por lo que se, aún estamos muy lejos).

Resulta que Peter Norvig y Sebastian Thrun empezaron a impartir online las clases de introducción a la inteligencia artificial que imparten en Standford, y por supuesto, me apunté a ver qué tal resultaba el tema. El curso está muy bien, y aunque es una introducción y no profundiza mucho, picotea en muchos aspectos de la inteligencia artificial, muy interesantes, y sobre los que podemos investigar en mayor profundidad (personalmente me gusta mucho más el curso de Machine Learning del profesor Andrew N.G.).

Tengo en mente algunos proyectos de aplicación de la inteligencia artificial al mundo de la seguridad informática, que ya os contaré más adelante. Hoy vamos a cambiar el orden de los factores, y aplicar la seguridad informática al mundo de la inteligencia artifical, concretamente a este curso.

El curso lo imparten a través de unos vídeos, en los que te van explicando conceptos de IA, y de vez en cuando, intercalan alguna pregunta para verificar que sigues vivo  :-) y que puedas ver la evolución de tu aprendizaje.

Yo pensaba que algunas preguntas me resultaban ambiguas por mi nivel de inglés (que no es malo, aunque no es nativo), pero otros colegas que hablan inglés a nivel nativo también han encontrado muy ambiguas muchas preguntas... y esa ambigüedad termina muchas veces en frustración.

Al más puro estilo KickAss me he puesto el traje de Ciberninja, dispuesto a hacer justicia, y tras hacer alguna pruebecilla de fuzzing manual, me percaté de el vídeo con la explicación de las preguntas y sus respuestas se mostraban justo después de pulsar el botón de grabar tu respuesta, y en paralelo se ejecutaba la evaluación de tu respuesta.

¿Habrán sincronizado las acciones, o habrán confiado en su infalible código para evaluar las respuestas?  Intentemos algo que voy a bautizar como hacking orientado a eventos (si es que no existe aún).

¿Cómo aprovechar el paralelismo en la ejecución para conocer la respuesta, y que no me guarde mi intento fallido? Podemos recurrir a nuestras amigas las matemáticas, y lo mal que se llevan los ordenadores con determinadas operaciones:
  1. ¿Qué pasa si quiero guardar un valor infinito como respuesta numérica? Bien, si guardamos el literal "inf" nos lo guarda, y nos da la respuesta como no válida.
  2. ¿Qué pasa si quiero guardar una expresión cuya evaluación numérica sea infinito? Touché. Si pones cualquier fracción cuyo denominador sea 0, se produce un fallo al guardar, y te revela la respuesta, permitiéndote reintentar el ejercicio y poner la respuesta correcta. Mira el vídeo.


Podríamos decir que es un hack artificialmente inteligente, jejeje :-) No les vendría mal pasarse por la clase de Standford de Seguridad Informática.

Pd.- No olvides que la gracia del curso está en aprender, así que no uses este truco a lo loco: úsalo para vengarte cuando las preguntas sean estúpidamente ambiguas. Recuerda, ¡un gran poder conlleva una gran responsabilidad!

Mata ne, ciberestudiante.






23.11.11

El DNI-e y el acceso a la e-Administración


La administración pública española está publicando servicios para permitir a los ciudadanos el acceso en remoto a la adminsitración a través de Internet. Cierto es que cada vez usamos más Internet e incluso hemos perdido el miedo a comprar, pero tratar con el estado, las comunidades autónomas o los ayuntamientos a través de Internet es otra historia, y las dudas surgen:
  • ¿Estamos preparados para la e-Administración?
  • ¿Nos ofrece seguridad, terminarán nuestros datos publicados como ha ocurrido con tantas empresas y administraciones este 2011?
  • ¿Qué mecanismos usan para garantizar que nuestra información esté segura? 
Mi recomendación de siempre es comparar el mundo digital con nuestros hábitos en el mundo real para no llevarnos sorpresas desagradables, así que vayamos por partes.

Identificándonos ante la administración: el DNI electrónico.

La administración ha considerado adecuado aprovechar el éxito del DNI tradicional como medio para identificar ciudadanos, y ha preparado el DNI electrónico como alternativa electrónica. El DNI-E contiene un chip criptográfico que almacena, entre otros, los siguientes elementos:
  • Un certificado digital para acreditar la identidad del ciudadano.
  • Otro certificado digital para firmar digitalmente con firma reconocida, que tendría la misma validez que la firma manuscrita, de acuerdo con la Ley de Firma Electrónica.
  • Las claves para el uso de la firma electrónica.

La clave privada nunca abandona el chip criptográfico, sino que es usada por éste para atender el reto criptográfico enviado por los lectores. La función del DNI está protegida por un PIN que hay que introducir para poder usarlo. La comunicación con la tarjeta se rige por el estándar ISO 7816 y el estándar CWA-14890.

Aunque la memoria de estos dispositivos se ha considerado inexpugnable, se cree que los criptoprocesadores pueden ser comprometidos si se dedican los recursos económicos, técnicos y humanos adecuados. En Cambridge volcaron el área segura de memoria de los criptochips IBM 4758 usados en banca (http://www.admin.cam.ac.uk/news/press/dpp/2001110901), por lo que se cree que en cuestiones relacionadas con inteligencia militar o gubernamental, estos chips pueden ofrecer poca resistencia.

Un acercamiento a la estructura de nuestro DNI-E lo presentó en 2010 un investigador llamado Javier Vallejo Vicente (http://vallejo.cc/proyectos/dnie/articulo.pdf). Si te interesa la seguridad y la ingeniería inversa, es un informe muy interesante.


¿Cómo sé que usted es el funcionario que tiene que atenderme y no es un impostor? 


La administración nos ha identificado, de acuerdo. Pero, ¿cómo sabemos nosotros que la administración es quien dice ser, y no es un atacante disfrazado? En el mundo real tenemos las estafas clásicas del "hombre del gas", que nos hace la revisión sin solicitarla, o el impostor disfrazado de Guardia Civil que para extranjeros y les cobra las multas en mano. En Internet todos los gatos son pardos. ¿Cómo se identifica la administración ante mí?

Además, no hay nada más molesto que un funcionario que hable muy alto y se enteren todos los que están a tu alrededor de los detalles de la gestión que estás realizando. Este factor también tiene su contrapartida en la e-Administración.

La administración electrónica se enfrenta otros retos relacionados con la información:

  • Autenticidad y Confidencialidad: garantizar al ciudadano que la Web a la que se conectan es legítima, y que la información no puede ser vista por terceras partes. Para las comunicaciones se está usando el protocolo TLS. Aunque se supone que es seguro, hay configuraciones que no resultan seguras, y para ello la empresa Qualys pone a nuestra disposición un sistema para analizar los certificados y las configuraciones de los servidores. En el caso de los de la Junta de Castilla y León tenemos una nota aceptable, aunque podría ser sensible a 3 tipos de ataques, 1 de ellos por configuración débil. En posteriores artículos abordaremos estos problemas.
Puntuación obtenida por www.tramitacastillayleon.jcyl.es en Qualys SSL Labs el día 22/11/2011

Por favor, deme una copia y póngame un sello aquí

De sobra sabemos que la adminsitración a veces tiene mala memoria para recordar los trámites que hemos llevado a cabo, y merece la pena tener un comprobante de que hemos hecho nuestras gestiones, y qué documentación hemos presentado. 
  • Integridad y no repudio: con la finalidad de identificar si la información (tanto la que emite la administración como la que envía el ciudadano) ha sido alterada se hace uso de la firma digital, y para garantizar el no repudio, se apoyan en la ley de firma electrónica.  Si bien la firma electrónica permite detectar la alteración de documentos, no permite la identificación de los elementos falsificados ni la reconstrucción del documento original, por lo que tampoco es la panacea.
¡¡No deje mis papeles encima de la mesa!!

Si ya nos disgustaba la idea del funcionario indiscreto que habla muy alto sin reparo, más peligroso es aún aquel que deja todos los papeles encima de la mesa para que los que vengan detrás puedan verlos (o incluso sustraerlos en algún descuido). En la eAdminsitracion esto tiene su contrapartdia.

A fin de ofrecer una mayor seguridad a los ciudadanos de que su información digital está a buen recaudo, se definió el Esquema Nacional de Seguridad que recoge unos requisitos mínimos para la gestión de la seguridad de la información y unos principios básicos a tener en cuenta en las decisiones relacionadas con la seguridad.

¿Qué puedo hacer yo para que todo sea más seguro?


Como ciudadanos, tenemos que poner también algo de nuestra parte, y es que el factor humano es muy importante en estos casos, y en muchas ocasiones es el factor bisagra de un ataque.



Toda la resistencia que ofrece el DNI-e, mientras no se puedan volcar las claves, se basa en el acceso físico y en el PIN. Por tanto:



  1. Usa un PIN largo que te resulte fácil de recordad, y que a otras personas les resulte complicado de adivinar. Por favor, ¡no pongas tu teléfono o tu fecha de nacimiento!
  2. Siempre que no uses el DNI-e, sácalo del lector. Si tu ordenador tiene un troyano, un atacante odría registrar tu PIN cuando lo uses, y si dejas el DNI-e en el lector, podrá firmar digitalmente cosas en tu nombre, ¡¡y tú no podrás repudiarlo!!
  3. Mantén tu ordenador limpio de Malware, porque cuando vayas a usar tu DNI-e, si tienes un troyano, ya el atacante tiene una oportunidad de éxito, y los atacantes son muy astutos, ¡no los subestimes!
  4. Presta atención a los mensajes de error de tu navegador, y si éste te dice algo de un certificado no válido, mejor no realices la operación, y consulta con un experto. ¡Más vale prevenir que lamentar!
Y por supuesto, mantente alerta. La costumbre termina convirtiendo las actividades en rutinas, y la seguridad no es un estado, es un proceso continuo que hay que mantener. Si bajas la guardia, el ciberninja puede actuar y cuando quieras darte cuenta sólo verás los restos de una bomba de humo ;-)


Mata ne, ciberciudadano!