L'incident de la lliçó anterior va ser el punt d'inflexió. BazarNube va entendre, de la manera més cara, que apagar focs un a un no és una estratègia de seguretat: mentre un IDOR causava una fuita, seguien vives la SQLi del cercador, el SSRF d'importació i una configuració sense capçaleres. Aquest cas d'estudi final narra la transformació: com BazarNube passa d'un estat inicial insegur i reactiu a un de madur i proactiu, aplicant de manera integrada tot el que hem recorregut al curs —Top Ten remediat, ASVS com a requisits verificables, SAMM com a full de ruta, ZAP al pipeline, threat modeling al disseny i DevSecOps com a pegament—. No és una lliçó de conceptes nous, sinó la síntesi de tots: el moment en què les peces deixen d'estudiar-se per separat i funcionen com un programa. En ser l'última lliçó del mòdul pràctic, tanca també l'arc de BazarNube i prepara l'avaluació final del mòdul 9.

Contingut

  1. El punt de partida: BazarNube en estat insegur
  2. L'estratègia: de reactiu a proactiu amb SAMM
  3. El roadmap de transformació per fases
  4. Mètriques de millora: abans i després
  5. La foto final: el programa de seguretat de BazarNube
  6. Errors comuns i consells
  7. Exercicis
  8. Conclusió

El punt de partida: BazarNube en estat insegur

Abans de la transformació, la situació de BazarNube era la de tantes aplicacions que creixen ràpid sense seguretat incorporada. Un diagnòstic honest:

Àrea Estat inicial
Vulnerabilitats Backlog BZN-xxx amb múltiples fallades Top Ten sense corregir (A01, A02, A03, A05, A10)
Requisits Cap de formal de seguretat; "que funcioni" era l'únic criteri
Disseny Sense threat modeling; decisions de seguretat improvisades
Proves Cap escaneig automatitzat; alguna revisió manual esporàdica
Pipeline CI/CD sense cap control de seguretat (sense SAST, SCA ni DAST)
Detecció Logs sense correlació; sense alertes d'anomalies
Cultura Seguretat vista com a fre; sense formació ni champions
Maduresa SAMM Nivell 0–1 en gairebé tots els dominis

Aquest estat no és una caricatura: és el que va fer possible l'incident de 08-03. La transformació consisteix a pujar cadascuna d'aquestes files de manera ordenada i sostenible.

L'estratègia: de reactiu a proactiu amb SAMM

L'error hauria estat llançar-se a "arreglar-ho tot" sense ordre. BazarNube va usar OWASP SAMM (mòdul 5) com a brúixola: primer una avaluació de maduresa per saber on era, després un objectiu realista a 12 mesos, i un full de ruta de millora incremental per dominis. La idea rectora, ja vista a 05-04, és que la maduresa es construeix per nivells, no per salts heroics.

graph LR
    A[Avaluacio SAMM inicial] --> B[Definir objectiu a 12 mesos]
    B --> C[Roadmap per fases]
    C --> D[Executar i integrar al S-SDLC]
    D --> E[Reavaluar i ajustar]
    E --> C

L'objectiu no va ser "nivell 3 en tot" (irreal i probablement innecessari), sinó un nivell 2 consistent en els dominis crítics, alineat amb la decisió de 07-05 d'apuntar a ASVS L2, el nivell adequat per a una aplicació que manega pagaments. Coherència entre estàndards: SAMM diu com de madur és el programa, ASVS diu què ha de complir el producte.

El roadmap de transformació per fases

La transformació es va organitzar en tres fases trimestrals, cadascuna construint sobre l'anterior.

Fase 1 — Aturar l'hemorràgia (mesos 1-3)

Prioritat: eliminar el risc crític existent i guanyar visibilitat.

  • Remediar les troballes crítiques i altes del backlog (BZN-134, BZN-101, BZN-140, BZN-131...) amb els controls de 08-02.
  • Introduir la monitorització d'anomalies que va faltar a l'incident (03-11): alertes de taxa per usuari.
  • Posar ZAP en mode baseline al pipeline (06-04) per no introduir regressions noves.
  • Quick win cultural: un taller de secure coding (07-04) amb l'equip, usant el mateix incident com a cas.

Fase 2 — Construir el procés (mesos 4-8)

Prioritat: que la seguretat deixi de dependre d'herois i passi a ser part del flux.

  • Integrar l'stack DevSecOps complet (07-03, 07-05): gitleaks, Semgrep (SAST), Dependency-Check (SCA), trivy, amb gates definits.
  • Adoptar ASVS L2 com a catàleg de requisits verificables; cada història sensible du els seus requisits com a criteris d'acceptació (M4).
  • Introduir threat modeling (07-02) al disseny de tota funcionalitat nova amb dades o diners, començant pel checkout.
  • Nomenar Security Champions per equip (07-04) per escalar el coneixement.

Fase 3 — Madurar i mesurar (mesos 9-12)

Prioritat: consolidar, mesurar i millorar de manera contínua.

  • ZAP autenticat/full-scan nocturn contra staging (06-04), amb troballes al backlog ja mapejades.
  • Mètriques de seguretat en un panell: temps de remediació, cobertura d'escaneig, troballes per severitat.
  • Reavaluació SAMM per confirmar el pas a nivell 2 i fixar l'objectiu de l'any següent.
  • Programa de formació continu i participació a la comunitat OWASP (07-05).

Mètriques de millora: abans i després

La transformació només és creïble si es mesura. Aquestes són les mètriques que BazarNube va seguir, amb valors il·lustratius de l'abans i el després dels dotze mesos:

Mètrica Abans Després Per què millora
Vulnerabilitats crítiques/altes obertes 9+ 0 Remediació sistemàtica (08-02)
Cobertura d'escaneig automatitzat 0% 100% del pipeline DevSecOps (07-03)
Temps mitjà de remediació (crítiques) > 90 dies < 7 dies Gates i priorització per risc
Temps de detecció d'un atac 12 dies Minuts Monitorització d'anomalies (03-11)
Requisits ASVS L2 verificats ~10% > 85% ASVS com a criteri d'acceptació (M4)
Funcionalitats amb threat model 0 Totes les sensibles Threat modeling al disseny (07-02)
Nivell SAMM (mitjana de dominis) ~0,5 ~2,0 Roadmap SAMM (M5)
Secrets al repositori Diversos 0 (bloquejats a CI) gitleaks com a gate (07-03)

El salt més significatiu no és una xifra concreta, sinó el canvi de naturalesa: la seguretat va passar de mesurar-se després del problema (nombre d'incidents) a mesurar-se abans (cobertura, requisits verificats, temps de remediació). Es va passar de comptar incendis a mesurar la prevenció.

Vendre la transformació: seguretat com a inversió

Un programa de seguretat no se sosté només amb bona enginyeria: necessita pressupost i suport de la direcció, i això exigeix parlar l'idioma del negoci. BazarNube va justificar la inversió no apel·lant a la por, sinó comparant el cost de la millora amb el cost de no fer-la, que l'incident de 08-03 havia tornat tangible.

Argument En llenguatge de negoci
Remediar abans és més barat Una fallada corregida en disseny costa una fracció d'una corregida després d'un incident (07-01)
L'incident va tenir cost real Notificació legal, hores de resposta, dany reputacional i fuita de clients
La prevenció és mesurable El panell de mètriques mostra el risc baixant trimestre a trimestre
El compliment habilita negoci ASVS L2 i bones pràctiques obren la porta a clients que exigeixen garanties

La clau està a presentar la seguretat com a reducció d'un risc quantificat, no com una despesa tècnica abstracta. Cada iniciativa del roadmap es va associar a un risc concret del backlog o de l'incident, de manera que la direcció pogués veure què comprava amb cada euro. Aquesta traducció és, sovint, el que separa un programa que sobreviu a la primera retallada d'un que no.

La foto final: el programa de seguretat de BazarNube

Al cap d'un any, totes les peces del curs operen juntes i de manera contínua. Aquesta és l'arquitectura del programa madur, on cada element estudiat ocupa el seu lloc:

graph TB
    subgraph Disseny
      TM[Threat modeling STRIDE]
      REQ[Requisits ASVS L2]
    end
    subgraph Desenvolupament
      SC[Secure coding + Champions]
      SAST[SAST Semgrep]
    end
    subgraph CI_CD
      GL[gitleaks]
      SCA[Dependency-Check]
      TR[trivy]
      ZAPB[ZAP baseline]
    end
    subgraph Produccio
      ZAPN[ZAP nocturn]
      MON[Monitoritzacio i alertes]
    end
    subgraph Govern
      SAMM[SAMM: millora anual]
      MET[Panell de metriques]
    end

    TM --> REQ --> SC --> SAST
    SAST --> GL --> SCA --> TR --> ZAPB --> ZAPN
    ZAPN --> MON
    MON -.retroalimenta.-> TM
    SAMM -.mesura i guia.-> CI_CD
    MET -.visibilitza.-> Govern

Fixa't en el bucle: la monitorització de producció retroalimenta el threat modeling (el que passa de veritat ajusta el que imaginem que podia passar), i SAMM mesura el conjunt per guiar la millora de l'any següent. La seguretat ha deixat de ser una fase o un projecte per convertir-se en una propietat contínua del sistema i de l'equip, tal com prometia el tancament del mòdul 6 i consolidava el 7.

Errors Comuns i Consells

  • Voler arribar al màxim nivell de cop. Apuntar a "ASVS L3 i SAMM 3 en tot" en un trimestre esgota l'equip i fracassa. La maduresa és incremental; un nivell 2 sòlid supera un nivell 3 sobre el paper.
  • Comprar eines sense procés ni propietaris. Un pipeline ple d'escàners sense gates ni responsables genera soroll, no seguretat (07-01, 07-05). Primer el procés i les persones.
  • No mesurar. Sense mètriques d'abans i després, la transformació és una opinió. El que no es mesura no es pot millorar ni defensar davant de la direcció.
  • Descuidar la cultura. El millor pipeline falla si l'equip veu la seguretat com un fre. Els champions i la formació (07-04) sostenen tota la resta.
  • Consell: comença per la fase 1 (aturar l'hemorràgia) encara que el pla complet no estigui tancat. Reduir el risc crític i guanyar visibilitat genera la confiança i el marge per construir la resta sense presses.

Exercicis

Exercici 1. Priorització. BazarNube té recursos per a una sola iniciativa el primer mes: (a) integrar SAST, (b) remediar les 9 troballes crítiques/altes, o (c) formar els champions. Justifica la teva elecció en termes de reducció de risc immediata.

Exercici 2. Mètriques. La direcció demana "una mètrica" per saber si la seguretat millora. Proposa la que triaries, explica què captura i què se t'escapa en reduir-ho tot a un sol número.

Exercici 3. Coherència d'estàndards. Explica amb les teves paraules la diferència de propòsit entre SAMM i ASVS en aquest cas, i per què BazarNube necessita tots dos i no pot substituir l'un per l'altre.

Solucions

Solució 1. L'elecció de major reducció de risc immediata és (b) remediar les 9 troballes crítiques/altes: són vulnerabilitats explotables ara mateix en producció (una ja va causar l'incident de 08-03), així que tancar-les elimina risc real i present. SAST (a) i champions (c) són inversions a prevenir fallades futures, valuosíssimes a mitjà termini, però no redueixen el risc del codi ja desplegat. La seqüència correcta és la del roadmap: primer aturar l'hemorràgia (b), després construir el procés (a) i la cultura (c).

Solució 2. Una bona candidata és el temps mitjà de remediació de vulnerabilitats crítiques/altes: captura alhora que les trobes (hi ha alguna cosa a remediar) i que reacciones ràpid (procés funcionant), i correlaciona bé amb el risc real. El que se t'escapa: no diu quantes vulnerabilitats no estàs detectant (cobertura), ni la qualitat del disseny, ni la cultura. Per això un sol número orienta però no basta; convé acompanyar-lo de cobertura d'escaneig i requisits ASVS verificats. Reduir la seguretat a una mètrica convida a optimitzar aquesta mètrica en lloc de la seguretat.

Solució 3. SAMM mesura i guia la maduresa del programa: com de bé l'organització fa seguretat (processos, activitats, govern) —és una brúixola de millora organitzativa—. ASVS defineix què ha de complir el producte: requisits tècnics verificables sobre l'aplicació concreta —és una llista de verificació de l'artefacte—. BazarNube necessita tots dos perquè responen a preguntes diferents: SAMM diu "estem organitzats per produir programari segur?" i ASVS diu "aquest programari és segur?". Un programa madur (SAMM alt) sense requisits verificats (ASVS) pot tenir bones intencions i productes insegurs; i a l'inrevés, complir ASVS en una app sense un programa al darrere no és sostenible ni es repeteix en la següent. Es complementen, no es substitueixen.

Conclusió

Amb aquest cas d'estudi tanquem el mòdul pràctic i l'arc complet de BazarNube. Hem vist l'aplicació recórrer el camí sencer: d'un backlog ple de vulnerabilitats del Top Ten i un incident evitable, a un programa de seguretat madur on el threat modeling sembra els requisits ASVS, DevSecOps els verifica a cada canvi, ZAP vigila al pipeline i a producció, la monitorització detecta en minuts i SAMM guia la millora contínua any rere any. Aquest és el destí al qual apuntava tot el curs des de la primera lliçó: la seguretat com a propietat contínua del procés i de la cultura, no com una fase ni un heroisme puntual. Has aplicat, sobre un cas concret, cada estàndard i eina d'OWASP que hem estudiat. Ara toca demostrar i consolidar l'après: al mòdul 9, l'últim del curs, abordem l'avaluació final que verifica els teus coneixements i les vies de certificació per acreditar-los professionalment. Hi arribes amb el més important ja aconseguit: no només saber què és cada peça, sinó haver-la utilitzada.

Curs d'OWASP: Directrius i Estàndards per a la Seguretat en Aplicacions Web

Mòdul 1: Introducció a OWASP

Mòdul 2: Principals Projectes d'OWASP

Mòdul 3: OWASP Top Ten 2021 en Profunditat

Mòdul 4: OWASP ASVS (Application Security Verification Standard)

Mòdul 5: OWASP SAMM (Software Assurance Maturity Model)

Mòdul 6: OWASP ZAP (Zed Attack Proxy)

Mòdul 7: Bones Pràctiques i Recomanacions

Mòdul 8: Exercicis Pràctics i Casos d'Estudi

Mòdul 9: Avaluació i Certificació

© Copyright 2026. Tots els drets reservats