Vulnerabilidades al agregar un repositorio de paquetes no confiable

2

A menudo, los usuarios instalarán repositorios de paquetes adicionales en sus distribuciones de Linux para poder seguir las versiones "novedosas" del software que no ha sido / nunca será portado a su versión de distribución.

Supongamos que packageA proporcionado por repoA depende de libssl . Originalmente, no se encontraron problemas; Las únicas vulnerabilidades posibles tendrían que ser suministradas directamente por packageA .

Sin embargo, si el propietario del repositorio empaqueta libssl y lo incluye en su propio repositorio (he visto cosas similares en la naturaleza), mi sistema libssl será reemplazado por Su versión compilada de OpenSSL.

Dicho esto, ¿qué tan difícil es hacer esto? ¿Los administradores de paquetes (por ejemplo, apt, yum) proporcionan alguna protección contra esto? Por lo que sabe el usuario, un repositorio malintencionado podría empaquetar un rootkit en un paquete llamado libssl que, de hecho, no proporciona ningún soporte SSL en absoluto. Si entiendo correctamente, si esto sucediera, el usuario no recibiría ninguna indicación de que esto estuviera sucediendo y su máquina se vería comprometida con un simple apt-get upgrade .

    
pregunta Naftuli Kay 30.06.2014 - 21:45
fuente

2 respuestas

2

Como regla general, la mayoría de los gestores de paquetes le preguntarán si desea instalar dependencias, y le preguntarán si desea instalar paquetes diferentes (versiones de).

Cada vez que descargo un paquete de un lugar que no es un repositorio de Debian (uso Crunchbang linux), instalo las dependencias necesarias y solo uso el repositorio de terceros para el paquete específico que deseo.

Luego, comentaré la línea en mi archivo de fuentes que tiene el repositorio de terceros para que cuando ejecute 'apt-get update' no obtenga nada de ese repositorio. (El único inconveniente es que requiere un paso adicional para actualizar el paquete desde ese repositorio).

Por lo general, cuando actualice o actualice, se le mostrarán todos los paquetes que deben actualizarse. Si prestas atención, notarás que algo funky está sucediendo.

Editar: acaba de encontrar un ejemplo al intentar actualizar Mono

Need to get 55.8 MB of archives.
After this operation, 33.8 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
**WARNING: The following packages cannot be authenticated!**
  mono-complete mono-runtime-sgen mono-devel mono-dmcs...

Es de una fuente que no es de Debian, por lo que aparece la advertencia y me obliga a seleccionar Y nuevamente.

    
respondido por el Eric Lagergren 01.07.2014 - 00:01
fuente
0

Esencialmente la preocupación que plantea es válida.

El proveedor de packageA podría lanzar una versión de libssl que sea más alta que la versión de su distribución de libssl . La próxima vez que actualice libssl , se instalará el paquete (más nuevo) de repoA . Y / o el proveedor de packageA podría hacer que su propio paquete dependiera de su propia versión de libssl .

El paso de mitigación manual anotado por @Eric Lagergren es ciertamente legítimo. Sin embargo, hay dos pasos que puede tomar para evitar el inconveniente cotidiano de tener que ajustar manualmente la lista de fuentes cada vez que quiera actualizar y evitar el riesgo de olvidar, mientras aún tiene algo de mente. No son infalibles y aún se pueden deshacer, sin embargo, sigue siendo una mejora de la OMI.

  1. Cuando agregue el repositorio, NO use apt-key add. En su lugar, ponga la clave del repo de terceros en otro lugar. P.ej. /usr/share/keyrings/3rd-party-key.gpg y use una línea de sources.list que tenga este aspecto:

    deb [signed-by = / usr / share / keyrings / 3rd-party-key.gpg] http ...

  2. Asegúrate de fijar todos los paquetes del repositorio (que no sean los que deseas instalar) con una prioridad baja (por ejemplo, 100). Los paquetes específicos que desea instalar se pueden anclar a un número más alto que permita la instalación (por ejemplo, más de 500).

Los detalles de esta configuración (y los vectores de ataque restantes) se indican en la wiki de Debian . También en la wiki de Debian, otra página analiza una posible solución a los detalles de las preocupaciones adicionales planteadas here (Debian wiki nuevamente ...).

    
respondido por el Jeremy Davis 20.09.2018 - 02:00
fuente

Lea otras preguntas en las etiquetas