miércoles, julio 31, 2024

Cómo utilizar GenAI para la detección de bugs en ficheros Web.config usando Ollama

Hace un par de meses terminé el Curso de Especialización "Inteligencia Artificial para Expertos en Ciberseguridad" (que ahora tiene una segunda edición programada), liderado por Chema Alonso y Pablo García Bringas en la Universidad de Deusto. Durante las presentaciones virtuales de los trabajos finales, Chema nos ofreció la posibilidad de escribir un artículo explicando el proyecto, para incluirlo en su blog y compartir nuestro aprendizaje. Aquí está el mío.

Figura 1: Cómo utilizar GenAI para la detección de
bugs en ficheros Web.config usando Ollama

En mi trabajo final me centré en la optimización de configuraciones de seguridad con IA. Concretamente, en el uso de modelos de lenguaje grandes (LLMs) para mejorar la seguridad del código y los ficheros de configuración. La idea fue crear un flujo de trabajo sencillo en Visual Studio Code que permitiera usar LLMs funcionando en local mediante Ollama.

Asistentes de código basados en IA

Las herramientas de completado de código, como Intellisense de Microsoft y otras similares, existen desde hace tiempo en los entornos de desarrollo (IDEs) como Visual Studio y Eclipse. Inicialmente, permitían un gran ahorro de tiempo al equipo de desarrollo al sugerir, según se va escribiendo, nombres de procedimientos y funciones de objetos, parámetros de los métodos, etcétera.

La incorporación de alguna característica de IA a estas herramientas trajo algunas mejoras, como permitir generar líneas completas en función del contexto. Así surgió IntelliCode como evolución de Intellisense, siguiendo con el ejemplo de Microsoft. Además, basándose en repositorios de código abierto de GitHub, coloca los elementos más probables (métodos, parámetros, etc.) en la parte superior de las sugerencias de Intellisense.

La evolución actual ha llevado a estas herramientas a incluir funcionalidades de chat basadas en modelos de lenguaje grandes como GPT de OpenAI. Esto permite, entre otras cosas, dar al asistente una descripción de un problema en lenguaje natural y obtener la solución en un lenguaje de programación concreto. Un ejemplo de este tipo de herramientas es GitHub Copilot.

Aunque OpenAI dispone de algunos modelos open source, este no es el caso de la familia de modelos GPT en que se basa Copilot, que son de naturaleza cerrada. Además, al ser Copilot un servicio en la nube, esto implica que nuestro código puede escapar de nuestro control, al incluirse como contexto de nuestros prompts. Esto puede hacer que el uso de Copilot no sea adecuado en ciertos proyectos donde la privacidad es primordial.

La idea del trabajo fue entonces buscar una alternativa Open Source y gratuita a GitHub Copilot (que es, por el momento, un servicio de pago).

Ollama y LLMs en local

Ollama es un proyecto Open Source que ofrece una plataforma para ejecutar modelos de lenguaje grandes (LLMs) en local de forma sencilla. Al ejecutar un modelo en local evitamos que el código que estamos desarrollando abandone nuestro equipo, mejorando así la privacidad. Está disponible para varias plataformas (macOS, Windows, GNU/Linux y Docker) y es la primera pieza del trabajo.

Ollama soporta una gran variedad de modelos. Para el proyecto elegí uno de los modelos Open Source más populares, Llama 3 de Meta. Está disponible en las versiones de 8.000 y 70.000 millones de parámetros (8B y 70B). Desde que presenté el proyecto ha salido la versión de Llama 3.1, que añade un modelo de 405.000 millones de parámetros (405B). Para este artículo se ha utilizado esta versión 3.1 más reciente, en su versión 8B.

En su carta Open Source AI Is the Path Forward, Mark Zuckerberg detalla algunos de los motivos por los que los modelos Open Source son buenos para un equipo de desarrollo. Uno de estos puntos es, precisamente, el caso de las empresas que manejan información sensible que no pueden enviar a los modelos en la nube y cerrados.

La segunda pieza del proyecto fue utilizar este modelo, sin ningún tipo de ajuste fino o Fine-Tuning y ponerlo a prueba para analizar la seguridad del código y los ficheros de configuración, como se ha descrito al principio.

Instalación de Ollama

La instalación de Ollama es muy sencilla, en este caso se ha descargado para macOS. En la imagen se muestran los tres pasos de la instalación. En la primera pantalla se muestra la bienvenida; la segunda permite instalar la línea de comandos; y la última muestra un ejemplo para descargar el modelo Llama 3 desde una línea de comandos.

Figura 2: Proceso de instalación de Ollama

Instalación del modelo Llama 3.1

En el caso del modelo Llama 3.1, el comando a ejecutar para instalarlo desde la terminal de macOS es: ollama run llama3.1. El modelo descargado es el de 8.000 millones de parámetros (8B) y ocupa 4,7 GB.

Figura 3: Instalación del modelo Llama 3.1

Primer uso de Ollama con el modelo en local

Una forma sencilla de empezar a usar el modelo recién instalado en Ollama es instalar una interfaz web que nos permita realizar consultas, al estilo ChatGPT. Para ello existen proyectos como Open WebUI. La forma más sencilla de instalarlo es mediante Docker y entonces disponemos de una aplicación web servida en local con la que podemos interactuar con el modelo:

Figura 4: Consulta al modelo con Open WebUI

Como se observa en la imagen, es una interfaz que nos resulta muy familiar si ya hemos utilizado ChatGPT. En este ejemplo, se ha arrastrado un fichero Web.config de configuración de IIS y se le ha preguntado al modelo si es seguro. En el proyecto se han utilizado prompts en inglés. Aunque el modelo Llama 3.1 es multi-idioma, la mayoría de los datos de entrenamiento están en inglés y en las pruebas se consiguieron los mejores resultados en ese idioma.

A pesar de su sencillez, este enfoque de trabajo desde la interfaz web es limitado. Implica que tenemos que ir cambiando de contexto entre la aplicación donde desarrollamos, por ejemplo, Visual Studio Code y el chat en el navegador. Si el modelo nos sugiere cambios en el fichero, debemos volver al IDE para aplicarlos manualmente.

Si queremos un flujo de trabajo similar al uso de GitHub Copilot, integrado en una herramienta de desarrollo, debemos incorporar una pieza más a las que ya tenemos.

Extensiones para Visual Studio Code

Existen una serie de extensiones para Visual Studio Code (y otros IDEs) que permiten utilizar los asistentes de código basados en IA. Una de ellas es Continue, una extensión Open Source para Visual Studio Code y JetBrains que ofrece funciones como autocompletar líneas enteras y secciones de código, chat con el LLM sobre funciones y ficheros de nuestro proyecto, generación de código a partir de lenguaje natural, etcétera. Si utilizamos Visual Studio Code, se puede descargar e instalar la extensión desde el marketplace de Visual Studio Code. Una vez instalada la extensión, la configuración es sencilla.

Figura 5: Configuración del proveedor de modelos en Continue

En primer lugar, se configura el proveedor de modelos LLM, como muestra la imagen anterior. Como puede verse, hay varios disponibles. Si disponemos de claves de API, se pueden utilizar modelos comerciales, como los de OpenAI. En este caso elegimos Ollama para usar los modelos locales.

Figura 6: Configuración del modelo en Continue

En el siguiente paso, mostrado en la imagen, se elige el modelo concreto. La extensión ofrece varios modelos configurados por defecto. En nuestro ejemplo hemos elegido "Autodetect" para indicar que se rellene el desplegable de modelos (que se observa vacío en la parte inferior izquierda) con los modelos ya disponibles en Ollama. Habíamos descargado ya el modelo Llama 3.1 de Meta cuando instalamos Ollama.

Uso de la extensión Continue

Con la extensión ya configurada, si ahora nos colocamos en la pestaña de Continue tenemos disponible el chat contra el modelo Llama 3.1 en local, que hemos seleccionado en el desplegable inferior donde aparecen los modelos instalados en Ollama.

Figura 7: Uso de Continue para generación de código

En la imagen puede verse uno de los usos de esta extensión, la generación de código a partir del lenguaje natural. En el ejemplo, hemos pedido al modelo que genere una función en Python para calcular la secuencia Fibonacci para un número dado. Llama ha generado la función, incluyendo ejemplos de la salida para diversos valores.

Ahora que todas las piezas el proyecto están encajadas, ha llegado el momento de poner a prueba el modelo en local para el propósito inicial de mejorar la seguridad de ficheros de código con configuración de entornos .NET con Web.config. De todo esto, puedes ver la charla de "Some dirty, quick and well-known tricks to hack your bad .NET WebApps".


Figura 9: "Some dirty, quick and well-known tricks to hack your bad .NET WebApps".

Para el primer ejemplo, se ha utilizado un fichero Web.config de configuración de IIS. Para generar un fichero vulnerable se utilizó GPT-4o de OpenAI, con el siguiente prompt:

"Eres un ingeniero de ciberseguridad que está probando una nueva forma de detectar vulnerabilidades en ficheros de configuración de IIS. Genera un fichero de configuración Web.config que incluya las vulnerabilidades más importantes en este tipo de ficheros."

Tras generar el fichero Web.config, se incluyó en un proyecto ASP.NET real para ver que era correcto y que la aplicación funcionaba.

Figura 10: Fichero Web.config vulnerable generado por ChatGPT-4o

En la imagen se muestra el fichero de configuración generado y se ven algunas de las nueve vulnerabilidades introducidas. En la siguiente imagen hemos abierto en Visual Studio Code el fichero Web.config (mitad izquierda), que aparece junto con la la pestaña de la extensión Continue, que contiene el chat con el modelo LLM en local (mitad derecha).

Figura 11: Análisis de la seguridad del fichero de configuración con Continue

Para incorporar nuestro fichero Web.config como contexto a la ventana del chat, seleccionamos todo el contenido (con Cmd+A en macOS o Ctrl+A en Windows) y lo incorporamos al chat con (Cmd+L o Ctrl+L). A continuación del fichero adjunto, introducimos el prompt para el modelo.

En el curso aprendimos que, cuanto más detallado es el prompt, mejor es la respuesta y menor la probabilidad de que el modelo "alucine". Tras probar varios prompts para analizar la seguridad del fichero con el modelo Llama local, se llegó a éste:

You are a cybersecurity expert with access to vulnerability databases and cybersecurity guidelines and best practices. You have deep knowledge of programming code, as well as software and hardware configuration files, like the one attached here.

Analyze this attached file to identify potential security issues. For each issue, provide a brief explanation suitable for a technical audience and propose a change to the file that will eliminate or mitigate the vulnerability.

Ensure that your proposed changes include inline code in the response.

Primero se le da al modelo un rol: un experto en ciberseguridad con acceso a bases de datos de vulnerabilidades, guías de ciberseguridad y mejores prácticas y un profundo conocimiento del código y de los ficheros de configuración. A continuación, se le indica qué resultado esperamos obtener: un análisis de los riesgos de seguridad del fichero con una explicación técnica y una propuesta que elimine o mitigue la vulnerabilidad. Por último, se pide que la salida incluya las mejoras en forma de código en línea. Esta última petición será muy interesante, como se verá a continuación.

En el siguiente vídeo se ve que el modelo nos ha respondido, analizando las vulnerabilidades del fichero. La primera indica que el modo de depuración está habilitado, lo que puede exponer información sensible a un atacante. La recomendación es desactivarlo, poniendo a false el atributo debug. Al haber solicitado el cambio propuesto como texto en línea, la extensión permite aplicarlo directamente al código. Si colocamos el ratón en el texto en línea, aparecerán varios iconos. Pulsando el primero (Apply to current file) la herramienta aplica el cambio en la línea adecuada.

Figura 12: Demostración de aceptación de recomendación

Hay que tener en cuenta que en el vídeo se han recortado algunos momentos para reducir su peso, en realidad tarda algo más que lo que se muestra.
 
Slash Commands

Una vez que hemos encontrado un prompt que nos ha dado buenos resultados, conviene encontrar una forma de no tener que copiarlo y pegarlo en el chat cada vez que queremos analizar un fichero. Continue dispone de los comandos slash, es decir, los que comienzan por /. Un ejemplo es el comando /comment, que se utiliza para que el LLM comente el código seleccionado.

Lo bueno es que podemos crear nuestros propios Slash Commands. Para ello, pulsamos sobre el icono de la tuerca que aparece en la barra inferior de la ventana de la extensión Continue. Se nos abrirá el fichero config.json de la configuración de la extensión. Es un fichero JSON sencillo y podemos añadir nuestros comandos en la sección customCommands, por ejemplo:

"customCommands": [
{
"name": "secure",
"prompt": "{{{ input }}}\n\nYou are a cybersecurity expert with access to vulnerability databases and cybersecurity guidelines and best practices. You have deep knowledge of programming code, as well as software and hardware configuration files, like the one attached here.\n\nAnalyze this attached file to identify potential security issues. For each issue, provide a brief explanation suitable for a technical audience and propose a change to the file that will eliminate or mitigate the vulnerability.\n\nEnsure that your proposed changes include inline code in the response.",
"description": "Evaluar la seguridad"
}
]

Ahora, procedemos de la misma manera que antes, seleccionando todo el fichero Web.config y añadiéndolo al chat de Continue. Pero simplemente escribimos /secure en el chat, en lugar del prompt completo:

Figura 13:  Uso de slash command /Secure en Continue

Corrección masiva con el modo edición

Antes hemos visto cómo se puede corregir directamente el código original a partir de las recomendaciones proporcionadas por el modelo, pulsando el icono de aplicar cambios que aparecía en la línea de la corrección. Si queremos aplicar varios cambios a la vez, en lugar de ir aplicando uno por uno, podemos utilizar el modo edición de la extensión Continue.

Como antes, pulsamos Cmd+A o Ctrl+A para seleccionar todo el contenido. Ahora, en lugar de incorporarlo al chat como hicimos al principio, pulsamos Cmd+I o Ctrl+I para acceder al modo edición. En la parte superior de Visual Studio Code aparece una caja de texto donde podemos introducir un Slash Command, ya sea uno de los propios de la extensión o uno definido por nosotros.

Figura 14: Ejemplo de Slash Command

En el vídeo se muestra cómo Continue aplica todos los cambios propuestos por el modelo. Una vez aplicados, los podemos revisar uno a uno e ir aceptándolos o rechazándolos de forma individual. Si estamos seguros de que todos los cambios propuestos son adecuados, se pueden aceptar todos en bloque.

Como antes, el vídeo tiene cortes y el proceso tarda algo más de lo mostrado. Aunque no veamos en la ventana de chat cómo se reciben los tokens según se va produciendo la inferencia, este proceso debe ocurrir igualmente. Por eso, hasta que no se recibe la respuesta completa del LLM, no se observarán cambios en el fichero de configuración.

Consideraciones finales

A modo de referencia, para el trabajo se utilizó un Mac mini de 2023 con chip Apple M2 y 16 GB de memoria, con un Neural Engine de 16 núcleos. En las pruebas, esta configuración pudo ejecutar con soltura modelos de entre 7.000 y 13.000 millones de parámetros.

El uso de modelos de lenguaje grandes como asistentes al desarrollo de código tiene un gran potencial. A medida que el nuevo hardware que se lance incluye aceleración por hardware para mejorar el rendimiento de las tareas de IA, va a ser cada vez más viable el uso de LLMs en local, ya sean genéricos o para tareas específicas. Las ventajas en cuanto a privacidad que ofrece este enfoque suponen una alternativa viable a los modelos cerrados y en la nube.

Saludos,

martes, julio 30, 2024

Tu Latch "Navegación Segura". Codename: "Second Factor Web Browsing (2FWB)"

Hace unos años, con el equipo de Ideas Locas, creamos una solución para controlar la navegación de un ordenador personal mediante un canal paralelo. Tan sencillo como que una persona teclee una URL para navegar en su Google Chrome y antes de que esta se cargue, se intercepta por un plugin la dirección, se envía por BlueTooth a un terminal móvil pareado al navegador, y este verifica por la conexión móvil "Si ese sitio es seguro", o si el responsable del "Control Parental" lo autoriza.
De todo esto os hablé en el artículo de "Second Factor Web Browsing" donde implementamos la patente que habíamos solicitado en Febrero de 2019, donde describimos todo el proceso para poder luego contarlo públicamente en la RootedCON de 2020 bajo el título de "A hacker's gotta do what a daddy's gotta do". Ya sabéis que nos gusta traer siempre algo en lo que estamos trabajando a la RootedCON.


Figura 2: Presentación de 2FWB en RootedCON 2020

Después llegó la pandemia, nos reestructuramos en la compañía, y pusimos este proyecto de innovación en el "Backlog", pero sin llegar a dejarlo aparcado. Y seguimos dándole la vuelta, hasta que al final lo hemos lanzado ya en Tu Latch "Navegación Segura", de momento solo para la versión Android de Tu Latch, y para navegadores Google Chrome.

Tu Latch Navegación Segura es un servicio al que hay que suscribirse de manera anual, y permite estar conectado a una red WiFi pública de un aeropuerto, de un café, de un hotel, o cualquier red, y tener al servicio Navegación Segura protegiendo tu navegación en todo momento.

Configuración de Tu Latch Navegación Segura

Para poder utilizar Navegación Segura hay que contratar el servicio desde la propia app de Tu Latch, siguiendo el proceso que se detalla en las capturas.

Para proteger la navegación de tu equipo, es necesario que el terminal móvil y el navegador estén conectados por BlueTooth, por eso hay que descargarse el Plugin de Navegación Segura de Tu Latch para Google Chrome, tal y como explica el proceso, y después parearemos los dos equipos: El smartphone, conectado a la red móvil, y el equipo a proteger, conectado a la WiFi o al red que le da servicio a Internet.
Este plugin está en la Chrome Web Store, y basta con descargarlo para poder conectarlo directamente a Tu Latch Navegación Segura y comenzar a estar protegiendo toda la navegación de este equipo. 
Una vez instalado el plugin en Google Chrome, se puede hacer la activación del servicio desde el propio navegador, tal y como podéis ver en estas imágenes.

El plugin se instalará en el navegador, y a partir de ese momento ya sólo se necesitará realizar el pareado del navegador por Bluetooth con la app de Tu Latch cuando se vaya a navegar desde cualquier red en la que se desee tener Navegación Segura.
El Plugin de Navegación Segura de Tu Latch para Google Chrome hay que instalarlo la primera vez en el equipo, para que esté disponible en todas las sesiones del navegador Google Chrome. Una vez hecho, ya sólo se hará la activación del servicio.

Ahora ya podemos parearlo con Tu Latch y tendremos el canal de seguridad por BlueTooth, conectado a Tu Latch en el smartphone, y éste conectado al servicio de Navegación Segura para proteger la navegación de Google Chrome en el ordenador.

Figura 10: Vinculación por BlueTooth desde el

Para realizar el pareado, hay que hacer Tu Latch Navegación Segura visible en la app. Pasaremos de "No Visible" a "Visible" y cuando esté pareado, aparecerá como "Vinculado".
Y de igual forma, el Plugin de Navegación Segura de Tu Latch para Google Chrome aparecerá como "Vinculado", indicándonos que estamos ya siendo protegidos por el servicio de Navegación Segura.
Este proceso se puede hacer desde cualquier navegador que se paree al terminal de Tu Latch con el servicio de Navegación Segura contratado, así que lo único que deberías realizar es el mismo proceso que te he descrito.
Lo recomendable, como explicamos tanto en el plugin como en la app de Tu Latch, es que el terminal móvil y el equipo con el navegador a proteger, estén en diferentes redes, para mantener limpios los dos canales de verificación y que un enemigo en el medio no pueda bloquear la consulta al servicio de seguridad.

Figura 14: Dominio Bloqueado con Tu Latch Navegación Segura

A partir de ese momento, cuando un dominio se detecte como peligroso, el plugin de Tu Latch en Google Chrome bloqueará el sitio por Phishing, Fake Broker, Ciberestafa, Distribución de Malware, etcétera, y podremos ver que este sitio ha sido bloqueado por Tu Latch.

Figura 15: Dominio Bloqueado con Tu Latch Navegación Segura

Por el contrario, si el dominio no se ha detectado como malicioso, sabremos que ha sido verificado por el servicio de Tu Latch Navegación Segura, tal y como podemos ver en la imagen siguiente.

Figura 16: Dominio verificado y NO detectado
como Peligroso por Tu Latch Navegación Segura

Con el servicio de Tu Latch Navegación Segura puedes tener una capa extra de seguridad para navegar por redes en cafeterías, hoteles, aeropuertos, etcétera, de manera muy sencilla, y comprobando en todo momento que los dominios a los que te estás conectando son los correctos y no han sido manipulados. Ya os iré contando muchas más características sobre las novedades de Tu Latch. Y en breve estará en iPhone también. 

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, julio 29, 2024

Máster en Ciberseguridad de ConquerBlocks

La formación tiene muchas modalidades y formatos, y con ConquerBlocks hemos diseñado un Máster en Ciberseguridad que aún no habíamos hecho. Se trata de una formación que hemos estado grabando en vídeos educativos, con practicas, para formar un Máster en Ciberseguridad de más de 120 horas en vídeo que serán complementadas con sesiones de tutoría, con ejercicios, con conferencias y lecturas,  para que en 12 meses, una persona, a su ritmo, pueda aprender para empezar a trabar en esta profesión.
Seguro que si miras tu historial de horas invertidas en ver vídeos has gastado mucho más. En este caso se trata de todos los días ir avanzando contenidos s tu medida, para llegar al final de todos los vídeos y acabar el Máster en Ciberseguridad de ConquerBlocks.
El equipo formativo de todos los vídeos son, como podéis ver, mis compañeros de muchas "batallas" y muchos proyectos. Donde están Pablo González, Miguel Ángel Núñez, Rafael Troncoso, Fran Ramírez, Marta Barrio, Álvaro Núñez-Romero, Luis Eduardo Álvarez, José Luis Martínez, Abraham Romero y Javier Álvarez, que seguro que os suenan de verlos por aquí en muchos artículos y proyectos.
El temario lo hemos diseñado pensando en 3 grandes bloques que luego hemos dividido en 6 módulos más concretos. Cada uno de ellos llevan sus vídeos de formación con explicaciones, más vídeos de explicación con ejercicios resueltos.
Además, los módulos llevan una serie de conferencias mías sobre temas concretos que deberás ver en el orden correcto, más sesiones de tutoría para resolución de dudas, más lecturas que tienes que hacer de libros, que Máster en Ciberseguridad de ConquerBlocks también lleva libros de 0xWord para profundizar en algunos temas.
Todos los estudiantes, además, recibirán 2.000 Tempos de MyPublicInbox para usar en servicios en la plataforma, tener comunicaciones privadas conmigo, con los profesores, y poder resolver dudas sobre su futuro profesional con nosotros. 
Por último, para enfocar bien sus entrevistas de trabajo, todos los estudiantes tienen 1 test de Singularity Hackers incluido para poder conocer qué ramas profesionales del mundo de la ciberseguridad se adecúan mucho mejor a sus capacidades personales. Y si quieres, me mandas tu informe, y yo te ayudo a interpretarlo o entenderlo mejor.

La formación es en vídeo, a tu ritmo, y con tutorías semanales, así que te puedes registrar desde ya, y comenzar tu camino para llegar al final cuando tu quieras. Aquí tienes las preguntas frecuentes sobre esta formación.
A tu ritmo, rápido o más calmado. Mientras trabajas y cambias tu perfil profesional, o aprovechando vacaciones y días libres. O a full desde ya para tenerlo cuanto antes. Puedes registrarte aquí: Máster en Ciberseguridad de ConquerBlocks.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, julio 28, 2024

Una entrevista en La Tertul-IA de Ciberseguridad e IA

Hoy domingo, para no llenar mucho la agenda de nadie, he subido una entrevista que me hicieron los chicos de "La Tertul-IA" durante la pasada edición de OpenExpo Europe. Fue una entrevista a traición y sin preparación. Me vieron pasar por ahí, y José Luis Cortizo "Corti" me lío y me metió en el ajo.
En La Tertul-IA de OpenExpo Europe 2024 pasaron muchas personas, como el gran Carlos Santana a.k.a "DotCSV", pero ya os prepararé otro post con el resto de las entrevistas, que aún no las he podido ver y procesar todas ellas.
En ella, Luis Martín, Frankie Carrero y José Carlos Cortizo "Corti" fueron entrevistando a los invitados para que contaran su punto de vista sobre el impacto del mundo de la Inteligencia Artificial en diferentes segmentos. Siempre de forma distendida, que es una tertulia.

Figura 3: La Tertul-IA entrevista a Chema Alonso en
OpenExpo Europe 2024 sobre IA & Ciberseguridad

Yo pasé por allí unos diez minutos, así que es una entrevista muy ligera que he subido a mi canal de Youtube, donde voy recogiendo todas las charlas y conferencias que voy haciendo.
Y si quieres hacer algo con el equipo de La Tertul-IA, ya sabes que puedes contactar con ellos en sus buzones públicos de MyPublicInbox, que seguro que están encantados de escuchar propuestas de hacer cosas. Yo ya estuve con Frankie en uno de sus podcasts y me lo pasé genial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, julio 27, 2024

Movistar Home Connect. Codename "Movistar Home Everywhere"

En el año 2017, cuando los SmartSpeakers comenzaban a estar en muchos sitios, en Telefónica estábamos trabajando en la idea de lanzar alguno nosotros. Pero en la visita que tuvimos ese verano a ver a nuestros partners en Estados Unidos, cambiamos de idea. Microsoft estaba lanzando Cortana, y compartieron con nosotros el insight de que lo que la gente más usaba, y principalmente la única función en aquellos momentos después de una semana era la de poner música, así que iban a hacer un altavoz con muy buena calidad.
Por otro lado, el equipo de Amazon nos dijo que el problema que tenían, y por el que la gente no utilizaba nada más que la música y poco más era porque al no haber pantalla, el descubrimiento de funciones era muy complejo, así que estaban trabajando en Amazon Show para poder educar al usuario en descubrimiento de nuevas capacidades. 

Después de aquello, compartimos esto con los equipos de innovación, y decidimos dejar de lado el proyecto del SmartSpeaker. Por otro lado, el equipo de Innovación de Dispositivos, los que nos diseñan los HGU de SmartWiFi, los Decodificadores Ultra HD, los Amplificadores WiFi, etcétera, estaban trabajando en un SmartDisplay como prueba de laboratorio. Cuando regresamos del viaje nos sentamos con ellos, y pensamos que estaría bien hacer una prueba con estos "insights", poniendo Aura, nuestro asistente digital que habíamos anunciado en el MWC del 2017.

Mezclando estas tres iniciativas de tres áreas distintas de Telefónica, lanzamos un proyecto piloto para probar este producto con usuarios, y ver si nos protegía de una des-intermediación de servicios que querían hacer todos los SmartSpeakers. Todos ellos compiten en la categoría de SmartHome, y la televisión, la WiFi, las alarmas y las comunicaciones son tres de las capas con más uso e importancia dentro de esa categoría. Y todos querían que integráramos nuestros servicios en sus plataformas y controlar nuestras capacidades. Nosotros queríamos seguir siendo relevantes en la vida de nuestros clientes, y por eso habíamos creado Aura.

Así que, creamos Movistar Home, lo anunciamos en el MWC de 2018, y comenzamos a comercializar los dispositivos que habíamos hecho para esta primera fase. Según iba vaciándose el almacén, comenzó a llegar la crisis de los semiconductores, de los chips, y a encarecerse la construcción de equipamiento, así que hicimos una curva predictiva para ver cuándo se nos acabarían los dispositivos, y cuándo tendríamos que tomar la decisión de saber si construimos la segunda versión o tomábamos una decisión de evolución distinta.
La pandemia y el cierre de las tiendas hizo que el las ventas ese año bajaran un poco, y pudiéramos tener dispositivos un año más de lo previsto, pero a finales de 2021 tuvimos que tomar la decisión de cómo lo íbamos a evolucionar el proyecto, y entonces fue cuando más caros estaban los chips, y más tiempo nos estaban dando las fábricas para entregarnos los dispositivos desde la fecha de pedido. Así que bajamos el nivel de venta para quedarnos con stock de cambios y reparaciones y comenzamos con el proyecto de migrar todo el software de Movistar Home a un app en tablets, proyecto que llamamos "Movistar Home EveryWhere".

Irte a una app tenía la ventaja de no depender de hardware, pero el inconveniente de depender de las políticas de los sistemas operativos de Apple y Android. Además, uno de los debates que nosotros habíamos tenido fue el de "batería sí o batería no", porque un dispositivo sin batería está "Always ON", mientras que uno con batería tiende a desconectarse o estar sin batería mucho tiempo. Tomamos la decisión de hacer "Movistar Home EveryWhere", y hemos estado jugando con él durante 2023, en alfas y betas privadas. Y ahora ya puedes probarlo tú si quieres, que es gratuito para todos los clientes de Telefónica.
Ah día de hoy lo puedes descargar de Google Play Store y probarlo, pero además si quieres y te animas,  puedes apuntarte al estudio de nuestra comunidad Testers para seguir mejorándolo, añadir más funcionalidades y evolucionarlo.  Ahora mismo se trata de una aplicación exclusiva para todos los clientes Movistar con línea de fibra de hogar, ya que están conectadas todas las capacidades de Movistar, y lógicamente estamos aplicando todos los aprendizajes que hemos extraído estos años con el dispositivo físico Movistar Home - que seguirá funcionando si lo tienes y evolucionando -, para seguir proporcionando experiencias exclusivas.

Por el momento, llega para tablets con sistema operativo Android con versión 10.0 o superior, y se podrá usar desde cualquier punto del hogar con tan solo conectar la tablet a la red WiFi Movistar. Esto permite que desde ya aprovechemos las tablets que tienes disponibles en casa, y usamos capacidades de Autenticación de OpenGateway y Kernel para que su puesta en funcionamiento sea muy rápida. En breve, también extenderemos la experiencia a otras plataformas.

Principales funcionalidades de Movistar Home Connect

Movistar Home Connect es la evolución de las comunicaciones del hogar, un nuevo concepto de teléfono fijo, ya que puedes recibir las llamadas del teléfono fijo del hogar en él, tener vídeo conferencias y controlar la televisión. 

Figura 4: Vídeo de la nueva aplicación para Android Movistar Home Connect

Con la aplicación de Movistar Home Connect  podrás explorar y descubrir nuevos contenidos de Movistar Plus+, interactuar por voz con la TV gracias a Aura o realizar llamadas y videollamadas con tu tablet, haciendo que la experiencia sea más intuitiva y sencilla.

Control por voz a través de Aura

Gracias al asistente virtual Aura - que está en más de 30 canales en Telefónica y gestiona más de 400 Millones de Interacciones al año -  generamos con la voz una experiencia sencilla que incentiva a que compartas tiempo de calidad con el resto de los integrantes de tu hogar. Con Movistar Home Connect  puedes interactuar con tu TV a través de Aura o pedirle recomendaciones o sugerencias de contenidos de Movistar Plus+ usando únicamente tu voz, para ello es necesario tener abierta la aplicación en la tablet en primer plano.

La experiencia del control de la televisión por voz es intuitiva y sencilla. Puedes pedir a Aura que busque o te recomiende contenido de Movistar Plus+ con tan solo decir, por ejemplo, “OK Aura, quiero ver una peli de acción”.  



En la pantalla de la app se mostrarán resultados de contenidos sugeridos y podrás pedirle que te muestre la peli que elijas en la televisión: “OK Aura, pon The Equalizer 2 en la televisión”.


Realizar llamadas y videollamadas desde tu aplicación

Con Movistar Home Connect también continuamos con nuestra propuesta de reinventar el teléfono fijo, permitiendo realizar llamadas y videollamadas desde cualquier tablet que tengas instalada la app. Para ello, cuando accedas a esta funcionalidad por primera vez y pulses sobre el icono de llamada te aparecerá una pantalla de bienvenida, en la que también se te solicitará permiso para acceder a la cámara para así poder hacer y recibir videollamadas. 

Una vez realizado el onboarding, puedes llamar tanto táctil como vocalmente diciendo "OK Aura, llamar". También puedes decidir aceptar o rechazar una llamada vocalmente diciendo “OK Aura, descuelga" u “OK Aura, ignora la llamada”. Gracias a las funcionalidades de agenda y registro de llamadas, si tienes contratado el identificador de llamadas podrás ver el número de teléfono que te llama y guardarlo directamente en la agenda.


Recuerda que con tus dispositivos Android y la funcionalidad de Google Cast puedes proyectar las videollamadas desde tu tablet a otros dispositivos compatibles, como tu televisor.  Movistar Home Connect irá presentando nuevas capacidades de forma continua. En las próximas semanas veremos cómo se puede sincronizar con los contenidos que estás viendo en Movistar Plus+ para tener una experiencia de pantalla extendida y acceder a otras aplicaciones para hacer más rica esta experiencia.

Si quires, ya puedes convertirte en uno de los primeros en descargarte y probar la versión beta de Movistar Home Connect, y descubre las diferentes opciones de sacarle el mayor partido a Aura, el asistente virtual de Movistar. Si quieres darnos feedback de nuestro nuevo servicio y ganar una invitación doble al programa de mis amigos “Ilustres Ignorantes”, únete al estudio de nuestra comunidad de Testers. Allí podrás estar con el gran Pepe Colubi y Javier Cansando. Recuerda que no necesitas ser un experto en tecnología, solo tener ganas contribuir a la creación de una mejor experiencia para todos los usuarios.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, julio 26, 2024

IA, Datos & GenAI en Hispam Digital Forum & Una entrevista en Cooperativa Ciencia

El pasado 9 de Julio estuve en Chile, participando en el Hispam Digital Forum de Telefónica Tech & Movistar Empresas, donde di una charla sobre los Datos, la IA, y cómo gestionarlos en la empresa. La sesión no es nueva, ya la ha he impartido varias veces, pero aprovechando que había mucho CIO, CDO y CTO de grandes empresas, era el momento de hablar de eso.
La charla la he subido a mi canal de Youtube, por si alguno que no lo haya visto aún quiere verla. Ya sabéis que en mi canal intento recopilar todos los vídeos de lo que he ido haciendo durante los últimos casi 20 años de los que tengo material en vídeo.


Figura 2: IA, GenAI, Datos en la Empresa en el Hispam Digital Forum

Después de la charla, concedí tres entrevistas a tres medios de comunicación, y una de ellas quedó grabada en vídeo, en la de Cooperativa Ciencia. Como hablamos de temas que tienen que ver con la educación, la innovación y la ciberseguridad, quedó curiosa.


Figura 3: Entrevista a Chema Alonso en Coperativa
Ciencia sobre Innovación y Ciberseguridad

La he subido también al canal, pero puedes ver la entrevista completa en la web del medio. Así que para hoy, viernes de puente en muchos rincones de España, he subido estos dos vídeos para que si te apetece y tienes tiempo libre, los puedas ver. Y si no... a hacer cosas, como yo.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)