Mostrando entradas con la etiqueta control parental. Mostrar todas las entradas
Mostrando entradas con la etiqueta control parental. Mostrar todas las entradas

domingo, septiembre 08, 2024

Movistar Smart WiFi Living App: Conexión Segura, Optimización, Modo WiFi, Red Invitados & Bloquear Dispositivos.

La Living App de Movistar Smart WiFi es una de las que actualizamos regularmente. Además de tener la versión en app de SmartWiFi para Google Play y en la App Store, puedes usarla en tu descodificador, aunque no están el 100% de las características que tienes en la app.

Figura 1: Movistar Smart WiFi Living App: Conexión Segura,
Optimización, Modo WiFi, Red Invitados & Bloquear Dispositivos.

Dentro de la App de SmartWiFi tienes algunas funciones que merece la pena que conozcas y te instales la App, como son el Mapa de Cobertura, el Test de Rendimiento WiFi o la Priorización de Video Llamadas, para que en tu red WiFi puedas hacer que la conexión de Teams, Zoom, WebEx o WhatsApp los equipos vayan mejor.
También tienes los Perfiles de Usuario y las Opciones de Control Parental en SmartWiFi, así que, por supuesto, te recomiendo que te instales la App de Smart WiFi y le saques todo el partido de los servicios que hemos construido sobre la WiFi y sobre la Fibra de Movistar.

Figura 3: En la Living App de Smart WiFi tienes info de todas las funciones de la App

De todos estos servicios que tienes en la App de SmartWiFi tienes información en la Living App de Movistar SmartWiFi. Para ello, en tu Movistar+ de tu descodificador vete a la sección Apps y abre Smart WiFi.

Figura 4: Living App de SmartWiFi en sección Apps.

Allí tendrás acceso a gestionar la conectividad de tu WiFi, pudiendo entre otras cosas acceder a las contraseñas de tus redes WiFi por medio de un QRCode o ver la contraseña directamente en pantalla.

Figura 5: Contraseñas en pantalla o conexión por QRCode

También podrás activar la WiFi de Invitados de tu router si no la tienes activa, y permitir que se conecten a ella las personas que llegan a tu casa sin estar en la misma red que utilizas tú o la domótica de tu vivienda, evitando siempre problemas.

Figura 6: Activación de WiFi de Invitados

Además, puedes configurar Conexión Segura, y proteger todos los dispositivos de tu red, evitando que se conecten a sitios maliciosos. Y puedes ver cuántos dominios han sido bloqueados y por qué en tu red, para saber si tienes buenos o malos hábitos de conexión.

Figura 7: Amenazas bloqueadas con Conexión Segura en tu red WiFi

Poco a poco, en la Living App de SmartWiFi se van añadiendo todas las funciones disponibles también en la app, así que puedes Reiniciar el Router o activar el Modo Gaming, para que priorice los equipos que están jugando y necesitan una menor latencia.

Figura 8: Reiniciar el Rotuer desde la Living App & Modo Gaming

También, como puedes ver en la imagen anterior, se pueden conocer las funciones que no están disponibles nada más que en la app, como son la gestión de Perfiles de Usuario y las Opciones de Control Parental en SmartWiFi, o el Análisis de Cobertura WiFi, que te permitirá saber exactamente qué nivel de señal WiFi tienes en cada instancia de tu casa y si necesitas un Amplificador SmartWiFi o no.

Figura 9: Perfiles de Usuarios y Análisis de Cobertura WiFi

Otras de las opciones que tienes disponibles solo en la App son el Test de Rendimiento WiFi, y la moderna capacidad de Priorizar las vídeo-llamadas de Zoom, Microsoft Teams, Webex o WhatsApp en los equipos de tu red, para que puedas trabajar con la mejor calidad de red.

Figura 10: Test de rendimiento WiFi & Priorización de vídeollamadas

Por último, desde la Living App de SmartWiFi, sí que puedes gestionar la lista de dispositivos de tu red, así como bloquearlos y desbloquearlos, lo que te va a ayudar a que tus hij@s vengan a su hora a cenar, o poder detectar un dispositivo no deseado.

Figura 11: Lista de dispostivos de tu red WiF
 en la Living App de SmartWiFi

Como podéis ver, cada día vamos incrementando el número de servicios en nuestra plataforma de SmartWiFi, que sacan el máximo de la Fibra de Movistar, así que si eres cliente, echa un vistazo a la Living App de SmartWiFi y, sin duda, bájate de la App de SmartWiFi.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, junio 13, 2023

iOS Content & Privacy Restrictions: Cómo fortificar tu iPhone contra un ataque de robo de Passcode

Se dice que se produce un Ataque de Rubber-Hose en criptografía cuando la clave que protege la seguridad de un sistema es sacada con coacción, extorsión o violencia. Es decir, cuando se saca el passcode del iPhone a una persona a punta de arma blanca, a puñetazos o con la extorsión de hacer daño de alguna manera a esa persona.

Figura 1: iOS Content & Privacy Restrictions.
Cómo fortificar tu iPhone contra un ataque de robo de Passcode

Para evitar estos ataques se ha desarrollado toda una industria de sistemas de autenticación basados en hábitos o habilidades aprendidas que no pueden ser robados vía "puñetazos en la nariz", como son la firma manuscrita biométrica que usamos hace años en SmartID, la resolución de un cubo de Rubik - como hicimos nosotros con Rubika -, o tocar la guitarra al Guitar HeroAl final, si no hay una contraseña que quitar mejor que mejor. 
El caso de los terminales iPhone, con la protección de AppleID, ha generado que estos ataques de "Rubber-Hose" se hayan extendido, haciendo que los ladrones soliciten el Passcode del terminal iPhone para poder controlar todo lo que hay en el terminal. Y por eso Apple ha ido metiendo más y más protecciones para que el auténtico dueño del terminal pueda fortificar su dispositivo contra robos de passcode.

Por ejemplo, para que una persona pueda ver solo lo que tú quieres cuando le dejas "un momento" el iPhone, creo el "Acceso Guiado", y para evitar que las "Hidden Photos" puedan ser localizadas, permite ocultar la carpeta en el carrete de photos, y proteger su acceso, ahora, con FaceID. O la opción de utilizar la Mesh Networks de Apple para poder localizar el tu iPhone apagado en modo "Lost".
Pero hay muchas más cosas que ya puedes proteger en iPhone gracias a las opciones de "Content & Privacy Restrictions" en iOS, que permiten poder una segunda contraseña para activar y desactivar lo que se puede hacer y lo que no se puede hacer, incluso, con el conocimiento del passcode

Content & Privacy Restrictions

Estas "Content & Privacy Restrictions" están pensadas como un Control Parental o de seguridad extra, especialmente para que un tutor legal controle lo que la persona que utiliza el terminal puede realizar o no realizar sobre él. 
Así, si un menor, o una persona mayor, o alguien con algún problema de asistencia, está siendo tutorizado por su tutor, su padre o su asistente, éste podrá restringir funciones en el terminal con una nueva Contraseña de Restricciones o Screen Time Passcode. Esto se hace desde la opción de "Settings -> Screen Time -> Setup Screen Time Passcode". 

Figura 6: Establecer y Cambiar "Screen Time Passcode" o
"Contraseña de Restricciones".

Cuando vayas a configurar este "Screen Time Passcode" la primera vez, te pedirá que te autentique con tu AppleID, porque si tuvieras algún problema, podrías recuperar este código desde tu cuenta de Apple usando la web. Y porque esta cuenta puede ser un AppleID totalmente distinto al que está configurado en el terminal iOS

Hay que tener en cuenta que este AppleID debe ser el del tutor legal del iPhone, o el que cuida ese terminal remotamente. Pero también puede ser tu AppleID para tener otra segunda contraseña de protección de opciones en tu dispositivo.

Figura 8: Content & Privacy Restrictions en iOS

Entre otras cosas se puede restringir el contenido que se puede utilizar, las apps que están disponibles, o si se puede cambiar o no la opción de configuración de la cuenta de AppleID. Así, si alguien roba el passcode del terminal, o lo conoce por cualquier medio - incluso un ataque de Rubber-Hose -, cuando vaya a utilizar en el futuro el terminal verá que está restringido.

Figura 9: Se pueden restringir las apps a usar (incluido el Wallet)

Entre otras cosas, se puede restringir el acceso a la Wallet de pagos del terminal, o el cambio de la cuenta de Apple ID, o el contenido que se puede visualizar en el dispositivo. Por supuesto, la gracia es tú puedes gestionar esas dos contraseñas - El Passcode y el Código de Restricción - y si en una situación de emergencia te vieras obligado a dar el Passcode o lo perdieras por un robo de "Shoulder Surffing", tendrías aún un bastión de seguridad con la Contraseña de Restricciones.
Así que, si quieres fortificar un poco más tu terminal iPhone, basta con que te vayas a la opción de "Screen Time Passcode", configures una "Contraseña de Restricciones", y luego en las opciones de "Content & Privacy Restriccitions" decidas qué vas a meter dentro de ese bastión de seguridad para el que hacer falta un segundo código de acceso.

Figura 11: Cambios de cuenta restringidos en este terminal

Así, con el Passcode, el FaceID - que también podría robarse vía ataque Rubber-Hose - y la Contraseña de Restricciones, puedes dejar un terminal iOS (iPhone & iPad) mucho más fortificado para cualquier situación no deseada.

Figura 12: Opciones de gestión de cuentas desactivado en iOS

Por supuesto, esta es  una opción perfecta para evitar problemas con menores, padres y personas con necesidad de asistencia, pero hemos visto que puedes usarlo también para tener un terminal bastionado por capas, aplicando seguridad perimetral al terminal con el Passcode & FaceID, protegiendo las apps con seguridad individualizada por app - como en el caso de la Hidden Folder - y usando este "Screen Time Password" como una segunda password para cosas más delicadas en el core del sistema iOS.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, marzo 29, 2021

SmartWiFi: Perfiles y Control Parental de Horario en la nueva versión de la app

Hace muy poco que hemos desplegado a toda la planta una nueva versión de la App de SmartWiFi para Android y App de SmartWiFi para iOS que ya puedes descargar y utilizar. En breve tendrás también la nueva versión para la Living App de SmartWiFi en la tele, con la posibilidad de poder comprobar desde la televisión si tienes protegida la conexión a Internet con Conexión Segura y, además, pudiendo activarla con un solo comando desde la Living App de la televisión.

Figura 1: SmartWiFi: Perfiles y Control Parental de Horario en la nueva versión de la app

Hoy quería aprovechar para hablaros de dos nuevas funcionalidades que hemos metido en las apps de SmartWiFi para Android y para iPhone, como son los Perfiles y el Control Parental de Horario, que ya están desplegadas y funcionando si tienes el router SmartWiFi en tu casa.

Figura 2: Nueva opción de Perfiles en SmartWiFi App

La parte de perfiles, la encontrarás en el nuevo icono "Perfiles" en el menú inferior de la app. Tras presionarlo, aparecerá la bienvenida a perfiles, que te permite configurar una funcionalidad de pausa que puedes tener en hasta un máximo tres perfiles con asignación de tres dispositivos como máximo por cada perfil.

Figura 3: Elección nombre y de avatar de perfiles

Para entenderlo bien, primero creamos el nombre y elegimos un avatar para este perfil, y luego le asignamos un número de dispositivos - hasta tres - a este perfil, que puede ser "habitación de niños", "dispositivos de los niños", "Consolas de juegos", o lo que quieras.

Figura 4: Selección de dispositivos a asignar al perfil

Desde la app podremos ver en todo momento la lista de perfiles que están creados y si están pausados o no en cada instante, como podéis ver este ejemplo en el que hemos dejado sin consola de juegos a un grupo por un tiempo.

Figura 5: Lista de perfiles creados con pausa horarias

Si queremos ver en concreto el detalle del perfil, podremos seleccionar cada uno de ellos y saber qué dispositivos tiene, y si tiene una pausa horaria establecida.

Figura 6: Detalle de un perfil

En cualquier momento se puede asignar o desasignar un dispositivo a un perfil, tan fácilmente como entrar en la opción de "Gesitonar" y añadir o quitar. Aquí estamos añadiendo un nuevo dispositivo a este perfil ya creado.

Figura 7: Asignar un nuevo perfil a un dispostivo

Por cada perfil podrás planificar los horarios de pausa - bloqueo en la red WiFi -  des-pausado, donde ya no estará bloqueado, todo dispositivo que tenga asociado dicho perfil, tal y como puedes ver en la imagen siguiente.

Figura 8: Creación de horarios de desconexión WiFi

Durante la creación del control horario, que puede ser editado a posteriori, puedes visualizar el listado de los controles creados creados. En todo momento recibirás notificaciones para avisar que se va a aplicar el control horario, y se puede configurar para que la notificación se haga al inicio y al final del control horario.

Figura 9: Configuración de horarios de pausa de un perfil

Todas estas opciones, además de ser una herramienta fantástica de Control Parental, sirven también para evitar que un equipo esté funcionando fuera de horarios de trabajo, o cuando no hay nadie en casa, siendo una herramienta perfecta de mitigación de lo que un posible atacante puede hacer cuando nadie está utilizando los dispositivos, ya que todos ellos estarán sin conexión WiFi.

Saludos,


Contactar con Yaiza Rubio

miércoles, febrero 19, 2020

Mamá, Papá, tenemos que hablar de Qustodio

Cuando era adolescente, e incluso antes, soñaba con tener todos los discos de mi grupo favorito. Pero como os podéis imaginar, no podía tenerlos todos ya que aún no estaban las plataformas digitales de música, así que cada vez que compraba algo era un éxito, y me pasaba el día escuchándolas hasta casi desgastarlos. Ese mundo en el que crecí, poco a poco, ha ido desapareciendo. Cualquiera que crezca hoy tiene acceso a toda - o casi toda - la cultura del mundo (música, arte, literatura, cine) a través de Internet directamente desde su tableta o teléfono inteligente.

Figura 1: Mamá, Papá, tenemos que hablar de Qustodio

No tienes que tener mucho dinero en efectivo, y gracias a las plataformas en streaming que se subvencionan con la publicidad, o mediante el trabajo de comunidades, se ha hecho posible que hoy casi todo disponible para todo el mundo todo el tiempo. Desafortunadamente, si bien ahora tenemos acceso al mundo entero con solo un clic, no todo es bueno. Como adultos, debemos elegir con cuidado lo que vemos, decimos y hacemos en línea, tanto como lo que hacemos en el mundo real. Para los niños, es aún más importante y necesitan de nuestra guía.

Cuando era niño, sabía que tenía que estar en casa a una hora determinada, qué podía hacer y qué pasaría si no volvía a tiempo para la cena. En los hogares en general sigue pasando lo mismo, pero muy pocos padres hacen lo mismo en línea. Las familias necesitan aplicar las reglas de la casa también para el uso de Internet y dispositivos.

Figura 2: Información de ubcación de los hijos en Qustodio


En Telefónica trabajamos con Qustodio, una compañía que se enfoca 100% en ayudar a los padres a conectar a sus hijos y mantenerlos seguros en línea. Movistar ofreció los primeros controles parentales en 2014, pero el mundo ha cambiado y los padres y los niños necesitan más. En lugar de centrarse en el bloqueo, como hacen los controles parentales tradicionales, las familias que usan Qustodio pueden comprender cómo se utilizan Internet, los dispositivos y garantizar la seguridad. Es decir, con seguir un uso saludable mediante equilibrar su tiempo y forma de utilización. Los padres pueden ser padres digitales y aprender de sus hijos.

Qustodio brinda a los padres toda la información y las herramientas que necesitan para mantener a sus hijos seguros y felices en línea. Las nuevas características incluyen informes detallados de YouTube (los niños pasan el 70% de su tiempo en YouTube), así como lugares que proporcionan notificaciones instantáneas cuando llegan a casa o puntos que marcas en un mapa.

Figura 3: Información en Qustodio de uso de Internet

Ahora estamos trabajando para integrar Qustodio completamente en el ecosistema Movistar Living Apps. En el futuro inmediato, los padres podrán preguntar a Aura por la ubicación de un hijo o información del uso de Internet de por sus hijos y obtener esa y más información de inmediato, o poder consumir las alertas y  los informes de utilización en el entorno del salón a través de la televisión. Estamos trabajando para hacer realidad lo que solía ser ciencia ficción.


Figura 4: Mamá, Papá, tenemos que hablar

Nuestro trabajo como padres es educar y proteger a los hijos en el mundo físico, pero también en el mundo digital.. Internet es excelente para los niños, pero los padres debemos enseñarles a usar la tecnología tal como les enseñamos a lavarse los dientes. "Mamá, Papá, tenemos que hablar."

Dejar que un niño en línea sin orientación es irresponsable y puede ser peligroso. Qustodio puede ayudar a los padres a ayudar a sus hijos a obtener lo mejor de Internet y evitar lo peor. Si qiueres, puedes probarlo gratis durante 30 días activándolo desde la web de Movistar Qustodio.

Autor: Rafael Amorós

sábado, noviembre 09, 2019

Instagram y el juego de la insinuación: Como un pequeño "leak" de Machine Learning permite saber el tipo de fotos publicas en cuentas privadas (Parte 2 de 3)

Como hemos visto al final de la primera parte de este artículo, una vez que ya hemos obtenido mediante técnicas de Web Scrapping todas las URLs del contenido multimedia de interés, sólo nos queda calcular el nivel de desnudez de un conjunto de imágenes. Para ello, vamos a necesitar algún recurso que sea capaz de reconocer imágenes explícitas. Esto, por supuesto, ya existe. Es posible entrenar una red neuronal para discriminar el contenido adecuado del que no lo es.

Figura 8: Instagram y el juego de la insinuación: Como un pequeño "leak"
de Machine Learning permite saber el tipo de fotos publicas en cuentas privadas 
(Parte 2 de 3)

Como indicábamos un poco antes en este mismo artículo, en nuestra prueba de concepto hacemos uso de Nudity image detection HTTP API. Este proyecto proporciona una API REST lista para implementar que permite predecir si una imagen es ofensiva o tiene contenido para adultos. Se basa en open_nsfw, que proporciona un modelo de red neuronal de código abierto previamente entrenado para Caffe.

Figura 9: Nudity Image Detection HTTP API en GitHub

El objetivo principal de este modelo es proporcionar una solución lista para implementar de manera que las personas que puedan necesitar este tipo de servicio de forma gratuita hagan uso del mismo. La API REST de Python, con Caffe y open_nsfw, están empaquetadas todas juntas en una imagen de Docker. Tenemos dos opciones para poder hacer uso del servicio.

Opción 1: Ejecutar localmente el contenedor NSFW

La API y todo lo necesario para que funcione es parte de una imagen de Docker. Así que primero necesitarás instalar Docker para tu sistema operativo. Comando Docker Pull Command:
$ docker pull eugencepoi/nsfw_api
Una vez haya terminado el pull para levantar el servicio basta con ejecutar, por ejemplo:
$ docker run -it -p 127.0.0.1:5000:5000/tcp --env PORT=5000 eugencepoi/nsfw_api:latest
Se podría hacer uso de la API para una imagen:
http://localhost:5000/?url=https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
Lo cual nos devolvería una puntuación (score) de idoneidad entre 0 y 1 para la dirección de la imagen facilitada a través del parámetro URL.

Opción 2: Levantando el servicio NSFW en Heroku

Si no deseamos desplegar una pesada imagen Docker en nuestro equipo local, contamos con la posibilidad de hacer uso de una opción simple y rápida que es desplegar la imagen en Heroku para poder hacer llamadas a la API. Esta es la opción por la que optamos.

Figura 10: The Heroku CLI

Como podéis deducir del pipeline de la herramienta (Figura 7 de la primera parte de este artículo), este es el caso que nos ocupa, pues nos interesaba hacer requests en Batch para todas las URLs "scrapeadas". En nuestro caso, nos tuvimos que crear una cuenta en Heroku y dar los siguientes pasos:
• Descarga e instala Heroku CLI. 
• Accede al registro de contenedores de Heroku. heroku container:login 
• Creamos una aplicación heroku create YOUR_APP_NAME 
• Subimos la imagen heroku container:push web --app YOUR_APP_NAME 
• Lanzamos la imagen: heroku container:release web --app YOUR_APP_NAME
Elegimos YOUR_APP_NAME = nsfw-api. El servicio a partir de ese momento estaría en funcionamiento a través de los endpoint URL (para una única URL) y batch-classify (para obtener las scores conjuntas de varias URLs).

Figura 11: Libro de Docker: SecDevOps
escrito por Fran Ramírez y Rafael Troncoso

Para cualquier duda sobre el uso de Docker, no dudéis en consultar el libro de 0xWord "Docker: SecDevOps" escrito por de Fran Ramírez, Elías Grande y Rafael Troncoso.

Preparando los perfiles objetivo y vigilante en Instagram

El principal requisito para poder usar todas las herramientas generadas para la PoC es tener un perfil de Instagram.  Empecemos intentando averiguar el nivel de exposición de un perfil privado. Para ello nos creamos un perfil privado @charmingcdo (objetivo).

Una vez creado este perfil lo abrimos como público, empezamos a completar con alguna foto sugerente y comenzamos a seguir a gente con perfiles relativamente explícitos. También lo aderezábamos con algunos "likes" y comentarios habituales a otras cuentas. En apenas una semana y media conseguimos seguir a unos 150 perfiles y unos 60 followers. Todo esto con 4 fotografías de 4 personas que nada tenían que ver entre sí.

Figura 12: Nuestro perfil sugerente sufrió "acoso"
por vídeo-llamadas al poco de crearlo.

Cómo no, no tardamos en tener un grupo de seguidores que querían contactar con nosotros a toda costa. Aquí tenéis una de las múltiples vídeo-llamadas que recibimos de algunos de nuestros seguidores. Este fue en especial insistente. Esto sirve como ejemplo del nivel de exposición con el que nos podemos encontrar en estas redes sociales.

Figura 13: Cuenta @ideaslocas_test como cuenta vigilante

Para poder hacer la prueba, ahora nos creamos otra cuenta de Instagram desde la que hacer el scrapping a la que llamamos @ideaslocas_test (Este será nuestro vigilante). Esta cuenta tenía como misión únicamente monitorizar la cuenta objetivo.

Ejecutando el análisis del perfil privado

El primer paso es poner el perfil @charmingcdo como privado. Como se indicaba en la Figura 5 de la primera parter del artículo, nos interesamos en aquella región de la página web remarcada en naranja. El perfil @ideaslocas_test no es amigo de @charmingcdo. Por ello, sólo podemos hacer análisis de las imágenes de las cuentas sugeridas y, a lo sumo, de la de perfil.

Levantando la página web en local

Ejecutamos el siguiente comando para levantar el servidor Flask en local.
$ python instagram_nsfw-webapp/app.py
Tras ejecutar este comando se levantará un servidor al que se puede acceder a través de la ruta: http://localhost:5000/ Esto nos dirige a la página que nos permitirá lanzar el proceso de scrapping del perfil privado.

Figura 14: Página de login y comienzo de la búsqueda

Y en la última parte veremos los resultados que se obtienen con este tipo de análisis. Os dejaremos además uno o dos vídeos para que veáis cómo es el proceso completo.

Saludos.


Autores: Chema Alonso (Contactar con Chema Alonso) y Enrique Blanco (@eblanco_h) miembro del equipo de Ideas Locas en CDO. Puedes contactar con Enrique Blanco en MyPublicInbox.

*****************************************************************************************
- Instagram y el juego de la insinuación (1 de 3)
Instagram y el juego de la insinuación (2 de 3)
Instagram y el juego de la insinuación (3 de 3)
*****************************************************************************************

viernes, noviembre 08, 2019

Instagram y el juego de la insinuación: Como un pequeño "leak" de Machine Learning permite saber el tipo de fotos publicas en cuentas privadas (Parte 1 de 3)

Desde hace un tiempo utilizo más activamente mi cuenta de Instagram (@chemaalonso) donde decidí no seguir a nadie. No es que no siga a nadie realmente, es que prefiero buscar las cuentas que me interesan manualmente y ver lo que publican, que entrar en el juego por el que pasé en Twitter de "¿Por qué no me sigues?". Mi vida es mucho más relajada de esa forma. Y eso lleva a una consecuencia muy curiosa y evidente. Solo puede ver cosas que se publican en cuentas públicas. 

Figura 1: Instagram y el juego de la insinuación: Como un pequeño "leak"
de Machine Learning permite saber el tipo de fotos publicas en cuentas privadas
(Parte 1 de 3)

Todo lo que esté publicado en cuentas privadas está fuera de mi alcance y si veo que una cuenta tiene el perfil privado, fin de la historia. Hasta que descubrí una cosa curiosa. A lo largo de estos años usando Instagram, había algo que me llamaba la atención, sobre todo con cuentas de personas que yo conocía. Y era el sistema de recomendaciones que utiliza Instagram cuando ves una cuenta privada.

Las cuentas sugeridas en cuentas privadas

En la imagen podéis ver una lista de personas que me sugirió Instagram cuando fui a ver la cuenta de una compañera de trabajo con la que me tiré una foto. La busqué para taggearla y vi que tenía el perfil privado. En las recomendaciones me dio cuentas de personas que no conozco, pero la primera de ellas es de una chica aparentemente de su edad, sonriendo, con ropa que parece de hacer deporte. Algo que pega mucho con la chica con la que me hice la foto. Alegre, deportista, de esa misma edad más o menos. 

Figura 2: Recomendaciones en ejemplo 1

Se me quedó la sensación de que las recomendaciones que daba Instagram tenían que ver con los insights que hubiera sacado de las fotos de la cuenta privada. No sé si por similitudes de perfiles socioeconómicos, o por algoritmos de visión artificial para reconocer el tipo de fotos que publicaba. Probándolo con una cuenta privada de una persona que milita en una formación política, se puede ver que evidentemente las recomendaciones pueden tener que con información de la cuenta privada.

Figura 3: Recomendaciones en ejemplo 2

Y con esta otra cuenta privada de alguien que me puso un comentario en una foto, se puede ver que dependiendo del tipo de cuenta privada que tenga la persona las recomendaciones son distintas. Así que había que probar un algoritmo que nos diera algún insights de la cuenta privada tomando información de las fotos de las cuentas recomendadas.

Figura 4: Recomendación en ejemplo 3

Es decir, si la cuenta privada tiene algo que ver en forma de insights con las cuentas recomendadas. Si nosotros podemos inferir de las cuentas recomendadas esos insights podremos saber qué insights son los que comparten con la cuenta privada original. Un proyecto perfecto para hacer con mis compañeros de Ideas Locas, y Enrique Blanco fue el asignado a este proyecto con el que hemos jugado durante unos meses.

Instagram Not Safe/Suitable for Work

Viendo lo anterior, pensamos en quién podría estar interesado en saber el tipo de fotografías que esta publicando una persona, y pensamos en un entorno de "Soft Parental Control". Supongamos que no hemos dejado que nuestro hijo/a tenga acceso a una red social como Instagram y queremos evaluar el contenido de esa cuenta - de la que estamos excluidos por ser sus padres - , para ver si está siguiendo nuestras recomendaciones o no. En esta situación nos encontramos con dos posibles escenarios.

Cabe la posibilidad de que nuestro/a hijo/a no haya sido precavido/a y haya configurado su cuenta como pública. En este caso su contenido multimedia, información de perfil, seguidores, usuarios seguidos, likes, etc. estaría completamente expuesto. En este escenario, cualquier persona, tenga o no cuenta en esta red social, tendrá acceso a su contenido. Esta casuística es de nuestro interés, ya que se puede obtener esa información mediante Instagram Graph API.

Otra opción es que nuestro/a hijo/a haya sido precavido/a, configurando su perfil como privado. Su contenido puede ser sólo visualizado por sus seguidores, por lo que su nivel de exposición es algo menor. Si, como padres, queremos monitorizar la naturaleza de lo que nuestros retoños postean, no nos queda más que crearnos un perfil de Instagram, cruzar los dedos para que nos acepten en su círculo de amistades y juzgar nosotros mismos la idoneidad del contenido que decide publicar.

Sin embargo, puede que nuestras peticiones de amistad sean rechazadas de manera sistemática (no es lo habitual, pero ya sabemos cómo son a ciertas edades). En este caso, ¿cómo podemos obtener información sobre la naturaleza de la cuenta en la que estamos interesados? Como ha explicado Chema Alonso al principio, nos dimos cuenta de que las sugerencias de amistad que Instagram te hace cuando intentas consultar un perfil privado pueden usarse como una fuente de información bastante útil.

Figura 5: Localización en navegador de la región de interés para el análisis de usuarios privados.

Se puede obtener información de un usuario de una esta red social con sólo mirar ese contenido recomendado. Tras buscar información sobre cómo se generan esos perfiles recomendados en cuentas privadas, aprendimos que en el algoritmo utilizado por Instagram, la sugerencia de usuarios a los que seguir queda determinada por los siguientes criterios:
• Si se tienen amigos/seguidores mutuos; 
• Si has aceptado compartir tus contactos telefónicos con Instagram; 
• Si has aceptado vincular cuentas de redes sociales, Instagram puede encontrar a tus amigos de Facebook en Instagram; 
• En base a los mensajes que te han gustado; 
• A quién sigues en Instagram; 
• Por supuesto, también tiene en cuenta aquellos perfiles similares en términos de hashtags que ambos podéis seguir; 
• Lo que buscas en Instagram; 
• Cuentas que son seguidas por alguien a quien sigues.
Que un usuario sea privado, por lo tanto, no garantiza totalmente la privacidad de un perfil. En cierta medida siempre se va a exponer la información del mismo. Por poner un ejemplo, si intentas seguir a un político que tiene perfil privado, entre las cuentas sugeridas suele encontrarse la del partido en la que milita, por lo que ya sabemos su ideología política.

Por otro lado, si un perfil tiende a postear contenido erótico, o insinuante, es más probable que interaccione con contenido de ese tipo (dentro de los filtros ya bastante estrictos de Instagram) y se encuentre en círculos de contenido explícito que te serán convenientemente sugeridos.

PoC: Instagram NSFW (Not Safe/Suitable for Work)

En esta rápida PoC, quisimos crear una Aplicación Web sencilla usando Python Flask y Bootstrap 3 para, realizando scrapping sobre un perfil privado de Instagram, obtener información sobre la explicitud del contenido del mismo. Hay que destacar que la información obtenida desde la API no es tan útil en este caso. Lo único que se va a poder obtener de un perfil privado es la biografía del usuario, la foto de perfil y las imágenes de los perfiles sugeridos; y éstas son nuestro objetivo para hacer un análisis de idoneidad.

Figura 6: Hacking con Python

Esta limitación en la obtención de información de los perfiles privados viene como respuesta a los cambios realizados en las APIs de Facebook e Instagram después del leak de Cambridge Analytica. En el período comprendido entre el 31 de agosto y el 31 de diciembre de 2018 se eliminaron algunas funcionalidades como:
• Acceder a las listas de usuarios seguidos y seguidores; 
• Seguir o dejar de seguir cuentas a través de la API; 
• Postear o eliminar comentarios.
Pipeline y setup del entorno

Este servicio de detección de imágenes sesgado hacia contenido explícito se ha generado mediante una serie de scripts que, haciendo uso de Web Scrapping haciendo uso de Selenium y Beautiful Soup, utiliza Nudity image detection HTTP API. Este proyecto proporciona una API REST lista para implementar que permite predecir si una imagen es ofensiva o tiene contenido para adultos.

Figura 7: Pipeline de Instagram NSFW

En esta PoC NSFW se hace uso de los siguientes WebDrivers para poder hacer el scrapping del contenido HTML, lo cual necesitaremos para apuntar a los contenidos de las páginas que nos interesan:
ChromeDriver - WebDriver for Chrome 
GeckoDriver - WebDriver for Firefox
Para su correcto funcionamiento, hay que incluir en el PATH las rutas en las que los drivers se encuentren. Para GNU/Linux basta con ejecutar:
$ export PATH=$PATH:/path/to/driver/chrome-driver 
$ export PATH=$PATH:/path/to/driver/gecko-driver
Para añadir al PATH en Windows, basta con seguir los siguientes pasos.

Si ya hemos obtenido mediante Web Scrapping todas las URLs del contenido multimedia de interés, sólo nos queda calcular el nivel de explicitud (nudity) de un conjunto de imágenes. Para ello, vamos a necesitar algún recurso que sea capaz de reconocer imágenes explícitas. Esto, por supuesto, ya existe y veremos cómo utilizarlo en nuestro proyecto en la siguiente parte de este artículo.

Autores: Chema Alonso (Contactar con Chema Alonso) y Enrique Blanco (@eblanco_h) miembro del equipo de Ideas Locas en CDO. Puedes contactar con Enrique Blanco en MyPublicInbox.

*****************************************************************************************
- Instagram y el juego de la insinuación (1 de 3)
Instagram y el juego de la insinuación (2 de 3)
Instagram y el juego de la insinuación (3 de 3)
*****************************************************************************************

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares