Este pasado miércoles día 11 de diciembre, tuve la suerte de asistir a BlackHat Europe 2024 celebrada en Londres. Esta vez tuve la suerte y oportunidad de presentar nuestro querido Level_up junto a Pablo González. Además, desde el equipo de Ideas Locas, presentábamos también una nueva herramienta de análisis para el mundo Web3: Matildapp, que estuvo defendida por nuestro compañero Javier Álvarez.
La presentación, ’level_up! : Web3 Security WarGames’, fue programada para el miércoles día 11, de 14:05 a 15:20 horas, en la estación 4 del Arsenal. Este sería el slot de tiempo que tendríamos para mostrar qué es este proyecto OpenSource, explicar algunos de sus flujos principales y su arquitectura, enseñar los diferentes retos de los que se disponen actualmente y como interactuar con la plataforma.
Antes de la presentación, realizamos el registro y recorrimos varios stands que había en el evento. Era imposible no notar la energía que generaban, con gran cantidad de publicidad y sorteos que incentivaban visitar varios de ellos. Además, situamos la tienda con los productos oficiales y la sección del Arsenal, donde tendríamos que asistir nosotros más tarde para defender nuestras herramientas.
Figura 3: Presentación de level_up! : Web3 Security WarGames
Llegado el momento, y ya situado en el stand número 4, comienza la sesión. Durante este rato, algunos asistentes se acercan a escucharte. Ven la presentación y la demo en directo. La explicación dura alrededor de unos 10 o 15 minutos y posteriormente un espacio para preguntas. Algunos interesados se acercan a preguntar para conocer algo más sobre la plataforma.
Esto mismo se repite en varias ocasiones. En mi caso un total de 5 veces a lo largo de la hora y cuarto que tenía disponible. Fue gratificante recibir algunas preguntas sobre cómo podían montar el proyecto para competir entre amigos e incluso feedback constructivo para mejorar algunos aspectos, como es la internacionalización de la plataforma. Sin duda, una tarea pendiente. Fue una jornada intensa pero muy enriquecedora y la experiencia de volver a BlackHat Europe 2024 fue muy positiva.
Una cosa curiosa que vi en esta edición fue un cuadro de grandes dimensionen que estaban construyendo con piezas de Lego: cada persona que visitaba esta zona, se registraba y recibía una imagen con los píxeles a completar junto a un pequeño cuadrado de Lego para situar aquí las piezas formando dicho patrón de colores. Esta actividad colectiva le daba un toque creativo y colaborativo al ambiente, haciendo que todos los asistentes formaran parte del evento de una manera única. Fue una pena que tuvimos que irnos antes de verlo terminado por completo.
Figura 6: Cuadro colaborativo formado con piezas de Lego en BlackHat Europa
Muchas gracias a todos los asistentes que se acercaron a conocer más sobre nuestra plataforma de aprendizaje basada en retos. A todos aquellos que ya la conocen y han jugado con ella. A todos los que se inspiraron durante la presentación para adentrarse en el fascinante mundo de la seguridad Web3.
Level_up y Matidapp no son sólo herramientas, sino también una comunidad en crecimiento que busca compartir conocimiento y mejorar juntos, que tiene mucho que ver con nuestra apuesta por el mundo Web3, donde tenemos también Tu Wallet y Latch para Web3. Gracias por formar parte de este viaje; cada interacción, pregunta y comentario nos motiva a seguir construyendo y mejorando.
LAOS Network, también conocida como la "Blockchain Universal",
es una nueva red de Capa 1 que se presenta como una solución
innovadora para algunos de los problemas más comunes de la Blockchain. Se trata de la primera Blockchain Layer 1 capaz de conectarse
con Ethereum, Polygon, las Capas 2 de Ethereum y cualquier
cadena de bloques compatible con la Ethereum Virtual Machine
sin necesidad de bridges.
Su objetivo es crear una red interoperable, escalable y fácil
de usar que permita la creación e intercambio de activos de
manera fluida entre diferentes Blockchains. LAOS tiene potencial para convertirse en el protocolo
utilizado por las principales Blockchain para descargar más
del 20% de sus transacciones.
Los tokens que se crean sobre LAOS mejoran las soluciones
Layer 2 que hay en el mercado, ya que permanecen en su cadena
original, por lo que no requiere que los usuarios envuelvan
sus tokens o tengan que depender de bridges, que suelen ser
inseguros.
Características principales de LAOS Network
Interoperabilidad:LAOS Network se conecta de forma
nativa con Ethereum, Polygon, sus capas 2 y cualquier
otra cadena compatible con EVM, sin necesidad de puentes.
Esto permite la creación e intercambio de activos entre
diferentes blockchains sin problemas.
Escalabilidad: LAOS Network está diseñada para manejar un
alto volumen de transacciones, con una capacidad teórica
de hasta 1 millón de transacciones por segundo (TPS).
Esto la convierte en una opción atractiva para
aplicaciones que requieren un procesamiento rápido y
tarifas de gas bajas.
Descentralización: LAOS Network funciona con un sistema
de consenso de Prueba de Participación (PoS), lo que garantiza que la red esté distribuida y sea resistente a
la manipulación.
Facilidad de uso: LAOS Network está diseñada para ser
fácil de usar tanto para desarrolladores como para
usuarios. Ofrece una experiencia de usuario fluida y
herramientas que simplifican el proceso de creación e
intercambio de activos.
Casos de uso de LAOS Network
Creación de activos: LAOS Network permite la creación de
millones de activos en las blockchains más consolidadas,
como Ethereum y Polygon. Estos activos pueden representar
una amplia gama de elementos, desde tokens no fungibles
(NFTs) hasta tokens de utilidad.
Intercambio de activos: Los activos creados en LAOS
Network se pueden intercambiar fácilmente entre
diferentes blockchains, gracias a la interoperabilidad
nativa de la red.
Aplicaciones descentralizadas (DApps): LAOS Network puede
ser utilizada para desarrollar DApps escalables y
eficientes que aprovechen las ventajas de la
interoperabilidad y la escalabilidad de la red.
¿Qué es el token LAOS?
LAOS es un Utility Token y tiene tres casos de uso
principales. El primero es la creación de millones de activos en las Blockchains más consolidadas, permitiendo también su evolución
de forma descentralizada.
El segundo es el staking con sus tokens, que permite a los
usuarios obtener recompensas al tiempo que contribuyen a la
seguridad y el funcionamiento de la red. Finalmente, el token LAOS sirve como fuerza de voto en la
gobernanza de la plataforma y permite a los holders participar
en la toma de decisiones sobre el futuro de la plataforma.
¿Por qué participar en el launchpad de LAOS
Network?
LAOS Network se encuentra en una etapa temprana de desarrollo,
lo que significa que hay una gran oportunidad para los
usuarios de participar en el proyecto y obtener mayores
recompensas por su participación temprana.
La IEO de tokens LAOS ofrece la posibilidad de adquirir tokens
a un precio con descuento antes de que se lancen oficialmente
a la venta.
¿Cómo puedes participar en el launchpad de LAOS
Network en Bit2Me?
Puedes participar desde la sección Launchpad de la app deBit2Me o desde nuestro sitio web, seleccionando LAOS en la
sección Launchpad. Para acceder a la reserva, tienes que depositar la cantidad de
euros que quieres reservar en tu Wallet.
Si en algún momento antes de que se ejecuten las reservas
quieres cambiar o eliminar tu reserva, podrás hacerlo sin
ningún problema. Si una vez finalizado el proceso de reserva te quedas fuera,
recuperarás los fondos automáticamente. Si quieres saber más sobre cómo participar en el nuevo
proyecto de Bit2MeLaunchpad, encontrarás toda la información
en su blog y en sus redes sociales.
Durante el pasado OpenExpo Europe 2024 donde pasaron muchas cosas, una de las quick-talks se la dedicamos a la presentación del libro de Hacking Web3: [New] Challenge Accepted! que ha escrito Chema Garabito en colaboración con Pablo González, y donde yo he colaborado con un capítulo.
Para que la gente conociera más de estes libro, yo entrevisté, o charlé, con Chema Garabito, para hablar del mundo Web3, del tokenomics, de cómo funcionan los robos de criptomonedas en el mundo de los SmartContracts y alguna cosa más.
Además, en él Yaiza Rubio y yo hemos puesto nuestro granito de arena con aportaciones de unos capítulos, y en el que hemos contado con la ayuda del gran Leif Ferreira de Bit2Me, que se ha encargado de hacer el prólogo.
El libro es "directo y al pie", es decir, que va con muchos ejemplos directamente a hacer cosas en el mundo Web3, explicando las arquitecturas DApps, el mundo del tokenomics, y las vulnerabilidades más comunes en SmartContracts que se deben buscar cuando eres un pentester. El índice del libro os lo he subido a mi SlideShare.
El mundo de la Web3 es un nuevo paradigma técnico-económico. Las posibilidades son casi infinitas y los proyectos que irrumpen con fuerza traen un movimiento filosófico-social bastante interesante y que cambia la perspectiva y uso de la web. La ciberseguridad en cualquier paradigmo tecnológico es fundamental y de vital importancia. No lo es menos en el mundo de la Web3 dónde se deberá tener en cuenta desde la concepción de cualquier proyecto.
Si quieres conocer como auditar, cómo desarrollar de forma segura y conocer las vulnerabilidades a las que se enfrentan los proyectos de Web3 en la realidad este es tu libro. Aprenderás a entender los diferentes elementos de la Web3, cómo desarrollar la lógica de un proyecto de Web gracias a la implementación de los SmartContracts, un gran número de vulnerabilidades que asolan el paradigma tecnológico y cómo realizar diferentes tipos de pruebas de seguridad basadas en entornos estáticos y dinámicos.
Sin duda, una revisión global y vital sobre el ecosistema Web3. Además, podrás conocer herramientas para mejorar el desarrollo y la calidad del código, así como para proteger e identificar tus proyectos. Aprende con un CTF en Web3 y mejora tus conocimientos en seguridad en este nuevo mundo. Las posibilidades son amplias y el presente y futuro de la Web3.
Este libro es un buen complemento para tu entrada en el mundo Web3, pero nuestra recomendación es que te leas también el libro de Libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación"de Yaiza Rubio y Félix Brezo que profundiza en las arquitecturas utilizadas en BlockChain que pueden suponer interesantes fuentes de información para ciberinvestigadores.
Usar tus Tempos de MyPublicInbox 0xWord para adquirir este libro
Para terminar, te recuerdo que tendrás también 100 Tempos de MyPublicInbox por la compra de este libro de "Hacking Web3: Challenge Accepted!" y que además, puedes pagar completa o parcialmente este libro con Tempos de MyPublicInbox. Aquí te explico cómo se hace.
La idea es muy sencilla, hemos creado un Buzón Público de 0xWord en MyPublicInbox y tenemos disponible el módulo de transferencias de Tempos entre cuentas siempre que el destinatario sea un Perfil Público de la plataforma. Para que se puedan hacer estas transferencias, primero debe estar el Perfil Público destinatario de la transferencia en la Agenda.
Una vez que lo tengas en la agenda, ya será tan fácil como irte a tu perfil - se accede haciendo clic en la imagen redonda con tu foto en la parte superior - y entrar en la Zona de Transferencias. Desde allí seleccionas el Buzón Público de 0xWord, el número de Tempos que quieres transferir, y en el concepto debes poner que es para recibir un código descuento para usar en la tienda de 0xWord.
No te preocupes por el texto concreto, porque los procesamos manualmente como los pedidos de se hacen en la tienda.
Canjear 500 Tempos por un código descuento de 5 €
La última opción es bastante sencilla. Solo debes irte a la sección de Canjear Tempos -> Vales para Tiendas, y "Comprar" por 500 Tempos y código de 5 €. Es lo mismo que enviar la transferencia pero en un paquete de 500 Tempos y de forma totalmente automatizada, así que solo con que le des a comprar recibirás el código descuento y lo podrás utilizar en la tienda de 0xWord.com
Así que, si quieres conseguir nuestros libros de Seguridad Informática & Hacking aprovechando los Tempos de MyPublicInbox podrás hacerlo de forma muy sencilla y mucho, mucho, mucho más barato. Y así apoyas este proyecto tan bonito que es 0xWord.com.
Ser escritor de libros de 0xWord
Además, todos lo que queráis convertiros en escritores y hacer un proyecto de libro con nosotros. Podéis también enviarnos vuestra propuesta a través del buzón de 0xWord en MyPublicInbox, y si sois Perfiles Públicos de la plataforma, podéis entrar en la sección de Mi Perfil -> Servicios para ti y solicitar más información sobre el proceso de escribir un libro en 0xWord.
Nuestro equipo se pondrá en contacto contigo y evaluará tu proyecto de publicación de libro. Ya sabes que principalmente de Seguridad Informática & Hacking, y puede ser técnico, súper-técnico, o divulgación, y si es una novela... podemos estudiarlo también.
La semana pasada realizamos el Telefónica Fest, dos días de evento en Distrito Telefónica donde celebramos el centenario de Telefónica. Hubo una gran cantidad de actividades, desde visitas guiadas, retos tecnológicos, charlas formativas, una sección para gaming… y entre ellas una sección de varias demos en la que, desde el equipo de Ideas Locas, participamos con Time Capsule Blockchain.
Figura 1: Time Capsule BlockChain.
Agradecimientos inmortalizados en BlockChain
Nuestro espacio se situaba al lado del stand de los compañeros del marketplace de NFTs y no había mejor lugar para ello ya que si pasabas a vernos y dejabas tu mensaje en el mural te llevabas el NFT que hemos creado para esta ocasión, y que puedes ver entre las colecciones del marketplace.
Figura 2: Espacio Time Capsule Blockchain en el Telefónica Fest
La demostración de Time Capsule BlockChain es simple y tiene como objetivo ilustrar uno de los usos principales de la tecnología BlockChain: su perpetuidad en el tiempo. Tal como su nombre lo indica, funciona como una cápsula del tiempo.
Consiste en un contrato inteligente (Smart Contract) que almacena los mensajes de todos aquellos que compartieron sus felicitaciones por el aniversario. Estos mensajes se han quedado registrados en la cadena de bloques de Polygon, y esperamos recuperarlos dentro de otros 100 años :D.
Figura 4: Transacciones con el contrato en el explorador de bloques
Todos los mensajes se visualizaban en tiempo real en un mural preparado para mostrar los mensajes de manera dinámica, aleatoria y continua.
Figura 5: Mural de Time Capsule BlockChain
Algunos asistentes ya tenían conocimientos sobre blockchain, contratos inteligentes y NFTs, y llegaron con sus wallets preparadas. Para muchos otros, fue su primer contacto con estas tecnologías. Por ello, les brindamos asistencia para crear una nueva wallet y que así pudieran obtener su NFT y verlo reflejado en sus carteras.
Figura 6: NFT importado en wallet MetaMask
Además, al momento de mintear el nuevo NFT, este se registraba automáticamente en el marketplace, lo que permitió a los participantes visualizar su creación en un entorno real de compraventa digital. Esta experiencia no solo les brindó una comprensión práctica del funcionamiento de los NFTs, sino que también les permitió participar activamente en el ecosistema BlockChain, aumentando su conocimiento y apreciación por estas tecnologías innovadoras.
Agradecemos sinceramente a todos los que asistieron al evento y a aquellos que visitaron nuestro stand para dejar sus felicitaciones. Esperamos que hayan disfrutado del evento tanto como nosotros disfrutamos organizándolo.
En la primera de este artículo: "Serverless & Bullet-Proof Web Sites (1 de 2)" terminamos hablando de cómo utilizar Web3 para hacer paneles de control para botnets o redes sociales utilizando arquitecturas Dapps, pero lo dejé ahí porque quería esperar a la RootedCON 2024 de este año para hablar de los proyectos que hicimos nosotros de continuación de estas ideas.
Figura 1:Serverless & Bullet-Proof Web Sites (2 de 2): Web2Blocks & WebScalerAI
El primero de ellos es Web2Blocks para guardar páginas web en cadenas BlockChain, y el segundo de ellos es WebScalerAI, que busca reducir el tamaño de las páginas web que hay que almacenar en una cade de bloques utilizando GenAI para amplificar texto e imágenes de páginas web. Os los enseño un poco.
Web2Blocks: Un Web back-end en BlockChain
El objetivo de este proyecto es bastante sencillo, se trata de almacenar una página web, por ejemplo un blog como éste, en una estructura de bloques de una cadena de BlockChain, que evite que se pueda censurar siempre y cuando se conozca la estructura de bloques que almacenan la web.
Figura 2: La extensión permite anclar una web en una cadena BlockChain
Para ello hicimos una extensión que hace las dos funciones, la de guardar en bloques de la cadena de BlockChain el contenido de la web, y la de buscar una web buscando los bloques que conforman esa web para poder cargarla en el navegador.
Figura 3: Índice de bloques de la web "blog"
Así, se busca el contenido en todos y cada uno de los bloques marcados en el "índice de bloques" de una determinada web - que para nuestra PoC - almacenamos con un nombre simple, y se recompone la página en el cliente.
Figura 4: La extensión permite buscar web por su nombre
Las posibilidades de esta arquitectura son muchas, para evitar que se borren contenidos, que se censure una web, o para evitar que pueda ser eliminada,
Figura 5: La extensión descarga la web de la cadena de Blockchain y la pinta
Por supuesto, en esta arquitectura se puede aún añadir una capa mayor de protección, permitiendo que la página web esté cifrada y cargada desde un SmartContract, y que este SmartContract solo descifre el contenido de esa web si el usuario ha decido abrir la web con un Latch Web3.
Al final, se trata de jugar con una arquitectura web que utiliza otras estructuras de almacenamiento para, usando las tecnologías Web3 darle más control al creador del contenido de esa web.
Figura 7: Misma web cargada desde HTTP Server y BlockChain
Pero claro, almacenar una página web con muchos elementos, puede tener un tamaño que hagan muy caro utilizar estructuras BlockChain, así que se nos ocurrió que podríamos usar GenAI para reducir el tamaño de la web.
Figura 8: Demo de Web2Blocks en vídeo
Y ahí nació la idea de WebScalerAI, que ahora paso a contaros con esta pequeña PoC que tenemos a continuación.
WebScalerAI: Comprimir y Descomprimir Webs con GenAI & DeepLearning
La idea es bastante sencilla. Se trata de reducir el texto de una web, haciendo una reducción del texto y de las imágenes que se almacenan en el backend, por ejemplo en una cadena de BlockChain como en el caso anterior de Web2Blocks.
Figura 10: Una web con imágenes a mínima calidad y texto en "Prompting"
ocupa 400 Kb
Para ello, los textos se podrían reducir por un "Prompt" para un LLM/SLM que corriera en un entorno Cloud, o como creemos nosotros que será en el futuro, que es en cada aplicación. Esto significarían que tendríamos un navegador web con un SLM como parte de sus funcionalidades.
Figura 11: Expandida esta web pesa 1.5 MB entre texto e imágenes
Así, sólo habría que enviar el Prompt y una extensión del navegador, como la que tenemos en nuestra PoC hace el "inflado" del texto para que se pueda leer.
Figura 12: Super-reducida ocupa 100Kb
Con las imágenes, la misma idea. O bien contar con una generación mediante Prompting de un algoritmos de difusión que corriera en el navegador, o bien mediante el envío de una imagen de un tamaño muy pequeño y su ampliación mediante IA.
Al final, el resultado es el que véis en el vídeo. Una web con un texto y una serie de imágenes se puede comprimir o descomprimir usando GenAI & DeepLearning para lograr - cuando el objetivo sea el mínimo tamaño -, reducir al máximo el peso de una web.
Al final son sólo pruebas y propuestas de nuestro equipo de "Ideas Locas" para seguir creando pasitos que nos lleven a entender mejor este mundo, y tomar mejores decisiones en todo lo que construimos.
En el mundo de DeFi (Finanzas Descentralizadas), existe la preocupación constante de ser estafado a la hora de realizar una transacción de gran valor. Esto se debe a que tu transacción viaja a una “memory pool” pública momentos antes de ser incluida en la cadena de bloques.
MEV (Máximo Valor Extraíble) se refiere al máximo valor económico generado a través de la alteración de las transacciones a la hora de incluirlas en un nuevo bloque. Estas oportunidades se dan entre la creación de un bloque y el siguiente y son aprovechadas por los “Searchers”
Obteniendo las transacciones que están pendientes de incluirse en la cadena de bloques.
Figura 4: Captura de transacción en la mempool
Estos bots simularán en un entorno de prueba estas transacciones y si podrán obtener beneficios realizándolas desde su propia dirección. Para ello realizan desde copiar el “data” y subir la transacción con un mayor “gasPrice” para ser incluidos antes en la cadena de bloques, hasta operaciones mucho más complejas como los flashloans, dónde se toman préstamos de cantidades enormes para corregir el mercado y obtener cantidades generalmente pequeñas.
Según si la transacción del bot se coloca antes (frontrunning) o después (backrunning) de la transacción víctima y la intención de esta, conocemos tres tipos de ataques:
1.- Arbitraje: este es un backrun que se coloca para la corrección de mercados descentralizados. Aquí vemos como un bot se aprovecha de las diferencias en dos pools distintas de liquidez para obtener un beneficio mientras iguala los precios en los mercados.
2.- Sandwich: Este se compone de un frontrun más un backrun. Suelen aprovecharse de una oportunidad que ha encontrado otro usuario o del slippage (deslizamiento) que permitan al intercambiar en un DEX. Estos son malos para la red ya que empeoran la experiencia de usuario.
Figura 6: Esquema ataque sandwich
En el siguiente gráfico observamos como una persona quería comprar el token BIDEN con su WETH y no habrá fijado un slipagge muy cerrado por lo que un bot ha comprado el token antes que él, aumentando su precio en el mercado. Más tarde él ha comprado el token por ese precio más elevado y subiéndolo aún más. Finalmente, el bot ha devuelto la cantidad comprada cuando el precio estaba más alto obteniendo un beneficio.
Figura 7: Ataque sandwich a dirección que cambiaba
WETH por BIDEN en Uniswapv2
Además del intercambio injusto que ha recibido nuestra víctima, al aumentar el número de transacciones se aumenta el precio del gas por transacción y se congestiona la red por lo que es perjudicial para el ecosistema.
3.- Liquidación: Backrun parecido al arbitraje pero liquidando posiciones en préstamos descentralizados. Son los menos comunes. Estos se dan cuando el valor de un préstamo que se ha dejado como fianza, baja por debajo del umbral establecido y el contrato automáticamente lo pone a la venta para que cualquiera pueda comprar el token a un precio un poco por encima del que está en el mercado, para que el contrato no pierda liquidez.
Cuándo y Cómo Protegernos
La idea es evitar todas los posibles frontruns que nos puedan afectar, sean de sandwich o no. Por lo tanto, los momentos adecuados para protegernos del MEV serían:
Al intercambiar en un DEX.
Si intentamos un white hack del cual vayamos a extraer valor.
Cuando vayamos a retirar fondos de un contrato que no tenga protección de permisión como un owner o address concreta.
Transacciones de alto valor
La mejor protección ante cada uno de ellos es la de utilizar Protect RPC Endpoints. Esta es una de las medidas de defensa más directas y eficaces. Los Protect RPC Endpoints ocultan nuestras transacciones del mempool público, reduciendo así la visibilidad y el riesgo de ser objetivo de los bots de MEV.
Hoy en día, la empresa líder en el mercado es Flashbots, que ofrece este tipo de nodos privados en los que te prometen que tus transacciones no van a ser frontruneadas.
Por contraparte, utilizar estos servicios puede aumentar el coste de tu transacción dependiendo de la tarifa escogida y, por lo general, tardará más en incluirse en la cadena de BlockChain, ya que habrá que esperar a los nodos de flashbots minen el próximo bloque. Aquí tenéis un vídeo tutorial de como implementar un Protect RPC Endpoint en la wallet de MetaMask.
Otra buena práctica que se recomienda a la hora de realizar intercambios descentralizados es especificar y limitar el slippage. Para ello se recomienda interactuar con DEX seguros y actuales que incorporan mayor personalización y seguridad on-chain.
Figura 8: Slippage intercambiando en Uniswap
Si quieres recibir el valor esperado en tus transacciones en la cadena de BlockChain y no encontrarte con sustos, a veces, es mejor utilizar un nodo privado al que enviar tus transacciones a utilizar los públicos dónde podrás ser víctima de este tipo de bots.