Un informe sobre ciberseguridad en Europa

Mandos

El verano es para ponerse al día con las lecturas pendientes (que es algo que no he conseguido). En este caso, a título de inventario un informe: EU Cybersecurity Dashboard de la BSA - The Software Alliance. Interesante para comparar unos países con otros, ver las cosas que se están haciendo (y las que no).

El resumen para España:

Spain adopted the National Cyber Security Strategy in 2013. It is a comprehensive document, which sets objectives and targeted lines of actions. It is compatible with, and references, both the National Security Plan and existing security laws; and these plans and laws work together as a package.

Spain has established two CERTs, INTECO-CERT and CCN-CERT, and the National Centre for Critical Infrastructure Protection (CNPIC). The latter appears to be the premier agency for information security and cybersecurity, while the role of the CERTs is limited to dealing with cybersecurity incidents. CNPIC is responsible for ensuring coordination and cooperation between the public and private sector. It also runs sectoral working groups and is working toward the development of sector-specific cybersecurity plans.

Additionally, cooperation with the private sector is formalised through the National Advisory Council on Cybersecurity, established in 2009, whose members are private sector representatives. The council is tasked with providing policy advice to the government, although its current status is somewhat unclear. Private sector associations are also active, with two prominent bodies dedicated specifically to cybersecurity and information security, as opposed to general IT matters.

Sobre re-identificación de datos anónimos

Dinero

Un tema muy iterensante con el auge de la publicación de datos abiertos y el ‘big data’ (ya lo era, pero ahora es cada vez más real y cercano, en cierto modo) es la re-identificación de datos anonimizados. Podíamos leer en Researchers show how easy it is to de-anonymize shoppers.

En este caso Yves-Alexandre de Montjoye y su equipo analizaron 3 meses de registros de transacciones con tarjetas de crédito de 1.1 millones de personas y consiguieron identificar de manera única al 90% de ellos siempre que tuvieran cuatro ‘informaciones’ (pieces of information) acerca de sus movimientos en días determinados (lo que se publica en Facebook, Instagram, Twitter, …). Si está disponible el valor de una transacción la probabilidad de reidentificación aumenta (un 22% en media) y sería más fácil re-identificar a mujeres y gente de alto poder adquisitivo.

El estudio completo está accesible en Unique in the shopping mall: On the reidentifiability of credit card metadata.

Ya habíamos hablado de anonimización en Un borrador para un código de anonimización de datos, En internet cada vez es más difícil esconderse y en Sobre la desanonimización de la gente en internet, por ejemplo.

Un informe sobre seguridad del internet de las cosas

Antenas

Si has pasado el verano enterrado, oculto y no has escuchado las noticias sobre los ataques a coches conectados (demostraciones de la posibilidad, aún nadie está realizando los ataques, que sepamos) este informe debería ser tu lectura para estos días. En FTC Report on Internet of Things Urges Companies to Adopt Best Practices to Address Consumer Privacy and Security Risks se puede descargar un informe sobre la seguridad y la privacidad de la internet de las cosas y los análisis realizados por un grupo de expertos bajos los auspicios de la FTC (Federal Trade Commission).

Las conclusiones e ideas no resultarán novedosas para nadie que haya estado un poco atento, pero pueden servir para los despistados y como recopilatorio de lo que se sabe (con referencias a otras fuentes de información). Interesante.

El informe: Internet of things: Privacy & Security in a Connected World.

Ya habíamos hablado de Seguridad e Internet de las cosas y se pueden leer algunos casos concretos y más informes en etiqueta hogar del viejo blog.

Manejo de memoria en Gmail

Buzón

Aunque lo que necesitan los grandes proveedores está muchas veces fuera de nuestro alcance (y poco relacionado con nuestras propias necesidades) siempre vale la pena leer documentos como este Effectively Managing Memory at Gmail scale que nos habla de los problemas de gestión de memoria al usar JavaScript en Gmail. También el proceso de mejorar el navegador y el intérprete correspondiente para obtener mejores prestaciones.

Análisis de intentos de entrada a una instalación de Wordpress

Libro WordPress

Cada instalación tiene sus peculiaridades, pero siempre es interesante la recopilación de datos sobre intentos de ataques: sobre todo porque muchos son automatizados y tratan de explorar contraseñas comunes, debilidades frecuentes y esas cosas.

En Analysis of WordPress Login Attempts hay justamente eso, un análisis de 241082 intentos de acceso a una instalación de WordPress y un resumen de las claves utlizadas, sus tamaños, …

También hay un análisis temporal donde puede verse que hay dos intentos bastante ‘ruidosos’ pero el resto del tiempo parece tratarse de una actividad mantenida, contrarrestada por las medidas de seguridad habilitadas por el propietario.

Medidas anti-fraude molestas

Banco

Lo cuento a veces, cuando hay que explicar que hay que ser cuidadosos con las medidas anti-fraude: estás en una conexión que no es la tuya, tienes prisa y el Google (o Facebook, o tu banco) de turno te hace pasar por algún paso extra de verificación. Más nervioso te pones y todo va peor. O cuando por pereza vas retrasando compras por no ir a buscar la tarjeta que no la tienes a mano y se te acumulan unas cuantas: las haces todas de vez y en tu banco saltan las alarmas correspondientes y et paran las operaciones.

Justamente de esto último hablaba Paul Wallich en Don’t pay your bills all at once (recomendable el The Risks Digest.

The suspicious transactions: one small purchase from an online retailer we use often, and three $100-plus payments over the course of 30 minutes to what turned out to be the local cable company, electric company and a mobile phone provider.

Está claro que los sistemas anti-fraude tienen que mejorar, pero tenemos que ser conscientes como usuarios de su existencia y estar preparados para ser ‘frenados’ en cualquier momento.

Adjuntos MIME

Correo malicioso

Ya hablamos sobre como Enviar una imagen por correo en Python. Por eso me pareció interesante leer Adjunto MIMEtizado donde Sergio Brisa da un repaso a las consideraciones que hay que tener a la hora de abrir y analizar un mensaje de correo electrónico sospechoso.

Para ello nos da un repaso a cómo se envía un correo electrónico con adjuntos, la forma de verlo, decodificarlo…

Insertar fórmulas de libreoffice en un CSV

Calculadora

Supongamos que tenemos un montón de ficheros de texto que contienen datos que queremos procesar de una determinada manera con nuestra hoja de cálculo. El proceso de extracción de la información se puede hacer con más o menos facilidad utilizando un script sencillito (con sus grep, awk, …) y generamos algo que parece que tiene filas y columnas con datos.

Si los datos forman agrupaciones sobre las que querríamos hacer ciertos cálculos (por ejemplo, la media de un valor cada cierto número de filas) podríamos trabajar con el propio script, pero a veces necesitamos ‘masajear’ los datos para ver qué sucede.

Por eso estuve el otro día viendo cómo se podría hacer y lo comparto aquí. Primero, libreoffice permite insertar fórmulas en un CSV (comma separated values) siempre que la fórmula vaya entre comillas y al insertarla desde un fichero (importarla) no tengamos marcada la opción (‘Quoted field as text’).

Y luego insertamos la fórmula correspondiente en los lugares que nos parezca oportuno. Por ejemplo:

# Sum of the last 10 rows
sum='"=SUM(INDIRECT(ADDRESS(ROW()-10;COLUMN())&"":""&ADDRESS(ROW()-1;COLUMN())))"'
# Divide the last two columns
avg='"=INDIRECT(ADDRESS(ROW();COLUMN()-2))/INDIRECT(ADDRESS(ROW();COLUMN()-1))"'

En estas fórmulas:

  • [ROW()](https://help.libreoffice.org/Calc/Spreadsheet_Functions#ROW) es el número de la fila actual (puede llevar una referencia). Se le pueden sumar y restar valores, ROW()-10 hace referencia a la fila menos 10. COLUMN() es análogo.
  • [ADDRESS()](https://help.libreoffice.org/Calc/Spreadsheet_Functions#ADDRESS) se refiere al nombre de la celda como texto (y por eso se utiliza el & para concatenar y las comillas (dobles, para que no se interpreten como las comillas que finalizan la fórmula) para introducir texto…
  • [INDIRECT()](https://help.libreoffice.org/Calc/Spreadsheet_Functions#INDIRECT) es la referencia especificada por una cadena de texto.

Finalmente, con SUM hacemos la suma de esos valores. En las dos líneas de arriba vemos dos ejemplos (el primero podríamos usarlo para sumar los diez valores de una columna, y el segundo para hacer la división entre el número de valores -no tienen por qué ser válidos todos-).

¿Se podría hacer de otra manera? Claro, en lugar de los scripts (o con ellos, pero con algo más de trabajo) podríamos incluir las sumas y operaciones en el propio programita.

Otra alternativa sería utilizar sistemas orientados a la generación final del informe, como Documentos de Latex que incluyen código de R a los que tal vez algún día podamos dedicar algo de nuestro tiempo y paciencia.

¿Otras ideas?

Evaluación del generador de números seudo-aleatorios

Azar

Por algún motivo he estado leyendo unas cuantas cosas sobre generación de números aleatorios (la última vez en Aleatoriedad y seguridad) que no soy capaz de agrupar en menos entradas, así que vuelve a salir como tema recurrente.

En How do you know if an RNG is working? justamente hablan de ese tema(afortunadamente con un enfoque diferente): ¿podemos confiar en nuestro generador de números aleatorios? Siempre se habla de que hay que medir la entropía pero no es algo que sea fácil de realizar ni que todo el mundo esté dispuesto a hacer.

If you look at the literature on random number generators, you’ll find a lot of references to statistical randomness testing suites like Diehard or NIST’s SP 800-22. The gist of these systems is that they look a the output of an RNG and run tests to determine whether the output is, from a statistical perspective, “good enough” for government work (very literally, in the case of the NIST suite.)

Luego pasa a analizar las cosas que pueden ir mal (la propia inclusión de código para evaluar un generador podría introducir sus propios problemas, por ejemplo). ¿La conclusión?

Solving this problem, at least in software, so we can ensure that code is correct and does not contain hidden ‘easter eggs’, represents one of the more significant research challenges facing those of us who depend on secure cryptographic primitives. I do hope some enterprising graduate students will give these issues the attention they deserve.

Que sería otro aviso de: no tratéis de hacerlo solos y en casa. O algo así.

El viajante y su Tesla

Mapas

Una entrada muy chula en Traveling Salesman Problem donde se mezcla un problema clásico, el viajante de comercio (Traveling Salesman Problem) y algo de actualidad, como son los coches con batería, que hay que recargar.

El problema del viajante de comercio es un viejo conocido: dada una lista de ciudades y sus distancias encontrar el recorrido más corto que pase por todas ellas y vuelva a la de inicio TSP en Wikipedia. Es uno de los problemas conocidos como NP difíciles (o NP-duros).

La formulación de esta entrada habla de los puntos de recarga de las baterías del Tesla y ese hipotético recorrido entre ellas, con código, mapas y todo para poder jugar con él. Muy chulo.