Categorías
Artículos & noticias

¿confidenciales son sus llamadas?

No hay que asustarse.

No se trata de un caso de métodos secretos de espionaje telefónico (o espionaje, como se suele llamar) de un Estado-nación.

No se trata de que los ciberdelincuentes intenten deliberadamente escuchar las llamadas de su empresa para desviar pagos masivos de facturas o implantar un ransomware con demandas de extorsión multimillonarias.

Esa era la buena noticia.

El fallo en este caso, descubierto por el investigador indio de ciberseguridad Anand Prakash, era sólo un error de mala programación.

La mala noticia es que los efectos secundarios del fallo podrían ser explotados por cualquiera, en cualquier lugar y en cualquier momento.

¿Quién necesita autenticación?

El tipo de vulnerabilidad que encontró Prakash suele recibir el eufónico nombre de IDOR, abreviatura de Insecure Direct Object Reference.

Una vulnerabilidad IDOR suele consistir en un sitio web o servicio que facilita a alguien que ejecuta la aplicación la recuperación de datos a los que se supone que debe acceder….

…para averiguar cómo acceder a los datos de otras personas en el futuro sin iniciar sesión o autenticarse en absoluto.

Normalmente, encontrarás que una aplicación o servicio utiliza una URL o un formulario web que contiene tu propio ID de usuario, número de serie u otro identificador no muy secreto, sin que haya otra forma de estar seguro de que eres tú. Por ejemplo, puede intentar crear una solicitud utilizando el ID de otra persona, el siguiente número de la secuencia o alguna otra suposición probable para una referencia válida, y descubrir que el sistema recupera los datos directamente para usted, aunque no sea su registro y no deba verlo.

En teoría, muchos fallos IDOR explotables pueden encontrarse de forma puramente analítica mediante ingeniería inversa de la aplicación sospechosa sin necesidad de crear una cuenta falsa y ejecutar la propia aplicación. En la práctica, a menudo es más fácil y rápido hacer algunas inversiones básicas para darte una idea de lo que debes buscar y luego ejecutar la aplicación sospechosa mientras la observas en acción. No es necesario pasar días analizando estáticamente una aplicación en un descompilador cuando puedes deducir los fallos directamente de su propio comportamiento: sólo tienes que dar a la aplicación la oportunidad de cocinar su propia gallina de los huevos de oro de la ciberseguridad mientras tomas notas.

En este caso, la aplicación se llamaba «Acr call recorder» – para el iPhone, como muchas aplicaciones de la App Store, está (o estaba cuando miramos) plagada de cientos, incluso miles de elogiosos comentarios de 5 estrellas.

Probablemente puedes adivinar a dónde va esto, muchas de estas reseñas de 5 estrellas curiosamente recomiendan una aplicación completamente diferente en su texto, o elogian la aplicación con giros extraños que presentan razones improbables e incluso inquietantes.

Por ejemplo, alguien llamado Earnest asegura que «definitivamente es un desperdicio si no has probado esta aplicación», mientras que Christopher.1966 dice que ha estado «usando esta cosita casi desde que me subí al tren», y Brenda expresa de manera un tanto escalofriante, aunque redundante, su alegría por poder ahora «grabar lo que mi novia y yo dijimos». (Un grabador de llamadas que no pudiera grabarlas sería simplemente un nombre equivocado).

Aunque resulta que Brenda se refiere a una aplicación completamente diferente que incluye una función de cambio de voz, uno se pregunta si la amiga de Brenda se dio cuenta de con quién estaba hablando cuando la grabaron. La calificación de 5 estrellas de Brenda sigue contando para la atractiva calificación media de 4,2/5 de la aplicación de grabación de llamadas mencionada anteriormente.

Sin embargo, hay muchas reseñas de 1 estrella que te advierten de que se trata de una de esas «aplicaciones de prueba gratuitas» que te cobran automáticamente si no las cancelas en tres días, un tipo de aplicación gratuita que Elizafish describió muy sucintamente con su reseña «GRATIS ????? Ridículo».

Pero quizás la reseña más acertada, al menos hasta que la aplicación se actualizó después de que el desarrollador recibiera el informe de errores de Anand Prakash, fue la de Leanne, de 5 estrellas, que decía: «No sólo puedo gestionar las grabaciones, sino que puedo compartirlas fácilmente cuando las necesito. Me resulta muy cómodo».

Sin embargo, lo que Leanne omitió fue que la función de almacenamiento en la nube de la aplicación es útil no sólo para ella, sino para todos los demás en el mundo, incluidos los que no tienen la aplicación o un iPhone.

Compartir sus llamadas con otras personas era aparentemente mucho más fácil de lo que ella pensaba.

¿Quién necesita autenticación?

Prakash descompiló la aplicación para buscar las direcciones URL a las que podría conectarse, supervisó la aplicación mientras se ejecutaba y descubrió que una de sus solicitudes de inicio de llamada era un bloque de datos JSON con el siguiente aspecto:

POST /fetch-sinch-records.php HTTP/1.1

Anfitrión: [REDACTED]

Content-Type: application/json

Conexión: cerrar

[. . .más cabeceras, sin cookies o tokens únicos. .]

{

«UserID»: «xxxxxx»,

«AppID»: «xxx»

}

Dado que no hay forma de vincular esta solicitud a un usuario específico que ya se haya autenticado, y el servidor no tiene forma de decidir si el remitente de la solicitud tiene siquiera derecho a pedir datos pertenecientes al usuario designado por UserID……, alguien puede insertar el UserID de cualquier usuario en una solicitud falsa, y por lo tanto los datos de cualquiera no están a salvo de nadie. Este tipo de fallo recibe el nombre de IDOR porque permite a los atacantes designar de forma insegura y directa a sus víctimas simplemente insertando un nuevo UserID directamente en la petición.

¿Qué tengo que hacer?

Este es nuestro consejo.

Como usuario, no te dejes influir por las valoraciones de la App Store o de Google Play.

Te sugerimos que ignores las reseñas y las calificaciones con estrellas en las tiendas de aplicaciones. No tienes ni idea de quién ha dado esas valoraciones o ha dejado las reseñas, o si incluso ha utilizado la aplicación.

Las reseñas falsas y las calificaciones de la tienda de aplicaciones que parecen oficiales se pueden comprar en línea a un precio que es casi literalmente de diez centavos. Busque reseñas en foros de usuarios independientes o debates en grupos de ciberseguridad en línea.

Considere la posibilidad de utilizar un software de ciberseguridad móvil de terceros para complementar la protección integrada del dispositivo que está utilizando.

Tanto Apple como Google cuentan con sus propias tiendas online que contienen aplicaciones examinadas y aprobadas. Sin embargo, estos jardines amurallados están lejos de ser perfectos. Sencillamente, hay demasiados desarrolladores y demasiadas aplicaciones como para que sean revisadas a fondo por un experto.

Como programador, siga las propias recomendaciones del sistema operativo para una codificación segura.

Las directrices de Apple, Google y otros sobre la codificación segura en sus plataformas no son suficientes por sí solas.

Sin embargo, si hay consejos de los proveedores que ha ignorado o que ni siquiera conoce, es probable que su ciberseguridad no esté a la altura. Por lo tanto, trate las propias directrices del proveedor como «necesarias pero no suficientes», Apple, por ejemplo, tiene una amplia gama de Instrucciones de seguridad para los programadores, cubren la autenticación (¿es la persona correcta la que hace lo correcto?), la confidencialidad (¿están los datos a salvo del espionaje cuando se almacenan o se mueven por la red?) y la validez (¿es el código correcto el que hace lo correcto?).

Nunca deje de aprender y leer sobre ciberseguridad.

Una de las razones por las que existimos es para ayudarle a entender y combatir la ciberdelincuencia y evitar el tipo de errores que facilitan la vida a los delincuentes.

(No vemos esto como una calle de sentido único: leemos todos los comentarios y consejos que ustedes, nuestros lectores, dejan aquí, y nos aseguramos de que nuestros desarrolladores y gestores de productos también les escuchen).

Si te estás iniciando en la nube o en el desarrollo web y quieres saber qué debes aprender primero, el top ten de OWASP es probablemente un buen lugar para empezar.

Recuerde que la ciberseguridad es un viaje, no un destino.