Los consejos, a veces, son como las opiniones

Cantidad y no calidad Este es otro de los temas recurrentes en este sitio es los errores que se transmiten a modo de ejemplos, ayudas y otros mecanismos que los programadores utilizan para resolver sus dudas. Hace algún tiempo lo comentamos en Seguir la corriente resolviendo problemas y la seguridad y el tema volvió a principios de este año con una nueva investigación. Nos lo contaban en Popular coding advice doesn’t necessarily equal secure coding advice y hablan de una investigación más reciente:

According to more recent research by a group of researchers from Virginia Tech, TU Munich and the University of Texas at San Antonio, the answer is “no.”

cuando se preguntan si estos foros ayudan a diferenciar elecciones seguras frente a las inseguras.

El estudio lo realizarn en el sitio Stack Overflow buscando contenido relacionado con la seguridad, en particular seguridad en Java.

The researchers conducted a study on security-related Stack Overflow posts and contrasted secure and insecure advice with the community-given content evaluation. To ensure a fair comparison between secure and insecure suggestions, they focused on the discussion threads related to Java security.

Stack Overflow es un sitio muy conocido entre los programadores e informáticos en general y, además, están orgullosos de hacer un seguimiento de las respuestas para evitar repeticiones, imprecisiones, y otros defectos de sitios donde cualquiera puede responder. Sin embargo, no parecen muy eficaces aclarando temas con la seguridad en mente:

“Compared with secure suggestions, insecure ones had higher view counts (36,508 vs. 18,713), received a higher score (14 vs. 5), and had significantly more duplicates (3.8 vs. 3.0) on average. 34% of the posts provided by highly reputable so-called trusted users were insecure.”

Esto es, los mecanismos que tiene el sitio para mejorar la seguridad no funcionan bien a la hora de identificar respuestas confiables.

Also, its reputation mechanism fails to point out trustworthy users with respect to security questions.

Muy interesante.

Computación biológica y el problema del viajante de comercio

De viaje De vez en cuando nos salimos un poco más del tema y traemos alguna curiosidad. En este caso tiene que ver con amebas y problemas difíciles, de la mano de An Amoeba-Based Computer Calculated Approximate Solutions to a Very Hard Math Problem.

El problema difícil es el viejo conocido del viajante de comercio (Travelling Salesman problem TSP) y podemos hablar de computación biológica (y no la más habitual, que es la bioinspirada). No se si vale la pena recordar que el problema consiste en determinar un recorrido óptimo para visitar una serie de ciudades volviendo a la de origen y pasando una vez por cada una. A pesar de lo sencillo que es describirlo, es un problema que es costoso de resolver de forma exacta cuando el número de ciudades crece.

Por lo visto las amebas son capaces de generar soluciones aproximadas al problema (recordamos aquí que cuando los problemas son difíciles -desde el punto de vista del coste, aclaro- nos conformamos con tener soluciones aproximadas suficientemente buenas).

A team of Japanese researchers from Keio University in Tokyo have demonstrated that an amoeba is capable of generating approximate solutions to a remarkably difficult math problem known as the “traveling salesman problem.”

Por lo visto, lo resuelven hasta 8 ciudades con una calidad de la solución bastante buena, en un tiempo que crece de manera lineal:

Yet as these Japanese researchers demonstrated, a certain type of amoeba can be used to calculate nearly optimal solutions to the traveling salesman problem for up to eight cities. Even more remarkably, the amount of time it takes the amoeba to reach these nearly optimal solutions grows linearly, even though the number of possible solutions increases exponentially.

Por lo visto, este tipo de amebas son capaces de expandir su cuerpo en varias direcciones en busca de alimento, lo que las hace particularmente interesantes:

The reason this amoeba is considered especially useful in biological computing is because it can extend various regions of its body to find the most efficient way to a food source and hates light.

¿Cuándo podremos usar esto? De momento son solo experimentos de laboratorio que podrían ser la base para construir computadores biológicos de bajo consumo energético. Esto es, de momento, no.

For now, however, the Japanese researchers’ experiment remains in the lab, but it provides the foundation for low-energy biological computers that harness the natural mechanisms of amoebas and other microorganisms to compute.

Europa se despierta: apoyando la seguridad en el software libre

Dinero Que Europa tiene un papel puramente seguidista en tecnología no es algo que vayamos a descubrir aquí y ahora. De los temas regulatorios ni hablamos. Creo que los factores que contribuyen a ello son muchos y merecerían un análisis que alguien debería hacer.

Los botines por descubrimiento de fallos (Bug Bounties) es algo que existe desde hace tiempo pero que en los últimos años ha cobrado mucha importancia: una empresa, organización o lo que sea paga a los que descubren fallos para agradecerles el hallazgo y también para incentivar que se lo comuniquen a ellos, en lugar de a los ‘malos’.

La revisión de software libre por diversos organismos y empresas también tiene una cierta tradición (podemos recordar el caso de Coverity Scan OOS. La empresa facilita los informes a los desarrolladores para que mejoren el software que tanta gente usa.

Finalmente, vale la pena recordar, que uno de los fallos de seguridad más importantes es la utilización de componentes de terceros (ver, por ejemplo Component Analysis).

Así que, con todo este preámbulo, me llevé un alegrón al conocer que In January, the EU starts running Bug Bounties on Free and Open Source Software . Esto es, Europa financia la búsquead y localización de fallos en programas de software libre.

Cuentan como se realizó un inventario del software libre que utilizan e incluso auditaron Apache y KeePass EU aims to increase the security of password manager and web server software: KeePass and Apache chosen for open source audits.

Ahora han decidido lanzar un serie de recompensas sobre los proyectos que han considerado más importante: incluyen Filezilla, Apache Kafka, Notepad++, Putty y otros… La lista.

el proyecto tiene su propia página web FOSSA y nos hace pensar que, a veces, se hacen algunas cosas bien.

Algunas intrucciones útiles cuando estamos usando una terminal

Terminal Me reconozco un gran usuario de la línea de instrucciones en una terminal: cuando se maneja medianamente la productividad puede ser excelente. Por eso me gustó leer Some of My Favorite Shell Aliases From Over the Years donde Daniel Miessler nos da algunas recomendaciones. Los expresa en forma de alias, para tener que teclear menos.

Por ejemplo, para buscar:

$ alias f="find . -name"

O algo que pregunta muchas veces la gente nueva, ¿cómo se mi IP?:

$ alias gip="curl ipinfo.io/ip && curl ipinfo.io/org"

Un generador de contraseñas:

$ alias np="openssl rand -base64 24"

Y algunos más. Interesante.