Directrices de priorización para auditoría de paquetes

Al realizar una auditoría de la distribución Debian, uno de los primeros problemas es decidir qué paquetes hay que examinar.

De forma ideal, todos los paquetes se deberían examinar, pero debido al enorme tamaño del archivo, tiene que haber una forma sencilla de priorizar el trabajo.

Las primeras directrices para el examen de los paquetes son:

  1. Cualquier binario que esté instalado con setuid o setgid.
  2. Cualquiera que proporcione un servicio de red.
  3. Cualquier CGI o guión PHP accesible de forma remota.
  4. Cualquiera que tenga un trabajo de cron o cualquier guión automático que funcione con privilegios de root.

Los paquetes populares deberían tener una prioridad mayor, porque cualquier problema en ellos afectará a un gran número de usuarios.

El concurso de popularidad de Debian mantiene una encuesta continuada que muestra qué paquetes son más populares entre los voluntarios que realizan la encuesta.

En particular, eche un vistazo a los paquetes ordenados por votos. La lista por votos ordena los paquetes según su frecuencia de uso entre los participantes en la encuesta.

Si la seguridad de un paquete es importante, aún lo es más si cumple alguno de los criterios de arriba. Y si además es popular (según alguna encuesta como esta), definitivamente es un candidato a la revisión.

Binarios setuid y setgid.

Los binarios setuid y setgid son los objetivos tradicionales de las auditorías de seguridad, porque un binario vulnerable comprometido con estos permisos puede provocar que un usuario local obtenga acceso a privilegios que no le pertenecen.

Para ayudar a buscar, aquí hay una lista con todos los binarios con setuid y setgid que hay en la versión actual estable.

Cuando vaya a elegir los binarios, es importante que recuerde que estos binarios son más sensibles a cuestiones de seguridad que los otros. Los binarios setuid(root) se deberían examinar antes que, por ejemplo, los setgid(games) y setuid(bugs).

Servidores de red

Los servidores de red son otra fuente de inspiración obvia cuando se realiza una auditoría de seguridad. Son problemas que podrían aprovechar los atacantes para comprometer las máquinas de forma remota.

Los compromisos remotos son generalmente mucho más severos que los locales.

Guiones en línea

Los guiones en línea, especialmente los guiones CGI, son del mismo tipo que los de los servidores de red. Aunque su propio servidor sea seguro, los guiones que corren en él también son importantes.

Un error en un guión que esté disponible en la red es tan serio como un error en un servidor que esté escuchando conexiones. Ambos podrían comprometer su máquina.

Trabajos de cron y servicios del sistema

Aunque no hay muchos, lo mejor es echar un vistazo a los guiones automáticos, trabajos de cron, etc., que están incluidos en el paquete.

Muchas cosas de soporte corren como root de forma predeterminada para limpiar archivos de registro, etc.

El éxito en el aprovechamiento de un ataque de enlace simbólico podría derivar en un compromiso local.