Pasar al contenido principal

Principio de mínimo privilegio

En el ámbito de la ciberseguridad, el control de la asignación de permisos que un usuario puede tener sobre un sistema, dispositivo o aplicación es una práctica de seguridad muy habitual. Por ejemplo, los sistemas operativos son desarrollados con diferentes:

  • Roles: Conjunto de permisos asociados a distintos perfiles con acceso al sistema: usuario/administrador…
  • Privilegios: Funcionalidades y/o responsabilidades asociadas a cada rol.

La importancia de la asignación de permisos recae en la necesidad de garantizar que sólo las personas autorizadas pueden acceder a los recursos del sistema como, por ejemplo, obtener o modificar información. A este respecto, el principio de menor privilegio (PAM) es una estrategia de seguridad que ayuda a garantizar la estabilidad del sistema, otorgando a los usuarios únicamente los permisos necesarios y suficientes para el desempeño de una actividad, por un tiempo limitado, y con el mínimo de derechos requeridos. Posibles consecuencias:

  • Una restricción de los derechos de acceso a usuarios concretos.
  • Un acceso mínimo esencial a todos los usuarios para reducir la “superficie de ataque”.
  • Procesos, dispositivos y aplicaciones con la mínima autoridad necesaria.

Cuando el alcance de los cambios que puede hacer un usuario es limitado, los recursos de la red, datos y servidores se vuelven más fiables y fáciles de monitorear. Al limitar el acceso a todo el sistema, se reduce la posibilidad de que la vulnerabilidad de una aplicación pueda afectar a otros dispositivos o aplicaciones, ya que incluso las personas con acceso privilegiado al primer sistema no tienen acceso a los demás, lo que reduce la exposición al riesgo.

Asimismo, otra ventaja es que minimiza rápidamente la amenaza interna que pueden provocar las cuentas de usuario con privilegios. Es decir, la vulnerabilidad del sistema se reduce bastante cuando los usuarios solo tienen derechos de acceso mínimos a sistemas u horarios preestablecidos de realización de actividades o tareas puntuales.

El principio de mínimo privilegio gana importancia en relación con:

  • La acumulación de privilegios. La existencia de gran cantidad de aplicaciones heredadas y desarrolladas internamente requieren privilegios de ejecución, lo que lleva a los equipos TI a revocar privilegios a determinados usuarios y otorgárselos a otros. No obstante, en muchas ocasiones estas revocaciones no se llevan a cabo, y se produce una “acumulación de privilegios” sobre determinados usuarios, lo que genera grandes riesgos para la seguridad.
  • La escalada de privilegios. Situación en la que un cibercriminal explota la vulnerabilidad existente en un sistema o aplicación (fallo de diseño, error de configuración…), para obtener permisos de acceso –no autorizado- e ilícito a los recursos del sistema, posibilitando: el robo de datos confidenciales y/o de carácter sensible; la ejecución de comandos con permisos de administrador; o la instalación de malware o ransomware.

Existen dos tipos de escalada:

  • Horizontal: El cibercriminal obtiene acceso a datos y funcionalidades que no deberían estar disponibles para ese rol. Por ejemplo, el acceso a perfiles de usuarios ajenos para hacer uso de sus privilegios legítimos. Suele darse en redes sociales o plataformas de compras.
  • Vertical: El cibercriminal logra obtener una mayor cantidad de privilegios desde una cuenta menos privilegiada. Por ejemplo, cuando el cibercriminal -en un sistema operativo-, logra actuar como administrador, en vez de como usuario “simple”.

En conclusión, el principio de mínimo privilegio es un componente fundamental de los marcos de confianza cero (creencia de que no se debe confiar automáticamente en nada de dentro ni fuera del perímetro de seguridad, bajo la exigencia de verificar el acceso de todo lo que se conecta al sistema). Algunas buenas prácticas en la materia son:

  • Auditar el entorno completo para localizar cuentas con privilegios a nivel local (contraseñas, claves SSH, claves de acceso…), en la nube, en entornos del DevOps o los en los endpoints.
  • Eliminar privilegios innecesarios de administrador local y asegurarse de que las personas y dispositivos solo tengan los privilegios necesarios para realizar su trabajo.
  • Separar las cuentas de administrador de las cuentas estándar y aislar las sesiones de usuarios privilegiados.
  • Monitorear continuamente la actividad relacionada con las cuentas de administrador para permitir la rápida detección de incidentes.
  • Permitir a los usuarios acceder a cuentas con privilegios o ejecutar comandos con privilegios temporales y según sea necesario.