API's privilegiadas
- Área: Control de Acceso y Autenticación
- Tipo de pauta: Directriz
- Carácter de la pauta: Obligatoria
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ítulo | Carácter |
---|---|
Llamada a la API | Obligatoria |
Llamada segura | Obligatoria |
Control de errores | Obligatoria |
Liberación de privilegios | Obligatoria |
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.