Prevención de la sustitución confusa entre servicios
El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación entre servicios puede dar lugar al problema de la sustitución confusa. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente a través del servicio al que se llama de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que le ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta.
Hay tres recursos de AWS IoT Device Defender a los que puede afectar el problema de seguridad de la sustitución confusa, ejecutar auditorías, enviar notificaciones SNS por infracciones del perfil de seguridad y ejecutar acciones de mitigación. Para cada una de estas acciones, los valores de aws:SourceArn
deben ser los siguientes:
-
En el caso de los recursos transferidos a la API UpdateAccountAuditConfiguration (atributos RoleArn y notificationTarget RoleArn), debe delimitar la política de recursos utilizando
aws:SourceArn
comoarn:
.arnPartition
:iot:region
:accountId
: -
En el caso de los recursos transferidos a la API CreateMitigationAction (el atributo RoleArn), debe limitar la política de recursos utilizando
aws:SourceArn
comoarn:
.arnPartition
:iot:region
:accountId
:mitigationaction/mitigationActionName
-
En el caso de los recursos transferidos a la API CreateSecurityProfile (el atributo alertTargets), debe limitar la política de recursos utilizando
aws:SourceArn
comoarn:
.arnPartition
:iot:region
:accountId
:securityprofile/securityprofileName
La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de aws:SourceArn
con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utilice la clave de condición de contexto global aws:SourceArn
con comodines (*
) para las partes desconocidas del ARN. Por ejemplo, arn:aws:
.servicename
:*:123456789012
:*
El siguiente ejemplo muestra cómo se pueden utilizar las claves contextuales de condición global aws:SourceArn
y aws:SourceAccount
en AWS IoT Device Defender para evitar el problema del suplente confundido.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:iot:*:
123456789012
::*" }, "StringEquals": { "aws:SourceAccount": "123456789012
:" } } } }