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

martes, mayo 28, 2024

El "Modo Porno" de Google Chrome y las descargas chivatas crean el "Modo Fail"

Hace mucho tiempo, cuando se creo el "Modo Incógnito" de los navegadores, que algunos llamaron también "Modo Privado", otros lo denominaron como el "Modo Porno" porque solo servía para que el navegador no almacenara las URLs de Navegación, algo que incluso no siempre ha sido así. ¿Pero esto es realmente así hoy en día en todos los aspectos o se puede sacar info una vez cierres el navegador?

Figura 1: El "Modo Porno" de Google Chrome y
las descargas chivatas crean el "Modo Fail"

Yo suelo tener dos sesiones de navegación en paralelo en el mismo servidor de identidad, por lo que para que no me esté pidiendo cambiar de cuenta constantemente, tengo una navegación normal, y otra en "Modo Incógnito". Esto me permite tener en un servicio abiertas dos sesiones con dos usuarios distintos desde dos navegadores. Es útil. 

Sin embargo, hay dos cosas que cada vez que abro el "Modo Incógnito" de mi navegador perduran, y es conocido, pero tal vez tú seas de esos que no se ha fijado, que cuando lo vi yo, dije... "¡Gaitas!, ¡vaya modo porno más Fail!", así que os lo cuento.

Figura 3: En Modo Incógnito no se debería conocer tu historial de navegación

Al final, una de las promesas del Modo Incógnito es que no se sepa nada de tu "Historial de Navegación" como podéis ver en la imagen anterior, pero como vamos a ver, las Descargas son unas chivatas.

Las URLs de las Descargas

La primera de ellas son las URLs de las Descargas, que es bastante curioso. La idea es que te descargas algo en Modo Incógnito, cierras el navegador, y el historial de descargas sigue siendo un "chivato" de dónde has estado navegado, como podéis ver en esta imagen.

Figura 4: Descargas en Google Chrome

En la imagen anterior se puede ver que me he descargado tres documentos de MyPublicInbox en formato JPEG, que están además en el equipo aún. Pero también, como podéis ver, se ve que he hecho una Transferencia de algo a alguien hoy, y que además el documento no ha sido borrado del ordenador (está el link disponible) en formato .PDF

Figura 5: Se puede ver dónde está el documento en el equipo.

Que aparezcan todas esas URLs tiene sentido porque, si no estás acostumbrados a verlas, estas descargas están hechas sin el Modo Incógnito (recordad que os dije que yo uso dos sesiones), pero si ves la siguiente, verás que se hizo en Modo Incógnito, que tiene el logo, y el funcionamiento es exactamente el mismo.

Figura 6: Descarga en Modo Incógnito en Google Chrome

Así que para cualquiera que acceda a esta sesión, le vas con darle al menú e ir a buscar el fichero dentro del equipo, tal y como podéis ver en la imagen anterior. Y ver qué es lo que has hecho. Recordad que el "Modo Incógnito" es para que, en un equipo en el que hay usuarios compartidos, uno no tenga acceso a la información de navegación del otro, pero con las Descargas se puede saber, incluso si has borrado el fichero del ordenador.

Figura 7: Los ficheros borrados que usé para hacer mi artículo
de Captcha Story X y las URLs de navegación.

Así que, la única manera de que esta información no esté disponible para otro usuario del mismo sistema operativo es eliminar las Descargas, si no, cualquiera que mire el Historial de Descargas podrás descubrir URLs de navegación que hayas visitado. E incluso hay muchas descargas que tú no te das cuenta, porque son DATA o BLOBs que se descargan con solo hacer un clic.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, febrero 08, 2022

Código 10% Descuento en 0xWord para el "Safer Internet Day" 2022. Sólo hoy.

Hoy es el "Safer Internet Day", o el día de hacer que Internet sea un poco más seguro para hacer que la experiencia en Internet de las personas sea también más segura y protegida. Para ello, como ya os dije ayer, estamos haciendo una pequeña campaña en TikTok con los hashtags de #SeguridadEnTikTok y #EscapaDelHate, pero desde 0xWord queríamos sumarnos también con un código descuento para que todos los que queráis tener uno de los libros de seguridad y hacking nuestros lo podáis conseguir, solo hoy, con un descuento del 10%, usando el código: INTENETSEGURA2022

Figura 1 Código 10% Descuento en 0xWord para el
"Safer Internet Day" 2022. Sólo hoy.

El código descuento estará disponible solo estas 24 horas, y si quieres comprar o regalar un libro para que la experiencia de Internet sea mucho más segura para personas que no son técnicas o que están comenzando en este mundo, te recomiendo, en concreto el libro de "Cómo protegerse de los peligros en Internet", que escribió José Carlos Gallego, que además se ha animado a hacer una jornada hoy en Cantabria con este mismo objetivo de difusión del Día de Internet Segura.

Figura 2: Libro de "Cómo protegerse de los peligros en Internet"
de José Carlos Gallego en  0xWord

Por supuesto, mi visión es que cuantos más expertos en seguridad informática y en hacking tengamos, más seguros estaremos todos, así que el código es perfecto para ti que te quieres meter en este mundo y mejorar tus habilidades en esta materia, así que toma nota del cupón y cómprate los libros que quieras. 

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, enero 18, 2022

Los NFTs y el registro mundial de los dueños de activos digitales en el Metaverso

Los Non-Fungible Tokens o NFTs me llaman la atención desde el minuto uno de la concepción de los mismos. La idea de eliminar del mundo digital una de las propiedades más comunes, y traer una de las propiedades del mundo físico para eliminarla, es llamativo. Hable de ello en el artículo de "Jugando a ser dioses con la tecnología" que publiqué en mi sección de "El futuro está por hackear".

Figura 1: Los NFTs y el registro mundial de
los dueños de activos digitales en el Metaverso

Los NFTs quitan, o deberían quitar, la capacidad de que cualquiera pueda ser el dueño de un mismo objeto digital. Es decir, garantizar que el dueño de un activo digital solo es una persona. Que solo uno pueda obtener los derechos que da la posesión de ese activo digital. Y mi cabeza explotó cuando empezó a jugar con esta idea en el inicio. Dejadme que os explique por qué.

El registro mundial de los dueños de activos digitales

Esta es la idea clave. Supongamos que usamos una cadena de Blockchain de las muchas que tenemos y anclamos en ella los datos del dueño de un objeto digital y cualquiera puede consultarlo, y aplicar los derechos que la posesión otorga al usuario. Esto permitiría poder demostrar siempre que tú eres el dueño único de ese objeto digital, y preserva el coste y el beneficio que la posesión de ese activa tiene. Me explico con algunos ejemplos.

Supongamos que compramos arte. Composiciones artísticas en forma de vídeos, fotos, esculturas, cuadros digitales, colecciones, etcétera, y la posesión de los mismos otorga el derecho de posesión total de esa obra por medio de un SmartContract en el que está el contrato de compraventa de ese objeto. Es decir, se ha vendido ese objeto con todas las consecuencias en el mundo digital.

Ahora supongamos que tres mundos virtuales de los muchos que pueden estar en el Metaverso, por ejemplo Fortnite, Meta, Roblox o Minecraft, deciden respetar los derechos de propiedad de los objetos que en su mundo virtual se utilizan, y cada vez que se hace un uso de uno de los objetos virtuales en forma de NFT se consulta "el registro mundial de los dueños de activos digitales" para ver si un usuario puede cargarlo y utilizarlo en su mundo virtual.

Figura 2: BlockChain Gobblins del artista Nikotxan

Si se dieran esas tres características, esos mundos virtuales se habrían puesto de acuerdo para eliminar la copia digital - algo que en Internet fue uno de los grandes motores de crecimiento donde cualquiera podría acceder a una copia de una canción, una imagen, una partitura, un libro o una película - de esos mundos virtuales.

Es decir, supongamos que el dueño de los derechos de una obra en el mundo físico, como por ejemplo los guantes de Iker Casillas en la final del Mundial de Sudáfrica. Imaginemos que el dueño de esos guantes, que será una casa deportiva, decide vender en forma de NFT la posesión única de esos guantes. Es decir, el dueño de ese NFT es el que ha comprado todos los derechos digitales de uso y comercialización de eso guantes. O lo mismo de un cuadro de Okupa. Imaginemos que el gran Okuda decide hacer un cuadro en el mundo digital que solo existe en el mundo digital y, en lugar de vender el marco, con las pinturas, con sus cosas, vende su obra en forma de NFT.

El paso fundamental siguiente sería que los mundos virtuales del Metaverso, es decir, los que en mi ejemplo serían Fortnite, Meta, Roblox y Minecraft, consultaran ese registro mundial de los dueños de activos digitales y permitieran cargar o no, ese objeto en forma de guante de Iker Casillas o cuadro de Okuda dentro de su mundo digital. Así que los dueños serían los únicos capaces de usarlos dentro de esos mundos. Serían los únicos que podrían llevar ese guante como avatar, o se podría construir un museo como el Museo del Prado dentro de esos mundos virtuales, siendo solo ese lugar el único que puede exhibir esas obras, porque son los únicos que tienen ese NFT.

Por supuesto, esto tiene muchos "ifs" porque gestionar ese "registro mundial de los dueños de activos digitales" obligaría a demostrar la posesión de los objetos que se están comercializando. Ya no sería registrar el proceso de compra, sino que necesitaríamos otra pieza más en el proceso, que es, cómo registramos "quién es el primer dueño de un objeto digital no firmado todavía".

Es decir, en OpenSea un usuario se ha puesto vender NFTs de una de las imágenes de Cálico Electrónico. Por supuesto no hemos sido nosotros, que somos los dueños de Cálico Electrónico. Un usuario cualquiera se ha puesto a generar NFTs de imágenes descargadas desde Internet que vende en forma de NFTs en la tienda de OpenSea.

Figura 3: Falso NFT creado con la imagen de Cálico Electrónico en OpenSea

El comprador de esas imágenes, está comprando un NFT sin ningún valor, ya que no es más que una copia de una imagen que no otorga ningún derecho, ni el de impresión, ni el de exhibición ni el de uso, ni de comercialización, ni de nada. Es solo una simple firma en forma de NFT en OpenSea de una imagen que está en miles de sitios de Internet. 

Así que, para que esto funcione, tenemos que meter un proceso de verificación auténtica - al menos la primera vez - de quién es el dueño de un objeto digital. Así que Okuda o la empresa dueña de los derechos en el mundo físico de los guantes de Iker Casillas, debería hacer una verificación fuerte, robusta y segura de que Okuda es Okuda, que el cuadro lo ha hecho Okuda, y entonces registrarlo como el primer dueño. Es decir, necesitamos la figura del Notario y el Registro.

Pero... ¿cuánto valdría un objeto en el mundo digital, por ejemplo, esos guantes de Iker Casillas o ese cuadro de Okuda si nadie más que el dueño de ese objeto pudiera utilizarlo en todo el Metaverso? Pues un montón de dinero, seguramente. Pero es que si esto fuera así, si fuéramos capaces y decidiéramos hacer este control se acabaría con la piratería en el Metaverso. Sería como darle la vuelta a lo que ha sido Internet desde hace décadas.

Imaginaos ahora que en el Metaverso sucediera lo mismo con los libros, canciones y películas. Es decir, que solo el que tenga un NFT con el derecho de reproducción pudiera escuchar, ver o leer uno de esos objetos en el Metaverso

Y la cabeza me vuela.

Lo cierto es que estamos aún solo en los albores de este mundo. Hoy en día puedes comprar objetos en los mundos virtuales que usan la imagen de marcas, de empresas, y de productos registrados. Por ejemplo, puedes comprar avatares con el diseño de Cálico Electrónico que es una marca registrada. Puedes diseñarte tú tu propia avatar copiando el de una marca registrada. Puedes decorar una casa con una copia de un cuadro de cualquiera, puedes hacer mil cosas que las empresas detrás de las plataformas no han querido controlar.

La pregunta que me hago yo es, ¿querrán en el Metaverso controlar la posesión de los objetos por medio de NFTs? ¿Se permitirá la copia de objetos, todos lo podrán utilizar, pero uno será el "original"? ¿Se garantizará el origen de un NFT?  Estas cuestiones marcarán mucho la evolución, y por supuesto el precio de los objetos. Porque no vale lo mismo dependiendo del caso, y, por supuesto, cada acción tiene una reacción, igual que al software comercial le siguió la aparición del software libre, o al "control" en Internet le surgieron FreeNet, TOR o I2P en la Deep Web.

Figura 4: Libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación"
de Yaiza Rubio y Félix Brezo

Lo que está claro es que esta tecnología, es decir, NFTs, SmartContracts & BlockChain pueden permitir eso, que en un mundo virtual solo tenga un objeto digital el dueño del mismo, pero aplicar esto implica crear burocracia, procesos, y dar un giro de volante grande a lo que ha sido el mundo de Internet hoy en día. Y ser el primero que haga esto, puede dar muchas ventajas, o significar que los usuarios busquen otros mundos virtuales sin controles. Quién sabe. Pero va a ser emocionante ver esta revolución. Más artículos sobre este mundo Web3:
¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, enero 03, 2022

El feed RSS "No Hack, No Fun" con todo lo que me interesa

Si eres de los que se subieron a la Web 2.0 con la llegada del RSS, seguramente seas usuarios de los lectores RSS y recordarás el "drama" que tuvimos cuando se cerró Google Reader para convertirlo en parte de Google+. Una pena que acabó como acabó. Yo me moví, como muchos a Feedly, y sigo siendo un usuario de los canales RSS. No me gusta estar al vaivén de lo que se viraliza por redes sociales, me parece que es más fácil ese canal para que te lleguen Fake News y estar a merced de bots, campañas de Growth Hacking, etcétera. 
Pero es una opinión personal, así que sigo teniendo cargado mi lector RSS de feeds que leo todos los días. Se me puede pasar lo que sucede por las redes sociales, pero no lo que me entra por mi canal RSS. Ahí sigo a la gente de la que me fío, la gente que publica cosas que me parecen interesantes, y es mi principal foco de estar conectado al mundo. Si no pasa en mi lector RSS, puede que no me interese tanto. 
E igualmente que consumo, hay un Feed RSS que genero con todo lo que publicamos, con todo lo que es interesante para mí, con todo lo que mis equipos, amigos, y gente de mi interés publica. Es el Feed RSS de "No Hack, No Fun"
Como sabéis, "No Hack, No Fun" está construido sobre Paper.ly, en forma de periódico online con todo lo que publicamos y me interesa de las Redes Sociales e Internet. Yo lo mantengo a diario. Todos los días doy de alta unas 50 publicaciones a la semana con lo que hacemos o que me interesan, y cada semana - más o menos - lo rehago de cero. Es uno de los trabajos rutinarios que hago durante años, y lo sigo manteniendo.
Este periódico online, además de tener su versión para navegar por las secciones, tiene también una lista de distribución por e-mail, donde, cada vez que doy por terminada una edición, la envío a las miles de personas que están suscritas.

Figura 5: Unos 47 artículos por semana de media

Pero si quieres tener todas las noticias que publicamos y que son de interés para mí, también puedes seguir el Feed RSS de "No Hack, No Fun", que tienes en la siguiente URL. Basta con que vayas a tu lector de feeds RSS y lo pongas. 
Tendrás todas las noticias y publicaciones que hacemos, y que son de mi interés, en un único Feed RSS que puedes seguir sin necesidad de ir a la web. Así que, si eres de los que disfruta de leer las noticias sin ads ni cookies, en un lector rápido y configurado para ti, tienes toda mi actividad resumida en un único punto.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, noviembre 11, 2021

La venta de marihuana, una abuela de 72 años comprando margarina y un CD de Sting, así comenzó la revolución de las compras por Internet

Hoy día, comprar por Internet cualquier tipo de producto es algo casi rutinario. Desde ropa, alimentación o prácticamente cualquier cosa que se te pueda ocurrir se puede adquirir por Internet. Pero ¿sabes cuándo comenzaron este tipo de transacciones por Internet? o mejor aún, ¿cuál o cuáles fueron los primeros productos que se compraron online

Figura 1: La venta de marihuana, una abuela de 72 años comprando margarina y un CD de Sting, así comenzó la revolución de las compras por Internet

Pues prepárate porque hay curiosidades y personajes de los que nos gustan muy interesantes en estas primeras compras realizadas desde una Internet en crecimiento. Por cierto, si te gustan estas historias de la Informática recuerda que tenemos un libro donde recopilamos las más interesantes relacionadas con grandes hackers y sus logros, como la que vamos a contar hoy que tuvo lugar en 1972.

Figura 2: Libro de "Microhistorias: anécdotas y curiosiades de la historia
de la informática (y los hackers)" de Fran Ramírez y Rafel Troncoso 0xWord.

Ese año pasaron muchas cosas en el mundo de los ordenadores, por ejemplo, Pong salió al mercado de la mano de una recién creada Atari, Dennis Ritchie y Ken Thompson presentaron un lenguaje de programación que igual te suena un poco, el Lenguaje C e Intel introduce el chip 8008, etcétera. Pero a nivel de comunicaciones, todo estaba aún en pañales. Internet allá por 1972 se llamaba Arpanet y sólo se podía utilizar si tenías cuentas asociadas a alguna de las universidades que estaban trabajando en su desarrollo. Una de ellas era la Universidad de Stanford y otra era el MIT de Boston.

Marihuana, la primera transacción por Internet ¿seguro? 

Un grupo de estudiantes de Inteligencia Artificial de MIT (recuerda que prácticamente la Inteligencia Artificial se inventó aquí) tenían esas cuentas con acceso a Arpanet y estaban comunicación con sus colegas de Stanford cuando de repente, mientras trabajaban con redes neuronales y posiblemente LISP, tuvieron la imperiosa necesidad de obtener … marihuana. Así que no se les ocurrió otra cosa que preguntarles utilizando la red Arpanet si sus colegas del Stanford tenían alguna para venderles. Pactaron la transacción posiblemente utilizando Unix mail, un programa que permitía enviar e-mails entre diferentes usuarios de Unix.


Esta historia la cuenta John Markof en su libro llamado “What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry” pero no se ofrece mucha más información. Pero claro, esto realmente no fue una compraventa como tal por Internet o Arpanet. No se envió dinero a través de la red o se utilizó alguna plataforma de compra. Fue simplemente un acuerdo sellado a través de Aparnet/Internet igual que podría haberse llevado a cabo a través de correo ordinario. 


Pero el hecho de haberse comunicado a través de la red Arpanet, cuando estaba aún comenzando y todavía Internet tal y como la conocemos hoy era un sueño casi inalcanzable, nos sirve para ver demostrar la naturaleza humana y su uso de las herramientas disponibles (y no vamos a hablar de la historia de la pornografía en Internet, que también merece su Microhistoria, eso lo dejamos para otro día). Arpanet, sólo 24 nodos funcionando y dos de ellos ya estaban intentando comerciar con marihuana … ahí lo dejamos.

La "verdadera" primera transacción online por TV-Commerce... en 1984

Lo cierto es que no fue hasta 1984 cuando realmente se produjo la que podemos considerar, ahora sí, la primera transacción online (aunque no fue por Internet). Una abuela británica llamada Jane Snowball de 72 años (para que luego digan que las personas mayores no saben utilizar las tecnologías) utilizó un servicio llamado Videotex (en España Telefónica lo lanzó como Ibertex) para pedir margarina, huevos y cereales directamente a una tienda local usando su mando a distancia de la TV, realizando el primer uso de una plataforma de Tv-Commerce que conocemos. 


Esta vez sí estamos cumpliendo al menos la mayoría de las condiciones para dar por válida una compra online. Excepto el pago, que fue en efectivo cuando le entregaron la compra, el pedido se realizó a través de un medio telemático.


La compra fue posible gracias a que, en 1979, Michael Aldrich inventó lo que hoy podemos llamar e-commerce o comercio online (tv-commerce en su versión TV). En ese año en Inglaterra, Michael instaló este método para compras usando Videotex (que también desarrolló él mismo) que usaba la línea telefónica y ese fue exactamente el medio por el cual la entrañable señora Jane realizó su compra. Hemos visto que Jane casi cumple los requisitos para considerar la primera compra online, pero entonces ¿cuál fue la primera que cumplió todos los requisitos al 100%?

Un CD de Sting, la primera transacción online 100%

El 11 de agosto de 1994, Dan Kohn vendió un CD de Sting llamado “Ten Summoner´s Tales” a través de un sitio web llamado NetMarket. Esta vez sí, el pago se realizó utilizando la tarjeta de crédito del comprador cifrando su información y enviada al sitio web. Tal y como lo realizamos hoy, más o menos. El precio fue de 12,48 dólares (más gastos de envío) y le comentó al The New York Times que ni siquiera si la NSA estuviera escuchando podría obtener ese número de crédito. NetMarket utilizaba PGP (como Snowden) y hoy día OpenPGP es el estándar de cifrado más utilizado en Internet. En este enlace podéis encontrar una entrevista a Dan donde explica toda la historia con detalle.

Figura 7: Netmarket en 2002.

Realizar la compra no era para cualquier en principio ya que era necesario utilizar un navegador específico que sólo funcionaba con Unix, pero esto no quita el hecho de que se pudo realizar al completo el trato online. Por lo tanto, ya sabemos que la primera compra fue un CD de Sting ¿o no?

La controversia y conclusiones

Pues parece ser que había una tienda de componentes de ordenador llamada The Internet Shopping Network, la cual comenzó a operar de forma similar sólo un mes antes que la web de Dan. Así que no está del todo claro cual fue la primera transacción real. Pero a nosotros nos da igual. Preferimos quedarnos con el hecho de que la revolución de las compras por Internet no comenzó con una transacción de marihuana (que también), sino por una abuela llamada Juana Bola de Nieve (Joan Snowball) de 72 años comprando comida desde la TV utilizando un mando a distancia con una bata de guatiné y sólo tardó 15 minutos en hacerlo (toma nota).

La tecnología y su historia, amigos y amigas, es maravillosa 😉

Autores:

Fran Ramírez, (@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

Rafael Troncoso (@tuxotron) es Senior Software Engineer en SAP Concur, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" además del blog CyberHades. Puedes contactar con Rafael Troncoso en MyPublicInbox.

domingo, agosto 29, 2021

¿Con qué te quedas? ¿La sala de reuniones o la conexión a Internet?

Esta semana, con la publicación de mi artículo "Trabajar en la empresa en la que quieres trabajar desde el lugar donde quieres vivir" en la sección de Zenda Libros de "El futuro está por hackear", me han contactado y preguntado mucho los amigos, compañeros y conocidos para hablar de él, compartirme su visión, o simplemente confirmarme que opinan igual o distinta, o con matices.

Figura 1: ¿Con qué te quedas? ¿La sala de reuniones o la conexión a Internet?

El punto de interés es que, plantear un debate sobre cómo debe ser el trabajo en el futuro después de la pandemia en un mundo hiperconectado, globalizado, y con la experiencia que hemos tenido en esta fase de pruebas de la pandemia, es importante. Pensar en cómo balancear vida laboral y vida personal es el debate, el objetivo, tener una vida más plena y feliz. 
Si no has leído el artículo del que hablo, te recomiendo que lo leas antes, pues este post solo es un corolario a modo de reflexión con algo que hablé con uno de los lectores del mismo y compañeros. Y es la pregunta que lleva por título este post. La pregunta es la siguiente:

"Supón que llegas a la oficina de tu empresa y no hay Conectividad con todo lo que ello implica. Es decir,  que en tu oficina no funciona el teléfono, el e-mail, la red de datos, WhatsApp, Teams, o cualquiera otra herramienta de conexión "REMOTA" y en tu casa sí que funcionan..... ¿Podrías trabajar en la oficina así? ¿Te quedarías o te irías a tu casa?"

Si la respuesta es que te irías a tu casa a trabajar, entonces es que en tu trabajo, por mucho que lo creas, la oficina física, la sala de reuniones, los pasillos y cafetería son mucho menos importantes que algo que puedes consumir en remoto, como son las herramientas de comunicación. 

Así que, si no quieres 100% de flexibilidad en el trabajo remoto - que no work from home, que una cafetería, una piscina o una casa de campo es tan buena para trabajar remotamente que una oficina - por lo menos deberías empezar a plantearte, como forma de balancear el trabajo y la vida familiar, el tener un amplio porcentaje de flexibilidad de ubicación para trabajar contigo y con tu equipo, ¿no crees?

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, junio 24, 2021

RINA: Breve introducción a su arquitectura y sus principios de arquitectura

En el anterior artículo hablamos sobre los defectos que tiene la arquitectura de red TCP/IP actual. Antes de empezar a desarrollar cómo RINA mejora los defectos que tiene la arquitectura actual, me gustaría matizar algo que considero importante. RINA no se plantea como un reemplazo del TCP/IP. RINA nace con la motivación de proponer una arquitectura nueva donde TCP/IP no puede llegar. 

Figura 1: RINA: Breve introducción a su arquitectura y sus principios de arquitectura

RINA se puede desplegar de manera incremental interoperando con las tecnologías actuales. No necesita un despliegue limpio como por ejemplo si necesita IPv6. Es decir, puede funcionar en varios casos de uso distintos (por encima de una red Ethernet, por encima de una red IP, etcétera).

Principios de la arquitectura

RINA de manera general, se basa en el principio de maximizar los invariantes en la arquitectura, de modo que se pueda minimizar el número de protocolos. La siguiente figura ejemplifica esta afirmación de manera gráfica.

Figura 2: Representación abstracta de la arquitectura y los protocolos de red
actuales frente al objetivo deseado. Fuente: RINA ETSI Report

Lo que se pretende en RINA es solucionar la mayoría de problemas complejos dentro de la arquitectura, es decir, todas las cuestiones que no dependan de los requisitos de cada red, solucionarlos dentro de la arquitectura de manera que tendremos menos protocolos y estos se parecerán más entre ellos.

¿Qué es la red?

Como hemos explicado en el artículo anterior, la red no es más que el canal que permite comunicación entre aplicaciones (por ejemplo, Skype, e-Mail, WhatsApp, etcétera). Por tanto, la red es en sí misma, una aplicación distribuida especializada en proveer este canal de comunicación entre aplicaciones (es decir, procesos).

En RINA, a este canal se le llama DIF (Distributed IPC Facility), que viene a significar exactamente lo que veníamos diciendo, una aplicación que provee servicios de comunicación entre procesos. Como primer modelo podríamos tener un solo DIF que proporcione a dos aplicaciones capacidad para comunicarse.



Figura 3: Representación de un DIF para proporcionar IPC entre dos endpoints.
Fuente: Eduard Grasa, diapositivas Introducción a RINA

Pero no nos podemos quedar tranquilos así. Si solo tenemos un DIF para dar comunicación a todas las aplicaciones del mundo, no funcionaria, ergo no es escalable. Pero esto es algo que podemos solucionar de manera relativamente sencilla. Necesitamos aislar los diferentes scopes en las redes.

Figura 4: Representación de varios DIFs para proporcionar IPC entre 2
endpoints. Fuente: Eduard Grasa, diapositivas Introducción a RINA

Lo que tenemos en RINA entonces, son múltiples DIFs que proveen IPC entre ellos. Al fin y al cabo, un DIF simplemente es una aplicación distribuida. ¿Y cuántos DIFs se tienen que usar en una red? Pues tantos como el diseñador de la red considere oportunos para el caso de uso que se quiere proveer IPC. Por ejemplo, habrá un DIF (rojo) que estará por encima del nivel físico, que se adaptará a la tecnología que modula la información por debajo (aire, fibra, cable, etcétera); o bien puede interesar tener un segmento de red metropolitano (azul) más lejos de los usuarios, que agregue más cantidad de tráfico al flujo.

Al final, lo que tenemos es una arquitectura más abstracta y más sencilla, ya que en una red solo se tiene el mismo elemento repetido N veces. Con lo cual, gestionar la red se hace más fácil, ya que solo sabiendo cómo se comporta un DIF y cómo se relaciona con otro DIF (o aplicación, porque interactúan de la misma manera), se puede generalizar a cómo interactúa toda la red con todos los elementos que la componen. De aquí viene lo de Recursive en RINA, ya que (abusando del término) lo que se tiene es un mismo tipo de capa que se va repitiendo y se usan los servicios de una capa a otra de la misma manera que las aplicaciones usan los servicios de ella.

Importante hacer énfasis en que las distintas capas (distintos DIFs) no tienen funcionalidades distintas, solo se ocupan de proveer servicios de comunicación entre procesos en un scope. Entonces, un DIF provee servicios para que dos aplicaciones se comuniquen, pero… ¿Puede haber varias aplicaciones usando los servicios de un mismo DIF? Por supuesto, de hecho, de manera más concreta, un DIF proporciona los servicios de comunicación asignando recursos (memoria en buffers, capacidad de ancho de banda, etcétera) para las distintas aplicaciones. Luego, las aplicaciones piden un flujo de comunicación al DIF con unos requisitos concretos y compiten unas aplicaciones con otras para poder obtener ese flujo. 

Dentro del DIF

¿Y qué hay dentro de un DIF exactamente? Dentro de los DIFs, siguiendo la filosofía de RINA, también se pretende simplificar al máximo su estructura interna (siguiendo el principio de maximizar las invariancias). Las funciones que hace un DIF se clasifican en tres tipos:
  • Funciones de transferencia de datos
  • Funciones de control de transferencia de datos
  • Funciones de gestión de capa
Para poder realizar estas funciones, se necesitan de protocolos, tal y como nos pasa en la arquitectura actual. Pero recordamos que queremos tener los mínimos protocolos y lo más simple posible. Para minimizar la variabilidad entre protocolos dentro del DIF al mínimo, lo que se hace es separar entre mecanismo y policy.
  • Los mecanismos son las partes fijas en un protocolo. Por ejemplo, el acknowledgement (ACK); que es un tipo de mensaje que se utiliza para saber si un paquete ha llegado correctamente a su destino.
  • Policy es la parte del protocolo que cambia. Por ejemplo, cuando y cómo enviar un ACK es una policy.
Y con esta premisa de separar entre mecanismo y policy, nos sale que solamente con dos protocolos es suficiente para cubrir las tres funcionalidades del DIF: EFCP para transferencia y control de transferencia de datos, y CDAP para gestión de capa.

Nombres y direccionamiento

Sin entrar mucho en detalle, ya que de esto ya hemos hablado en el otro artículo, RINA plantea un esquema de nombres que facilita la movilidad, simplifica el enrutamiento de tráfico y proporciona multi-homing de manera nativa.

Figura 5: Estructura de nombres y direccionamento en RINA.
Fuente: Eduard Grasa, diapositivas Introducción a RINA

Como ya hemos discutido anteriormente, necesitamos que las aplicaciones tengan un nombre, y que lo conserven independientemente de donde se encuentren. Luego tenemos direcciones de nodo, que nos dan pistas sobre dónde viven las aplicaciones. A continuación mostramos una tabla comparativa con el sistema de nombres actual

Figura 6: Tabla comparativa.

Por último, tenemos las direcciones de punto de anclaje (point of attachment), que estas direcciones sí que nos dicen cómo llegar a donde viven las aplicaciones.

Conclusión

Si has llegado hasta al final, te habrás dado cuenta de que RINA proporciona una arquitectura bastante abstracta, y en consecuencia, el objetivo final de RINA es poder tener un framework que permita desarrollar protocolos y así poder simplificar las redes en general. Como he dicho en el principio del artículo, se puede aplicar RINA en ábmbitos concretos, como por ejemplo dentro de los centros de datos. 


Figura 7: Future Internet and RIMA

Al ser una tecnología relativamente nueva, la idea es ir empezando con casos de usos muy sencillos y poco a poco irse moviendo a casos de usos más grandes y complejos. Os dejamos algunos enlaces que podrían ser interesantes.
  • Future Internet and RINA Architecture | EduTec&Cria: Charla de Eduard Grasa, la cual se ha usado de guía y referencia para escribir estos dos artículos. De hecho, estos dos artículos se podrían considerar como una síntesis/introducción de esta charla. Esta charla explica de manera muy entendedora y sencilla qué problemas tiene la arquitectura actual y cómo RINA puede solucionarlos.
  • IRATI: Es una implementación Open Source de RINA que tiene una Wiki bastante completa y documentación sobre RINA.
  • ETSI RINA ReportEste es el documento de estandarización de RINA en el que se explica de manera más técnica todos los detalles técnicos de RINA.
Saludos,

Autor: Bruno Ibáñez, Investigador de Ciberseguridad e IA en Ideas Locas y Sergio Giménez investigador de i2cat.

miércoles, junio 23, 2021

¿Está roto Internet? Qué es RINA y por qué puede solucionar los problemas de la arquitectura TCP/IP actual

Empezamos fuerte: Internet está roto. Bueno, quizás no completamente, pero sí que tiene varios defectos. De hecho, siendo un poco más rigurosos y menos alarmistas con la anterior afirmación, podríamos decir que la arquitectura de red en la cual está diseñado internet tal y lo conocemos hoy en día, es mejorable. Puede parecer inocente afirmar esto, pero espero que al final de este artículo se entienda las debilidades que tiene la arquitectura actual y cómo podríamos mejorarla.

Figura 1: ¿Está roto Internet? Qué es RINA y por qué puede
solucionar los problemas de la arquitectura TCP/IP actual

Pero empecemos por el principio. ¿Qué es una arquitectura? Podríamos definir una arquitectura como un conjunto de patrones y metodologías que permiten diseñar elementos con requisitos distintos. Ejemplifiquémoslo. Si tenemos en mente una iglesia/catedral, podemos decir con relativa facilidad, viendo el edificio, que tiene una arquitectura gótica, románica, clásica, etcétera. A pesar de que todos los elementos son edificios, cada uno tiene unas características distintas. Por tanto, una arquitectura captura patrones invariantes y comunes entre distintas construcciones independientes de los requisitos de cada una.

Pues ya tenemos el concepto de arquitectura definido, ahora nos falta el segundo: red. ¿Qué es una red? Al fin y al cabo, una red nos proporciona comunicación entre dos extremos, que de ahora en adelante llamaremos endpoints. ¿Pero estos endpoints que son? Pues en última instancia, son aplicaciones (siendo rigurosos, instancias de proceso del sistema operativo). Por lo tanto, una red no es más que una manera de copiar datos de manera distribuida (e imperfecta) entre dos aplicaciones. Esta definición de red, estaba muy presente en los inicios de las redes de comunicaciones, y en conclusión, viene a decir que, las redes de computadores, presentan servicios de comunicación entre procesos (IPC services en inglés).

Figura 2: Modelo de arquitectura de la OSI (izquierda, centro) y modelo de conjunto de protocolos de Internet (izquierda) Fuente: RINA ETSI Report

Bien, ya tenemos una idea más o menos clara de lo que es una arquitectura de red. Ahora la pregunta que nos podríamos hacer sería la siguiente: ¿Cuál es la arquitectura de red actual? Pues no está formalmente definida. Según nuestra definición de arquitectura, el modelo actual no se corresponde a una arquitectura definida de manera formal y precisa. Lo que sí existe, son una serie de reglas que se cumplen (más o menos) y que funcionan (más o menos) y que hay problemas que no contemplan, y entonces cada caso de uso debe ser resuelto de manera independiente. Veamos más en detalle cuáles son los problemas que tenemos con la “arquitectura” actual.

Problemas de la arquitectura actual

1.- Layering

La arquitectura actual no deja espacio para nuevos protocolos de red. Hay una capa llamada “de red” común en todo Internet por encima del nivel de enlace. Esto implica que, por ejemplo, si una red quiere hacer routing que no sea IP, o esconder routers internos de redes privadas del Internet público, se deben usar soluciones ad-hoc.

El hecho de que se tengan que usar soluciones específicas para cada caso de uso es un problema, porque como es algo no está contemplado en la arquitectura común, cada diseñador de red arregla “sus problemas a su manera”. El caso de uso expuesto antes donde se quiere hacer routing de distinta manera, se puede resolver con MPLS (Layer 2.5), pero también se puede resolver de otras formas, por ejemplo en redes celulares está GTP, o protocolos de IP-tunneling (paquetes IP dentro de paquetes IP), etcétera.

Figura 3: El modelo de arquitectura de Internet se amplía constantemente
para contemplar nuevos casos de uso. Fuente: RINA ETSI Report

Al fin y al cabo, en esta sección se pretende ilustrar que, como la arquitectura no contempla una solución común independiente del tipo de red, existen una miríada de soluciones dispares. Y al fin y al cabo, esto se resuelve de la manera en que se ilustra en la figura inferior. Algo que a priori debería ser sencillo, con unas capas fijas, se acaba convirtiendo en realidad en lo que se muestra en la figura siguiente, donde aparecen distintos protocolos que se meten entre las distintas capas para poder solucionar casos de uso que ocurren en la actualidad y que la arquitectura no contempla. Si tuviéramos una arquitectura bien definida y concreta, no acabaríamos teniendo una macedonia de protocolos y soluciones puntuales.

2.- Nombre y direccionamiento

Otro problema que existe en la arquitectura actual es cómo identificar distintas entidades dentro de una red. Tenemos las aplicaciones, que son los endpoints de un servicio de comunicación de red. Veamos un ejemplo en la figura a continuación.

Figura 4: Nombres y direccionamiento en la arquitectura actual

Las aplicaciones no tienen un nombre independiente. Para establecer un flujo de conexión TCP, necesitamos la dirección donde se encuentra la aplicación, además de un puerto, que indica el endpoint del flujo. Paremos aquí un momento.

Si nos fijamos en la dirección de la aplicación de Alice es www.elladodelmal.com:80, vemos que esto no se parece a una dirección IP, y en efecto, se necesita la traducción del DNS para convertirlo a dirección IP. El DNS resuelve la dirección antes de establecer el flujo de conexión, y el DNS es un sistema externo, ajeno a la red. La red no entiende de direcciones de aplicaciones, la red solo entiende que está conectando una interfaz de red (y un puerto) a otra interfaz de red (y otro puerto).

Por ejemplo, si la red se mueve, la red no tiene ni idea que la misma aplicación se está instanciando en otra parte, entonces cualquier gestión que haya que hacer (como por ejemplo volver a enrutar el tráfico), no se puede hacer sin un elemento externo a la red (como es el caso del DNS). En conclusión: que la red no sepa los nombres de las aplicaciones es un problema.

3.-Movilidad

Como hemos visto, el nombre de la aplicación no es estable y depende del sitio donde te encuentres. Una ejemplificación muy simple de la problemática que causa este hecho, sería que yo en mi casa me llamara Sergio, pero que en mi trabajo me llamaran de otra manera, solo por el simple hecho de haberme movido. 

Con las redes pasa exactamente esto. Si te mueves, tu dirección cambia. ¡Y debe ser así! Porque la dirección debe identificar dónde te encuentras exactamente; pero el nombre de la aplicación debería ser estable, ya que solo indica quién eres y no debe variar en función de donde te encuentres.

Pero en el modelo actual no ocurre esto. En la capa de red (que se ocupa del enrutamiento) solo existe un único identificador: la dirección IP. Los routers no entienden de nombres de aplicaciones, solo direcciones IP. Así que si se quiere tener movilidad en una red, se deben usar más protocolos.

4.- Multi-homing

Se puede dar el caso de que Alice tenga más de dos interfaces de red en su máquina, es decir, Alice se puede conectar a una red o a más de una red. El problema aquí, es que cada interfaz debe tener una dirección IP distinta. Con lo cual, la aplicación de Alice tiene 2 direcciones, ya que tenemos una dirección para cada interfaz.

Pongamos un ejemplo, si la aplicación de Bob envía tráfico a la aplicación de Alice, la red enrutará dicho tráfico desde 12.12.12.12 a 10.0.0.1. Lo que pasa es que si 10.0.0.1 se rompe, la aplicación de Bob no tiene ninguna manera de enviar ese tráfico a la aplicación de Alice. El tema aquí es que la aplicación de Bob no quiere ir a 10.0.0.1, ni a 10.11.0.1, sino que quiere ir a la aplicación de Alice.

Figura 5: Problema del multi-homing.

Por supuesto, esto es algo que se puede solucionar parcialmente en el modelo actual (solucionar parcialmente, porque los endpoints deben ser partícipes en esta solución, no es la red quien brinda soluciones). Igual a este punto el lector ya se imagina cómo… más protocolos (SHIM6, Multipath TCP, BGP…).

Sin embargo, si esto hubiera estado pensado desde un principio e incluido en la arquitectura, se le podría haber encontrado una solución proporcionada de forma nativa en la arquitectura. De todas formas, la solución a este problema es trivial tal y como se muestra en la siguiente figura.

Figura 6: Solución del problema de multi-homing dando direcciones a los nodos

Bastaría con que la arquitectura estuviera diseñada con direcciones en los nodos, no a las interfaces. Y luego enrutar tráfico en base a estas direcciones de nodos. Concluyendo…

La arquitectura actual, como hemos ido viendo tiene defectos:
  • En su estructura
  • Cómo se diseñan protocolos: no se rehúsa cosas en común entre protocolos, todos ellos se diseñan desde cero (aunque hagan funciones muy parecidas).
  • Nombres y direcciones. Como hemos ido viendo, tiene todos los problemas de multi-homing y movilidad que hemos comentado.
Y no hemos hablado de cosas que también dan para rato, como por ejemplo la API de los sockets para programar aplicaciones, seguridad - que de eso tenéis muchos ejemplos en el libro de Ataques en redes de datos IPv4 & IPv6 -, gestión de la red, ya que a más protocolos, más complicación a la hora de gestionar una red.

JL. Rambla, ampliado y revisado por Pablo González y Chema Alonso

Quizás llegado a este punto, podrías estar pensando sobre lo inocente que puede ser hablar sobre “lo mal que funciona Internet”, pero en realidad paradójicamente esta información te está llegando gracias a la arquitectura actual. Y millones de cosas que funcionan sobre esta arquitectura y que nadie hace 20 años pensaba que pudieran llegar a suceder. Pero realmente, las cosas que se han ido mencionando son defectos reales que tiene la arquitectura y que sí se pueden mejorar. Y de la voluntad de intentar mejorar todo esto, aparece RINA. Pero esto, lo hablaremos en detalle en la siguiente parte de este artículo.

Saludos,

Autor: Bruno Ibáñez, Investigador de Ciberseguridad e IA en Ideas Locas y Sergio Giménez investigador de i2cat.

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