Introducción

AWS Security Hub ahora incluye un inventario de IA que descubre y cataloga automáticamente tus activos de inteligencia artificial (modelos, agentes, endpoints, pipelines) en toda la organización. Esto resuelve un problema crítico: la falta de visibilidad sobre qué modelos y servicios de IA están desplegados, dónde están y qué riesgos de seguridad los afectan.

El inventario cubre tres categorías principales:

  1. Servicios gestionados (Bedrock, SageMaker)
  2. Cargas de trabajo autoalojadas (en EC2 o ECR)
  3. Endpoints externos (llamadas a APIs de terceros)

En esta guía, configurarás el inventario de IA en Security Hub, validarás su funcionamiento y aprenderás a priorizar la remediación de riesgos asociados.

Qué es y para qué sirve

El inventario de IA de Security Hub es una base de datos centralizada que:

  • Descubre automáticamente modelos (ej: LLMs), agentes (ej: Bedrock Agents), endpoints (ej: SageMaker Inference) y pipelines de IA.
  • Mapea cada activo a su infraestructura subyacente (EC2, ECR, Lambda, etc.).
  • Correlaciona con amenazas: integra hallazgos de GuardDuty, Config y Amazon Inspector para mostrar qué activos están bajo ataque o mal configurados.
Casos de uso prácticos:
  • Identificar modelos de IA expuestos en Internet (ej: endpoints de TGI sin autenticación).
  • Detectar dependencias ocultas (ej: llamadas a APIs de terceros desde EC2).
  • Priorizar parches en modelos críticos (ej: SageMaker con bibliotecas vulnerables).

Prerequisitos

RequisitoDetalleVersión mínima
**AWS Security Hub**Debe estar habilitado en la organización
**AWS Organizations**Organizar cuentas en OUs para aplicar políticas
**Amazon Inspector**Para análisis SBOM en EC2/ECR2023-11-15
**AWS Config**Para recursos gestionados (Bedrock, SageMaker)
**Amazon GuardDuty**Para telemetría DNS (detección de APIs externas)
**Permisos**Rol IAM con BLOCK19, BLOCK20, BLOCK21
Notas:
  • El inventario está disponible sin costo adicional en Security Hub Essentials.
  • Requiere regiones comerciales donde Security Hub esté activo (ver regiones soportadas).

Guía paso a paso

1. Habilitar Security Hub en cuentas organizacionales

Si no está configurado, activa Security Hub en la cuenta principal de la organización:

# En la cuenta principal (donde está la organización)
aws securityhub enable-security-hub --region us-east-1
Verificación:
aws securityhub get-enabled-standards --region us-east-1

Deberías ver estándares como AWS Foundational Security Best Practices v1.0.0.

2. Configurar integración con AWS Config (para servicios gestionados)

Security Hub usa Config para descubrir recursos de IA gestionados (Bedrock, SageMaker). Verifica que Config esté activado:

# Listar configuraciones de AWS Config (debería incluir recursos de Bedrock/SageMaker)
aws configservice describe-configuration-recorders --region us-east-1

Si falta, configúralo:

# Crear recorder en una región
aws configservice put-configuration-recorder \
  --configuration-recorder name=default,roleArn=arn:aws:iam::123456789012:role/aws-config-role \
  --region us-east-1
Resultado esperado:

En la consola de Security Hub → FindingsAI Inventory, deberías ver recursos como:

Resource Type: AWS::SageMaker::Endpoint
Resource ID: arn:aws:sagemaker:us-east-1:123456789012:endpoint/my-model-endpoint

3. Activar Amazon Inspector para SBOM en EC2/ECR

Para descubrir cargas de trabajo autoalojadas (ej: modelos en EC2 con Ollama), habilita Amazon Inspector con análisis SBOM:

# Habilitar Inspector en la región
aws inspector2 enable-delegated-admin-account \
  --region us-east-1 \
  --account-id 123456789012
Configurar escaneo SBOM:
# Crear template de escaneo (para EC2 y ECR)
aws inspector2 create-findings-filter \
  --name "AI-SBOM-Scan" \
  --filter-criteria '{"sbomPackageType": ["LIBRARY"]}' \
  --region us-east-1
Ejemplo de modelo detectado:

Si tienes una EC2 con ollama pull llama3, Inspector reportará:

Resource: ec2:i-1234567890abcdef0
Finding: SBOM identifies "llama3" model in /home/ubuntu/.ollama/models
Severity: MEDIUM

4. Habilitar telemetría de GuardDuty DNS (para APIs externas)

Security Hub usa los logs de GuardDuty DNS para detectar llamadas a APIs de terceros (ej: Anthropic, Mistral). Asegúrate de que GuardDuty esté activo:

# Habilitar GuardDuty en la región
aws guardduty create-detector \
  --region us-east-1 \
  --enable
Verificar logs de DNS:
# Buscar hallazgos de DNS (tipo "DNS_EXFILTRATION")
aws guardduty list-findings \
  --detector-id <ID-DETECTOR> \
  --region us-east-1 \
  --finding-types "DNS_EXFILTRATION"
Ejemplo de hallazgo correlacionado:
Finding: "External API call detected to mistral.ai"
Resource: ec2:i-0987654321fedcba0
Linked Asset (Security Hub AI Inventory): Mistral-7B-Endpoint

5. Verificar el inventario de IA en Security Hub

Accede a la consola de Security HubAI Inventory (en el menú izquierdo). Deberías ver una tabla con:

ColumnaDescripciónEjemplo
**Tipo de recurso**Modelo, agente, endpointBLOCK24
**ID del recurso**ARN o IDBLOCK25
**Método de descubrimiento**Config, SBOM, GuardDuty DNSBLOCK26
**Modelo identificado**Nombre del modeloBLOCK27
**Estado de seguridad**Hallazgos correlacionadosBLOCK28
Filtros útiles:
  • resourceType = "AWS::SageMaker::Endpoint" → Solo endpoints de SageMaker.
  • discoveryMethod = "GuardDutyDNS" → Solo APIs externas.
  • modelIdentifier CONTAINS "llama" → Modelos con «llama» en el nombre.

6. Priorizar riesgos y tomar acciones

Usa la consola para agrupar y exportar activos en riesgo:

# Exportar inventario a CSV (usando AWS CLI)
aws securityhub get-insights \
  --workflow-id "ai-inventory-risk-prioritization" \
  --region us-east-1 > ai_inventory_report.json
Ejemplo de remediación:
  1. Endpoint de SageMaker sin autenticación:
   aws sagemaker update-endpoint \
     --endpoint-name my-open-model-endpoint \
     --region us-east-1 \
     --no-data-capture-configuration
   
  1. EC2 con modelo Ollama expuesto:
   # Cerrar puerto 11433 en el security group
   aws ec2 revoke-security-group-ingress \
     --group-id sg-1234567890abcdef0 \
     --protocol tcp \
     --port 11433 \
     --cidr 0.0.0.0/0 \
     --region us-east-1
   

7. Automatizar con AWS Lambda (opcional)

Para alertar automáticamente sobre nuevos activos de IA en riesgo, crea una Lambda que procese hallazgos de Security Hub:

# lambda_function.py
import boto3

def lambda_handler(event, context):
    securityhub = boto3.client('securityhub', region_name='us-east-1')
    findings = securityhub.get_findings(
        Filters={
            'ProductFields': [{'Key': 'ProductName', 'Value': 'Security Hub'}],
            'Types': [{'Value': 'Software and Configuration Checks/AWS Security Best Practices'}]
        }
    )
    # Filtrar solo hallazgos de AI Inventory
    ai_findings = [
        f for f in findings['Findings']
        if 'AI Inventory' in f['Title']
    ]
    if ai_findings:
        # Enviar a Slack/Teams
        print(f"Nuevos riesgos: {ai_findings}")
    return {'statusCode': 200}
Despliegue:
# Empaquetar y subir Lambda
zip function.zip lambda_function.py
aws lambda create-function \
  --function-name AIInventoryAlert \
  --runtime python3.9 \
  --handler lambda_function.lambda_handler \
  --role arn:aws:iam::123456789012:role/lambda-execution-role \
  --zip-file fileb://function.zip \
  --region us-east-1

Consideraciones y buenas prácticas

Limitaciones conocidas

  • Cobertura de frameworks: Solo detecta modelos en frameworks específicos (Ollama, vLLM, TGI, Hugging Face). Para otros (ej: TensorFlow Serving), usa Amazon Inspector con reglas personalizadas.
  • Retraso en detección: Mayores de 30 minutos entre el despliegue de un recurso y su aparición en el inventario.
  • Falsos positivos: GuardDuty DNS puede marcar llamadas legítimas a APIs como riesgosas (ej: AWS Bedrock). Revisa los hallazgos manualmente.

Alternativas para visibilidad avanzada

HerramientaCaso de usoLimitación
**Amazon SageMaker Model Monitor**Monitorear drift en modelosSolo para SageMaker
**AWS Distro for OpenTelemetry (ADOT)**Traces de inferenciaRequiere instrumentación manual
**Third-party (Wiz, Aqua)**Inventario multi-cloudCosto adicional
### Optimizaciones recomendadas
  1. Etiquetado de recursos:
   aws ec2 create-tags \
     --resources i-1234567890abcdef0 \
     --tags Key=AIModel,Value=llama3 Key=Environment,Value=production \
     --region us-east-1
   

Esto facilita la búsqueda en el inventario (tags.AIModel = "llama3").

  1. Políticas de AWS Organizations:
Aplica SCPs para bloquear despliegues de modelos sin etiquetas de seguridad:
   # scp-ai-policy.json
   {
     "Version": "2012-10-17",
     "Statement": [{
       "Effect": "Deny",
       "Action": "sagemaker:*",
       "Resource": "*",
       "Condition": {
         "Null": { "aws:RequestTag/AIModel": "true" }
       }
     }]
   }
   
  1. Integración con SIEM:
Exporta hallazgos de Security Hub a Amazon OpenSearch para análisis avanzado:
   aws securityhub subscribe-to-findings \
     --sns-topic-arn arn:aws:sns:us-east-1:123456789012:SecurityHubFindings \
     --region us-east-1
   

Conclusión

El inventario de IA de AWS Security Hub resuelve el problema de visibilidad en entornos con múltiples modelos y servicios de IA, integrando hallazgos de amenazas con la infraestructura subyacente. Con esta guía, configuraste:

  1. Descubrimiento automático de modelos gestionados (Bedrock, SageMaker).
  2. Análisis SBOM para cargas de trabajo autoalojadas (EC2, ECR).
  3. Detección de APIs externas mediante GuardDuty DNS.
  4. Priorización de riesgos y automatización de alertas.
Próximos pasos:
  • Revisa semanalmente el inventario en Security Hub → AI Inventory.
  • Configura automatizaciones (Lambda, EventBridge) para bloquear recursos no conformes.
  • Documenta los activos de IA críticos en tu inventario organizacional.

Fuentes

Deja una respuesta

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