Dominio 3: Requisitos de software seguro

Por: Artiko
csslpisc2seguridadrequisitoscomplianceprivacidadsdlc

Dominio 3: Requisitos de software seguro

El Dominio 3 pesa 13% del examen y marca el momento del ciclo de vida donde la seguridad deja de ser una intención y se convierte en algo verificable. Un requisito de seguridad es una afirmación comprobable sobre qué debe hacer (o no hacer) el software. Si no está escrito, no se diseña; si no se diseña, no se prueba; y si no se prueba, no se puede afirmar que el sistema sea seguro.

La idea central que el examen quiere que interiorices es que el requisito es el punto de máximo apalancamiento. Corregir un defecto de seguridad detectado en requisitos cuesta órdenes de magnitud menos que corregirlo en producción. Por eso, cuando una pregunta te plantee “¿cuál es la forma más económica de asegurar una característica?”, la respuesta casi siempre apunta a definirlo correctamente como requisito desde el inicio.

flowchart LR
    N[Necesidad de negocio] --> R[Requisito de seguridad]
    RG[Análisis de riesgo] --> R
    C[Cumplimiento normativo] --> R
    R --> D[Diseño / control]
    D --> I[Implementación]
    I --> T[Caso de prueba]
    T -.trazabilidad SRTM.-> R

💡 Tip de examen: cuando dudes en qué fase del SDLC actuar, recuerda que el orden correcto es requisitos → diseño → implementación → pruebas. La opción “más temprana” que resuelva la causa raíz suele ser la correcta, no el parche tardío.


3.1 Definir requisitos de seguridad del software

Los requisitos de seguridad nacen de tres fuentes que debes saber distinguir:

FuenteDescripciónEjemplo
NegocioObjetivos y reglas del negocio que implican protección”Solo el titular puede ver su saldo”
RiesgoDerivados del análisis de amenazas y tolerancia al riesgo”Bloquear la cuenta tras 5 intentos fallidos”
CumplimientoImpuestos por leyes, regulaciones o contratos”Cifrar PAN de tarjetas en reposo (PCI DSS)“

Funcionales vs. no funcionales

Muchos requisitos de seguridad son no funcionales porque expresan cómo debe comportarse el sistema (confidencialidad, integridad, disponibilidad) más que una feature visible. El examen insiste en que la seguridad se expresa frecuentemente como atributos de calidad.

Requisitos derivados: general → específico

Un requisito de alto nivel (“proteger datos de clientes”) debe descomponerse en requisitos derivados concretos y comprobables: cifrado en reposo con AES-256, cifrado en tránsito con TLS, control de acceso por rol, registro de auditoría de accesos, retención máxima de 24 meses. A este proceso de descomponer una política o un objetivo de alto nivel en requisitos técnicos concretos se le llama policy decomposition.

Un buen requisito de seguridad es SMART: específico, medible, alcanzable, relevante y con un criterio de aceptación verificable. “El sistema debe ser seguro” no es un requisito; “el sistema debe rechazar contraseñas de menos de 12 caracteres” sí lo es.

💡 Tip de examen: distingue “requisito de seguridad” (lo que el sistema debe hacer) de “control de seguridad” (el mecanismo que lo implementa). El requisito precede al control. Si la pregunta mezcla ambos, la actividad de “requisitos” siempre es anterior.


3.2 Requisitos de cumplimiento normativo y regulatorio

El cumplimiento genera requisitos obligatorios: no son negociables por conveniencia técnica. El CSSLP no exige memorizar el articulado, pero sí saber qué protege cada marco y qué requisitos típicos impone.

MarcoÁmbitoDatos que protegeRequisitos típicos que genera
GDPRUE (extraterritorial)Datos personales de residentes de la UEBase legal, consentimiento, derecho al olvido, portabilidad, DPO, notificación de brecha en 72h, privacy by design
HIPAAEE.UU., saludPHI (información de salud protegida)Salvaguardas administrativas, físicas y técnicas; BAA con terceros; control de acceso y auditoría
PCI DSSGlobal, tarjetas de pagoDatos del titular (PAN, CVV)Cifrado de PAN, segmentación de red, no almacenar CVV, prueba de intrusión y escaneo regular
SOXEE.UU., empresas cotizadasIntegridad de reportes financierosControles internos, segregación de funciones, trazabilidad de cambios, auditoría
CCPA/CPRACaliforniaDatos personales de consumidoresDerecho a saber, a borrar y a rechazar la venta de datos (opt-out)

Leyes locales y sectoriales: además de estos marcos globales, el software puede estar sujeto a leyes nacionales (por ejemplo, LGPD en Brasil, LFPDPPP en México) o sectoriales (GLBA en banca de EE.UU.). El requisito recurrente es la localización o soberanía de datos: dónde se pueden almacenar y procesar legalmente.

💡 Tip de examen: GDPR aplica por la residencia del sujeto de datos, no por dónde está la empresa. Una empresa fuera de la UE que trata datos de europeos está sujeta a GDPR. HIPAA es de salud, PCI DSS de tarjetas, SOX de reportes financieros. Asociar cada marco con su tipo de dato resuelve la mayoría de las preguntas.

Un punto que el examen valora: el cumplimiento es un mínimo, no un techo. Cumplir PCI DSS no significa “estar seguro”; significa cumplir un baseline. La gestión de riesgo puede exigir controles por encima de lo regulado.


3.3 Requisitos de clasificación de datos

No todos los datos merecen la misma protección. La clasificación asigna a cada tipo de dato un nivel de sensibilidad que determina los controles (cifrado, acceso, retención, destrucción). Sin clasificación, o se sobreprotege todo (caro) o se subprotege lo crítico (peligroso).

flowchart TD
    subgraph Ciclo de vida del dato
        A[Creación] --> B[Almacenamiento]
        B --> C[Uso]
        C --> D[Compartición]
        D --> E[Archivo]
        E --> F[Destrucción]
    end
    CL[Clasificación] -.define controles en cada fase.-> A

Niveles de clasificación

Los esquemas varían por organización, pero el examen usa dos referencias típicas:

Esquema comercialEsquema gubernamental (EE.UU.)
PúblicoUnclassified
Interno / SensitiveConfidential
ConfidencialSecret
Restringido / Highly confidentialTop Secret

Roles del dato

Etiquetado (labeling)

La clasificación solo es útil si el dato lleva su etiqueta consigo (marca, metadato, cabecera). El etiquetado permite que los controles automáticos (DLP, cifrado condicional) actúen según la sensibilidad. Requisito típico: “todo documento clasificado como Confidencial debe llevar marca de agua y encabezado de clasificación”.

💡 Tip de examen: el data owner clasifica, el data custodian implementa los controles. Es una distinción de “accountable vs. responsible” que ISC2 pregunta a menudo. El custodio nunca decide la clasificación.


3.4 Requisitos de privacidad

La privacidad no es sinónimo de seguridad: la seguridad protege el dato de accesos no autorizados; la privacidad gobierna el uso legítimo del dato personal incluso por quien tiene acceso autorizado.

Tipos de datos personales

Privacy by Design

Principio, popularizado por Ann Cavoukian y consagrado en GDPR (art. 25), de incorporar la privacidad desde el diseño y por defecto, no como un añadido posterior. Sus ideas rectoras: proactivo no reactivo, privacidad como configuración por defecto, privacidad embebida en el diseño, funcionalidad completa (no suma cero), seguridad de extremo a extremo, visibilidad/transparencia y respeto por el usuario.

Requisitos de privacidad recurrentes

RequisitoDescripción
Minimización de datosRecolectar solo lo estrictamente necesario para el fin declarado
Limitación de propósitoUsar el dato solo para el fin por el que se recolectó
ConsentimientoObtener permiso informado, específico y revocable
RetenciónConservar el dato solo el tiempo necesario; borrarlo después
Transferencias internacionalesRestringir o controlar el envío de datos fuera de la jurisdicción (cláusulas contractuales, adecuación)
Derechos del sujetoAcceso, rectificación, borrado (derecho al olvido), portabilidad
PIA / DPIAEvaluación de impacto en la privacidad antes de un tratamiento de riesgo

Una técnica de diseño clave es la desidentificación: anonimización (irreversible) y seudonimización (reversible con clave separada). GDPR favorece la seudonimización como medida de reducción de riesgo.

💡 Tip de examen: minimización es el principio que más aparece: si una opción propone “recolectar todos los datos posibles por si acaso”, es incorrecta. Recolecta lo mínimo, retén lo mínimo, comparte lo mínimo.


3.5 Aprovisionamiento de acceso a datos

A nivel de requisitos —no todavía de implementación— se define quién debe poder acceder a qué. Los principios rectores:

Modelos de control de acceso como requisito

Aunque el diseño detallado corresponde al Dominio 4, en requisitos ya se especifica el modelo:

ModeloDecide el acceso según…Cuándo se prefiere
RBACEl rol del usuarioOrganizaciones con roles estables y bien definidos
ABACAtributos (usuario, recurso, entorno, acción)Reglas dinámicas y contextuales (hora, ubicación, sensibilidad)
MACEtiquetas de clasificación y clearanceEntornos de alta seguridad (defensa)
DACEl dueño del recurso concede permisosFlexibilidad, sistemas de propósito general

Un requisito bien formado podría ser: “el acceso a expedientes clínicos se otorgará por RBAC con verificación adicional de relación asistencial activa (need-to-know)”.

💡 Tip de examen: RBAC = rol, ABAC = atributos. ABAC es más granular y contextual; RBAC es más simple de administrar. Si la pregunta enfatiza reglas dinámicas por contexto (hora, ubicación, riesgo), la respuesta es ABAC.


3.6 Misuse cases y abuse cases

Los casos de uso describen cómo un usuario legítimo alcanza un objetivo. Los misuse cases (y su variante más agresiva, abuse cases) invierten la perspectiva: describen cómo un actor hostil intenta subvertir el sistema. Son el puente entre “qué debe hacer el sistema” y “contra qué debemos defendernos”.

flowchart LR
    U[Usuario legítimo] -->|realiza| UC[Caso de uso: Iniciar sesión]
    A[Atacante] -->|ejecuta| MC[Misuse case: Fuerza bruta de credenciales]
    MC -.amenaza.-> UC
    SR[Requisito: bloqueo tras 5 intentos] -.mitiga.-> MC

Cómo escribir un misuse/abuse case

  1. Identifica el actor hostil y su motivación.
  2. Describe la interacción maliciosa (el “camino de ataque”).
  3. Enlázalo con el caso de uso legítimo que amenaza.
  4. Deriva el requisito de seguridad que lo mitiga.

Evil user stories en Agile

En metodologías ágiles, el equivalente es la evil user story (historia de usuario malvada): se escribe con la misma plantilla que una user story, pero desde la voz del atacante.

Como atacante, quiero inyectar SQL en el buscador para extraer la tabla de usuarios.

De cada evil user story se derivan criterios de aceptación de seguridad (por ejemplo, “todas las consultas usan sentencias parametrizadas”) que se añaden a la definición de “hecho” (Definition of Done) del backlog. Así la seguridad entra en el flujo ágil sin romperlo.

💡 Tip de examen: los misuse/abuse cases se escriben durante los requisitos, no durante el testing. Su propósito es anticipar el abuso para derivar requisitos, alimentando después el modelado de amenazas del diseño.


3.7 Security Requirements Traceability Matrix (SRTM)

La SRTM es el artefacto que garantiza que cada requisito de seguridad se diseña, implementa y prueba —y que no aparecen controles huérfanos sin requisito que los justifique. Es una herramienta de trazabilidad bidireccional: del requisito hacia adelante (¿se probó?) y de la prueba hacia atrás (¿qué requisito valida?).

Ejemplo de SRTM

IDRequisito de seguridadFuenteControl de diseñoMétodo de pruebaEstado
SR-01Contraseñas ≥ 12 caracteres, con complejidadPolítica internaValidador en registro/cambioTest unitario + revisión✔ Verificado
SR-02Cifrar PAN en reposo (AES-256)PCI DSS 3.4Cifrado a nivel de columnaRevisión de config + DAST✔ Verificado
SR-03Bloqueo tras 5 intentos fallidosAnálisis de riesgoContador + lockout temporalCaso de abuso automatizado⚙ En progreso
SR-04MFA para transferenciasNegocioServicio de autenticaciónTest de integración✔ Verificado
SR-05Registro de auditoría de accesos a PHIHIPAAMiddleware de loggingRevisión de logs + prueba⚙ En progreso

La SRTM se inicia en requisitos y se mantiene viva durante todo el SDLC: es la evidencia auditable de que “lo que dijimos que protegeríamos, lo protegimos y lo verificamos”.

💡 Tip de examen: la SRTM sirve para detectar requisitos sin probar (gaps) y controles sin requisito (gold-plating). Si una pregunta busca cómo demostrar cobertura de seguridad ante un auditor, la respuesta es la matriz de trazabilidad.


3.8 Requisitos de seguridad para proveedores y terceros

El software moderno se ensambla con componentes, servicios y datos de terceros. Los requisitos de seguridad deben extenderse a la cadena: un proveedor débil es un riesgo propio (este tema conecta con el Dominio 8, cadena de suministro).

Requisitos típicos a imponer contractualmente:

💡 Tip de examen: la responsabilidad del riesgo no se transfiere al proveedor por contrato; el contrato transfiere parte de la responsabilidad operativa, pero tu organización sigue siendo accountable ante el regulador. Por eso los requisitos y el derecho de auditoría son esenciales.


Técnicas de elicitación de requisitos

Elicitar es descubrir los requisitos junto a los stakeholders. Las técnicas más relevantes para el examen:

TécnicaEn qué consisteFortaleza
EntrevistasConversaciones dirigidas con stakeholdersProfundidad, matices, contexto
Encuestas/cuestionariosPreguntas estructuradas a muchos participantesEscala, cobertura amplia
Talleres (JAD)Sesiones colaborativas de diseño conjuntoConsenso rápido entre áreas
ObservaciónVer a los usuarios operar el sistema actualDescubre requisitos tácitos
Análisis de documentosRevisar políticas, regulaciones, contratosFuente de requisitos de cumplimiento
Policy decompositionDescomponer políticas de alto nivel en requisitos técnicos concretosTraza cumplimiento a implementación
PrototipadoMaqueta para validar entendimientoReduce ambigüedad temprano

La elicitación de requisitos de seguridad se apoya especialmente en análisis de documentos (leyes, políticas) y en policy decomposition, porque muchos requisitos de seguridad no los “pide” el usuario: los impone la normativa y el análisis de riesgo.

sequenceDiagram
    participant B as Negocio/Stakeholders
    participant A as Analista de seguridad
    participant P as Políticas/Regulación
    participant S as SRTM
    A->>B: Entrevistas y talleres
    A->>P: Análisis y policy decomposition
    A->>A: Escribe misuse/abuse cases
    A->>S: Registra cada requisito derivado
    S-->>A: Traza a diseño y pruebas

💡 Tip de examen: ante “¿cómo obtener requisitos de seguridad que el cliente no menciona?”, la respuesta es analizar políticas, regulaciones y riesgos (policy decomposition) y escribir misuse/abuse cases, no solo preguntar al usuario lo que quiere.


Del requisito al diseño y la prueba

El valor de este dominio se realiza cuando el requisito fluye hacia las fases siguientes. La SRTM es el hilo conductor: un requisito bien escrito genera un control de diseño (Dominio 4), una práctica de implementación (Dominio 5) y un caso de prueba (Dominio 6), todos rastreables entre sí.

flowchart LR
    R[Requisito de seguridad SR-03] --> D[Diseño: mecanismo de lockout]
    D --> I[Implementación: contador seguro]
    I --> T[Prueba: caso de abuso de fuerza bruta]
    T --> V[Verificación en SRTM]
    V -.evidencia auditable.-> R

Este flujo es la razón de ser del CSSLP: la seguridad no es una fase, es una propiedad trazable a lo largo de todo el ciclo.


Puntos clave