Ir al contenido principal

Apps de Android que acceden al IMEI


Que el sistema operativo Android, posee gran cuota del mercado de la telefonía móvil, además de encontrarse en otros muchos dispositivos, no es nada que no sepamos ya.

Que precisamente esa es la razón por la que la plataforma Android cuenta con gran cantidad de aplicaciones en su haber y que por eso, existen multitud de virus y demás especímenes (adware, spyware, crapware, etc), tampoco es ninguna novedad.

Y que este es el motivo por el que debemos extremar las precauciones a la hora de instalar una App en nuestro dispositivo (independientemente del SO), tampoco debiera ser nada nuevo.

Pero, ¿Qué buscan todas estas aplicaciones "malas"?

Pues el abanico de opciones es amplio, pero la inmensa mayoría van detrás de nuestros DATOS y buscan asaltar nuestra privacidad, los fines también son varios.

En cualquier caso, lo que pretendo comentar hoy, es algo relacionado con el IMEI de nuestros dispositivos. Si, ese número cuya finalidad es identificarlo de manera única e inequívoca a nivel mundial. Algo así como el DNI o Pasaporte para nosotros, o el chip de nuestras mascotas, pero en el ámbito tecnológico.

(Breve paréntesis): ¿Por qué ese afán de identificarlo todo de manera única y a nivel mundial? Personas, Mascotas, Dispositivos varios, ... respuestas hay muchas, buenas y malas también.

La finalidad del IMEI (International Mobile Equipment Identity), además de ser la de identificar a cada dispositivo que se conecta a la red de telefonía móvil, y permitirlo o no su acceso, va un paso más allá y es que, es el IMEI el que sirve para asociar un dispositivo móvil con una persona o cuando menos con la persona que a tramitado su alta (punto débil del IMEI).

Esto es así al menos en teoría, porque ¿qué pasa si modificamos el IMEI de nuestro teléfono móvil? Pues sencillamente, ya no tendrían manera de "asociar" nuestro teléfono (IMEI) con nuestra identidad personal (DNI, Pasaporte, etc.). Cierto es, que podrían re-asocinarnos por otros medios -ya comentaré algo en otro momento-, pero no por el IMEI.

Otro tema sería saber que IMEI habría que utilizar como sustituto, porque esto podría tener graves consecuencias, según quien fuera su propietario real, por ejemplo. Y ni que decir tiene, que ese nuevo IMEI tendría que estar dado de alta con algún operador.

¿Para qué podría querer alguien modificar el IMEI de su teléfono? Allá cada cual, a mí personalmente se me ocurren muchos motivos, que obviamente me reservo. Personalmente, y sobre todo por cuestiones de seguridad nacional, preferiría que el IMEI no se pudiera modificar bajo ningún concepto, o al menos por cualquier usuario. Es más, creo que se debieran de implementar sistemas de asociación (IMEI-Identidad personal) adicionales y se me ocurren unos cuantos.

Bueno, pues volviendo al tema de Android y la relación a la que quiero llegar, en la tienda de aplicaciones (Play-store o la que utilices), no es difícil encontrar aquellas que hacen uso del API que da acceso al IMEI de nuestro dispositivo. En concreto, hay que tener en cuenta la API "android.telephony.TelephonyManager".

TelephonyManager es una clase que nos da acceso a información relacionada con los servicios del teléfono y su estado. Nos facilita datos propios del servicio de suscripción como pueden ser el número de teléfono, el IMEI, el número de serie de la tarjeta SIM, nombre del operador, país, etc., eso sí, en "modo lectura" ;):

                TelephonyManager telephonymanager;

                ...

                telephonymanager.getDeviceId();

 

Así que, si una aplicación hace uso del IMEI, en mi opinión ya es para sospechar, pero si además hace uso del mismo, sin tan siquiera informar al usuario, además ya está saltándose las reglas y muy posiblemente incurriendo en un delito contra la privacidad. Además, las normas de Google al respecto son claras, si vas a hacer uso del IMEI del dispositivo, hay que avisar al usuario.

Y además, hay incluir en el manifiesto de la aplicación el siguiente permiso:

                uses-permission android:name="android.permission.READ_PHONE_STATE"

Por último, deciros que es mejor que vigiléis vuestras aplicaciones y a vuestros teléfonos, antes de que ellos os vigilen a vosotros, aunque esto no es tarea fácil.

Comentarios

Entradas populares de este blog

Como usar el TL431 (muy facil)

En este artículo, no vamos a entrar en el funcionamiento interno de este IC, ni tampoco en sus características técnicas, puesto que para esos fines ya existe su hoja de datos correspondiente. Más bien, lo que pretendo aquí es dejar constancia de como podemos utilizar este IC desde un punto de vista práctico, útil y sobre todo de una manera sencilla, con el objetivo de que cualquiera pueda utilizarlo. Si has llegado hasta aquí, probablemente ya sabes que por internet hay mucha información sobre este IC, pero también bastante confusa o excesivamente técnica, sin mostrar tan siquiera un ejemplo de funcionamiento, o como calcular sus pasivos. Pues se acabó, a partir de hoy y después de leer este post, ya te quedará claro como utilizar el TL431 para obtener una tensión de referencia estable y precisa. Vamos al grano y que mejor que empezar aclarando que el TL431 NO ES EXACTAMENTE UN ZENER como se empeñan en decir en muchos sitios, es verdad que se le conoce como el Zener Progra

WinRT with C++ Standard vs C++/CX

OFFTOPIC: Nota: Hoy he decidido escribir esta publicación del blog en inglés. Note: Today I decided to write this blog post in English. In a new application than I am developing for a company, I had to decide if to make use of C++/CX (C++ with Component Extension) or make all the main stuff in C++ standard and ABI/COM. All of you than have had to work with COM (Component Object Model) and fighting with the interfaces, reference count, etc. known the tricky and heavy that it can become. As an example of the easy approach using C++/CX, I am creating a new Uri object, like this: auto uriEasyWay = ref new Windows::Foundation:: Uri ( http://www.manuelvillasur.com ); assert (wcscmp(uriEasyWay->AbsoluteUri->Data(), L"http://www.manuelvillasur.com/" ) == 0); Now, I going to show you the more difficult approach using C++ Standard and  ABI/COM interfaces: HSTRING_HEADER header = {}; HSTRING string = nullptr ; HRESULT hr = WindowsCreateStringRefer

Árbol binario de expresión y Notación Posfija (II)

En una publicación anterior, hablaba sobre que es la notación posfija, para que puede ser útil y mostraba un pequeño ejemplo con una expresión aritmética simple: (9 - (5 + 2)) * 3 Pues bien, hoy voy a mostraros como podemos crear el árbol binario correspondiente para analizar o evaluar esta expresión, haciendo uso del recorrido en postorden. Lo primero que debemos hacer es crear el árbol, respetando las siguientes reglas: ⦁ Los nodos con hijos (padres) representarán los operadores de la expresión. ⦁ Las hojas (terminales sin hijos) representarán los operandos. ⦁ Los paréntesis generan sub-árboles. A continuación podemos ver cómo queda el árbol para la expresión del ejemplo (9 - (5 + 2)) * 3: Si queremos obtener la notación postfija a partir de este árbol de expresión, debemos recorrerlo en postorden (nodo izquierdo – nodo derecho – nodo central), obteniendo la expresión: 952+-3x Así, si quisiéramos evaluar la expresión, podemos hacer uso de un algoritmo