La qualità del software per la qualità del business

VALUE PARTNER ZONE

05 Luglio 2022 dalle 09:45 alle 13:00

La qualità del software per la qualità del business

Focus on Finance, Critical application & Security

FORMULA WEBINAR

Per informazioni: Kelen Zakelj
kelen.zakelj@soiel.it - 02 30453321

Threat-Modeling in Software - A Lifecycle Approach

Christian Alexander Graf, Statistical Consultant & Coach - Qualitätssicherung und Statistik

Né la qualità né la sicurezza possono essere aggiunte a un programma dopo che è stato scritto. Entrambi devono essere integrati nel prodotto fin dall'inizio. Poiché i test del software devono iniziare parallelamente all'ingegneria dei requisiti di sistema e alla progettazione del sistema, così devono essere le valutazioni della sicurezza.

Il Threat Modeling offre un insieme di tecniche che abbracciano il ciclo di vita per valutare e migliorare la sicurezza informatica di un sistema durante l'inizio, lo sviluppo e successivamente.

Lo scopo dell'intervento di Christian Alexander è stato quello di fornire una panoramica di come funziona il Threat Modeling, come dovrebbe essere applicato durante il ciclo di vita del software e ha mostrato alcuni dei metodi utilizzati nelle aziende di tutto il mondo.

Con il termine Threat modeling ci si riferisce al processo di sicurezza con il quale vengono identificate, classificate e analizzate potenziali minacce, valutandone il rischio e fornendo le necessarie contromisure.
Adottato soprattutto come misura proattiva durante le fasi di design e sviluppo, o come misura reattiva successiva al deploy di un prodotto, questo processo fornisce un'analisi sistematica di quali controlli o difese debbano essere inclusi.

In questo contesto, infatti, il Threat modeling permette di comprendere soprattutto le risorse che il prodotto sta cercando di proteggere (es. informazioni personali dei clienti), le minacce e vulnerabilità introdotte da questo (incluse quelle presenti nell'ambiente in cui viene distribuito), e i dettagli di come verranno mitigate tali minacce.

Ciò permette di accrescere la consapevolezza alla sicurezza del prodotto, estendendosi a tutti gli attori coinvolti, e rendendola parte integrante dell'intero processo di sviluppo.

La sicurezza è un elemento che deve essere considerato e gestito in maniera attiva, sin dalle prime fasi di progettazione di un prodotto, e per tutto il suo ciclo di vita. Questa considerazione ampiamente condivisa, giusto per citare un esempio, ha dato vita al noto framework Microsoft SD3+C, che unisce tre importanti strategie quali: la security by design, la security by default e la security by deployment.

Adottare il solo approccio proattivo, infatti, non basta. Non tutte le minacce possono essere previste durante la fase di progettazione, sottolineando la necessità di unire strategie reattive, che permettono di affrontare problemi inizialmente non previsti.

Un approccio reattivo alla modellazione delle minacce ha luogo dopo che un prodotto è stato creato e distribuito. Ciò è alla base dell'ethical hacking, penetration testing, source code review e fuzz testing, processi utili nella ricerca di vulnerabilità e minacce, che si traducono nella richiesta di:

  • Step 1: Asset Identification
  • Step 2: Attack Surface Analysis
  • Step 3: Attack Vectors
  • Step 4: Analysis
  • Step 5: Prioritization
  • Step 6: Security Controls