Ja coneixem la graella de SAMM: 5 funcions, 15 pràctiques i 2 fluxos per pràctica. Ara toca mesurar. L'avaluació de maduresa és el cor de SAMM: converteix una intuïció ("crec que estem fluixos en proves de seguretat") en una dada comparable ("Security Testing està en maduresa 1"). En aquesta lliçó expliquem què signifiquen els nivells 0 a 3, com es fa una autoavaluació pràctica a pràctica mitjançant preguntes, com es construeix un scorecard i com interpretar-lo. I ho apliquem: farem l'autoavaluació real de BazarNube amb el seu scorecard complet, que serà la línia base per al roadmap de la propera lliçó.

Contingut

  1. Els nivells de maduresa: de 0 a 3
  2. Com es puntua: fluxos, preguntes i respostes
  3. El procés d'autoavaluació pas a pas
  4. Anatomia d'un scorecard
  5. Autoavaluació de BazarNube: scorecard complet
  6. Interpretar els resultats

Els nivells de maduresa: de 0 a 3

Cada pràctica de SAMM se situa en una escala comuna de quatre graons. La idea és la mateixa per a les 15 pràctiques: descriu quant i com de bé es fa alguna cosa, no si està "bé" o "malament".

Nivell Nom orientatiu Què significa
0 Inexistent La pràctica no es realitza, o és purament reactiva i casual
1 Inicial / ad hoc Es fa de manera bàsica, sense consistència; depèn de persones concretes
2 Estructurat Es fa de manera definida, documentada i consistent a tota l'organització
3 Optimitzat Es mesura, es millora amb dades i està integrat com a part natural de la feina

Claus per no equivocar-se en puntuar:

  • Els nivells són acumulatius: per estar en 2 cal complir el d'1; per estar en 3, el de 2.
  • L'escala mesura cobertura i consistència, no esforç. Fer alguna cosa heroica una vegada continua sent nivell 1.
  • SAMM admet puntuacions fraccionàries (p. ex. 1.5) quan una pràctica es compleix parcialment o només en alguns equips. És normal i útil.
  • L'objectiu no és arribar a 3 en tot. El nivell desitjable depèn del risc del negoci (ho veurem a 05-04).

Com es puntua: fluxos, preguntes i respostes

SAMM aporta un toolbox (un full de càlcul oficial) amb preguntes d'avaluació per a cada pràctica. Cada pràctica té dos fluxos, i cada flux s'explora amb preguntes la resposta de les quals es gradua. El resultat de les respostes determina el nivell de la pràctica.

Les respostes solen seguir una escala tipus:

  • No (no es fa) → aporta 0.
  • Sí, parcialment / per a alguns equips → aporta un valor intermedi.
  • Sí, per a la majoria → aporta més.
  • Sí, plenament i de manera consistent → aporta el màxim.

Exemple de preguntes per a la pràctica Education & Guidance (Governance):

Flux Pregunta d'avaluació Resposta BazarNube
A (Formació) Els desenvolupadors reben formació en seguretat en incorporar-se? No, només puntualment
A (Formació) La formació es repeteix i es manté actualitzada? No
B (Cultura) Existeixen referents de seguretat (champions) per equip? No
B (Cultura) La seguretat es tracta en les cerimònies de l'equip? De vegades, informalment

Amb respostes majoritàriament "No" o "de vegades", aquesta pràctica se situa en maduresa 0-1. La lògica és la mateixa per a les 15 pràctiques: es responen les preguntes dels seus dos fluxos i se'n deriva el nivell.

El procés d'autoavaluació pas a pas

Una autoavaluació SAMM ben feta segueix aquests passos:

graph TD
  A[Definir abast i equips] --> B[Triar facilitador]
  B --> C[Recollir evidencies per practica]
  C --> D[Entrevistar cada owner]
  D --> E[Respondre preguntes per flux]
  E --> F[Assignar nivell 0 a 3 per practica]
  F --> G[Consolidar en un scorecard]
  1. Definir l'abast: quina part de l'organització s'avalua (a BazarNube, tota la unitat de producte).
  2. Triar facilitador: algú que dirigeix i manté la neutralitat (el rol AppSec).
  3. Recollir evidències: no puntuar de memòria; buscar proves (pipelines, polítiques, tickets, actes).
  4. Entrevistar els owners: cada funció té el seu responsable (05-02); se li pregunta sobre les seves pràctiques.
  5. Respondre les preguntes de cada flux amb honestedat.
  6. Assignar el nivell de cada pràctica (0-3, admetent fraccions).
  7. Consolidar tot en un scorecard.

Regla d'or: avaluar amb evidències, no amb optimisme. Si ningú no pot mostrar la política, la política no existeix a efectes de maduresa.

Anatomia d'un scorecard

L'scorecard és el lliurable de l'avaluació: una taula amb les 15 pràctiques, el seu nivell actual i (més tard) el seu objectiu. Sol afegir una columna d'evidència i una altra de comentari. El seu valor és doble: dona una foto executiva i serveix de línia base per mesurar progrés en la següent avaluació.

Un scorecard mínim té aquestes columnes:

  • Funció i Pràctica: la fila que s'avalua.
  • Nivell actual (0-3): el resultat de l'autoavaluació.
  • Evidència: en què es basa la puntuació.
  • Objectiu i Bretxa: s'emplenen en planificar (05-04).

Autoavaluació de BazarNube: scorecard complet

Apliquem tot l'anterior. Després d'entrevistar la Lucía (Design/Implementation), l'SRE (Operations), el CTO (Governance) i amb l'AppSec facilitant Verification, aquest és l'scorecard de línia base de BazarNube (nivell actual, escala 0-3):

Funció Pràctica Nivell Evidència / justificació
Governance Strategy & Metrics 1 Hi ha intenció i una mica de pressupost, però sense mètriques ni pla formal
Policy & Compliance 1 Es coneix el GDPR; no hi ha estàndards interns escrits ni gestió de compliment
Education & Guidance 0 Formació en seguretat només puntual; sense champions ni pla
Design Threat Assessment 1 Es va fer un threat model del checkout una vegada; no és sistemàtic
Security Requirements 2 Després del mòdul 4 es fan servir requisits ASVS com a criteris d'acceptació
Security Architecture 1 Bones decisions puntuals; sense patrons ni gestió de tecnologia formal
Implementation Secure Build 1 Build en CI, però dependències sense control sistemàtic (npm i Maven)
Secure Deployment 1 Desplegament amb Docker; secrets encara en variables d'entorn sense gestor
Defect Management 1 Els bugs de seguretat s'anoten com a tickets normals, sense mètriques
Verification Architecture Assessment 0 No hi ha revisió formal d'arquitectura enfront d'objectius de seguretat
Requirements-driven Testing 2 Tests de seguretat sobre requisits ASVS (herència del mòdul 4)
Security Testing 1 SAST/SCA parcials en CI; sense baseline complet ni pentest recurrent
Operations Incident Management 1 Hi ha alertes i un canal de guàrdia; sense pla de resposta escrit
Environment Management 1 Es pedaça, però el legacy Java/Spring va per darrere; hardening informal
Operational Management 1 Còpies de seguretat i control de dades bàsics; sense gestió formal de dades ni del legat

Puntuació mitjana per funció (mitjana simple de les seves tres pràctiques):

Funció Mitjana
Governance 0.7
Design 1.3
Implementation 1.0
Verification 1.0
Operations 1.0

Interpretar els resultats

Els números només valen si es llegeixen bé. De l'scorecard de BazarNube s'extreu:

  • Governance és el punt més feble (0.7), arrossegat per Education & Guidance en 0. Té sentit: BazarNube ha invertit a verificar el producte (mòdul 4) però no en govern ni cultura. És una bretxa típica d'equips que comencen pel tècnic.
  • Design destaca (1.3) gràcies a Security Requirements en 2, herència directa del treball amb ASVS. Veuràs que les dues pràctiques més madures (Security Requirements i Requirements-driven Testing, totes dues en 2) són precisament les que va tocar el mòdul 4. Coherència del fil: verificar l'app va pujar aquestes dues pràctiques, però va deixar la resta plana; just el que anticipàvem a 05-01.
  • Verification és desigual: forta en proves dirigides per requisits (2) però amb Architecture Assessment en 0. Es prova el que es va demanar, però no es revisa el disseny.
  • Operations és homogènia en 1: es fan les coses, però de manera informal i reactiva, amb el legacy com a llast.

Lectures transversals útils:

  • Un 2 aïllat no salva una funció: Design té una pràctica en 2 i dues en 1; la mitjana enganya si no es mira el detall.
  • Els zeros són prioritat d'atenció, no necessàriament el primer a arreglar: cal creuar-los amb el risc (05-04).
  • Comparar contra un mateix, no contra un ideal: el valor d'aquest scorecard apareixerà en reavaluar d'aquí a sis mesos i veure la tendència.

Important: un scorecard no és una nota d'aprovat/suspès. És un punt de partida honest. I BazarNube ara el té.

Errors Comuns i Consells

  • Puntuar de memòria o amb optimisme. Sense evidència, la pràctica no compta. Un scorecard inflat és pitjor que un de baix però real.
  • Confondre "ho vam fer una vegada" amb nivell 2. Un acte heroic i puntual és nivell 1; el 2 exigeix consistència i documentació.
  • Oblidar que els nivells són acumulatius. No es pot reclamar 3 si no es compleix el d'1 i 2.
  • Mirar només la mitjana per funció. Amaga pràctiques en 0. Cal llegir pràctica a pràctica.
  • Tractar la nota com un judici. SAMM mesura per millorar; el número existeix per comparar-lo amb si mateix en el temps.
  • Consell: fes servir el toolbox oficial de SAMM (el full de càlcul amb les preguntes). Estalvia discussions i fa l'avaluació repetible entre semestres.

Exercicis

Exercici 1. Classifica cada situació en el seu nivell de maduresa (0, 1, 2 o 3): (a) "Cada equip revisa dependències com vol, alguns no ho fan". (b) "No existeix cap procés de gestió d'incidents". (c) "Hi ha un procediment de resposta a incidents documentat, provat i amb mètriques que es revisen cada trimestre". (d) "Tots els equips segueixen el mateix estàndard documentat de revisió de codi".

Exercici 2. A l'scorecard de BazarNube, Education & Guidance està en 0 i Security Requirements en 2. Explica per què aquesta diferència és coherent amb el que BazarNube ha fet en els mòduls anteriors.

Exercici 3. Tria una pràctica de BazarNube que estigui en nivell 1 i redacta una pregunta d'avaluació la resposta de la qual ajudaria a decidir si podria pujar a 2. Indica quina resposta correspondria a un 2.

Solucions

Solució 1. (a) Nivell 1: es fa de manera inconsistent i depèn de cada equip. (b) Nivell 0: la pràctica no existeix. (c) Nivell 3: documentat, provat i mesurat amb revisió periòdica. (d) Nivell 2: consistent i documentat a tota l'organització, però sense la part de mesura/optimització que caracteritza el 3.

Solució 2. BazarNube va dedicar el mòdul 4 a verificar el producte amb ASVS, convertint requisits de seguretat en criteris d'acceptació: això va madurar Security Requirements fins a 2. Però mai va invertir en govern ni cultura: no hi ha pla de formació ni champions, així que Education & Guidance continua en 0. És la bretxa esperada d'un equip que comença pel tècnic i encara no ha madurat l'organització, exactament la motivació d'adoptar SAMM.

Solució 3. Exemple amb Secure Build (nivell 1): pregunta — "S'executa una anàlisi de dependències (SCA) de manera automàtica i obligatòria en el pipeline de tots els serveis, tant npm com Maven?". Un 2 correspondria a "Sí, en tots els serveis de manera consistent i documentada"; un "només en alguns" o "manual" continuaria sent 1.

Conclusió

Ja sabem mesurar: els nivells 0 a 3 descriuen cobertura i consistència, l'autoavaluació es fa amb preguntes per flux i evidències, i l'scorecard consolida la foto. La línia base de BazarNube revela un patró clar: forta on va tocar l'ASVS (requisits i proves dirigides en 2), feble en govern i cultura (Education & Guidance en 0), i homogèniament inicial en operacions. Però una foto no millora res per si sola. A l'última lliçó del mòdul farem el pas que dona sentit a tot: fixar un objectiu de maduresa, construir un roadmap per iteracions que porti BazarNube d'aquesta línia base al seu objectiu, prioritzar les millores per risc i establir el cicle de reavaluació que converteix SAMM en millora contínua.

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