SPECT Research

Security and Software Development


Home About us Projects Education

El tema de la aplicación "Nueva Forma de Marcar".

Este post busca aclarar la serie de versiones dadas tanto en Twitter como en los medios sobre el alcance de la aplicación "Nueva Forma de Marcar" lanzada por la Subsecretaria de Comunicaciones de Chile hace algunos días.

El día Lunes 25 de enero procedí a analizar la aplicación para ver su funcionamiento interno. Si bien es conocido su cometido, me llamo la atención una serie de estadísticas que enviaba.

function envioEstadisticas(){

    // seteamos mis totales para enviarlos
    $scope.estadisticas.contactosTotal = $scope.contadores.contactos_totales;
    $scope.estadisticas.numerosTotal = $scope.contadores.tlf_totales;
    $scope.estadisticas.contactosConvertidos = $scope.contadores.contactos;
    $scope.estadisticas.numerosConvertidos = $scope.contadores.tlf;
    if($localstorage.get("lat") != "" && $localstorage.get("lng") != ""){
        $scope.estadisticas.lat = parseFloat($localstorage.get("lat"));
        $scope.estadisticas.lng = parseFloat($localstorage.get("lng"));
    }

    // definimos la duracion en el tienmpo de las estadisticas
    $scope.estadisticas.tiempo = duracion_transformacion;

    // obtenemos el dispositivo UUID
    $scope.estadisticas.deviceUUID = $cordovaDevice.getUUID();

    var data = $scope.estadisticas;
    // preparamos mi post con los datos
    var post = new Estadisticas(data);
    console.log("envio estadisticas");
    post.$save(null, function(response){

        console.log("estadisticas enviadas");
    });
}

En resumen, las estadísticas que envía son:

  • Número de contactos totales.
  • Número de números de teléfono totales.
  • Número de contactos convertidos.
  • Número de números de teléfono convertidos.
  • Ubicación del dispositivo móvil.
  • UUID del dispositivo móvil.

Los dos últimos datos han sido los que han generado la controversia, tal como lo publiqué en un tweet el pasado Lunes.

Aclaración de las versiones

Haciendo referencia a este artículo de emol.com, podemos verificar párrafo a párrafo lo que indica.

Los Términos y Condiciones de la aplicación indican que la Subtel "retendrá para sí y está facultado para utilizar libremente la información estadística del uso de la aplicación", incluyendo "la cantidad de veces que se abre, la cantidad de contactos actualizados y las zonas geográficas donde se realizó la actualización". El mismo texto indica que la Subtel "no recopila información de la libreta de contactos del usuario".

Hay una serie de cuestionamientos sobre esto. El primero es que las estadísticas no son enviadas a la Subtel, sino a la compañía desarrolladora de la aplicación, Cursor S.A, tal como lo demuestra este fragmento de código:

var url_server = 'http://portabilidad.cursor.cl/api/';

// factory para manejar el servicio de temporada
angular.module('app.resource', ['ngResource']).factory('Estadisticas', function($resource) {
        return $resource(url_server+'estadisticas');
});

Segundo, no son enviados usando un protocolo seguro como HTTPS. Tercero, y que ha llamado bastante la atención durante la discusión, ¿para qué es necesaria la información geográfica de quién actualiza sus números?.

Las denuncias hechas en Twitter también hablaban del envío de un identificador, el "UUID", pero Cristián Ochsenius, gerente general de Cursor indica que no es un número que permita identificar al usuario o rastrearlo. "Se usa para saber que la ejecución no está repetida. Si usa dos veces la aplicación, ¿cómo se sabe si fueron dos usos o una persona? Es para limpiar la información estadística".

Ochsenius agrega que la información sobre la cantidad de uso es para que la Subtel evalúe la efectividad de la campaña de información y promoción de la aplicación, indicando que el identificador enviado al servidor se relaciona a la instalación de la aplicación y no al dispositivo en sí. De hecho, dice, si la aplicación es desinstalada y descargada de nuevo, se genera otro identificador. Los datos de uso serán entregados a la Subtel a través de informes.

Primero, lo que comenta Cristián sobre el UUID es cierto para iOS (el sistema operativo usado por los iPhone) pero no para los usuarios de Android. Tal como señalo Alejandro Vera en este post, el UUID en Android será el mismo a pesar que la aplicación sea desinstalada.

Segundo es la pregunta:

¿cómo se sabe si fueron dos usos o una persona? Es para limpiar la información estadística.

Por lo que entiendo, se quiere saber si fue una persona ejecutando la aplicación dos veces o dos personas ejecutandola una vez cada uno. Desde el punto de vista estadístico, los datos enviados sin poder ser relacionados con un usuario son inútiles ya que como resultado se extraería información inexacta. El gran punto aquí es cómo se representa el usuario sin que se relacione con un identificador como el UUID. Se podría generar un identificador aleatorio al instalar la aplicación y que puede ser utilizado cuando corresponda.

Lo que es claro es que el envío de la ubicación geográfica está demás y solo da lugar a dudas sobre el uso de esos datos.

Conclusiones

Más allá de la serie de tweets que ha emitido la Subtel y el subsecretario, es necesario ser objetivo sobre los errores cometidos y las formas de resolverlo a la brevedad posible.

- Update

Zerial también escribió un artículo analizando la aplicación.