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.

Sunday, August 27, 2017

Instagram huésped y víctima de ataque cibernético

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

Ayer estaba mirando las "historias" de mis amigos en Instagram cuando encontré una publicidad interesante de Adidas. Decidí seguir el link para ver las ofertas.


El navegador de internet de Instagram me llevó a una fabulosa página web de Adidas que mostraba hasta 80% de descuento. Después de mirar un rato, encontré varios productos que me gustaban, además era una muy buena promo!

Decidí comprar un par de cosas, entonces desde mi laptop entré al website oficial de Adidas (buscandolo en Google). Para mi sorpresa no había ninguna promoción. Volví a mi teléfono y abrí la página en Chrome en vez de en Instagram. Chrome inmediatamente me mostró un anuncio de alerta diciendo que estaba entrando en una página web dudosa, y que posiblemente sea víctima de un engaño.



Esto me dejó perplejo. Dejando a mi ego de lado, como el ingeniero en sistemas que soy, me encontré muchas veces con intentos de ataques de "scams/phishing". Pero esta vez me tomó por sorpresa y con la guardia baja.

Hubo un par de indicios que levantaron sospechas, pero no les presté atención. Por eso, mi objetivo en este artículo es compartir estos indicios con la esperanza de que otros aprendan acerca de sofisticados intentos de estafa. ¿Por qué sofisticados? Los criminales detrás del ataque utilizaron Instagram para llevar a cabo una campaña falsa de publicidad. Lo que es aún peor, Instagram no le prestó atención al engaño. Instagram dio de alta la campaña de publicidad sin verificar que un "Juan Pérez" estaba usando la imagen de Adidas redirigiendo usuarios a una página web trucha.

1er indicio: El 'dominio' de la página web
Usualmente las grandes marcas son dueñas de su propio nombre en la Internet, por ejemplo, Adidas seguramente tiene como página oficial www.adidas.com o similar. Ahora bien, si miramos el dominio de la página a la que Instagram me redirigió notaremos que tiene una parte "-yeezyboost".
Nota: el dominio de una página web es lo que comienza con 'www.' y termina con '.com'.


Si alguna vez uno nota una empresa usando un dominio que se ve raro o que no es similar al nombre de la marca, entonces es un indicio de mala señal.

2do indicio: Prestar atención al detalle
Usualmente los atacantes no invierten tanto tiempo en crear una página web que funciona en su totalidad. A veces a las páginas truchas les faltan acabados o retoques finales, o incluso los atacantes cometen errores de branding. En las siguientes capturas de pantalla se destacan problemas con los textos flotantes, están desalineados, mal ubicados. Intuitivamente se "ven mal".



Además, preste atención a errores de gramática u ortografía, tal como se ven en la imagen a continuación. Una marca profesional como Adidas nunca cometería errores de este tipo -- le darían mala imagen a la marca al publicar contenido erróneo.
'We' debería empezar con letra mayúscula en ambas apariciones.

3er indicio: sea un poco escéptico
Si es demasiado bueno par ser verdad, quizás no sea verdad en lo absoluto!

Protección adicional
Cualquiera puede estar despistado, accidentalmente pasar por alto los indicios y tratar de interactuar con el website estafador. Esto provocaría que los atacantes obtengan nuestra información de tarjeta de crédito, información personal, o que puedan infectar nuestra computadora. Afortunadamente hay otras maneras de estar protegidos, incluso para los usuarios despistados (en los cuales me incluyo).

¡Use un navegador confiable! Chrome y Firefox inmediatamente me avisaron sobre la estafa. Pero Safari no lo hizo. Safari me permitió navegar la página web del estafador, crear una cuenta y agregar productos, y me hubiera permitido seguir hasta el final realizando una compra ¡Y cayendo en el engaño!

Firefox mostrando la alerta de estafa.

Nota: para dar un poco de crédito, hacia el final del día (6 horas más tarde) volví a probar navegar la página web maliciosa usando Safari, y esta vez Safari mostró una alerta de engaño.


Dato curioso: adicionalmente, y para mi sorpresa, traté de compartir la dirección de la página enviandome un email a mí mismo (usando mi cuenta de Gmail). Esto fue lo que ocurrió:


¡Manténganse atentos! Ante la duda corroborar con alguien que sepa! Un humano? Si, o tambien le podes preguntar a Google en esta cómoda herramienta: https://transparencyreport.google.com/safe-browsing/search