Monday, October 29, 2018

Meddling Smartphone Apps

Read this article in Spanish / Lea en Español aqui.

Some smartphone apps can be unexpectedly meddling by lurking in our private information. A priori our thoughts are “I don’t care; I have anything to hide”, however, there is a lot in stake. Let’s take a tour on what is in stake, why some mobile apps are lurking on your stuff, and how this information represents a liability for you. Lastly, let’s dive into what you can do to stay safe with minimal effort.

Overall, I’ll use Android apps as examples, but the same principles apply to iOS apps.

What is in stake?
Apps sometimes are really greedy on the permissions they request.

Some video games require access to your contacts and location, otherwise, they won’t work. Why? We want to just play the game. Only some few times location access makes sense (for instance when playing Pokemon Go).

Some other apps ask to run at startup and to prevent phone from sleeping. An example of this is NerdWallet. This combo entitles them to run in the background as long as they want, anytime. What are they doing in the background? Why do they need that? They don't explain why and there is no reasonable explanation.

United Airlines asks a handful of privileges: monitor your calls, access bluetooth, access your storage, use NFC, use your location and prevent device from sleeping. But United doesn't explain why they need access to Bluetooth neither NFC. Also, they ask for your location so they are entitled to track you all the time for the small benefit of getting an airport map handy -- not really worth the risk on my opinion. They also ask to make phone calls directly from their app, but there is no need for such a requirement. The United app can trigger a phone call from the phone app without asking for this privilege.

Another strong permission that I've seen apps request is "Device & app history". This allows them to read sensitive data, like your browsing history and what apps you use. With this, developers are getting to know you a lot.  A web browser or an anti-virus will certainly require "device & app and history”. However, those permissions should not be required by a game or an app to check your credit score. NerdWallet used to request this permission and I filed a claim about this. Fortunately, they fixed it some few months ago.

Sometimes is not about what they know, but why they need that and what are they going to do with your information. Are they going to store it safely? Will they sell it to third parties? Will they use it to influence an electoral campaign?

Personally, I would never install an app that require permissions without a clear need or explanation.

Why they lurk?
There are three main reasons why app developers want your data.

Reason 1: they want to offer a better service
- App developers use the information they collect from you to:
Learn how you use the app so they can improve the sticky points. This way they can design a more intuitive UI.
- Discover if the app crashes, if it runs slow, and if it uses too much resources. This way the engineering team can solve issues.
This is great! Because by collecting data developers can figure if something is going wrong, or if their app loads slow or consumes too much battery.

Reason 2: they want to make extra money
- Getting to know you better allows the company to offer a better service. For example, Target might offer you discounted products on things you usually buy. Or Seamless might pop a notification that your fav restaurant is having a happy hour.
- Knowing the market and trends allow airlines to work better on supply and demand (I’ve a draft blog post coming up soon about this topic).

This is good (mostly the first point). I love when Facebook shows me relevant events in my area! I don't want to see lame ads, so by allowing them to know me better, I'm getting something back.

Reason 3: they sell your data to 3rd parties
- It’s no secret that information is power. There is a big market for selling data and small companies can make a lot of cash by selling users information. And this is not really cool for obvious reasons.

There is more
But the story is not simple. Even if app developers have good intentions, they may screw up on how your data is stored and secured. This is the case for lots of startups that don’t take the required steps to secure users’ data. Maybe they are not evil, maybe they just want to make a great impact in the world and thus developed a quick solution for a real world problem. But things can go wrong. They can get hacked and your information get leaked, like your name, SSN, credit cards and so on.

On the other hand, I trust big companies with my data. For example, I’m a power user of Facebook and I know they use my data to make business. However, I am confident that Facebook will protect my sensitive data so it doesn’t get exposed in the web. I am also confident that Facebook won't sell my data for cash. I mean, they already do a lot of money with ads targeting thus there is no clear need for them to sell users’ private information.

This doesn’t apply to small companies, especially the ones that don’t charge for a service. Apps that you can use for free make money mainly by displaying ads, and also some of them make extra cash by selling data to 3rd parties.

Please, keep an eye on the Chrome Extension apps that you use to find discounts online. The extension from Honey asks to read all the information that is visible in every page you visit. This includes your emails, your posts, even your pictures, bank statements, investments, and credit card statements! I'm not stating that they *are* making money with this, but suspiciously they offer this free service of discounts and they have all this privileges at hand.

What can you do about it?
In no particular order, here I present some paths you can take to stay safe. Make sure to further research and understand the risks you are putting yourself into.

Neglect to use the app (or their website)
Story time: recently I had a bad experience with an airline. I got into a 7 hour delay because of technical difficulties. In order to issue a claim I researched on the web and came across with this website that helps you file a claim. After filling a long form with the information of my flight, I was asked to log in with my email credentials and the website was requesting mandatory permission to read all my emails. Seriously? Read all my emails in exchange of helping me file an airline claim? No way. I’d not compromise my privacy to get that sort of assessment. My email contains a lot of information about the things I buy, my habits and health. Sometimes I even chat with people via email. This is a no go.

But there is more! I was about to close the page but then I realize I could use any email address. I authenticate with a burner account that I have (an email account that I only use to sign up on sketchy websites), and got the response of the assessment: they were unable to help me :/
The fact that they didn't said this beforehand tells me a lot about their intentions: nothing good.

Other suspicious situation I found myself into was when Banana Chiquita was running a contest to win a fancy pencil case in 2017. In order to participate you had to fill a form that asked for name, address, phone number and email, among other details. This was inconceivable. A lot of personal information to get a raffle for such a small prize. This was a no go, I didn't complete the form.
Additionally, usually this raffles offer really few prizes and the chance of winning is really low (say, 10 prizes for 1M participants).

Find an alternative
Several times you can search in the Play Store / App Store for other apps that offer a similar service but won’t be needy with what they ask from you. It’s just a matter of searching and finding a good alternative.

This happened to me recently when I was searching for a file organizer app. Many of the top listed in the Play Store were requiring location permission and to run at startup. After doing some research I found one that didn't ask for those permissions.

Use their website instead
Using the web browser and visiting a webpage is safer than installing an app that will always run in the background. For example, I always use NerdWallet via a browser instead of having their app installed on my phone.

Use a different user (Android only)
Android phones allow you to have multiple users in the device, same way you can have several accounts on a computer. I have a second user in which I'm signed in with my burner Gmail account.

One of the uses I give the second user is to install apps that I need but that are bad boys. For example, in that user I have iPass installed. iPass is great, I love that you can get online for free in any airport (as long as you have a membership with them). What I dislike about them is that the app requires location access to work. This is a red flag, no need to know my location. Additionally, through a acquaintance that works in their sales department I came to know they are looking to sell users’ data to third parties. To add more to this weird situation, in their iOS app they suggest you grant them access to your health data. Really suspicious.

By having the iPass app in a different users I make sure the app runs in its own rig without getting access to my main Gmail account, and because I rarely use my phone with that Android user, I limit the run time the app gets.

Assume the risk
Sometimes the service the app offers is something valuable to you or you are in a rush to get a job done. For example, I recently needed to join two videos and I quickly searched in the Play Store an app to do some basic video editing. I didn't mind that the app could upload and keep my video because this was a one time thing and because the video wasn't anything confidential or sensitive.

I hope you enjoyed the brief privacy overview in this ever changing smart world. If you have any questions feel free to add them in the comment section below.

Note: no-one paid me or influenced the opinion described in this post. I elaborated this conclusions based on my own knowledge in the topic.

Aplicaciones Entrometidas

Lea este artículo en Inglés / Read in English here.

Algunas aplicaciones para celulares pueden entrometerse inesperadamente en nuestra información privada. A priori, nuestra opinión puede ser "No me importa, no tengo nada que esconder". Sin embargo, hay mucho en juego. Hagamos un recorrido sobre qué cosas están en juego, analicemos por qué estas aplicaciones espían en nuestras cosas y cómo esta información representa una riesgo para nosotros. Por último, revisemos qué cosas podemos hacer para mantenernos a salvo de la manera más sencilla.

En general usaremos ejemplos de aplicaciones en Android, pero los mismos principios se aplican a las aplicaciones en iOS.

¿Qué cosas están en juego?
Las aplicaciones a veces son realmente codiciosas respecto a los permisos que solicitan.

Algunos videojuegos requieren acceso a tus contactos y ubicación, de lo contrario, no nos permiten jugar. ¿Por qué? Nosotros simplemente queremos jugar el juego. Solo algunas veces el acceso a la ubicación tiene sentido (por ejemplo para jugar Pokemon Go).

Otras aplicaciones solicitan que se ejecuten al inicio y que el teléfono no se duerma. Un ejemplo de esto es NerdWallet. Este combo de permisos les da derecho a correr en background (segundo plano) todo el tiempo que quieran, en cualquier momento. ¿Qué cosas están ejecutando en background? ¿Por qué necesitan eso? NerdWallet no explica por qué y no hay ningún motivo para ello.

United Airlines pide un puñado de permisos: controlar las llamadas, acceder a bluetooth, acceder al almacenamiento, usar NFC (antena de comunicación de corto alcance), usar la ubicación y evitar que el dispositivo se duerma. Pero United no explica por qué necesita acceso a Bluetooth ni a NFC. Además, la aplicación requiere el uso de nuestra ubicación lo que les permitiría rastrearnos en cualquier momento por el pequeño beneficio de tener a mano un mapa del aeropuerto, pero en mi opinión personal no creo que valga la pena. También piden hacer llamadas telefónicas directamente, pero no hay necesidad de tal requisito. La aplicación de United puede iniciar una llamada telefónica desde la aplicación telefónica sin requerir este privilegio.

Otro permiso delicado que he visto a algunas aplicaciones solicitar es "Aplicaciones instaladas e historial de internet". Esto les permite leer datos confidenciales, como su historial de navegación y las aplicaciones que utiliiza. Con esto, las aplicaciones llegan a conocer mucho de nosotros. Un navegador web o un antivirus sin duda requerirán este permiso. Sin embargo, un juego o una aplicación no deberían exigir tal privilegio. NerdWallet solía solicitar este permiso y afortunadamente lo cambiaron hace unos meses.

A veces no se trata de lo que saben sobre nosotros, sino el para qué van a usar nuestra información. ¿Van a almacenar nuestra información de forma segura? ¿Venderán nuestros datos a terceros? ¿Utilizarán lo que saben sobre nosotros para influenciar una campaña electoral? Nuestra información personal es muy delicada y muchas veces las empresas son negligentes con ellos.

Como conclusión personal,  nunca instalaría una aplicación que requiera permisos sin una clara explicación o necesidad.

¿Por qué piden acceso a nuestra información?
Hay tres motivos principales para los cuales los desarrolladores de aplicaciones quieren nuestros datos.

Motivo 1: quieren ofrecer un mejor servicio
Los desarrolladores de aplicaciones utilizan la información que recopilan de nosotros para:
   - Aprender cómo usamos la aplicación para que puedan mejorar los puntos débiles. De esta manera pueden diseñar una interfaz de usuario más intuitiva.
   - Descubrir si la aplicación falla, si es lenta, si consume mucha batería o RAM. De esta manera el equipo de ingenieros puede resolver problemas.

¡Esto es genial! Porque al recopilar datos, los desarrolladores pueden averiguar si algo funciona mal.

Motivo 2: quieren ganar dinero extra
   - Cuando las aplicaciones nos conocen mejor, le permiten a la compañía ofrecer un mejor servicio. Por ejemplo, Target podría ofrecernos productos con descuento en cosas que normalmente compramos. O Seamless (un servicio de delivery de comida en NY) puede mostrarnos una notificación de que nuestro restaurante favorito está teniendo un 2x1.
   - Conocer el mercado y las tendencias les permite a las aerolíneas funcionar mejor respecto a oferta y demanda (próximamente publicare un articulo en mi blog sobre este tema).

En general esto es bueno (principalmente el primer punto). Personalmente creo que es útil cuando Facebook me muestra eventos relevantes en mi área. Facebook va a seguir mostrandonos anuncios, pero al permitir que nos conozca mejor, nos va a mostrar contenido más relevante y hasta puede que nos sea valioso.

Motivo 3: venden nuestros datos a terceros
   - No es ningún secreto que la información es poder. Existe un gran mercado para la venta de datos en el cual las pequeñas empresas pueden hacer mucho dinero vendiendo nuestra información. Y esto no es bueno por motivos obvios.

Pero, hay más!
La historia no es simple. Incluso si los desarrolladores de aplicaciones tienen buenas intenciones, pueden meter la pata en cómo almacenan y protegen nuestros datos. Este es el caso de muchas pequeñas empresas que no toman las precauciones necesarias para proteger nuestros datos. Tal vez no sean empresas malvadas, tal vez solo quieren tener un gran impacto en el mundo y para eso desarrollaron una solución rápida para un problema del mundo real. Pero las cosas pueden salir mal. Un hacker puede atacar a estas empresas que tiene medidas de seguridad pobres y así conseguir nuestra información personal, como nuestras tarjetas de crédito!

Por otro lado, yo confío mis datos a  las grandes empresas . Por ejemplo, soy un usuario frecuente de Facebook y sé que usan mis datos personales pero nunca para hacer dinero vendiendo mi información. Yo estoy seguro de que Facebook protege mis datos para que no se filtren en la web.

La cosa cambia cuando hablamos de pequeñas empresas, especialmente las que no cobran por los servicios que brindan. Las aplicaciones que uno puede usar gratis hacen dinero principalmente al mostrar anuncios o vendiendo nuestros datos a terceros.

Adicionalmente, vigile las aplicaciones/extensiones de sus navegadores web. La extensión de Honey pide tener acceso a toda información que está visible en todas las páginas que visitamos. ¡Esto incluye correos electrónicos, Facebook, incluso sus fotos, estados de cuenta bancarios, inversiones y resúmenes de  tarjetas de crédito! No estoy diciendo que ellos están ganando dinero al vender nuestra información, pero sospechosamente ofrecen este servicio gratuito de descuentos y tienen todos estos privilegios a la mano.

¿Qué podemos hacer al respecto?
Sin ningún orden en particular, aquí presento algunos caminos que puede tomar para mantenerse a salvo. Asegúrese de investigar más y comprender los riesgos en los que se está involucrando.

Negligencia en usar la aplicación (o su sitio web)
Tiempo de cuentos: recientemente tuve una mala experiencia con una aerolínea. Me metí en un retraso de 7 horas debido a dificultades técnicas. Para emitir un reclamo, investigué en la web y me encontré con este sitio web que ayuda a presentar reclamos. Después de completar un formulario largo con la información de mi vuelo, me pidieron que ingresara con mis credenciales de correo electrónico y el sitio web solicitaba permiso obligatorio para leer todos mis correos electrónicos. ¿En serio? ¿Leer todos mis correos electrónicos a cambio de ayudarme a presentar un reclamo de una aerolínea? De ninguna manera. No comprometería mi privacidad para obtener ese tipo de ayuda. Mi correo electrónico contiene mucha información sobre las cosas que compro, mis hábitos y mi salud. ¡A veces incluso chateo con gente por correo electrónico! La respuesta es no, definitivamente.

¡Pero hay más! Estaba a punto de cerrar la página, hasta que me di cuenta de que podía usar cualquier dirección de correo electrónico. Entonces inicie sesión con una cuenta secundaria que tengo (una cuenta de correo electrónico que solo uso para registrarme en sitios web riesgosos), y obtuve la respuesta de la evaluación: no pudieron ayudarme: /
El hecho de que no hayan dicho esto de antemano habla acerca de sus intenciones: nada buenas.

Otra situación sospechosa en la que me encontré fue relacionada con la marca Banana Chiquita,  al querer inscribirme en un concurso para ganar un elegante estuche de lápices en 2017. Para participar, tenía que completar un formulario que pedía mi nombre, dirección, número de teléfono y correo electrónico, entre otros detalles. . Esto era inconcebible. Una gran cantidad de información personal para obtener una rifa para un premio tan pequeño. Claramente no completé el formulario.
Además, por lo general, estos sorteos ofrecen muy pocos premios y la posibilidad de ganar es muy baja (por ejemplo, 10 premios para 1M participantes).

Encontrar una alternativa
Muchas veces podemos encontrar en la Play Store / App Store otras aplicaciones que ofrezcan un servicio similar pero que no requieran tanta información personal como otras. Es solo una cuestión de buscar y encontrar una buena alternativa.
De hecho, cuando estaba buscando una aplicación de organización de archivos, los principales sugeridos en la lista del Play Store solicitaban permiso de ubicación y ejecución al inicio. Luego de investigar con mayor profundidad, encontré una que prescindía de dichos requerimientos.

Usa su sitio web en su lugar
Usar el navegador web y visitar una página web es más seguro que instalar una aplicación que siempre se ejecutará en segundo plano. Por ejemplo, siempre uso NerdWallet a través de un navegador en lugar de tener la aplicación instalada en mi teléfono.

Usar un usuario diferente (sólo disponible en Android)
Los teléfonos con Android te permiten tener múltiples usuarios en el dispositivo, de la misma manera que puedes tener varias cuentas en una computadora. Tengo un segundo usuario en el que he iniciado sesión con mi cuenta de Gmail secundaria.

Uno de los usos que le doy, por ejemplo, es el de instalar aplicaciones que necesito pero que no me brindan la suficiente confianza/seguridad. Por ejemplo, en ese usuario tengo iPass instalado. iPass es genial, me encanta que puedas conectarte gratis en cualquier aeropuerto (siempre y cuando tengas una membresía con ellos). Lo que no me gusta de ellos es que la aplicación requiere acceso a tu ubicación para trabajar. Esta es una señal de alerta:, no necesitan saber mi ubicación. Además, a través de un conocido que trabaja en su departamento de ventas, llegué a saber que están buscando vender datos de usuarios a terceros. Para agregar más a esta situación extraña, en su aplicación para iOS, sugieren que les conceda acceso a mis datos de salud. Realmente sospechoso.

Al tener la aplicación iPass en otros usuarios, me aseguro de que la aplicación se ejecute en su propia plataforma sin tener acceso a mi cuenta principal de Gmail, y como rara vez uso mi teléfono con ese usuario de Android, limito el tiempo de ejecución de la aplicación.

Asumir el riesgo
A veces, el servicio que ofrece la aplicación es algo valioso para usted o tiene prisa por hacer un trabajo. Recientemente necesitaba unir dos videos y busqué rápidamente una aplicación en Play Store para hacer una edición básica de video. No me importó que la aplicación pudiera cargar y guardar mi video porque era una cosa de una sola vez y porque el video no era nada confidencial ni sensible.

Espero que hayan disfrutado la breve descripción de privacidad en este mundo inteligente en constante cambio. Si tiene alguna pregunta, siéntase libre de agregarla en la sección de comentarios a continuación.

Nota: nadie me pagó ni influyó en la opinión descrita en esta publicación. Elaboré estas conclusiones basadas en mi propio conocimiento y experiencia en el tema.

Saturday, September 16, 2017

How an LG technician broke my phone

  1. I sent my Nexus 5X to LG technical support as it wasn’t connecting to cellular network.
  2. LG asked $387 to “fix” it. At the same time the phone is sold for $260+tax at Walmart.
  3. I rejected the fix, and LG returned my phone:
    • With the camera infrared sensor broken,
    • With the camera lens dirty with dust particles inside,
    • With a hit on the Fingerprint sensor.

I usually don’t write complains’ posts as I much prefer to handle the situation myself. Yet, this time I cannot help but to share my awful experience with LG official technical support and their customer service, as their behaviour has been truly unprofessional.

Here’s what happened.

Try one
My Nexus 5X wasn’t getting cellular signal. I called the LG Customer Service and they gave me a free shipping label to send the phone to their repair center.

After inspecting the phone they asked for a payment of $158 for the repair (budget below). Even though I could have bought a new phone for the price of $260+tax, I decided to go ahead and have it repaired.
When filling the credit card information in the form they sent me I made a mistake and I filled the card info wrong. Instead of calling me to to rectify the mistake LG shipped the unrepaired phone back to me.

One week later when I received the phone and opened the package, I found that the device had a hit in the fingerprint sensor, which wasn’t there before.

How much it costs to buy a new phone at the time of this incident

Try two
I called LG and explained what happened. They apologized for shipping it back right away without contacting me first, and told me that as the original mistake was made by my part I would have had to pay for shipping the phone back to them. I did as requested.

The LG technical support received the phone and two days later returned it to me. I received an email explaining that my  repair request was rejected because the phone had run out of  warranty. But this was not new, it was already clear that the phone was out of warranty the first time I sent it.

Try three
Once again I called LG again and explained what happened. The LG representative apologized for the misunderstanding and provided me with a free shipping label to send the phone back for the third time.

The technician of LG received the phone, and some days later LG sent me a budget for the repair, which is this one:

The cost of fixing it jumped from $158 to $387. This was much more expensive than buying a brand new phone (prices of buying a new Nexus 5X at the time of the budget repair can be find above). I called LG to ask why this huge bump in the price of fixing it. They said that the phone was tampered, it was opened by an unofficial technician and that it had inside fake components. Out of my best intention and honesty, this is not true. I explained it to the customer service representative but they wouldn’t believe me.

I rejected the repair request and LG proceeded to send me back the phone. When I got the package I found the phone like this:

The Infrared sensor is broken. When you open the camera app the phone can’t do focus.

This is how the camera works, and the overall state of the phone

The camera lens has some dust particles inside. When you open the camera app you see several marks like this:

Try four
I called LG and explain all of this from the beginning, putting emphasis on how the LG technician returned my phone more broken than how I actually send it:
Original problem: no cellular network.
Problems nowadays: no signal, camera useless, hit on the back.
I checked the phone carefully every time I received it, and the problems arose after the third time I sent it.

I definitely doubt that my phone was tampered or included fake components. All my life I used official technical support for each product’s brand to avoid headaches. Third party technicians are cheaper in the short run, but expensive in the long run. That’s why I never go to third third party technicians, ever.

The only possible explanation is that the fake/broken components were introduced by the LG technicians themselves.

Final response from the LG representative
They recommended me to take the phone to a small third party phone technical.
They said they will send a feedback request to the technician that handled my phone.
They said they won’t fix my phone or do anything about the broken state in which they returned it.

I will never buy a product from LG again. LG showed their word to be worthless mainly because of two points:
  • From one repair request to the other, they said the phone was a fake.
  • They broke and returned a phone, just like that. And they didn’t care.