API's privilegiadas

LIBP-0271 (Libro de pautas)
Aspectos a tener en cuenta a la hora de utilizar API's privilegiadas

Las APIs privilegiadas son aquellas que tienen métodos encargados de acceder a los datos sensibles de la aplicación y de los usuarios, por lo que para poder utilizarlas es necesario disponer de privilegios específicos.

Un atacante podría obtener estos privilegios si la llamada a uno de estos métodos no se realiza de acuerdo a lo establecido en la API.

A la hora de llamar a la API hay que tener en cuenta lo siguiente:

  • Asegurar que las suposiciones hechas por la API son válidas, como la validez de los argumentos.
  • Tener en cuenta las debilidades conocidas en el diseño / implementación de la API.
  • Llamar a la API desde un contexto seguro

Si no se cumplen estos requisitos al llamar a la API, puede que un atacante eleve sus privilegios, secuestre el proceso o robe datos confidenciales.

Pautas

TítuloCarácter
Llamada a la APIObligatoria
Llamada seguraObligatoria
Control de erroresObligatoria
Liberación de privilegiosObligatoria

Llamada a la API

Comprobar que el usuario que llama a la API privilegiada tiene los permisos específicos necesarios

Antes de efectuar la llamada a un método de la API privilegiada debemos comprobar que el usuario que lo llama tiene los permisos necesarios para hacerlo.

Llamada segura

Comprobar que el entorno es seguro antes de la llamada a la API

Antes de realizar la llamada a la API se debe verificar que el entorno se encuentra en un estado fuerte, coherente y esperado.

Control de errores

Controlar la salida en caso de error

Controlar que un fallo o un error no deja el sistema en un estado inseguro, donde los privilegios no son correctos y posibiliten una escalada de privilegios.

Liberación de privilegios

Liberar los privilegios después de la llamada a la API

Verificar que, una vez la API finaliza la llamada, se restablece el entorno correctamente.