zlib-rs, una alternativa a zlib-rs en Rust que tiene como finalidad abordar los problemas causados ​​por errores de memoria

zlib-rs una alternativa de la biblioteca de compresión de datos zlib

zlib-rs

La biblioteca zlib, desarrollada por Jean-Loup Gailly y Mark Adler, es un componente esencial ya que es utilizada en una amplia gama de aplicaciones que están enfocadas en la compresión de archivos en formatos como ZIP, gzip y PNG debido a su eficiencia y versatilidad. Esta biblioteca ha estado presente desde 1995 y como resultado de su amplio uso, también ha sido blanco de múltiples vulnerabilidades de seguridad de la memoria.

El núcleo de zlib es el algoritmo de compresión DEFLATE, que combina las técnicas de compresión sin pérdida de datos del algoritmo LZ77 con una estructura de árbol Huffman para lograr tasas de compresión notables. Esta combinación de técnicas hace que zlib sea extremadamente eficiente en la compresión y descompresión de datos, siendo especialmente útil en aplicaciones donde el espacio de almacenamiento o el ancho de banda son limitados.

Además de la compresión de archivos, zlib también se utiliza en la transferencia de datos comprimidos en redes para reducir la carga de ancho de banda, en aplicaciones de almacenamiento y procesamiento de archivos, así como en aplicaciones multimedia para la compresión de datos de audio y video.

A lo largo del tiempo, zlib ha enfrentado algunas vulnerabilidades que han sido abordadas en versiones posteriores de zlib, como las mencionadas CVE-2005-1849, CVE-2016-9840, CVE-2016-9841 y CVE-2016-9842 (solo por mencionar algunas de las conocidas de zlib), que podían ser explotadas por atacantes para provocar una denegación de servicio (DoS) o incluso ejecutar código arbitrario y que debido a las fallas de seguridad de memoria común para las bibliotecas de compresión escritas en C/C++, zlib sigue siendo un blanco importante.

Con la finalidad de abordar estos problemas, sin dejar de lado la naturaleza y bondades de zlib, la ISRG (la organización detrás del proyecto Let’s Encrypt y dedicada a mejorar la seguridad en internet) dio a conocer recientemente el lanzamiento de un nuevo proyecto que tiene como finalidad el crear un análogo de zlib en el lenguaje de programación Rust.

Contratamos a Tweede Golf en diciembre de 2023 para una implementación inicial basada en zlib-ng , con un enfoque en mantener un rendimiento excelente al tiempo que introducimos la seguridad de la memoria.

Que sigue

Actualmente estamos buscando financiación para completar el trabajo necesario para que la implementación inicial esté lista para la producción.

La nueva alternativa tiene como nombre «zlib-rs» y esta se presenta como una solución de zlib escrita en Rust con el objetivo principal de abordar los problemas de seguridad asociados con errores de memoria y vulnerabilidades que suelen estar presentes en las bibliotecas de compresión escritas en C/C++.

El desarrollo de zlib-rs surge en respuesta a estadísticas de Microsoft y Google que señalan que aproximadamente el 70% de las vulnerabilidades se deben a un manejo inseguro de la memoria. Al utilizar Rust como lenguaje de programación, se espera reducir significativamente el riesgo de estas vulnerabilidades, como el acceso a áreas de memoria liberadas o el desbordamiento de búferes.

El proyecto zlib-rs contiene una implementación Rust del formato de archivo zlib que es compatible con la API zlib y el repositorio actualmente se están trabajando en dos implementaciones:

  • zlib-rs, una implementación de Rust basada en zlib con una API de Rust segura (actualmente se considera como inestable, pero se espera llegar a estabilizar la implementación en poco tiempo).
  • libz-rs-sys, una API C una API C para zlib-rs . La API es, en términos generales, equivalente a zlib-sysy zlib-ng-sys, pero actualmente no proporciona la familia de funciones gz*. Desde la perspectiva de rust, esta API no es muy ergonómica por lo que de momento se recomienda el trabajo con flate2.

Sobre el trabajo en el desarrollo actual, se menciona que el ofrecer un análogo en Rust pueda atraer la atención de otros y puedan sumarse al trabajo, ya que el ofrecer una alternativa enfocada en la seguridad y la prevención de errores comunes, pueda en cuestión de algunos años de trabajo y desarrollo ofrecer un sustituto transparente a zlib.

Finalmente cabe mencionar que actualmente el trabajo de zlib-rs se publica en GitHub en el siguiente repositorio y el código se distribuye bajo la licencia Zlib. Puedes consultar más al respecto en el siguiente enlace.

from Linux Adictos https://ift.tt/fuUB3IX
via IFTTT

I2P 2.5.0 implementa mejoras en túneles, I2PSnark y mas

I2P, la alternativa a Tor cifrada para ocultar el tráfico

I2P es una red anónima P2P que protege de la censura, la vigilancia y el monitoreo en línea.

Recientemente se dio a conocer el lanzamiento de la nueva versión de versión I2P 2.5.0 junto con el cliente C++ i2pd 2.51.0 y en esta nueva versión, se han realizado varias mejoras y adiciones, de las cuales uno de los principales puntos en los que se enfocaron los desarrolladores fue en fortalecer la implementación de la estrategia de aislamiento de NetDB, esta nueva versión intra seguridad de la red, ya que comparada con la versión anterior, 2.4.0 presenta cambios notables en varias áreas clave.

Para quienes desconocen de I2P, o Invisible Internet Project, deben saber que es una alternativa para acceder a internet de forma anónima, similar a Tor pero con diferencias significativas. Mientras que Tor utiliza capas de cifrado, I2P utiliza un enrutamiento llamado «garlic», donde los mensajes se agrupan en paquetes de datos denominados «dientes de ajo». Esta técnica evita que los observadores externos puedan adivinar la temporización de los mensajes, a diferencia del método de capas de Tor.

Aunque I2P tiene limitaciones para acceder a información superficial de la web, destaca por su capacidad para crear sitios exclusivos en la dark web, conocidos como eepsites. Estos eepsites permiten a los usuarios realizar actividades como enviar mensajes de forma segura y ocultar su ubicación geográfica a usuarios externos de internet.

¿Qué hay de nuevo en I2P 2.5.0?

En esta nueva versión que se presenta de I2P 2.5.0, como ya se mencionó al inicio, se destacan las mejoras de seguridad y correcciones de errores en la base de datos NetDB, utilizada para detectar pares en la red I2P. Las mejoras implementadas se realizaron en los ajustes para mejorar la resistencia al spam y la capacidad del enrutador para rechazar mensajes sospechosos. Esto fue parte de un esfuerzo para «auditar» la implementación de las defensas de «aislamiento de subbase de datos» desde la versión 2.4.0.

Otro de los cambios que se destaca de la nueva versión, es que ahora el cliente BitTorrent «I2PSnark» admite la capacidad de búsqueda en torrents y tiene una mejor compatibilidad con otros clientes BitTorrent que admiten I2P, como BiglyBT y qBittorrent.

Ademas de ello, el cliente de correo electrónico SusiMail ha recibido nuevas funciones, incluida la compatibilidad con el formato Markdown en correos electrónicos y admite la adjunción de archivos, arrastrando y soltando, permitiendo una presentación más atractiva y estructurada del contenido.

En I2P 2.5.0 se han mejorado los túneles creados con Hidden Service Manager mediante el administrador de servicios ocultos, ya que´ahora admiten «Keepalive», lo que mejora el rendimiento, además se han mejorado las herramientas del enrutador para bloquear mensajes sospechosos y se ha mejorado la generación de compilación para Android y Windows en i2pd.

De los demás cambios que se destacan de I2P 2.5.0:

  • Se han implementado nuevos algoritmos para calcular RTT, RTO y ventana deslizante en i2pd.
  • Mejoras en el protocolo de transporte SSU2, como el uso de SOCKS5 en lugar de SOCKS4
  • Nuevas implementaciones de reenvío de paquetes, búfer de envío, tiempos de espera y control de congestión.
  • Implementación de Keepalive/Persistencia del lado del servidor en I2PTunnel.
  • Almacenamiento comprimido de RI y LS en Datos.
  • Mejoras en la gestión de cambios de directorio en I2PSnark.
  • Diversas correcciones de errores en diferentes componentes para mejorar la estabilidad y seguridad.
  • Se han realizado actualizaciones de traducción y se han implementado mejoras en la API.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el anuncio del lanzamiento en el siguiente enlace.

¿Como instalar I2P en Linux?

Si estás interesado en utilizar utilidad en tu sistema, debes saber que I2P es multiplataforma, es decir, ofrece paquetes tanto para Windows, Linux, MacOS e incluso para Docker y también para dispositivos móviles, dígase Android y iOS. Puedes descargar I2P 2.5.0 desde el siguiente enlace.

En el caso de Linux, puedes obtener los paquetes precompilados que se ofrecen para Ubuntu de manera oficial e incluso para Arch Linux (los cuales se construyen a partir de los paquetes .deb) u optar por descargar el archivo .jar para ejecutar I2P. En nuestro caso vamos a instalar I2P desde los repositorios de Ubuntu y para ello debemos abrir una terminal y teclear:

sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-get update
sudo apt-get install i2p

Mientras que para el caso de Arch Linux el único requisito es contar con el repositorio de AUR habilitado y contar con un asistente de AUR (por ejemplo yay). En una terminal debemos teclear:

yay -s i2p

Finalmente, para Debian y distribuciones basadas en esta, deben de realizar una serie de pasos, los cuales puedes encontrar en este enlace.

from Linux Adictos https://ift.tt/uqXoMzd
via IFTTT

La comunidad de Gentoo considera prohibir las contribuciones generadas por IA

Gentoo prohíbe el uso de IA

Gentoo Linux

Michał Górny, una figura destacada en la comunidad de Gentoo, ha resaltado preocupaciones sobre los crecientes problemas relacionados con el contenido generado por IA y es por ello que aboga por un enfoque en pro de salvaguardar la integridad del contenido de Gentoo al proponer una prohibición de las contribuciones generadas por IA.

Ante esta propuesta, la junta directiva de Gentoo ha establecido una serie de normativas que prohíben el uso de herramientas de inteligencia artificial, como ChatGPT, Bard y GitHub Copilot, para la creación de contenido relacionado con la distribución Gentoo. Esto abarca la redacción de código para componentes de Gentoo, la creación de ebuilds, la preparación de documentación y el envío de informes de errores.

Ademas de ello, propuesta de Górny tiene como objetivo mantener la reputación de Gentoo por su autenticidad y calidad. Al asegurarse de que el contenido sea creado por colaboradores humanos, Gentoo puede mantener sus estándares y evitar riesgos legales y éticos asociados con el contenido generado por IA.

Las principales preocupaciones que llevaron a esta prohibición incluyen:

Riesgo de infracción de derechos de autor

Actualmente, aún existe incertidumbre sobre posibles infracciones de derechos de autor en contenido generado por modelos de IA entrenados con grandes conjuntos de datos, por lo que la legalidad del contenido generado por IA en términos de derechos de autor sigue siendo incierta. Los modelos de IA a menudo se entrenan con material protegido por derechos de autor, y existe el riesgo de que las herramientas de IA produzcan contenido que infrinja las leyes de derechos de autor. Además, surge la preocupación por la incapacidad de garantizar el cumplimiento de los requisitos de licencia en el código generado por herramientas de IA, ya que el código generado puede ser considerado un trabajo derivado sujeto a ciertas licencias.

Por ejemplo, entrenar un modelo de inteligencia artificial en código sujeto a una licencia que requiere atribución, el código generado por herramientas de IA no cumple con este requisito, lo que podría ser considerado una violación de varias licencias abiertas como la GPL, MIT y Apache, que son comúnmente utilizadas en proyectos de software libre y de código abierto. Esto se debe a que el código generado no proporciona la atribución necesaria al autor original del código utilizado para entrenar el modelo.

Además, pueden surgir problemas de compatibilidad de licencias al incorporar código generado por modelos entrenados en proyectos que utilizan licencias copyleft en entornos con licencias permisivas. Las licencias copyleft, como la GPL, requieren que las obras derivadas se distribuyan bajo la misma licencia copyleft, lo que podría entrar en conflicto con las licencias permisivas que permiten una mayor libertad en el uso y distribución del software derivado.

 Garantía de Calidad

Aunque el código o texto generado por herramientas de IA puede parecer correcto superficialmente, se ha demostrado que el contenido generado por IA puede variar ampliamente en calidad. Si bien algunos modelos de IA pueden producir contenido plausible, existe el riesgo de generar material sin sentido o inexacto. El uso de este contenido sin verificación podría resultar en proyectos de menor calidad y aumentar la carga de trabajo para verificar la precisión y calidad del código.

La verificación de código generado por herramientas de inteligencia artificial requiere un esfuerzo considerable para garantizar la precisión y la calidad. Al analizar informes de errores generados automáticamente, los desarrolladores enfrentan el desafío de distinguir entre informes útiles y aquellos que no son relevantes o contienen información incorrecta. Esto puede resultar en la pérdida de tiempo al revisar repetidamente la información y verificar los hechos, ya que la calidad aparente del diseño puede generar una falsa sensación de confianza en la información proporcionada.

La calidad externa del diseño del código generado por IA puede dar la impresión de que todo está en orden, lo que puede llevar a los revisores a pasar por alto problemas y puede resultar en la necesidad de revisar y verificar múltiples veces la información contenida en los informes generados automáticamente, lo que consume tiempo y recursos valiosos de desarrollo.

Consideraciones Éticas

La rápida proliferación de contenido generado por IA ha planteado preocupaciones éticas y se mencionan preocupaciones éticas relacionadas con la infracción de derechos de autor al entrenar modelos de IA, el impacto ambiental debido a los altos costos de energía en la creación de estos modelos y potencialmente facilitar el spam y las estafas. Es por ello que la comunidad de Gentoo quiere garantizar que el contenido sea creado por colaboradores humanos se alinea con los valores de autenticidad y calidad de Gentoo.

Finalmente, se menciona que la comunidad de Gentoo señala que el nuevo requisito de prohibir el uso de herramientas de inteligencia artificial no se aplicará de manera selectiva a aquellas herramientas que puedan demostrar que no infringen derechos de autor, mantienen altos estándares de calidad y no plantean problemas éticos. Esto sugiere que, si una herramienta de IA puede garantizar la ausencia de conflictos legales, asegurar la calidad del trabajo producido y cumplir con estándares éticos aceptables, podría considerarse para su uso en proyectos de Gentoo, a pesar de la prohibición general.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/4JaFXvl
via IFTTT