Mostrando entradas con la etiqueta P2P. Mostrar todas las entradas
Mostrando entradas con la etiqueta P2P. Mostrar todas las entradas

lunes, diciembre 23, 2024

BasedAI: Zero-Knowledge Large Language Models para crear Modelos de IA Privados y Descentralizados

La privacidad de nuestros datos se ha convertido en uno de los mayores desafíos en la era de la Inteligencia Artificial. Los modelos privados de IA actuales, que son los más usados por el público en general, como Claude Sonnet o GPT-4o, procesan enormes cantidades de información sin realmente, a ciencia cierta, saber que se están protegiendo todos los datos que compartimos. Cada consulta, cada interacción, viaja y se procesa en texto plano, exponiendo potencialmente información sensible.


Como intento de proponer una solución a este problema, Based Labs, junto al equipo fundador de Pepecoin, han desarrollado BasedAI, un sistema que combina la potencia de los grandes modelos de lenguaje con una robusta protección de la privacidad. Este ha sido presentado en el paper "BasedAI: A decentralized P2P network for Zero Knowledge Large Language Models (ZK-LLMs)" publicado en Marzo de 2024.


El núcleo de este sistema reside en su capacidad para procesar datos de forma completamente cifrada, utilizando una técnica denominada "Cerberus Squeezing", lo que permite que los modelos de IA trabajen con información cifrada de principio a fin, sin necesidad de descifrarla en ningún momento del proceso,. Utilizan para ello una arquitectura de sistemas basada en comunicaciones Fully-Homomorphic Encryption pero optimizados para LLMs.

La plataforma se construye sobre una red descentralizada, similar en concepto a la cadena de BlockChain, pero optimizada específicamente para el procesamiento de IA. Esta red está compuesta por "Brains", que actúan como nodos especializados en la ejecución de modelos de lenguaje bajo condiciones de privacidad total.

El problema que resuelve BasedAI

Los LLMs privados operan como cajas negras centralizadas. Cuando interactuamos con estos, nuestros datos atraviesan múltiples servidores y sistemas de procesamiento sin ningún tipo de cifrado real. Esto plantea riesgos significativos, especialmente en sectores críticos como la salud y las finanzas, donde la confidencialidad es fundamental.

Por ejemplo, cuando un médico consulta sobre un caso clínico o una empresa analiza datos confidenciales, esa información queda vulnerable a brechas de seguridad o accesos no autorizados. Además, la centralización del poder computacional genera una dependencia preocupante de un pequeño grupo de empresas tecnológicas, limitando tanto la innovación como el acceso equitativo a estas herramientas avanzadas. 

Otro problema es la falta de transparencia en el uso de los datos, puesto que los usuarios no pueden verificar cómo se procesan ni quién tiene acceso a ellos, lo que crea barreras para adoptar IA en áreas donde la privacidad es clave.

Figura 3: Red centralizada vs. Descentralizada (P2P)

La red P2P BasedAI intenta abordar estos desafíos, garantizando que los datos permanezcan protegidos durante todo el proceso, desde el envío de la consulta hasta la recepción de la respuesta. Además de mejorar la seguridad, esta propuesta democratiza el acceso a la computación avanzada de IACualquier persona con recursos computacionales puede unirse a la red como minero o validador, contribuyendo al procesamiento descentralizado mientras recibe recompensas por su participación, con modelo de tokenomics.

¿Cómo funciona BasedAI?

En el corazón de BasedAI encontramos una estructura llamada "Brain" (cerebro). Un Brain funciona como un contenedor especializado que puede ejecutar cualquier modelo de lenguaje de forma privada y segura. El sistema permite la existencia de 1024 Brains, cada uno capaz de operar de forma independiente pero interconectada. La red se sustenta en tres pilares fundamentales:

1.- Los propietarios de los Brains. 
 
2.- Los mineros. 
 
3.- Los validadores.

Los propietarios adquieren sus Brains mediante Pepecoin, ya sea quemando una cantidad específica o realizando un stake por un período determinado. Esta mecánica no solo distribuye los Brains de manera justa, sino que también asegura un compromiso real con la red.


Por otra parte, los mineros son el músculo computacional del sistema, pues son los que aportan sus GPUs para procesar las consultas de los usuarios, pero la diferencia es que procesan datos totalmente cifrados con la tecnología Cerberus Squeezing, pudiendo realizar cálculos complejos sobre información cifrada sin necesidad de acceder a su contenido real.

Los validadores, por su parte, actúan como los guardianes, por hacer una analogía. Utilizando CPUs convencionales, verifican que los mineros realicen su trabajo correctamente, manteniendo la integridad de la red sin comprometer la privacidad de los datos. Este sistema de “checks and balances” asegura que cada parte de la red funcione como debe. 

Para incentivar la participación y mantener la calidad del servicio, BasedAI utiliza su token nativo, $BASED. Los participantes reciben recompensas por su contribución a la red, con un sistema de emisión que reduce gradualmente la cantidad de tokens generados para controlar la inflación. Las recompensas se distribuyen de manera proporcional al rendimiento y al stake de cada participante.

Figura 5: Token BasedAI

Quizá lo más innovador de BasedAI es su capacidad para transformar cualquier modelo de lenguaje en un ZK-LLM (Zero-Knowledge Large Language Model). Esto significa que cualquier modelo puede operar en la red manteniendo la privacidad total de los datos. La red no solo procesa la información de forma segura, sino que también permite verificar la corrección de los resultados sin revelar los datos subyacentes.

La magia detrás: Cerberus Squeezing

El "Cifrado Homomórfico Completo" o "Fully Homomorphic Encryption" (FHE) permite realizar cálculos sobre datos cifrados, una capacidad esencial para mantener la privacidad. Sin embargo, tradicionalmente este proceso es extremadamente costoso en términos computacionales. Cada operación matemática simple se convierte en una serie compleja de cálculos cuando se realiza sobre datos cifrados, multiplicando exponencialmente el tiempo y los recursos necesarios.


"Cerberus Squeezing" aborda este problema mediante una técnica de optimización. En lugar de cifrar cada operación de forma individual, agrupa múltiples operaciones en un único cálculo cifrado. La técnica se centra específicamente en optimizar el mecanismo de atención múltiple (Multi-Head Attention) presente en los modelos de lenguaje modernos, en la tan famosa arquitectura Transformer

Este componente es crucial para el funcionamiento de los modelos de IA, ya que determina qué partes de la información son más relevantes para generar una respuesta. Pues lo que hace esta técnica de optimización es que reorganiza estas operaciones de forma que pueden realizarse de manera más eficiente sin comprometer la seguridad.


En los resultados mostrados en el paper se observa que las operaciones que antes requerían once pasos computacionales pueden realizarse ahora en solo cinco, manteniendo el mismo nivel de seguridad y privacidad. Esto hace que el sistema sea más rápido y también reduce significativamente los costos de operación, haciendo que la tecnología sea más accesible.


Además, esta técnica de optimización es compatible con cualquier modelo basado en transformers, incluyendo los modelos más recientes y los que están por venir. Esto significa que la tecnología no solo es útil hoy, sino que está preparada para el futuro de la inteligencia artificial, proporcionando una base sólida para el desarrollo de aplicaciones de IA privada y segura.

Conclusión

BasedAI es una arquitectura innovadora. Su tecnología Cerberus Squeezing mejora significativamente la eficiencia en el procesamiento de datos cifrados, mientras que el modelo descentralizado promete mayor resiliencia al distribuir el poder computacional. Sin embargo, la dependencia de Pepecoin podría limitar la participación, y el límite de 1024 Brains puede sembrar dudas sobre su escalabilidad.

El Cifrado Homomórfico Completo aún debe demostrar su eficacia a gran escala en escenarios reales. Asimismo, el modelo económico basado en el token $BASED dependerá de la adopción del mercado y de la estabilidad de sus incentivos.


Está claro que el éxito de BasedAI estará ligado tanto a la robustez de su tecnología como a su capacidad de crear un ecosistema sostenible y superar los retos de implementación.

Un saludo,

Autor: Javier del Pino, Investigador d IA en Ideas Locas

martes, noviembre 07, 2023

Serverless & Bullet-Proof Web Sites (1 de 2)

En este artículo me gustaría contaros una pequeña PoC que hicimos en el equipo de Ideas Locas que teníamos guardada para algún evento de Web3, pero que como tengo ganas de contárosla, he decidido hacerlo desde hoy. No es un estudio completo, ni mucho menos, porque el escenario es enorme, pero se basa en un idea muy sencilla, que es hacer Serverless & Bullet-Proof WebSites, capaces de soportar el intento de bloqueo o censura de cualquier entidad.

Figura 1: Serverless & Bullet-Proof Web Sites (1 de 2)

Esto no es algo nuevo, y la Serverless Web lleva tiempo estudiándose, y trabajándose con diferentes arquitecturas, todas ellas totalmente distribuidas.

Dust-RSS

Uno de esos ejemplos fue un proyecto personal del equipo de Ideas Locas, en aquel entonces en Informática 64, en aquel entonces del año 2010, y que presentamos en la RootedCON de 2011 y se llamó Dust-RSS.


La idea era muy sencilla, evitar la censura de los servidores RSS de los blogs para permitir que cualquiera que tuviera algo que comunicar lo pudiera hacer siempre, y para eso diseñamos una arquitectura muy sencilla, basado en claves PGP y una red P2P para hacer la distribución. Esto hacía que no hubiera un único punto de fallo en el servidor web, ni en el DNS, y que con tener la clave pública PGP del publicador se pudiera buscar por redes P2P las publicaciones. 
De esta forma, el publicador lo único que debía conservar era su clave PGP privada para poder poner en la red P2P una nueva publicación. La arquitectura funcionaba, pero se quedó en una PoC que presentamos en DefCON 2012, y que se quedó como un bonito experimento.

OSIRIS SPS

Uno de las arquitecturas que buscaba solucionar estos problemas de censura de servidores Web se trataba de OSIRIS SPS (Serverless Portal System) y su Gateway ISIS, para poder publicar servidores Web que no dependieran de un único punto de fallo. Para ello, la solución era similar a tener a páginas web cacheadas y compartidas por una red P2P.

Figura 4: Foro de Anime publicado en Osiris SPS visible vía Isis Gateway

Las páginas web de los portales que se ven a través de esas URLs realmente no están en ningún servidor web concreto, sino distribuidos por toda la red P2P de Osiris SPS, lo que impediría un bloqueo o censura del sistema. Es perfecto para crear foros y portales de denuncia social que no puedan ser quitados de Internet si no quieren sus usuarios.

DeepWeb: TOR, I2P, FeeNet, Hyperboria, CJDNS

Todas estas soluciones no accesibles a través de los navegadores de "superficie", son consideradas redes de la DeepWeb, no solo porque no son accesibles con las herramientas más comunes de Internet, sino porque además cuentan con herramientas y protecciones contra el control, ya sea cifrados especiales o como hemos visto, para evitar el bloqueo de sus contenidos, como en el caso de OSIRIS SPS o el sistema DUST RSS que utiliza mecanismos P2P para ello.  q

Figura 5: Libro de Deep Web: TOR, FeeNEt & I2P.  Privacidad y Anonimato 
de Daniel Echevarry a.k.a. "adastra" en 0xWord.

Por supuesto, muchas de las funciones de seguridad que se buscan en estas redes, están en las más conocidas de la DeepWeb como son  TORFreeNET e I2P, donde el cifrado de las comunicaciones es una de las claves en todas ellas.

Pero la búsqueda de arquitecturas distribuidas y seguras ea algo que se ha estudiado mucho, como el caso de CJDNS y su red Hyperboria con conexiones cifradas y certificadas sobre IPv6GNUNetLanternYaCy para conseguir que no puedan ser accesibles los contenidos por nadie.

Malware en BlockChain

Por supuesto, pensar en arquitecturas Serverless y Distribuidas, es hablar del core de las cadenas de bloques de BlockChain, y utilizar las capacidades que tiene para poder almacenar datos de forma permanente y protegida con la distribución por diseño que tiene esta tecnología.

Figura 7: PoC de C&C con OP_Code en cadena de BitCoin
propuesta por Yaiza Rubio y Felix Brezo en EuskalHack 2017


En la EuskalHack del 2017, Felix BrezoYaiza Rubio hacían una demostración de cómo se podrían almacenar comandos de un C&C de una Botnet de malware en el campo OP_CODE la cadena de bloques de BitCoin.
Esto, al precio que está hoy el BitCoin parece un poco caro, pero esta idea de usar la cadena de OP_CODE para hacer servicios no es nueva, y algunos proyectos lo han utilizado en el pasado, aunque co la proliferación de cadenas de bloques a precios mucho más más económicos, hace que ya no sea necesario centrarse en ese campo.
Y como muestra de esto lo hemos tenido con el caso del malware de Etherhiding, donde el binario del malware se han escondido dentro de la cadena de Binance Smart Chain, y ha utilizado SmartContracts para actualizarse.

Redes Sociales Descentralizadas

Por supuesto, la explosión de las cadenas de Blockchain, y otras arquitecturas distribuidas, hayan ido apareciendo en todos los verticales tecnológicos nuevos servicios que pretenden ser más resistentes contra los ataques a servicios descentralizados, como son las Redes Sociales.

Ahí, propuestas como Mastodom, Diaspora, Matrix, Block Square, que son sólo una pequeña muestra, han ido apareciendo por todos los rincones de Internet, y se han convertido en parte de la transformación y disrupción que se está viviendo en este mundo de las redes sociales.

Pero la descentralización de todos los servicios digitales que se están construyendo hoy en día. Algunos que se han hecho piezas fundamentales en las arquitecturas Web3, como el almacenamiento IPFS (Inter Planetary File System) del que ya hablamos.

Y esto nos lleva a nuestra PoC, que es cómo aplicar todas las arquitecturas al servicio fundamental de la web, y que como veremos es rápido y sencillo, pero será en la segunda parte de este artículo.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, febrero 09, 2022

Blockchain & Smart Contrats: El Internet descentralizado y el almacenamiento Off-Chain con IPFS

Durante la serie de Smart Contracts y Blockchain hemos visto diferentes maneras de descentralizar parte de la lógica de una aplicación, pero los Smart Contracts y la tecnología Blockchain no son la única manera de hacerlo. En sus inicios Internet podría haberse considerado descentralizado puesto que solo corría en algunos ordenadores distribuidos por unos pocos garajes y salas de universidades del mundo. Con el paso de los años y la creación de centros de datos y la llegada del “Cloud ComputingInternet se ha ido centralizando hasta hoy día en el que un par de empresas prácticamente poseen Internet.

Figura 1: Blockchain & Smart Contrats: El Internet descentralizado
y el almacenamiento Off-Chain con IPFS

Con el resurgimiento de la tecnología Blockchain en 2013 volvió la idea de descentralizar Internet, para tener así una red mundial resistente a la censura en el que los dueños de los datos tuvieran el control de verdad sobre ellos. Y desde entonces se han dado grandes avances como el surgimiento de redes sociales descentralizadas y Open Source, protocolos para la descentralización de internet como el proyecto DUST-RSS para usar PGP e P2P para tener blog serverless sin censura, los portales web serverless distribuidos con Osiris SPS o el archi-famoso hoy en en día IPFS que vamos a ver en esta serie

Redes sociales descentralizadas

Está claro que el paradigma de hoy día que siguen la mayoría de redes sociales es el de la WEB2.0 un modelo en el que rige la centralización y el comercio de los datos del usuario, en el que esté casi no tiene ningún control sobre cómo se maneja su propia información. En la actualidad tenemos el paradigma de WEB3 en el que gracias a la tecnología Blockchain y a los Smart Contracts pueden crearse “fácilmente” plataformas descentralizadas. Sin embargo no ha sido del todo necesaria esta tecnología para crear redes sociales de este tipo véase el ejemplo de las siguientes, de las cuales algunas incluso surgieron antes que los smart contracts.

Mastodon: Esta red social es totalmente Open Source además claro de ser descentralizada dada la arquitectura que tiene. La estructura que sigue es muy parecida a la de nodos entrelazados además de que implementa el protocolo Activity Pub, un protocolo open source para la descentralización de servicios.

En esta red cada nodo puede ser alojado en un servidor normal o en tu mismo pc y da igual al nodo que te conectes, ya sea un gran servidor o tu propio ordenador estarás conectado con todos los demás.

Diaspora: Surgió alrededor de agosto de 2012, aunque sus creadores empezaron con ello en 2010. Sus tres ideas claves como medio de conexión social son: libertad, descentralización y privacidad(donde tú eres el dueño de tus datos), asimismo también es Open Source (repo). 

 
Para lograr su descentralización siguen una arquitectura similar a la de Mastodon, solo que en este caso en vez de usar nodos usan pods, que son servidores auto alojados a la hora de ejecutar la app.

Matrix: Fue creada en 2019 y se definen a sí mismos de la siguiente manera “Matrix is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication.

Figura 4: Representación gráfica del funcionamiento de Matrix

Proveen de un gran SDK para desarrolladores con el fin de que estos creen diferentes apps y web que funcionen sobre su infraestructura, la cual es descentralizada también y que funciona de manera similar a los nodos de la blockchain en los que se va replicando toda la información en tiempo real.

Block Square: Hace unas semanas Jack Dorsey dejó su puesto de CEO de Twitter por continuar su proyecto personal, en su momento se llamaba Square y tenía como objetivo ser una red social descentralizada que ofreciera servicios SaaS.

Figura 5: Logo de las empresas Square y Block

Pero ahora con su salida de Twitter ha surgido Block que será un conglomerado tecnológico que aúne Square, Cash app, Spira y Afterparty con su reciente adquisición para poder operar transacciones en Europa.

Almacenamiento Descentralizado

Si has leído alguno de mis anteriores artículos sobre Smart Contracts sabrás que a la hora de crear uno es muy importante optimizar al máximo posible el almacenamiento que va a utilizar puesto que existen unos límites que no son rebasables y todo aquello que se almacena en la Blockchain tiene un coste y no suele ser bajo.
Teniendo esto vemos que es prácticamente imposible montar una red social completamente descentralizada en la que todos los datos se guarden en la propia Blockchain y si aun así fuera posible a día de hoy los costes serían inasumibles.

Figura 6: Entender e investigar BlockChain & BitCoin
de Felix Brezo y Yaiza Rubio en 0xWord

Por ello existen soluciones Off-Chain (fuera de la propia cadena de Blockchain) que se encargan de almacenar datos de manera descentralizada asegurándonos que los archivos subidos son inmutables. Permitiéndonos así delegar parte del almacenamiento a otros servicios que no sean la Blockchain sin tener que romper los principios de la descentralización en nuestra aplicación.

IPFS (Inter Planetary File System)

Un buen ejemplo de almacenamiento Off-Chain es IPFS o "Inter Planetary File System", un sistema que permite guardar archivos en su red descentralizada para que estos estén siempre accesibles. En el sitio web oficial se definen como:

“A peer-to-peer hypermedia protocol designed to preserve and grow humanity's knowledge by making the web upgradeable, resilient, and more open.”

A un alto nivel cuando se sube un archivo al sistema este separa tu archivo en pedazos más pequeños y a cada uno le asigna un identificador único después a cada uno lo envía a diferentes nodos de la red que se encargaran de almacenarlos.


Cuando se requiera un archivo del sistema este pedirá a los diferentes nodos que envíen las diferentes partes que almacenan con el identificador único que antes nos dio. Además cuando un nodo descarga u observa un fichero al completo lo copia y lo cachea para que así próximas veces el archivo esté disponible más rápidamente. Luego cuantas más veces sea accedido un archivo más rápidamente estará disponible desde los diferentes nodos de la red, con lo que se crea una especie de servicio CDN (Content Delivery Network) en el que los archivos más “populares” son aquellos serán más rápidamente accesibles.

Figura 8: Estructura de almacenamiento

Los archivos una vez subidos a la red son inmutables y por lo tanto resistentes a la censura y al cambio. Y lo más interesante aún es que para subir un archivo a la red simplemente hay que correr su programa en el ordenador o utilizar algún servicio como Infura que nos cobrará 0.2 dólares/GB. Estas son unas sumas ridículas si la comparamos con la cifra de 76.000 dólares/GB que cobra Ethereum a día de hoy.

Figura 9: El almacenamiento distribuido de IPFS

Por supuesto, esta es una explicación del funcionamiento de IPFS hecha de una manera muy abstracta y a alto nivel, para aquellos que queráis entender más en profundidad cómo funciona el sistema os dejo aquí el enlace del whitepaper original de IPFS. Hoy día cada vez son más los protocolos y redes como IPFS que facilitan la descentralización de las aplicaciones y sus datos pero aún falta mucho camino y tecnologías para que internet pueda ser descentralizado pero quién sabe qué nos deparará el futuro ;)


Si tenéis cualquier duda con algo de estos artículos sobre el mundo de la Web3 estaré encantado de responderos tanto en mi perfil de MyPublicInbox como en mi cuenta de Twitter (aparece en mi perfil de MyPublicInbox). Nos vemos en los siguientes artículos.

Autor: Chema Garabito. Desarrollador Full-Stack. Ideas Locas Telefónica CDO.

sábado, marzo 25, 2017

Hay otro Internet en las Wireless Meshnets: De Hyperboria a Freifunk pasando por B.A.T.M.A.N. o MeshBerry

Muchas veces, cuando se habla de la Deep Web se tiende a pensar que esta es lo mismo que TOR, y ni mucho menos es así. La Deep Web es un concepto mucho más genérico que habla de aquellos contenidos que no se encuentran accesibles por los canales de flujo masivo de conexiones, como son los buscadores como Google, Bing, o los grandes centros de compartición de información, como son Facebook, Twitter, Youtube, etcétera.

Figura 1: Hay otro Internet en las Wireless Meshnets

El concepto de Deep Web viene de un artículo publicado en el año 2001 en el que se ahonda en la dificultad de localizar aquel contenido que está fuera de los sistemas masivos de indexación, catalogación y búsqueda. Desde páginas web que quedan en el índice secundario de Google, hasta contenido que se encuentra almacenado en redes que necesitan de software especial de conexión, o lugares en los que son necesarias credenciales de acceso.

Figura 2: Artículo del año 2001 que introduce el concepto de Deep Web

En esta catalogación, por supuesto, entra la red TOR, las redes FreeNet o I2P, pero también una gran cantidad de redes P2P - donde yo ideé mi Dust-RSS, redes serverlesss como ISIS & OSIRIS, o la cada vez más popular red CJDNS y su famosa Hyperboria.


Figura 3: Charla en RootedCON 2011 sobre DUST-RSS

A lo largo de este tiempo, las comunidades han seguido desarrollando ideas para crear redes propias, fuera de los canales tradicionales, con diferentes arquitecturas descentralizadas, tal y como funciona TOR o CJDNS. En el año 2014, en las famosas conferencias HOPE (Hackers On Planet Earth) de New York, se impartió una charla sobre cómo estas redes podían hacerse a nivel local con la proliferación y abaratamiento de conexiones Wireless.

Figura 4: Wireless Meshnets

En esa charla se habló del proyecto NYC Mesh, una red comunitaria en la ciudad de New York para conectarse sin necesidad de contar con una infraestructura concreta. Dicha red se crea con la unión de nuevos nodos a la misma que configuran protocolos especiales de encaminamiento que permiten la conexión entre ellos de manera dinámica. Para ello, utilizan una distribución con todo lo necesario para conectarse en una distribución de Raspberry Pi a la que llaman Meshberry.
Uno de estos tipos de redes comunitarias, descentralizadas, y disponibles para cualquiera que quiera ser parte de ella, es Freifunk, muy popular en Alemania y que se basa en el protocolo de enrutamiento B.A.T.M.A.N. (Better Approach To Mobile Ad-hoc Networking), que resuelve el problema de envío de los paquetes en una red cambiante, descentralizada y móvil en la capa 2.

Figura 6: Vídeo que explica el concepto de las redes Freifunk

Llegué a esta red por casualidad, revisando unos mapas que mi amigo rootkit me había enviado, donde se puede ver de forma abierta todo lo que está pasando en cada una de estas redes Freifunk desplegadas por las diferentes regiones de Alemania.
No es que me guste especialmente, pensando en la privacidad, que se puedan ver las conexiones con direcciones MAC de muchos de los equipos que están haciendo uso de ella desde una web, pero supongo que los que utilizan estas redes ya deben saber cambiar la dirección MAC, además de otras medidas de privacidad.
Lo bueno de utilizar una red como Freifunk, es que también te puedes conectar a Internet, lo que permite que, por ejemplo desde una conexión a la red Freifunk hagas uso de una conexión a la red TOR para contar con una capa extra de anonimato.

Al margen del uso que le quiera dar cada uno a este tipo de redes, desde el punto de vista técnico, es precioso ver cómo se siguen creando nuevas tecnologías día a día, y se consiguen proyectos de gran utilidad para muchas personas a base del esfuerzo y el conocimiento de unos pocos. Hay otro Internet fuera del mainstream.

Saludos Malignos!

viernes, febrero 17, 2017

Sé qué Torrents se han descargado desde tu empresa (o tu casa)

El otro día leí un artículo sobre el sitio I know what you download, una web que monitoriza los trackers de los Torrents que se distribuyen con la el protocolo BitTorrent. Estos trackers se utilizan para localizar y enlazar las fuentes en una descarga P2P con los clientes que desean descargarse los paquetes, y salvo que utilices un servidor Torrent privado, esta información es accesible por todo el mundo, lo que te puede generar un problema de privacidad, o algo más.

Figura 1: Sé qué Torrents que se han descargado desde tu empresa (o tu casa)

El funcionamiento de la web I know what you download es muy sencillo, basta con que introduzcas la dirección IP que quieras monitorizar y listo, te la información de todas las descargas de Torrents que se han podido descubrir.

Figura 2: Desde esta dirección IP se han descagado dos Torrents.
Se tiene la fecha y la hora exacta de la detección.

No están todas, ni mucho menos, pero tiene más de 400.000 Torrents y de cada uno de ellos las direcciones IP de los clientes que se han conectado a las fuentes para descargarse el contenido, con lo que es muy sencillo para cualquiera monitorizar tanto lo que pasa con una dirección IP como lo que pasa con un contenido.

Figura 3: Todas las direcciones IP monitorizadas en un Torrent concreto.
Una compañía podría usar esa información para ejercer acciones legales contra tu empresa.

No solo es un problema para la privacidad personal, sino que si alguien monitoriza las direcciones utilizadas por una empresa, puede llegar a saber mucho de los empleados, además de poder meterle en un problema a la compañía.

Figura 4: Por cada dirección IP está la lista de contenidos detectados.
Si es la puerta de salida a Internet de tu empresa puede ser un problema.

Además, alguien podría saber si tú o un empleado de tu empresa está haciendo descargas y cuáles simplemente consiguiente la dirección IP por medio de un enlace en un correo electrónico al que se hiciera clic. Este es un servicio que ellos mismos proporcionan desde su web.

Figura 5: Para generar un e-mail de tracking

Si eres administrador de una empresa u organización que cuenta con direcciones IP fijas es fácil que pruebes a ver cuál es el informe de resultados que obtienes y lo monitorices de manera regular, porque puedes llegar a descubrir malos hábitos de trabajo, malas prácticas de seguridad, uso inadecuado de la red de trabajo o incluso que puedes estar expuesto a un problema mayor.

Saludos Malignos!

lunes, abril 18, 2016

WhatsApp en iPhone mantiene sin cifrar la Base de Datos

Quiero dedicar un artículo a las nuevas características de seguridad en el cifrado que ha implantado WhatsApp en la nueva versión, y para ello estoy revisando con mis compañeros las partes de seguridad que eran conocidas como límites y que han permitido a un posible atacante sacar partido de ellas para espiar WhatsApp, o afectar a la seguridad de la cuenta o la privacidad de los usuarios. El otro día os dejé por aquí un post sobre la eliminación que ha hecho WhatsApp de los mensajes en que enviaba en texto plano el número de teléfono al conectarse a una red WiFi. Esto podría ser utilizado por un atacante para espiar a la gente que compartía red. 

Figura 1: WhatsApp en iPhone mantiene sin cifrar la Base de Datos

Hoy os dejo información de otra cosa que era conocida por todos y que parece que ha mejorado también un poco. Se trata de la protección de la base de datos de mensajes de WhatsApp en iPhone, tanto en su acceso al fichero como a los mensajes que contiene. Los que habéis leído el libro de Hacking iOS - sorry, está agotado por ahora - sabéis que el fichero de la base de datos de WhatsApp (ChatStorage.sqlite) está cifrado en las versiones de BlackBerry y en Android, pero que en iPhone no es así. De esta forma, cualquier persona con acceso a ese fichero puede extraer las conversaciones del mismo e, incluso, los mensajes borrados.

El acceso a la base de datos de WhatsApp en iPhone

El fichero de la base de datos de WhatsApp en iPhone no es difícil de conseguir, ya que va en cualquier backup que se haga de iPhone. Es decir, es posible acceder a él cuando se hace un backup al sistema operativo pareado con iTunes, ya que solo habría que buscar el nombre del fichero de la base de datos de mensajes de WhatsApp, que es conocido por todos. El nombre en el backup de iTunes depende del dominio asignado al fichero de la base de datos en iOS y la ubicación del mismo, y como esto ha cambiado, los nombres que hay que buscar en iPhone son estos tres. Si el backup de iTunes está cifrado, habría que hacer un ataque de fuerza bruta o diccionario a la contraseña de cifrado.

De hecho, estos ficheros de copia de seguridad de la base de datos de WhatsApp que hace iTunes se pueden llegar a buscar por eMule, como ya os publiqué en un artículo hace ya un par de años. De nuevo, si está cifrado ese fichero, sería necesario descargar del mismo backup - es decir, del mismo equipo - el fichero Manifest.plist, que es necesario para crackear la password con que se ha cifrado el backup de iPhone.

Figura 2: Nombre de ChatStorage.sqlite en backups de iOS.
El tercero es el de la versión actual de WhatsApp.

También se queda en la copia de seguridad que del sistema operativo iOS se hiciera en los servicios iCloud de Apple para hacer el backup, y por eso los atacantes buscaban robar el Apple ID y descargarsela de la nube si el usuario no hace uso de la Verificación en 2 Pasos que está disponible. Igual que te descargas las fotos, te descargas la base de datos de WhatsApp.

Ahora, en las nuevas versiones la base de datos de WhatsApp ya no está entre los archivos de la aplicación y hay que ir a buscarla al System, igual que la carpeta de los mensajes SMS, lo que hace que el nombre del fichero de WhatsApp que hay que ir a buscar cambie, pero nada más.

Figura 3: Es necesario el jailbreak para acceder a la SanBox y el System

También se puede seguir sacando directamente desde el terminal, pero debido a las protecciones de seguridad de iOS añadidas en 8.3 el iPhone tiene que tener hecho el jailbreak e instalado el tweak de AFC 2 en el sistema operativo para poder a todos los ficheros.

Figura 4: Accediendo al System de un iPhone con Jailbreak y el Tweak de AFC2

Estas protecciones de iOS dificultan un poco la extracción, pero no la hacen imposible - salvo que no exista jailbreak para esa versión de iOS -.

Acceso a los mensajes de WhatsApp

En cualquier caso, si se llega a la base de datos de WhatsApp, sea por el backup de iOS hecho por iTunes, ésta se encuentra sin ningún cifrado extra añadido en la capa de aplicación. Todas las medidas de seguridad que se han visto antes tienen que ver con el sistema operativo iOS, pero no con WhatsApp

Figura 5: Se puede ver que el fichero, en este caso en la última versión de WhatsApp (7c7fba66680ef796b916b067077cc246adacf01d), está en texto plano.

Se puede ver el contenido en texto plano en la imagen superior y con cualquier lector de bases de datos SQLite se pueden ver los mensajes.

Figura 6: Visualización de fichero SQLite

Esto no quiere decir que esté mal, simplemente que la aproximación de WhatsApp en iOS es diferente a la seguida en Android o BlackBerry - por las diferencias en seguridad de los sistemas operativos - y que si conoces el funcionamiento de seguridad de un iPhone, WhatsApp no pone medidas extras para proteger la base de datos.

Figura 7: Opción de hacer copia de base de datos de WhatsApp en iCloud

Esto quiere decir que si haces copia de seguridad de la base de datos de WhatsApp en iCloud - aunque no hagas copia de seguridad de iOS completo - el fichero va a la nube y se almacena sin cifrar. El resto de medidas para tener lo más seguro tu sistema, aquí tienes la lista de recomendaciones para Proteger WhatsApp a prueba de balas.

Saludos Malignos!

miércoles, noviembre 06, 2013

Osiris SPS: Portales en la Deep Web sin usar servidores web

Cuando estuvimos trabajando en DUST-RSS, el sistema de distribución de feeds RSS utilizando P2P y PGP, una de las alternativas que estuvimos evaluando fue Osiris SPS (Serverless Portal System), ya que la idea era similar. En nuestro caso queríamos hacer que la publicación de un feed RSS estuviera asociado a una clave PGP que se distribuía por una red P2P, mientras que en su caso lo que hacen es que un portal web esté compuesto por un montón de ficheros que se distribuyen vía una red P2P.

En el caso de Osiris SPS, hace que los portales estén copiados en todos los nodos de la red que están suscritos a él, por lo que no existe realmente una dirección IP de un servidor que pueda ser cerrado o atacado para censurar el sitio. Además, el sistema permite conectarse a través de conexiones TOR, lo que ayudaría al usuario a tener más anonimato en la red. Con la suma de estas dos características se tendría una red TOR para las conexiones clientes pero con servidores distribuidos sobre sistemas P2P

Figura 1: Sitio web del proyecto Osiris SPS

Para poder conectarse a la red hace falta descargarse el software, que está disponible para Linux, Windows o Mac OS X, y funciona como un cliente P2P al uso, que hará de servidor Proxy para el navegador en local, permitiendo suscribirse a diferentes portales publicados en esta red P2P.

Figura 2: Cliente P2P de Osiris SPS para Windows

El proyecto tiene un punto de conexión en la web, por medio de un conector escrito en PHP llamado Isis Gateway, que está disponible en la propia web del proyecto, y conecta con los portales publicados por medio de Osiris SPS.

Figura 3: Lista de portales publicados en Osiris SPS accesibles vía Isis Gateway

Las páginas web de los portales que se ven a través de esas URLs realmente no están en ningún servidor web concreto, sino distribuidos por toda la red P2P de Osiris SPS, lo que impediría un bloqueo o censura del sistema. Es perfecto para crear foros y portales de denuncia social que no puedan ser quitados de Internet si no quieren sus usuarios.

El gestor de portales está especialmente pensado para foros de usuarios, y tiene un sistema de valoración de usuarios en modo Monarquía o Anarquía, prohibiendo que una vez que se cree el portal se cambia de sistema de gobierno. Si hay Anarquía no hay ningún usuario por encima de los demás, y puede valorar a cualquier otro, si hay Monarquía, el creador sigue teniendo un lugar predominante.

Figura 4: Foro de Anime publicado en Osiris SPS visible vía Isis Gateway

Ahora mismo, el proyecto se encuentra en fase de hibernación, y no hay muchos usuarios conectados al sistema - más bien está cuasi despoblado - pero el concepto sigue resultándome maravilloso e ingenioso, y espero desde hace tiempo la nueva versión, que me tiene intrigado. Este trabajo con Osiris SPS e Isis Gateway lo llevan Berserker y Clodo los principales desarrolladores del proyecto - con alguna ayuda extra -.

Esta es otra de esas redes, como la de CJDNS e Hyperboria, que están al margen de la web tradicional, y que podrían considerarse de la "Deep Web". Como puede verse, sirven para realizar otro tipo de cosas que no tiene que ver con cosas malas. 

Saludos Malignos!

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