Seguridad en el ciclo de vida del software

Seguretat de cicle de vida de programari

Iñigo Ladrón Morales


L'ús d'aplicacions, serveis, infraestructures i serveis programari, o basats en programari, és una cosa que està a l'ordre del dia i que fem diversos cents de vegades cada jornada, quan fem servir el nostre mòbil personal o corporatiu, serveis al núvol, connexions a la nostra empresa i lloc de treball, videoconferències i reunions en línia, consulta del nostre correu electrònic, quan veiem la tele, i fins i tot quan conduïm el nostre cotxe.

Per aquest motiu, és de vital importància que tot el programari en el qual es basen els serveis que utilitzem, a més d'estar ben implementat i no tenir problemes, fallades, bugs, o vulnerabilitats, sigui completament segur.

Ja tenim assumit que l'ús d'eines, productes i servei de ciberseguretat, és una cosa necessària. Però, tenim assumit que els producte i serveis que fem servir, han de ser també cibersegurs, sense forats de seguretat, ni bugs, ni portes posteriors?

Tant consumidors (usuaris particulars i corporatius), com empreses, hem d'exigir a fabricants i proveïdors l'adopció del model de desenvolupament de programari centrat en la ciberseguretat des del disseny i en tot el cicle de vida del desenvolupament de programari.

Tan important és realitzar un desenvolupament segur del programari, com concebre'l i definir-lo des de l'inici com a tal, tenint sempre damunt la taula, el concepte "cybersecurity first".

Per aconseguir un desenvolupament segur de programari cal implementar la ciberseguretat en tots els cicles de desenvolupament, des del disseny fins al desplegament final (sí, en aquell moment, també és important). Això és possible aplicant determinades metodologies i tecnologies de desenvolupament segur.

És fonamental que el focus en la ciberseguretat, estigui present des de la concepció d'un nou programari, servei, producte o aplicació. És a dir, qui defineix el programari, les seves característiques i casos d'ús, ha de definir també com s'ha de desenvolupar perquè acabi sent un programari, producte i/o servei segur.

En aquest moment d'identificació de característiques i definició d'aquestes, també s'han d'identificar possibles actius i amenaces, així com els requisits de seguretat i requisits de ciberseguretat. Hi ha algunes metodologies i marcs per ajudar en aquesta tasca, com ho poden ser el Security Development Lifecycle (SDL), o el Building Security In Maturity Model (BSIMM2).

Com dèiem en tot el desenvolupament, en qualsevol moment o cicle del mateix, la ciberseguretat ha d'estar integrada com un component més de la implementació, no tractant-se d'un complement.

De la mateixa manera que hem sentit parlar i apliquem el model del cicle de desenvolupament de programari (SDCL), en aplicar la ciberseguretat com un component més del mateix, estarem parlant del cicle de desenvolupament de programari segur (SSDLC), el qual conforma un marc que assegura la inclusió de la seguretat des del principi fins al final del procés.

En el cas del cicle de desenvolupament de programari (en qualsevol manera, cascada, àgil, etc.) parlem de les següents etapes, en les quals la ciberseguretat no està integrada ni és un element primordial de cadascun d'elles sinó, en tot cas, una cosa que es "comprova" en finalitzar:

  • Definició i Planificació
  • Anàlisi
  • Disseny
  • Programació / Implementació
  • Proves / Qualitat
  • Desplegament
  • Manteniment
  • Documentació

Tanmateix, en el cas del cicle de desenvolupament segur de programari, embeguts a les etapes tradicionals del desenvolupament de programari, a més, tindrem:

  • Identificació, definició i anàlisi dels requisits de seguretat/ciberseguretat, que encara els requisits funcionals i ens funcionals, amb els específics de seguretat/ciberseguretat.
  • Disseny segur/cibersegur, on la definició del model operatiu de cada característica ha d'aplicar criteris de ciberseguretat com el principi de menor privilegi i el principi de defensa en profunditat.
  • Implementació, programació, o codificació segura/cibersegura, en la qual els programadors apliquen tècniques i hàbits de codificació segura, com la validació d'entrades, el control d'accés, o l'anàlisi i mitigació de vulnerabilitats.
  • Proves de qualitat de seguretat/ciberseguretat que, igual que les proves de qualitat del desenvolupament pròpiament dit, es basen a testejar si aquest desenvolupament realitzat pot ser violat o no, si té forats de seguretat, vulnerabilitats i quant de robust és, mitjançant determinades proves de penetració, proves de vulnerabilitats, etc.
  • Control de qualitat de seguretat/ciberseguretat, on, un cop testat o provat el programari i aplicades les mesures correctives necessàries, es comprova que programari desenvolupat, a més compleix amb els estàndards de seguretat/ciberseguretat definits als quals s'ha de cenyir.
  • Desplegament i entrega segura/cibersegura, ja que tan important és el programari en si mateix com els mecanismes d'entrega i posada en marxa del mateix per al seu ús definitiu.

Alguns dels marcs, recomanacions, eines i certificacions a tenir en compte per al desenvolupament segur, són les següents:

  • L' anàlisi d' aplicacions i serveis, que permet emprar eines d' escaneig estàtic i dinàmic per a la identificació de vulnerabilitats en el codi font desenvolupat i en la configuració del desenvolupat. El NIST (National Institute of Standards and Technology) ajuda en aquest sentit amb recomanacions, pautes i estàndards per a l'anàlisi de seguretat del programari i aplicacions.
  • El Software Assurance Maturity Model (SAMM), o l'Open Software Assurance Maturity Model (OpenSAMM),
  • Open Web Application Security Project (OWASP), facilita un model estructurat per avaluar la seguretat del programari, incorporant l'avaluació de processos, la formació i els KPIs o mètriques.
  • El Building Security In Maturity Model (BSIMM i BSIMM2), que permet comparar la maduresa d'una organització en matèria de desenvolupament segur de programari amb altres organitzacions de diferents sectors.

¿La teva empresa té capacitat i desaparició per realitzar cicles de desenvolupament segur de programari?

Necessites la teva empresa ajuda amb serveis especialitzats de desenvolupament segur, com els que oferim a Zerolynx: Desenvolupament Segur.

Pots ampliar detalls sobre els nostres serveis visitant la pàgina de Zerolynx

Si prefereixes, Contacte'ns I hem parlat.


Tornar al bloc

Deixa un comentari

Tingueu en compte que els comentaris s'han d'aprovar abans que es publiquin.