Introducción

Los equipos de seguridad en entornos cloud enfrentan un desafío creciente: no tienen visibilidad centralizada de los activos de IA desplegados en su organización. Modelos de lenguaje, agentes autónomos, pipelines de MLOps y endpoints de inferencia aparecen y desaparecen sin control, exponiendo a la empresa a riesgos como:

  • Exposición de modelos sensibles por configuraciones incorrectas.
  • Llamados a APIs externas de proveedores de IA sin monitoreo.
  • Dependencias ocultas en contenedores o instancias EC2 sin trazabilidad.
AWS Security Hub ahora resuelve esto con un inventario de IA integrado, que descubre y cataloga automáticamente activos de IA en tu entorno AWS, correlaciona sus hallazgos de seguridad y permite priorizar remediaciones. No requiere configuración adicional para servicios gestionados de IA, y para cargas de trabajo auto-hospedadas usa Amazon Inspector y GuardDuty. En esta guía, vas a configurar el inventario de IA en Security Hub y aprender a usar su interfaz para identificar y mitigar riesgos.

Qué es y para qué sirve

El inventario de IA de Security Hub es un catálogo dinámico que mapea:

  1. Modelos de IA gestionados (Amazon Bedrock, SageMaker, Bedrock AgentCore).
  2. Cargas de trabajo auto-hospedadas en EC2 o ECR (contenedores con frameworks como Ollama, vLLM, Hugging Face TGI).
  3. APIs externas de IA accedidas desde tu entorno (llamados a proveedores como Anthropic, Mistral, etc.).
Para qué sirve:
  • Visibilidad organizacional: Ver todos los activos de IA en una sola vista, filtrando por cuenta, tipo de recurso o identidad del modelo.
  • Correlación de riesgos: Cada activo se vincula con hallazgos de GuardDuty (amenazas activas) y de AWS Config (configuraciones incorrectas).
  • Priorización de remediaciones: Identificar qué modelos o endpoints están bajo amenaza activa o tienen configuraciones inseguras.
  • Cumplimiento y auditoría: Generar reportes de inventario para auditorías internas o externas.
Ejemplo práctico:

Si un endpoint de inferencia en EC2 usa un modelo de Hugging Face sin autenticación, el inventario lo marcará como «AI Asset» y Security Hub correlacionará ese endpoint con hallazgos de GuardDuty (ej: escaneo de puertos abiertos). Luego podrás filtrar por «AI Asset Type: Inference Endpoint» y ver qué recursos están expuestos.

Prerequisitos

Antes de empezar, asegurate de cumplir con estos requisitos:

RequisitoVersión/ConfiguraciónNotas
**AWS Security Hub**Activado en la cuenta/organizaciónDebe estar habilitado en todas las cuentas de la organización (para visibilidad cross-account).
**AWS Organizations**Cuenta principal con permisos de administraciónNecesario para configurar Security Hub a nivel organizacional.
**Amazon Inspector**Habilitado en la cuentaRequiere que Inspector esté configurado para análisis de SBOM (Software Bill of Materials).
**Amazon GuardDuty**Activado en la cuenta/organizaciónNecesario para descubrir APIs externas de IA (telemetría DNS).
**Amazon Bedrock**Configurado en la regiónSi usás modelos gestionados por Bedrock, Security Hub los descubrirá automáticamente.
**Amazon SageMaker**Endpoints o modelos desplegadosSecurity Hub los incluirá en el inventario.
**Permisos IAM**BLOCK28
BLOCK29
BLOCK30
En la cuenta principal de la organización.
**Región AWS**Todas las regiones comerciales donde Security Hub esté disponibleVer [lista oficial](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-regions.html).
Pasos previos recomendados:
  1. Habilitar Security Hub a nivel organizacional:
   aws securityhub enable-security-hub --region us-east-1
   aws securityhub enable-organization-admin-account --admin-account-id 123456789012
   
Reemplazá 123456789012 con el ID de tu cuenta principal de AWS Organizations.
  1. Verificar que Inspector esté habilitado:
   aws inspector2 list-findings --region us-east-1 --max-results 1
   
Si no hay hallazgos, configurá Inspector para escanear EC2 y ECR:
   aws inspector2 create-findings-filter --name "AI-SBOM-SCAN" --filter-criteria '{"sbomPackage":{"packageName":[{"comparison":"EQUALS","value":"*"}]}' --region us-east-1
   
  1. Asegurar que GuardDuty esté activo en la organización:
   aws guardduty list-organization-admin-accounts --region us-east-1
   
Si no hay cuentas administradoras, configuralo:
   aws guardduty create-organization-admin-account --admin-account-id 123456789012 --region us-east-1
   

Guía paso a paso

Paso 1: Verificar que el inventario de IA esté disponible

El inventario de IA se activa automáticamente al habilitar Security Hub. Para confirmar:

  1. Abrí la consola de Security Hub:
   aws securityhub get-findings --region us-east-1 --max-items 1
   
Si Security Hub está activo, deberías ver una respuesta con hallazgos (o sin ellos si no hay amenazas).
  1. Navegá a la vista de «AI Inventory»:
– En la consola de AWS, andá a Security Hub > Findings > AI Inventory.

– Si no aparece, asegurate de que tu cuenta tenga permisos:

     {
       "Version": "2012-10-17",
       "Statement": [
         {
           "Effect": "Allow",
           "Action": ["securityhub:GetAIInventory"],
           "Resource": "*"
         }
       ]
     }
     
Aplicá este policy a tu rol IAM de Security Hub.Resultado esperado:

Ver una tabla con columnas como:

  • AI Asset Type (Modelo gestionado, Endpoint de inferencia, Agente, API externa).
  • AI Asset ID (ARN del recurso).
  • Discovery Method (Config, Inspector, GuardDuty DNS).
  • Security Findings (cantidad de hallazgos asociados).

Paso 2: Descubrir modelos gestionados (Amazon Bedrock, SageMaker, AgentCore)

Security Hub descubre automáticamente modelos gestionados sin configuración adicional:

  1. Verificá que tengas modelos desplegados:
– Para Amazon Bedrock:
     aws bedrock list-foundation-models --region us-east-1
     

– Para SageMaker:

     aws sagemaker list-endpoints --region us-east-1
     

– Para Bedrock AgentCore:

     aws bedrock-agent list-agents --region us-east-1
     
  1. Filtrá el inventario por «Managed AI Service»:
– En la consola de Security Hub, en AI Inventory, seleccioná el filtro:
     AI Asset Type = "Managed AI Service"
     

Resultado esperado:

Verás recursos como:

     arn:aws:bedrock:us-east-1:123456789012:foundation-model/anthropic.claude-3-sonnet-20240229-v1:0
     arn:aws:sagemaker:us-east-1:123456789012:endpoint/my-llm-endpoint
     
  1. Correlacioná hallazgos de seguridad:
– Hacé clic en un recurso para ver sus hallazgos asociados (ej: un modelo de SageMaker con una configuración de VPC insegura).

Paso 3: Descubrir cargas de trabajo auto-hospedadas con Amazon Inspector

Para modelos o endpoints auto-hospedados (en EC2 o ECR), Security Hub usa Amazon Inspector para identificar:

  • Inference endpoints (ej: Ollama, vLLM).
  • Modelos en contenedores (imágenes en ECR con frameworks como Hugging Face TGI).
  • Agentes de IA (código personalizado en EC2).
Requisito previo:
  • Inspector debe estar configurado para analizar SBOM en EC2 y ECR:
  aws inspector2 update-organization-configuration --auto-enable ec2 yes --auto-enable ecr yes --region us-east-1
  
Pasos:
  1. Escaná un EC2 con un endpoint de inferencia:
– Si tenés un EC2 con Ollama:
     curl -X POST http://localhost:11434/api/generate -d '{"model":"llama3","prompt":"Hola"}'
     

– Inspector detectará el binario de Ollama en el SBOM.

  1. Verificá en Security Hub:
– En AI Inventory, aplicá los filtros:
     Discovery Method = "Inspector SBOM"
     AI Asset Type = "Inference Endpoint"
     

Resultado esperado:

Verás un recurso como:

     EC2 Instance: i-1234567890abcdef0 | AI Asset Type: Inference Endpoint | Framework: Ollama 3.2
     
  1. Correlacioná con hallazgos de GuardDuty:
– Si el endpoint está expuesto a internet, GuardDuty generará un hallazgo como:
     "Type": "UnauthorizedAccess:EC2/SSHBruteForce"
     

– En Security Hub, el activo de IA mostrará este hallazgo en la pestaña «Findings».

Paso 4: Descubrir APIs externas de IA con GuardDuty DNS

Security Hub usa telemetría DNS de GuardDuty para detectar llamadas a APIs externas de proveedores de IA (ej: Anthropic, Mistral, Cohere).

Ejemplo de detección:
  • Si un EC2 hace un llamado a api.anthropic.com, GuardDuty lo registrará y Security Hub lo categorizará como «AI Asset: External API».
Pasos:
  1. Generá tráfico a una API externa:
– Desde un EC2, ejecutá:
     curl -X POST https://api.anthropic.com/v1/messages -H "x-api-key: TU_API_KEY"
     
  1. Verificá en Security Hub:
– En AI Inventory, aplicá el filtro:
     Discovery Method = "GuardDuty DNS"
     AI Asset Type = "External AI API"
     

Resultado esperado:

Verás un recurso como:

     Destination: api.anthropic.com | AI Asset Type: External AI API | Last Seen: hace 5 minutos
     
  1. Correlacioná riesgos:
– Si la API externa tiene un hallazgo de GuardDuty (ej: «Policy:IAM.Usage:SensitiveModelAccess»), Security Hub lo mostrará en la columna «Security Findings».

Paso 5: Priorizar y remedir riesgos en activos de IA

Una vez que tengas el inventario, priorizá remediaciones con estos filtros:

FiltroEjemplo de queryPropósito
**AI Asset en riesgo activo**BLOCK33Ver endpoints bajo amenaza.
**Modelos sin autenticación**BLOCK34Modelos gestionados con configuraciones inseguras.
**APIs externas no autorizadas**BLOCK35Llamados a APIs no aprobadas.
Ejemplo práctico:
  1. Filtrá por «AI Asset en riesgo activo»:
– En la consola de Security Hub, en AI Inventory, aplicá:
     Security Findings > 0
     

Resultado esperado:

Verás una lista de activos con hallazgos activos (ej: un endpoint de inferencia con un puerto 8080 expuesto).

  1. Generá un reporte de remediación:
   aws securityhub batch-update-findings --region us-east-1 --finding-identifiers '[
     {
       "Id": "arn:aws:securityhub:us-east-1:123456789012:finding/12345678-1234-1234-1234-123456789012",
       "ProductArn": "arn:aws:securityhub:us-east-1::product/aws/securityhub",
       "GeneratorId": "securityhub",
       "Types": ["Software and Configuration Checks/AWS Security Best Practices"]
     }
   ]'
   

Reemplazá el Id con un hallazgo real de tu inventario.

Paso 6: Automatizar el inventario con AWS CLI y Lambda

Para integrar el inventario de IA en tus pipelines de seguridad, usá la API de Security Hub para exportar datos a herramientas externas (ej: SIEM, Grafana).

Ejemplo: Script Lambda para exportar inventario a S3:
import boto3
import json

def lambda_handler(event, context):
    securityhub = boto3.client('securityhub', region_name='us-east-1')

    # Listar todos los activos de IA
    response = securityhub.get_ai_inventory(
        MaxResults=100,
        NextToken=''
    )

    # Guardar en S3
    s3 = boto3.client('s3')
    s3.put_object(
        Bucket='mi-bucket-ai-inventory',
        Key='ai-inventory.json',
        Body=json.dumps(response['AIAssets'])
    )

    return {
        'statusCode': 200,
        'body': f"Exportados {len(response['AIAssets'])} activos de IA"
    }
Configuración del Lambda:
  1. Creá un rol IAM con permisos:
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
         "securityhub:GetAIInventory",
         "s3:PutObject"
       ],
       "Resource": "*"
     }
   ]
   
  1. Programá el Lambda para que se ejecute cada 6 horas.

Consideraciones y buenas prácticas

Limitaciones conocidas

LimitaciónImpactoWorkaround
**Solo cubre modelos en AWS**No detecta modelos en entornos on-premise o en otros clouds.Usá herramientas como **OpenTelemetry** para rastrear modelos externos.
**Dependencia de Inspector**Requiere que Inspector esté configurado para SBOM.Habilitá Inspector en todas las cuentas con BLOCK37 para auto-escaneo.
**Telemetría DNS de GuardDuty**Solo detecta APIs externas accedidas desde EC2.Usá **VPC Flow Logs** para detectar tráfico a APIs externas no DNS.
**No incluye modelos en Lambda**Los modelos desplegados en funciones Lambda no aparecen en el inventario.Usá **AWS Config** para rastrear despliegues de Lambda con modelos.
### Buenas prácticas
  1. Segmentá el inventario por entorno:
– Crea grupos de recursos en Security Hub para diferenciar:

dev-ai-assets

prod-ai-assets

– Usá etiquetas de AWS para filtrar:

     Tags: Environment = "production"
     
  1. Integra con SIEM:
– Exportá el inventario a Amazon OpenSearch o Splunk para correlacionar con logs de aplicaciones.

– Ejemplo de query en OpenSearch:

     {
       "query": {
         "bool": {
           "must": [
             {"term": {"ai_asset_type": "Inference Endpoint"}},
             {"range": {"security_findings_count": {"gt": 0}}}
           ]
         }
       }
     }
     
  1. Automatizá la remediación:
– Usá AWS Systems Manager Automation para cerrar puertos expuestos en endpoints de inferencia:
     schemaVersion: '0.3'
     description: "Cerrar puerto 8080 en endpoint de inferencia"
     parameters:
       InstanceId:
         type: String
     mainSteps:
       - action: aws:runShellScript
         name: "CerrarPuerto"
         inputs:
           runCommand:
             - "sudo iptables -A INPUT -p tcp --dport 8080 -j DROP"
     
  1. Auditoría regular:
– Generá reportes semanales con:
     aws securityhub batch-export-findings --region us-east-1 --filters '{"AIAsset": {"DiscoveryMethod": ["Inspector SBOM", "GuardDuty DNS"]}}'
     

– Analizá cambios en el inventario con herramientas como AWS Config Rules.

Conclusión

El inventario de IA de AWS Security Hub cierra una brecha crítica en la visibilidad de activos de IA en entornos cloud. Con tres métodos de descubrimiento (Config, Inspector y GuardDuty), podés:

  1. Mapear modelos gestionados (Bedrock, SageMaker) sin configuración adicional.
  2. Detectar endpoints auto-hospedados (Ollama, vLLM) mediante SBOM de Inspector.
  3. Identificar APIs externas accedidas desde tu entorno con telemetría DNS de GuardDuty.
  4. Priorizar riesgos correlacionando hallazgos de seguridad con activos de IA.
Próximos pasos:
  • Habilitá Security Hub en todas las cuentas de tu organización.
  • Configurá Amazon Inspector para SBOM en EC2 y ECR.
  • Crea automatizaciones (Lambda, SSM) para cerrar riesgos identificados.

Fuentes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *