Selección de atributos relevantes usando la entropía de Shannon

Hoy en día, la detección de amenazas está cada vez más ligada al aprendizaje automático. Si queremos que un IDS o un antivirus pueda lidiar con amenazas nuevas, además de métodos heurísticos, hay que recurrir técnicas de clasificación, una parte importante de la IA. En los problemas de clasificación, una de las tareas a la que nos enfrentamos es seleccionar aquellos atributos que mejor describen la variable objetivo. Esto es, elegir aquellos atributos que aportan más información y tienen mayor correlación con la variable explicada. Por ejemplo, si queremos establecer la probabilidad de que alguien padezca cáncer de pulmón o no, una variable que va a ser muy significativa es si es fumadora. En el otro extremo, el color de los ojos de la persona, por poner un ejemplo muy claro, no aporta información relevante.

Detección de Malware usando los contadores hardware


Os dejo una parte de mi proyecto de fin de master (muchas gracias a Jordi Serra por ser mi director de proyecto). Se llama Anomaly Detection For Malware Identification Using Hardware Performance Counters.
La idea principal es que es posible, usando aprendizaje automático (machine learning), en concreto las técnicas de detección de anomalías, detectar comportamientos extraños en la ejecución de un software (normalmente el malware trata de desbordar la pila o algún buffer del programa). El algoritmo usa los contadores hardware de los micros modernos para analizar el comportamiento del ejecutable. Os dejo con el artículo.


Criptografía con curvas elípticas

Hace tiempo que le doy vueltas a la idea de hacer un post sobre criptografía basada en curvas elípticas, pero hasta ahora me he resistido porque no es un tema fácil de tratar de forma divulgativa sin meterse en berenjenales matemáticos de mucho cuidado.
Aun así, me voy a atrever por dos motivos. Porque me apetece, que para eso es mi blog, y porque personalmente creo que es un campo muy prometedor para la investigación en criptografía.
Voy a tratar de simplificar al máximo y voy a ahorrarte demostraciones matemáticas y formulitas todo lo que pueda, pero avisado quedas de que este es un artículo donde se presupone que el lector tiene cierta competencia matemática.
Sin más preámbulos, vamos al lío.

Ataques y debilidades de RSA

Siempre que se habla de criptografía de clave pública es obligado nombrar RSA como indiscutible rey. Otras cifras muy usadas son ElGamal y las basadas en curvas elípticas, a la que dedicaré un artículo en cuanto saque algo de tiempo. Después de más de 20 años de uso, que sepamos, RSA sigue siendo un criptosistema seguro. En cualquier caso, como ya os conté en otro artículo, si se usan valores pequeños para el módulo, éste es fácilmente factorizable en un tiempo razonable. Sin embargo, éste no es el único problema que puede presentar RSA. En este artículo vamos a hacer un repaso de algunas de las posibles debilidades de este criptosistema y, por lo tanto, posibles vectores de ataque.

¿Qué es la Criptografía Cuántica?

La computación cuántica se va perfilando como la próxima revolución en computación. Es todo un cambio de paradigma en la forma de procesar información, aunque probablemente, los computadores cuánticos del futuro serán de propósito específico y no ordenadores para uso general como los que usamos ahora. Una de estas aplicaciones específicas es la Criptografía Cuántica, que promete crear un canal cifrado teóricamente inexpugnable. Desgraciadamente, la computación cuántica también llega con la promesa de poner en jaque a la actual criptografía de clave pública. Analicemos por qué.

¿Son seguros los certificados digitales?

¿Alguna vez te has preguntado qué sería de Internet sin la Criptografía? Ya no sólo se trata de mantener tu intimidad cuando consultas tu correo electrónico. Gracias a la Criptografía es posible hacer usos de Internet como el comercio electrónico o transacciones bancarias de una forma segura. Con el uso de certificados digitales es posible realizar transacciones con entidades públicas y hasta el DNI incorpora una de estas firmas electrónicas.
Cabe preguntarse si realmente son seguras. Obviamente existen diferentes ataques del tipo man in the middle que son muy efectivos, pero ¿se puede atacar directamente el problema de romper el cifrado de una comunicación digital?
Vamos a hacer un experimento para tratar de sacar algunas conclusiones.

Ingeniería inversa de un parche de Microsoft Windows

A estas alturas ya hemos asumido que la seguridad total en Internet es, cuanto menos, un mito. Ningún software está libre de vulnerabilidades, y por mucha auditoría, test de intrusión o pruebas de fuzzing que nos empeñemos en hacer, ninguna metodología puede demostrar sin lugar a dudas que un software es 100% seguro. Ante este panorama, hay dos tendencias mayoritarias a la hora de hacer públicas las vulnerabilidades.
Por un lado, están los que piensan que cuando se descubre un fallo ha de hacerse público de forma inmediata. En este escenario, la publicación de una vulnerabilidad es el pistoletazo de salida para una carrera entre el desarrollador para sacar el parche y los "malos" para lograr explotarla. Esta política es conocida como full disclosure.
Por otro lado, tenemos a los siguen una política responsible disclosure, que abogan por mantener la vulnerabilidad en secreto hasta la salida del parche por parte del desarrollador. Sin entrar en cuestiones filosóficas que no vienen al caso sobre qué política es más adecuada, la segunda, seguida por empresas como Microsoft, han dado lugar a una práctica muy habitual últimamente. Cuando Microsoft publica un parche para un software, inmediatamente hay un montón de analistas que se dedican a hacer ingeniería inversa del parche, ya sea por pura curiosidad o para explotar la vulnerabilidad en aquellos equipos que aún no se hayan actualizado. En cualquier caso, puede ser muy ilustrativo ver cómo es el proceso de reversing de un parche de Windows, así que veamos un ejemplo sencillo.