Ascon: criptografía ligera para dispositivos limitados

Raspberry Pi Pico

Uno de los problemas del internet de las cosas y sus dispositivos mínimos es la criptografía; al fin y al cabo, los algoritmos criptográficos suelen utilizar operaciones matemáticas costosas, que no siempre son posibles en estos aparatitos.

Tratando de aligerar el problema conocíamos la noticia de que el NIST Selects ‘Lightweight Cryptography’ Algorithms to Protect Small Devices.

Se trataría de proteger la información en estos dispositivos de capacidad escasa con algún mecanismo de lo que llaman criptografía ligera.

The chosen algorithms are designed to protect information created and transmitted by the Internet of Things (IoT), including its myriad tiny sensors and actuators. They are also designed for other miniature technologies such as implanted medical devices, stress detectors inside roads and bridges, and keyless entry fobs for vehicles. Devices like these need “lightweight cryptography” — protection that uses the limited amount of electronic resources they possess.

Los parámetros considerados eran la seguridad, claro, pero también prestaciones y flexibilidad en términos de velocidad, tamaño y utilización de la energía.

“We considered a number of criteria to be important,” McKay said. “The ability to provide security was paramount, but we also had to consider factors such as a candidate algorithm’s performance and flexibility in terms of speed, size and energy use.

El anuncio está en Lightweight Cryptography Standardization Process: NIST Selects Ascon y se trata de la estandarización de la familia de algoritmos criptográficos denominada Ascon desarrollada en 2014 por un equipo de criptógrafos de Graz University of Technology, Infineon Technologies, Lamarr Security Research y Radboud University.

Acceso a APIs, credenciales y uso desde clientes

Vías, valla y cartelería

Las APIs permiten el acceso a nuestros programas (y, al final, a los datos) de manera alternativa a la tradicional de las interfaces web o mediante programas. Últimamente veo bastantes lecturas relacionadas con la seguridad. En parte, probablemente, porque al tratarse de accesos más controlados (o aparentemente más controlados) no siempre están tan bien aseguradas como deberían.

En Quick way to Secure API Keys for the Frontend nos hablan de un problema interesante, que tiene que ver con el acceso a estas APIs a través de diversos frontales (frontends) y la gestión de las contraseñas (que pueden estar incluso en el código).

We all know that API keys and connections can not be secured on the client side of an application. Hard coding API keys on the frontend is a quick and surefire way to have your API connection shutdown, API keys stolen, and have your API provider’s bill skyrocket.

Hay formas de evitar exponer secretos de esta forma y las tres que proponen son:

  • Funciones serverless que interactúan con algún servicio que gestiona las contraseñas (por ejemplo AWS Lambda).
  • Funciones de Netlify. En este caso es un servicio, que interactuaría con el verdadero almacén (nuevamente AWS Lambda).
  • Otro servicio, KOR Connect que permite gestionar los accesos sin que las credenciales aparezcan el código de nuestro frontal.

Igual es demasiado técnico (y orientado a productos) pero creo que nos puede ayudar a pensar en las nuevas necesidades que provoca hacer las cosas de una forma determinada.

Conozco tu PIN: sobre altavoces, acelerómetros y formas creativas de espiar

Teléfono

Otra forma curiosa de espionaje: EarSpy: Spying on Phone Calls via Ear Speaker Vibrations Captured by Accelerometer.

Investigadores de Texas A&M University, Temple University, New Jersey Institute of Technology, Rutgers University, y la University of Dayton han publiado un artículo ([PDF] EarSpy: Spying Caller Speech and Identity through Tiny Vibrations of Smartphone Ear Speakers) donde proponen observar el altavoz que se pone en el oído y el acelerómetro del terminal para capturar las vibraciones y espiarnos.

EarSpy relies on the phone’s ear speaker — the speaker at the top of the device that is used when the phone is held to the ear — and the device’s built-in accelerometer for capturing the tiny vibrations generated by the speaker.

Ya había propuestas basadas en los altavoces del teléfono, pero la novedad aquí parece ser que no es necesario recurrir a elementos externos para realizar el espionaje. Sin olvidar que cada vez es más complicado en Android obtener los permisos necesarios para realizar otros ataques, para otros ataques más obvios (grabar la conversación del teléfono directamente).

Porque parece que obtener los datos de los sensores de movimiento del teléfono no necesita ningún permiso especial.

On the other hand, accessing raw data from the motion sensors in a smartphone does not require any special permissions. Android developers have started placing some restrictions on sensor data collection, but the EarSpy attack is still possible, the researchers said.

Sí que haría falta, claro, algún tipo de programa (malware) que hiciese este trabajo.

Todo se basa en que estos altavoces para escuchar las llamadas son cada vez mejores (incluso los hay que son estéreo).

Entre los resultados, se puede distinguir el género con un 98% de precisión, y la identidad con hasta un 92%.

In the gender recognition test, whose goal is to determine whether the target is male or female, the EarSpy attack had a 98% accuracy. The accuracy was nearly as high, at 92%, for detecting the speaker’s identity.

En cuanto a la posibilidad de escuchar la conversación la precisión se reduce a un 52% para reconocer dígitos en una conversación.

When it comes to actual speech, the accuracy was up to 56% for capturing digits spoken in a phone call.

Puede parecer poco, pero multiplica por 5 la prueba de valores de modo aleatorio.

Curioso.

Ataque contra el reciclado de credenciales en PayPal

Tornillos

Si hay un invariante en ciberseguridad es que da igual que seas grande o pequeño puedes tener incidentes de seguridad. En PayPal accounts breached in large-scale credential stuffing attack nos hablan de un ataque para conseguir credenciales de usuarios de PayPal. El método utilizado es viejo, pero eficaz, si uno tiene tiempo y ganas: ir probando usuarios y contraseñas obtenidos de diversos ataques anteriores, donde ya se han divulgado los datos.

Credential stuffing are attacks where hackers attempt to access an account by trying out username and password pairs sourced from data leaks on various websites.

La cuestión es que cuando tienes un número de usuarios importante es bastante seguro que habrá algunos de ellos que reciclen sus credenciales (esto es, que usen las mismas en varios sitios).

El ataque se produjo en diciembre del 2022 y se vieron afectados casi 35000 usuarios.

According to the data breach reporting from PayPal, 34,942 of its users have been impacted by the incident. During the two days, hackers had access to account holders’ full names, dates of birth, postal addresses, social security numbers, and individual tax identification numbers.

Parece raro que PayPal no se diera cuenta antes del ataque, pero a veces las cosas son así.

Como medida de prevención, en este caso, está clara: utilizar doble factor de autentificación. Ya sabemos que aún así habría gente afectada, pero seguramente muchos menos.

Moreover, PayPal advises users to activate two-factor authentication (2FA) protection from the ‘Account Settings’ menu, which can prevent an unauthorized party from accessing an account, even if they have a valid username and password.

Y, por supuesto, no usar la misma contraseña en varios sitios.

Métodos alternativos de detección de bots

Robot

A veces las ideas más simples son las más útiles. En Pwned or Bot Troy Hunt nos contaba omo su base de datos de cuentas robadas puede servir para detectar usuarios leg´timos: si tu correo nunca ha aparecido en un volvado de datos de algún problema de seguridad de una empresa, es bastante probable que no sea legítimo, o que haya sido creado recientemente para tratar de engañar a alguien.

If an email address hasn’t been seen in a data breach before, it may be a newly created one especially for the purpose of gaming your system.

Está claro que el argumento tiene fallos: puedes tener tu correo muy bien protegido, o ser un usuario nuevo que lo ha creado recientemente, … No estar en uno de esos listados es un indicio, pero no garantiza nada.

Absence of an email address in HIBP is not evidence of possible fraud, that’s merely one possible explanation.

Por el contrario, si un correo está en alguna de las divulgaciones de datos robdos en el pasado, podemos decir con un nivel de confianza alto, que es un correo legítimo.

However, if an email address has been seen in a data breach before, we can say with a high degree of confidence that it did indeed exist at the time of that breach.

Al final, claro, no se trata de un indicador perfecto, sino un elemento más a la hora de evaluar la probabilidad de que estemos ante una dirección de correo más o menos falsa, que trata de abusar de nuestro servicio.

Think of breach history not as a binary proposition indicating the legitimacy of an email address, rather as one of assessing risk and considering “pwned or bot” as one of many factors

Curioso.