Mostrando entradas con la etiqueta Software Libre. Mostrar todas las entradas
Mostrando entradas con la etiqueta Software Libre. Mostrar todas las entradas

miércoles, noviembre 16, 2022

Chema Alonso en Mastodon

Mastodon es una plataforma social de microblogging que fue creado con una arquitectura descentralizada y basada en Software Libre, que fue creada como alternativa a las redes sociales de microblogging centralizadas pertenecientes a una empresa. Y he decidido sacarme una cuenta en ella donde publicaré en paralelo lo mismo que publico en Twitter, así que si eres usuario de Mastodon o estás pensado en abrirte una cuenta, pues puedes seguirme si te gusta lo que comparto, por allí.
Para abrirse una cuenta, puedes elegir un servidor de los que hay disponibles, y yo he elegido el de ioc.exchange, que como su nombre indica es un servidor para gente interesada en el mundo del infosec en el Fediverso, así allí me la he sacado.
La cuenta que me he sacado es bastante sencilla. @chemaalonso@ioc.exchange, o lo que es lo mismo, está disponible en la URLhttps://ioc.exchange/web/@chemaalonso y como podéis ver, publicaré la misma información que publico en Twitter.

Figura 3: Cuenta de @chemaalonso@ioc.exchange en Mastodon

Como cosa curiosa, que no conocía, Mastodon permite que automáticamente se borren los tweets antiguos, así no tienes problemas por tu yo del pasado. Ya sabes que puede venir a desdecir cosas hoy que se dijeron en el pasado. En otro tiempo, en otro momento, con otra edad.

Figura 4: Eliminación automática de publicaciones en Mastodon

Así que, me he animado, me he sacado la cuenta, la he configurado, le he puesto Latch con TOTP para proteger la cuenta, y listo. Configurar Latch TOTP para Mastodon es tan fácil como cuenta, activar el 2FA, escanear el QRCode y luego introducir un TOTP en tu cuenta de Mastodon para verificar que lo has hecho bien.
No sé qué pasará en el futuro, pero por ahora voy a mantener mi cuenta Twitter (@chemaalonso) y mi cuenta Mastodon (@chemaalonso@ioc.exchange) en paralelo, que al final es añadir un canal de publicación más al flujo diario, y si hay usuarios que acaban migrándose allí y quieren seguir lo que publico en esa plataforma, pues por mí bien.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, noviembre 12, 2022

LibreCON 2022 en Bilbao: 15 y 16 de Noviembre. Ciberseguridad, Web3 y Quantum Computing

El próxima martes 15 de Noviembre de comienzo LibreCON 2022 en el Palacio de Euskalduna de Bilbao, donde participaré en la ponencia de apertura de este congreso dedicado a las tecnologías abiertas, libres, y la innovación alrededor de la empresa y la sociedad. Y en esta edición, Ciberseguridad, Web3 y Quantum Computing tienen una gran relevancia. Aún puedes comprar tu entrada para LibreCON 2022.
Entre la lista de ponentes, tenemos la suerte de contar con Ignacio Cirac, nuestro cientifico español más premiado y reconocido internacionalmente y una de las eminencias a nivel mundial en Quantum Computing. También estará Luciano Bello, doctor en Seguridad Informática y Lenguajes Formales, que trabaja en Suiza en la Compilación de Lenguajes de Programación para Quantum Computing.  También estará Yaiza Rubio, Chief Metaverso de Telefónica. Aquí tienes la lista de ponentes de LibreCON y puedes contactar con todos ellos en MyPublicInbox donde se ha creado una etiqueta especial para LibreCON2022.
Las temáticas de las charlas están centradas en mucha innovación, transformación digital, y nuevas tecnologías de disrupción que se han catalogado en las siguientes categorías. Cada categoría tiene un código de color en la agenda de LibreCON 2022 que puedes identificar fácilmente.


Yo en concreto participaré el próxima martes día 15 a las 09:30 de la mañana para hablar un poco del mundo del Tokenomics al que estamos yendo, y que en estos momentos de incertidumbre y caída de algunas empresas con estos modelos basados en Tokens, genera muchas preguntas. El programa completo de LibreCON 2022 para los dos días lo tienes aquí.
Además, si quieres conseguir un entrada de LibreCON 2022 gratuitamente, aún quedan códigos 100% de descuento en la sección Convertir Tempos de MyPublicInbox, donde vas a poder acceder a la entrada de LibreCON 2022.
Así que, si te animas a venir a este congreso, nos veremos por allí. Yo, en cuanto acabe mi charla, estaré en la zona de empresas que tendrá 0xWord firmando libros, así que si quieres uno de los tuyos firmado, pásate por allí. Podrás canjear tus Tempos de MyPublicInbox por libros, pegatinas, merchandising, etcétera. 


Como colofón, se cerrará el congreso de esta edición en un evento exclusivo (solo para 200 personas) en la recién estrenada Torre BAT, punto de encuentro del ecosistema de emprendimiento e innovación situado en el corazón económico y financiero de Bilbao. El día 16 a partir de las 17:30h podrás disfrutar de un aperitivo y networking junto a otros profesionales del sector. Regístrate ahora para no quedarte sin tu plaza.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, noviembre 06, 2022

Cómo romper la arquitectura de cifrado de mensajes extremo a extremo de Rocket.Chat [2 de 2]

Tras la primera parte de este artículo de "Cómo romper la arquitectura de cifrado de mensajes extremo a extremo de Rocket.Chat", hoy toca centrarnos en el ataque sobre la arquitectura del ataque al cifrado E2E. El objetivo del ataque sobre la arquitectura E2E de Rocket.Chat, será la de obtener y descifrar los mensajes almacenados en persistencia del lado del servidor.

Figura 12: Cómo romper la arquitectura de cifrado de
mensajes extremo a extremo de Rocket.Chat [2 de 2]

Para lograrlo, si habéis podido revisar la arquitectura que os presenté en la primera parte de este artículo, una captura de red que contenga las cabeceras X-user-id y X-auth-token, propias de un usuario autenticado para cualquier llamada a la API Rest del servidor, serán requisito necesario y suficiente para replicar el ataque. 

No obstante, cualquier administrador de la aplicación con acceso a la base de datos no relacional tiene la capacidad de replicarlo obteniendo los mismos resultados, lo que demuestra que la arquitectura de cifrado no garantiza para nada el cifrado E2E. Espero que os guste y os animéis a probarlo, porque es un buen ejemplo para los amantes de los CTFs, de los Bug Bounties o de los ejercicios de Red Team.

El Bug en la arquitectura E2E de Rocket.Chat

La vulnerabilidad reside en la unión de una llamada al servicio de la API e2e.updateGroupKey con bajo nivel de privilegios en autorización de uso, junto con una funcionalidad desarrollada para continuidad de negocio en la que cualquier usuario, puede solicitar el reseteo de credenciales E2ESiendo el primer usuario con status “online” que pertenezca al grupo, al que el servidor notificó con una llamada en broadcast el encargado de generar la nueva clave E2EKey para el usuario que la solicitó.

Figura 14: Llamada a la API Rest que se utilizará para la explotación

Dentro de un grupo seguro el objetivo mediante el uso indebido de la llamada a la API, será el de manipular las claves E2EKey de la colección suscripciones del servidor, como se explica en el gráfico siguiente.

Figura 15: Manipular las claves de E2EKey

La funcionalidad de negocio que se utilizará para la explotación, será la de reseteo de credenciales que se representa en el siguiente diagrama.

Figura 16: Esquema del proceso de reseteo de claves.

El vector de ataque será el de replicar las claves E2EKey del grupo seguro objetivo, en un nuevo grupo espejo, mediante el uso de de la función e2e.updateGroupKey por el atacante, el diagrama del ataque será el siguiente.

Figura 17: Esquema del ataque para conseguir la duplicación

El proceso de la explotación completa, se puede ver en el siguiente vídeo, donde se utiliza un conjunto de código para hacer el exploit. La explicación de los códigos es la siguiente:
  • dump_data.py: Desarrollado en Python3. Objetivo: extracción de los datos del servidor para el usuario del que se obtuvo la captura de red.
  • attack_mode.py: Desarrollado en Python3. Objetivo: actualización de las claves E2EKey por el usuario atacante al usuario objetivo.
  • msg_parser.ts: Desarrollado en javascript, ejecutado en node. Objetivo: convertir el formato de los mensajes y obtener tanto el vector de linealización IV como el cipherText de cada mensaje.
  • Microservicio criptográfico: Desarrollado en java. Objetivo: Realizar las operaciones criptográficas de cifrado y hashing.
  • automation_process.py: Desarrollado en python3. Objetivo: automatización del proceso de descifrado de mensajes, utilizará llamadas a:
    • Servidor central de rocketchat
    • msg_parser.ts
    • Microservicio criptográfico
Figura 18: PoC  del ataque a Rocket.Chat

Si sigues el vídeo, verás que primero se crea un grupo de chat seguro, donde se manda un mensaje. Esta será la "bandera" a conseguir con la PoC. Será la evidencia para demostrar que se ha conseguido ver un mensaje que supuestamente debería estar protegido E2E.

Figura 19: Canal seguro con mensaje a obtener como objetivo de la PoC.

Para ello, como se ha explicado anteriormente, se crea primero un grupo espejo que se utilizará como parte el esquema de ataque.

Figura 20: Generación del grupo espejo en el que replicar las claves.

Ahora, se extraen los datos del usuario objetivo con los scripts en Python explicados anteriormente, para lograr hacer la actualización de las claves E2EDKey.

Figura 21: Extracción de los datos del usuario objetivo
y actualización de claves E2EKey.

Una vez extraídos los datos, ya se puede hacer el reseteo de las credenciales del usuario, para dar acceso al atacante al sistema.

Figura 22: Reseteo de credenciales, para el atacante.

Y con las nuevas credenciales, se pueden ver los datos descifrados que teníamos como objetivo original en el proceso, tal y como se puede ver en el script y en la herramienta de Rocket.Chat.

Figura 23: Validación final de los datos descifrados.

Conclusión final

Este artículo recoge la PoC de una demostración que haré en la próxima LIBRECON en Bilbao, los días 15 y 16 de Noviembre, donde estaré dando una charla. Puedes conseguir tu entrada en MyPublicInbox con Tempos en la sección de Convierte tus TemposAdemás, se ha solicitado un CVE para este bug con el CVE ID Request 1348331 y la investigación se ha reportado vía Hacker1 y tienes en la siguiente URL la información:
Esperemos que pronto se añadan medidas de seguridad para evitar estos esquemas de ataque y dar más protección a la plataforma Rocket.Chat. Espero que os haya gustado la explicación y que os anime a hacer más investigaciones propias.

miércoles, septiembre 21, 2022

LibreCON 2022: Call for Papers - Call for Speaker - Call for Sponsors

Este año, vuelve LIBRECON 2022, y lo hace con más fuerza que nunca y de forma presencial. Ya está aquí el evento internacional de referencia del Sur de Europa del sector de las tecnologías libres y abiertas aplicadas a sectores estratégicos de la economía. Tendrá lugar los próximos días 15 y 16 de Noviembre de 2022 en el espectacular Palacio Euskalduna de Bilbao.


Organizado conjuntamente entre ESLE, Asociación de Empresas de Tecnologías Libres y Conocimiento Abierto de Euskadi, y MyPublicInbox, la plataforma de comunicación que mejora de impacto de perfiles públicos en Internet.

TEMÁTICAS

En esta edición descubrirás los proyectos más notables e inspiradores de empresas nacionales, internacionales y locales ligadas al uso de las tecnologías libres principalmente, y abiertas, en diferentes campos, como son:
  • Innovación abierta: I+D, I+D+I, Patentes, Colaboración Universidad-Empresa, Academia.
  • Ciberseguridad: Research, Hacking, Hardening, Red Teaming/Blue Temaing, CERT, CSIRT, CISO.
  • Transformación digital: Cloud Computing, Hybrid & Private Clouds, API-fying, Moderm Apps.
  • Computación Cuántica: Algorítmica, Quantum Cryptogray, Quamtum Theory, Researh.
  • Industria 5.0 y Edge Computing: IoT, Robótica, IA, Federated Learning.
  • Web3: Tokenomics, crypto, tokens, SmartContacts, IPFS, NFTs, Dapps, Daos.
  • Metaverso: Cognitive Services, Digital Twins, Virtual Worlds, VR, AR, ER, Mix Reality, Experiences.
  • Thinking Party: Filosofía, Ética, Sociedad, Privacidad, Seguridad, Economía Digital, legislación.
Todos estos temas, son los que componen la esencia de LibreCON 2022 en esta edición, y contamos contigo para compartir tu conocimiento y tus experiencias, por lo que te invitamos a que participes en nuestra llamada de ponentes.

Call for Papers Librecon 2022
 
Te informamos que ya está abierto el Call for Papers de LibreCON 2022. ¿Quieres ser ponente de uno de los eventos referentes en tecnología? Aprovecha esta increíble oportunidad, y comparte tu conocimiento con la comunidad, recibe sus comentarios, y haz que tu idea, tu proyecto o tu propuesta, se convierta en tendencia en la red.


Ventajas de dar una charla en Librecon 2022
  • Ampliarás tu red profesional de contactos
  • Darás mayor visibilidad a tu proyecto
  • Divulgarás contenido de calidad ante miles de profesionales del sector
  • Formarás parte del grupo de conferenciantes de uno de los eventos tecnológicos más importantes de España
No dudes en enviar tu propuesta para ser ponente de LIBRECON 2022, antes del 30 de septiembre: Quiero ser ponente de LibreCON 2022 y revolucionar el mundo.

Quiero ser empresa patrocinadora

LibreCON cumple 10 años de exitosas ediciones celebradas desde 2012 en diferentes ciudades de la geografía española como Málaga, Zaragoza, Bilbao y Santiago de Compostela y este año, LibreCON 2022, contará con una Zona Expo donde tu empresa o institución puede presentar sus productos y servicios a más de 1.000 potenciales clientes, con zonas habilitadas para el networking y las B2Bs.


¿Quieres participar como Patrocinador Oficial de LIBRECON 2022? Solicita más información sin compromiso: Quiero patrocinar LibreCON 2022 y ser motor del cambio de la sociedad.

Registro Gratuito

Como OpenExpo Europe somos colaborador oficial de LibreCON 2022 y te traemos algo que te va a encantar. Gracias a que formas parte de la comunidad OpenExpo, solo durante el mes de septiembre, tenemos una invitación para ti, así que escríbenos a OpenExpo en MyPublicInbox (puedes conseguir los 50 Tempos gratis) y te enviaremos una entrada de LibreCON 2022 - solo hasta el 30 de Septiembre -.


jueves, junio 02, 2022

Una hora con Richard Stallman que da para varias entrevistas

Hoy por la mañana ha sido el día, al fin, que he conseguido que Richard Stallman me permitiera hacerle un pequeña entrevista de ocho preguntas. Nos conocimos hace tiempo en una charla en la Fundación Telefónica, y luego nos fuimos a comer un grupo de ponentes y organizadores. Y charlamos largo y tendido. Ahora, en mi espacio de entrevistas en el blog de Una al día, donde ya he entrevistado a Kevin Mitnick, a César Cerrudo, a Gabriel Bergel y a Miroslav Stampar, quería entrevistar también a Richard Stallman.

Figura 1: Una hora con Richard Stallman que da para varias entrevistas

El proceso no ha sido sencillo. Primero tenía que conseguir que aceptara responder a las preguntas. Y me llevó un tiempo, y que varias personas me hicieran de "padrinos" que me avalaran ante él. Para ello, le envié las ocho preguntas que quería hacerle, que son las que podéis ver en la Figura 3.

Figura 2: RMS y yo el día que comimos juntos. 

Después de un tiempo hablando con él, por correo electrónico, y después de que se sintiera cómodo, pasamos a la siguiente parte del proceso, que era encontrar el canal para hacerla y tiempo para que él se sintiera cómodo y no agobiado. Estas son las preguntas, ¿qué crees que contestará?

Figura 3: Preguntas que ha respondido Richard Stallman en la entrevista

Al final acordamos utilizar un servidor de Mumble de la Free Software Foundation, y buscar el tiempo para que él estuviera a gusto. Y esto era hoy. Hoy era el día elegido. El proceso era que yo llamara a un número de teléfono en Italia, donde se encuentra para una charla. Así que así he hecho.

Figura 4: Un mes con comunicación para cerrar la entrevista
con mensajes a la NSA en todos los e-mails. 

Hoy tenía muchas cosas que hacer, pero no quería perder la ventana de oportunidad de hacerle la entrevista, y que nos ha llevado una hora. Una hora en la Richard Stallman no solo ha explicado las preguntas, sino que se ha extendido en explicar con calma todos los puntos que él ha querido hacer foco.

Figura 5: Entrevista en Mumble hoy por la mañana.

Hemos hablado de GitHub, de Copilot o como él dice "CopyAlot", hemos hablado de la creación de código, de Metaverso, de Criptomonedas, de anonimato, de malware, de GNU - por supuesto - y sobre todo de Software Libre y el impacto de éste en el mundo. Por supuesto, me ha corregido cada vez que mi lenguaje era inexacto, que los detalles son importantes. Seguro que de muchas puedes adivinar qué ha dicho... otras, tal vez no. Eso sí, que GNU es el sistema operativo y Linux solo un componente, que quede claro. Sí, señor Stallman, en mis libros queda claro.

(Revisada y Ampliada) de Carlos Álvarez y Pablo González en 0xWord

Ahora, tengo trabajo de transcripción y de puesta en formato legible de la entrevista, que ha dado para tanto que creo que voy a tener que dividirla en dos o tres partes, que será publicadas en el blog de Una al día, así que os avisaré cuando salgan. Para mí, el premio ha sido poder pasar esta hora con él, que me quedaré con todo eso que me ha dicho "off-the-record" solo para mis oídos.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, mayo 23, 2021

Una microhistoria con algunos proyectos Open Source en el mundo de los videojuegos, la creatividad y el entretenimiento.

Hace unos días mi compañero y amigo Sergio Sancho nos hablaba de cómo F’ (o F Prime) había permitido el desarrollo de un software de vuelo autónomo para que un drone que se encuentra a millones de kilómetros pudiera volar de forma autónoma por el Planeta Rojo, aunque es impresionante, no debemos olvidar que se ha conseguido con piezas de Software Libre u Open Source.

Figura 1: Una microhistoria con algunos proyectos Open Source
en el mundo de los videojuegos, la creatividad y el entretenimiento.

Ciertamente, existe una cantidad inimaginable de Software Libre y Open Source, ya sea desde pequeños scripts que hacen cosas muy sencillas como gprint - una librería del lenguaje Python que permite un uso de los colores mas sencillos en la terminal - hasta sistemas operativos completos como GNU/Linux (realmente Linux es el Kernel, es decir el “corazón” del sistema operativo).

Hoy quería hacer un pequeño recorrido sobre programas y proyectos en el mundo de los videojuegos y la creatividad a lo largo de la historia, que fueran Open Source y que estuvieran fuera de lo que en general utilizamos. No esperéis un recorrido completo, sino algunas pinceladas en algunos proyectos de estos años que se han creado gracias a la colaboración de una comunidad. Una especie de homenaje a las microhistorias de nuestro compañero Fran Ramírez y Rafael Troncoso que nos cuentan en su libro sobre la historia de la informática y los hackers, pero con este enfoque.

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.

Los que vivíais por los años 80, recordareis con mas o menos cariño los ordenadores de la época, como el Commodore VIC-20, el Commodore 64, las computadoras Spectrum o la mítica Amstrad que tanto significa para Chema Alonso. En aquella época los videojuegos que existían para estos ordenadores estaban completamente basados en texto, es decir, no tenían la capacidad de mostrar sprites (imágenes) y mucho menos de renderizar gráficos en 3D.

Figura 3: Sinclair ZX Spectrum.

En aquella época nació un genero de videojuegos que aun hoy existe y es el denominado “roguelike”. En estos videojuegos, básicamente, el personaje que controlas tiene una sola vida y cuando es derrotado, tiene que volver a comenzar desde el principio. El género se creo a partir del videojuego Rogue de ahí su nombre el cual fue lanzado en 1980. Debido a la fama del genero en la época, surgieron montones de juegos de la misma temática, uno de ellos, fue de los primeros Open Source y es el NetHack.

NetHack, fue lanzado en 1987 por el NetHack DevTeam el cual fue un fork (bifurcación) de Hack otro roguelike de la época, el equipo fue lanzado actualizaciones regulares del mismo hasta 2003, donde dejaron de sacar nuevo contenido y las siguientes mejoras que recibió fueron simplemente de compatibilidad con nuevas plataformas. Debido al parón en el desarrollo, y gracias a que era Open Source, muchos fan comenzaron a modificar el código para crear su propia versión del juego, permitiendo que nuevas personas pudieran disfrutar del juego.

Figura 4: Imagen de una partida de NetHack

Ahora voy a salir un poco del tema para hablar un poco mas de los roguelike, este genero es uno de los mas antiguos y de alguna forma a pesar del tiempo que ha existido su popularidad es limitada frente a otros géneros como los shooter. Afortunadamente, en estos últimos años varios videojuegos, como por ejemplo The binding of Isaac o Hades, han tenido bastante éxito revitalizando la forma de jugar y su dinámica, haciéndolos muy ligeros de jugar y divertidos.

En el otro extremo tenemos Dwarf Fortress, un juego de estos profundos, de los cuales necesitas una guía para jugar al lado, por la cantidad de posibilidades, variables y eventos que ocurren a la vez. En este juego tú no controlas a un solo personaje, controlas a una civilización entera de enanos, los cuales tienen que sobrevivir, comiendo, bebiendo, entreteniéndose, trabajando, descubriendo nuevos lugares mientras cavan hacia lo mas profundo de las montañas. Todo ello mientras evitan ser atacados por otras civilizaciones, destruidos por desastres naturales, o por seres oscuros de lo más profundo de la tierra.

Figura 5: Portada en Steam de Dwarf Fortress

Volviendo al Open Source y sin salirnos de los videojuegos, cuando yo era joven, me encantaba jugar a cuatro videojuegos distintos. El primero de ellos y el que mas recuerdo es el Imperium III: Las grandes batallas de Roma, un RTS (Real-Time Strategy). También jugaba al Patrician III, un juego de simulación y gestión naval y de comercio. El Zoo Tycoon 2, un simulador de funcionamiento de un zoo en el cual se debía crear y mantener un zoo completo. Y por último el RollerCoaster Tycoon, que era como el anterior, pero en este caso se debía gestionar un parque de atracciones. Ninguno de estos era Open Source pero si tenían en común que eran de simulación y gestión, un genero que ha apasionado a multitud de personas a lo largo del tiempo. El problema es que en general envejecen muy mal y en solo unos pocos años ya se notan anticuados, con mecánicas repetitivas y carentes de mucha dificultad, todo esto claro porque se han jugado ya muchas horas a los mismos.

Pero en el año 2004 alguien tuvo la genial idea de crear un simulador Open Source e irlo actualizando con la ayuda de la comunidad. Este proyecto se llama OpenTTD el cual es un simulador de negocio. Para ser mas exactos un simulador de transportes, en el cual tienes que gestionar el transporte de pasajeros y mercancía tanto por tierra, como por mar y aire. Este proyecto surgió como alternativa moderna y Open Source a un videojuego de 1994 llamado Transport Tycoon Deluxe. Este proyecto a diferencia del anterior, sigue en continuo desarrollo y cuenta con muchísimas mejoras respecto al original, como multijugador masivo con hasta 255 jugadores, mapas mas grandes o compatibilidad con sistemas modernos. 

Figura 6: Imagen de una partida de OpenTTD

Dejemos de hablar de videojuegos y cambiemos de tipo de software. Casi todo el mundo conoce Photoshop. Es el programa de edición de imagen omnipresente en cualquier empresa que se dedique a trabajar con imágenes, cosa que esta muy bien ya que la suscripción incluye soporte, actualizaciones, sincronización en la nube y muchas cosas mas. El problema viene cuando nosotros, como personas individuales, queremos realizar retoques medianamente decente a nuestras imágenes pero no queremos pagar una suscripción o pagar cientos de euros en comprar un software que vamos a utilizar unos minutos.

Es por ello que existen soluciones alternativas Open Source que en la mayoría de aspectos no tienen nada que envidiar a las soluciones comerciales que ofrecen algunas empresas. Uno de estos proyectos Open Source, y de los posiblemente mas conocidos, es el editor de imágenes GIMP, que realmente poco hay que decir de él. Es una alternativa fantástica para editar imágenes, tiene la mayoría de herramientas con las que cuenta Photoshop y no tiene coste ninguno, además de que tenemos la posibilidad de modificarlo a nuestro gusto, ya que podemos acceder a su código fuente. 

Pero qué ocurre si, en lugar de editar imágenes, queremos dibujar, ya sea un cómic, la portada de un libro, o cualquier otra cosa. Afortunadamente gracias a los desarrolladores Open Source tenemos soluciones para todo, en este caso la solución es Krita.

Figura 7: Artwork de la mascota de Krita creado con el mismo programa

Krita es un proyecto Open Source que es una joya en su categoría. Es un software de dibujo de nivel profesional, el cual es completamente gratuito (en algunas tiendas como la de Windows o la AppStore de MacOs, tiene un coste simbólico, pero en su propia web se puede obtener de forma 100% gratuita), y se lanza para casi cualquier plataforma (actualmente si no me equivoco esta en Windows, MacOS, GNU/Linux - como appimage y en flatpak - y para Android). Permite la utilización de múltiples pinceles, es compatible con tabletas gráficas de casi cualquier marca, tiene un formato propio muy eficiente, puede trabajar con otros formatos de terceros y está traducido a multitud de idiomas.

Si lo que quieres es crear contenido en el estilo Pixel Art y animarlo, también existe una herramienta Open Source para ello, y ésta es Aseprite. Es un editor de imágenes tipo Pixel Art bastante potente y multiplataforma, que además de permitirte crear imágenes estáticas te permite editarlas para poder exportarlas a otros programas distintos. Aunque este software tiene un modelo de financiación diferente. Todo es Open Source y se puede encontrar su código en Github, pero si lo queremos utilizar, debemos o pagar para obtener el instalador en su pagina web oficial o con el código fuente generar una build nosotros mismos para poder utilizarlo.

Otros proyectos dentro de los gestores de archivos de vídeo y sonido, o de nuestras copias de seguridad de nuestros CD, DVD y BluRay, tenemos soluciones comerciales como Plex, el cual nos permite mantener nuestra colección ordenada y con un acceso sencillo y muy bonito. Por ello, han surgido alternativas, como Emby, que era Open Source, pero a medias.  Solo algunas partes del programa eran Open Source y algunas librerías usadas no lo eran, y por ello se creó lo que sería una alternativa de la alternativa que en este caso se llama Jellyfin, con código completamente abierto y que tiene las mismas funciones que los dos anteriores.

Figura 8: Pantalla principal de Jellyfin

Y para terminar este collage de proyectos Open Source alrededor de los videojuegos, la creatividad y el entretenimiento, quiero hacer una mención especial a uno que permite que se utilicen proyectos Open Source alternativos en Windows, sin tener Windows. Al principio he hablado del Kernel de Linux, el cual digamos es la alternativa Open Source mas conocida a los sistemas operativos de Microsoft y Apple, pero existen muchas otras alternativas. Por ejemplo FreeBSD, el cual es el sistema detrás de consolas como la Nintendo Switch o la PlayStation 4, y tenemos un caso bastante poco conocido por el gran público, pero no por ello menos interesante como es ReactOS, el cual se podría denominar como un sistema operativo compatible con aplicaciones de Windows, sin utilizar ningún código de Microsoft

Figura 9: Captura de la ultima versión de ReactOS. Muy al estilo Windows.

¿Qué significa esto? Pues que esta creado para poder ejecutar los programas y drivers creados para Windows, de forma nativa, es decir, sin ningún tipo de cambio y de forma directa. Esto se hace de forma lenta y ardua, ya que se debe re-implementar todo el código de Windows, sin conocerlo para que funcione sin fallos. Por ello, aunque existe una lista de programas compatibles, ésta es muy escasa y en general se tratan de programas antiguos. Aunque esto no quita lo interesante de tener una alternativa más Open Source que lleva muchos años. De él se habló por aquí cuando iba por la versión ReactOS 0.3

Como podéis ver, los proyectos Open Source son muy diversos, y generalmente de alta calidad, aunque obviamente no tienes presupuestos millonarios detrás. Lo que suelen tener detrás es un equipo formado por montones de personas apasionadas por escribir código, que les encanta desarrollar proyectos que todo el mundo pueda disfrutar y que sueñan con cambiar un poco el mundo. Solo un poco.

Saludos,

Autor: Guillermo Peñarando Sánchez, Developer en Ideas Locas CDCO de Telefónica.

lunes, mayo 03, 2021

Ingenuity & F prime: El vuelo del primer drone en Marte se hará con Linux

Desde hace unas semanas no se para de hablar de las nuevas misiones de la NASA en Marte, y yo quiero hacerlo también, reflexionando un poco sobre la importancia del código y, en concreto, del Software Libre en estas misiones. No hace mucho, nuestros compañeros y amigos Rafael Troncoso y Fran Ramírez nos contaron una microhistoria que explicaba como Don Eyles tuvo que hackear el código del Apolo 14 para salvar la misión. Así, en caliente haciendo un ataque de deception.

Figura 1: Igenuity & F prime. El vuelo del primer
drone en Marte se hará sobre Linux

En el caso de las misiones de la NASA de hoy en día, hace apenas unos días pudimos ver como el Rover Perseverance aterrizaba con éxito sobre Marte tras cruzar su atmóssfera a más de 19.000 kilómetros por hora. Junto a este avanzado laboratorio a distancia también ha viajado su pequeño acompañante, el Ingenuity, un pequeño drone (con forma de helicóptero) de apenas 1,8 kilos y que se ha convertido en el primer vehículo en sobrevolar la superficie del planeta rojo.

Figura 2: Libro Microhistorias: Anécdotas y curiosidades de la historia
de la informática (y los hackers) de Rafael Troncoso y
Fran Ramírez publicado en 0xWord

Volar un drone puede parecer una tarea relativamente sencilla, sin embargo, todo se complica cuando el drone se encuentra a más de 54 Millones de Kilómetros de la Tierra, donde la atmósfera tiene una centésima parte de la densidad de la atmósfera terrestre y la gravedad es considerablemente menor, ya es es aproximadamente un tercio de la gravedad terrestre.

Volar de manera controlada el Ingenuity será posible gracias a Linux y , un programa desarrollado por el JPL (Jet Propulsion Laboratory) de la NASA. De hecho, no habrá nadie pilotando el pequeño “helicóptero” ya que el pilotaje en tiempo real es totalmente inviable, volará de forma autónoma. 

Figura 3: Rover Perseverance y su drone Ingenuity.

Este pequeño drone tiene como misión realizar algunos vuelos de apenas 90 segundos y tomar fotos y videos de la superficie del planeta marciano, por desgracia su ciclo de vida operativa estimado es de tan solo 30 días, ya que después se quedará sin batería y se apagará. Esto se debe a que el Ingenuity cuenta con un procesador Qualcomm Snapdragon 801, un procesador ARM de 4 núcleos que corre a 2.2 Ghz, lo que puede parecer bastante anticuado.

Sin embargo, solo el procesador es más potente que el propio Perseverance. Sin toda esta potencia sería imposible alcanzar una capacidad de cómputo suficiente como para volar en unas condiciones tan exigentes como las de la atmósfera marciana ni utilizar el sensor de 13 Megapíxeles para tomar instantáneas.


Figura 4: Vídeo trailer de Ingenuity

Es importante tener en cuenta que, aunque nuestros smartphones actuales cuenten con procesadores y sensores de cámara muchísimo más potentes, su viabilidad para una misión en el espacio es prácticamente nula, ya sea por consumo energético o que no estén preparados para aguantar las condiciones de otro planeta. 

Uno de los mayores proyectos de la NASA durante los últimos años es el HPSC (High Performance Spaceflight Computing). Este proyecto se dedica a preparar y mejorar elementos electrónicos como chips o procesadores para aguantar las altas radiaciones, reducir los consumos energéticos y aumentar hasta en 100 veces su capacidad de cómputo. El ultimo procesador escogido por la NASA para llevar a cabo estas mejoras es un ARM A53, una variante que podemos encontrar en la Raspberry Pi 3. Lo realmente revolucionario de este proyecto es que ha sido desarrollado con base Linux, de hecho, la NASA publicó F´ como Open Source hace años y está al alcance de cualquiera que quiera utilizarlo para sus proyectos.


Los ingenieros del JPL han utilizado componentes cuya eficacia ya ha sido demostrada en otros dispositivos como en el caso del Snapdragon 801, que se ha utilizado anteriormente en smartphones como el Samsung Galaxy S5 y que se puede obtener fácilmente en varias tiendas de Internet. Con estos componentes y la ayuda de Linux el pequeño helicóptero autónomo es capaz de mantener un vuelo estable realizando 500 comprobaciones de sus sensores por segundo.

Figura 6: Ingenuity antes de ser desplegado por el Rover Perseverance.  

F´ o F Prime es un entorno por componentes que permite una rápida implementación y desarrollo de vuelos espaciales y otras aplicaciones de software integradas. No es la primera vez que se ha utilizado este software con aplicaciones espaciales, desde que se liberó se ha utilizado habitualmente en proyectos como el desarrollo de pequeños satélites como los CubeSat o SmallSat.

Figura 7: Actividades realizadas en el vuelo de prueba del Ingenuity.

Timothy Canham, ingeniero de software trabajando para el JLP de la NASA dijo textualmente en una entrevista:

 “Esta es la primera vez que vamos a volar con Linux en Marte. De hecho, estamos utilizando un sistema operativo de Linux. El marco de software que estamos usando es uno que desarrollamos en el JPL para CubeSats e instrumentos, y lo liberamos hace un par de años. 
 
Por lo tanto, es posible obtener el software con el que está volando el helicóptero en Marte y utilizarlo en tu propio proyecto. Es una especie de victoria para el Open Source porque estamos volando con un sistema operativo y un marco de software de vuelo de código abierto y piezas comerciales que puedes comprar si quieres realizar un proyecto similar algún día.”

Lo que ha convertido en un gran éxito para esta misión ha sido que cuenta con una arquitectura capaz de descomponer el software de vuelo en componentes discretos con interfaces definidas, una estructura en C++ que ofrece varias funciones básicas como el uso de hilos de mensajes, herramientas de modelado para especificar conexiones y componentes y que también permiten generar código automáticamente y varias herramientas para realizar comprobaciones y correcciones instantáneas durante el vuelo, lo que es un maravilla para los makers y hackers que usan los drones como herramienta de trabajo en sus proyectos.

Figura 8: Libro "Hacking con Drones: Love is in the air" en 0xWord
escrito por David Meléndez Cano a.k.a. TaiksonTexas

El primer vuelo del Ingenuity se ha convertido en un acontecimiento histórico tanto para la historia del Software Libre como para la historia de la exploración de Marte. Sin embargo, esta no es la primera vez que la NASA utiliza Linux y software con licencias Open Source. Desde hace años, incluso antes de que se hablase de software libre, la NASA ya compartía de forma gratuita gran parte del código que utilizaba en sus misiones a través del programa COSMIC
Actualmente hay más de 500 proyectos de software con licencia Open Source 3.0 desarrollados por la NASA. Esto nos demuestra el gran potencial del código abierto ya que a pesar de que GNU/Linux no sea la opción más escogida para nuestros escritorios es el sistema operativo que ha hecho posible realizar el primer vuelo de un drone para estudiar la superficie del planeta rojo.

Saludos,
 
Autor: Sergio Sancho, Security Researcher en Ideas Locas.

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