Anteprima
Vedrai una selezione di 4 pagine su 11
Paniere con risposte aperte - Sicurezza del software(2023/2024) Pag. 1 Paniere con risposte aperte - Sicurezza del software(2023/2024) Pag. 2
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Sicurezza del software(2023/2024) Pag. 6
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Paniere con risposte aperte - Sicurezza del software(2023/2024) Pag. 11
1 su 11
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

L'aspetto più importante affinché questo modello abbia successo è assicurarsi che i prototipi

sviluppati siano riutilizzabili.

Il modello RAD distribuisce le fasi di analisi, progettazione, costruzione e test in una serie di

cicli di sviluppo brevi e iterativi. Le fasi principali sono : Modellazione aziendale (modello di bussiness del

prodotto in termini di flusso di informazioni e distribuzione delle informazioni), modellazione dei dati

(creazione di oggetti di che contengono dati vitali per l’azienda), Modellazione dei processi (creazione di

processi tra cui aggiunta eliminazione recupero e modifica di un oggetto di dati), Generazione di applicazioni

(viene costruito il sistema), Test e Fatturato (il tempo di test è ridotto perchè i prototipi vengono testati

indipendentemente durante ogni iterazione).

Lezione 022

02. Descrivere il modello a spirale.

Il modello a spirale combina l’idea di sviluppo iterativo con gli aspetti sistematici e controllati del modello a

cascata e si concentra molto sull’analisi del rischio. infatti consente il rilascio incrementale del prodotto

attraverso iterazioni intorno alla spirale. Il progetto inizia su scala molto piccola, esplora i rischi, li gestisce e

decide se passare alla fase successiva. Questo tipo di modello rappresenta il modello SLDC più flessibile.

Infatti permette di creare software altamente personalizzato e di incorporare il feedback degli utenti nelle

prime fasi. bisogna prestare attenzione a non cadere in una spirale infinita e si potrebbe incorrere in costi

molto alti. Le quattro fasi sono pianificazione, analisi del rischio, ingegneria e valutazione. Queste quattro fasi

vengono ripetute in ogni turno.

La pianificazione è la prima fase in cui vengono raccolte le informazioni e analizzate. Segue l’analisi del

rischio che individua, stima e monitora la fattibilità tecnica e cerca di trovare soluzioni al progetto. La fase di

ingegneria, terza fase, consente l’inizio dello sviluppo del software. In questa fase il software viene

implementato testato e distribuito nell’ambiente del cliente. La fase finale è la valutazione in cui viene

valutato l’output del progetto.

Lezione 023

03. Descrivere il modello agile.

Il modello Agile è una combinazione di modelli di processo iterativi e incrementali con attenzione

all’adattabilità del processo e alla soddisfazione del cliente grazie alla rapida consegna del prodotto

funzionante. I metodi agili suddividono il prodotto in piccole unità incrementali. Queste build sono fornite in

iterazioni che vengono definite sprint. Ogni sprint dura fino a 4 settimane e alla fine viene verificato il

prodotto e consegnato al cliente. I test vengono eseguiti in ogni sprint per ridurre al minimo il rischio di

eventuali danni. Il feedback viene utilizzato per eventuali miglioramenti. La priorità di questo modello è

soddisfare il cliente rilasciando software di valore fin da subito in maniera continua. I principi su cui si basa

sono: Individui e Interazioni, Software funzionante, Collaborazione con il cliente e rispondere al

cambiamento.

Lezione 024

03. Descrivere il modello DevOps.

il modello devops si distribuisce in 8 fasi: Plan (Inizialmente va pianificata l’applicazione da sviluppare), Code

(la fase che prevede la scrittura del codice secondo i requisiti definiti nella fase precedente), Build ( le nuove

funzionalità sono integrate con il codice esistente), Test, Release (se la fase di test va a buon fine è il

momento di rilasciare l’applicazione in produzione), Deploy (distribuire il codice in cloud per altri utilizzi. Il

processo di distribuzione avviene in modo continuo), Operate (eseguire l’operazione sul codice), Monitor (il

team si prende cura dei comportamenti del sistema e monitora eventuali bug) . Nel modello devops lo

sviluppo del software avviene constantemente. l’intero processo di sviluppo è separato in piccoli cicli.

Lezione 025

05. Cos'è il Secure Development Lifecycle?

Il Secure Development Lifecycle è un insieme di pratiche di sviluppo per rafforzare la sicurezza e la

conformità; queste pratiche dovrebbero essere integrate in tutte le fasi di sviluppo e manutenzione.

Consente di avere maggiore sicurezza, riduzione dei costi e conformità normativa.

Lezione 026

04. Quale è la differenza tra SAST e DAST?

SAST - Static Application Scanning Tools esaminano il codice scritto ed individuano potenziali punti deboli

senza eseguire l’applicazione. DAST - Dynamic application scanning tools espongono le vulnerabilità

simulando gli attacchi degli hacker in fase di esecuzione. Per ridurre i falsi positivi è possibile usare un

approccio combinato che integra scansione in runtime con monitoraggio del codice e del flusso di dati

dell’applicazione. Oltre a rilevare le vulnerabilità regolari questa scansione individua anche errori di

configurazione che influiscono sulla sicurezza

Lezione 027

04. Descrivere il Microsoft Security Development Lifecycle.

Il Microsoft SDL introduce considerazioni sulla sicurezza e sulla privacy in tutte le fase del processo di

sviluppo. Attualmente contiene 12 procedure (fornire addestramento, definire i requisiti di sicurezza,

definizione metriche, modellazione minacce, requisiti di progettazione, standard di crittografia, gestione

rischio per componenti di terze parti, usare strumenti approvati, test statici, test dinamici, penetration test,

processo di gestione e risposta incidenti)

Lezione 028

05. Come si può gestire il rischio per la sicurezza dell'utilizzo di componenti di terze parti?

La maggior parte dei progetti software viene sviluppata utilizzando componenti di terze parti e per questo è

importante gestirne la sicurezza. Per questo motivo è utile avere a disposizione strumenti per il controllo di

componenti di terze parti e cercare vulnerabilità. Ovviamente è necessario predisporre di un piano per

rispondere ad eventuali problematiche nel caso in cui venga scoperta una vulnerabilità nel software di terze

parti.

Lezione 029

05. Quali sono i pilastri della sicurezza del software secondo Gary McGraw?

I pilastri della sicurezza secondo Gary McGraw sono 3. Il primo è la gestione del rischio, il secondo sono i

punti di contatto (i touchpoint) della sicurezza del software ed il terzo pilastro la conoscenza.

Lezione 030

04. Che cos'è il Risk Management Software e quali fasi prevede.

Un risk management software prevede di gestire il rischio seguendo 5 fasi.

1 - La prima fase riguarda la comprensione del contesto aziendale (estrazione e descrizione obiettivi

aziendali, stabilire priorità, capire quali rischi considerare)

2- Identificare i rischi aziendali e tecnici (capire e quantificare la possibilità che determinati eventi abbiano

impatto sugli obiettivi aziendali)

3- Sintetizzare e classificare i rischi (probabilità di rischio, impatto, numero di rischi emergenti nel tempo)

4- Definire la strategia per mitigare il rischio (Costo, tempo di implementazione, probabilità di successo,

impatto)

5- Eseguire le correzioni necessarie e convalidare (implementare la strategia di mitigazione)

Lezione 031

05. Quali sono i Touchpoints in ordine di efficacia in base all'esperienza di McGraw?

I Touchpoint identificati da McGraw sono 7 e, in ordine di efficacia, sono: revisione del codice, analisi del

rischio architettonico (identificazione flaw), Penetration Test, Test di sicurezza basati sul rischio

(comprendono black box penetration test), Casi di abuso (entrare nella mente dell’aggressore), Requisiti di

sicurezza (definizione, assunzione e soddisfazione di tali requisiti), Operazioni di sicurezza.

Lezione 032

04. Quali sono i cataloghi della conoscenza del terzo pilastro della sicurezza del software secondo McGraw?

I cataloghi della conoscenza del terzo pilastro sono 7 che sono a loro volta raggruppati in 3 categorie

(conoscenza prescrittiva, diagnostica e storica). I 7 cataloghi sono: Principi (dichiarazione di saggezza che

deriva dall’esperienza), linee guida (raccomandazione su cosa fare e non fare a livello semantico), regole

(raccomandazione di cosa fare e non fare descritto a livello sintattico), vulnerabilità (difetto software che

può essere sfruttato da un malintenzionato per accedere al sistema o recarne danno), exploit (una istanza di

un attacco che sfrutta una vulnerabilità) , schemi di attacco (pattern sviluppato ragionando su ampi set di

exploit) e rischi storici (rischio identificato nel corso di uno sforzo di sviluppo software).

Lezione 033

04. Descrivere il SAFECode.

Il Software Assurance Forum for Excellence in Code (SAFECode) è un’organizzazione senza scopo di lucro che

ha lo scopo di aumentare la fiducia nei prodotti e nei servizi tecnologici promuovendo pratiche per lo

sviluppo e la fornitura di software hardware e servizi sicuri e affidabili. Le pratiche fondamentali riguardano

la garanzia, la capacità del software di resistere agli attacchi. Ovviamente non basta un semplice strumento

per garantire questa capacità ma è il risultato di un processo completo e sicuro di ingegneria del software

che è presente in tutte le fasi del ciclo di vita dello stesso.Il SafeCode utilizza 8 pratiche fondamentali :

Definizione del controllo della sicurezza dell’applicazione, progettazione, Pratiche di codifica sicure, sicurezza

per uso di componenti di terze parti, test e convalida, gestire i risultati in sicurezza, risposta e divulgazione

delle vulnerabilità, pianificazione e distribuzione sviluppo sicuro

Lezione 034

04. Quali sono le pratiche fondamentali presenti nelle linee guida di SAFECode?

Il SafeCode utilizza 8 pratiche fondamentali : Definizione del controllo della sicurezza dell’applicazione,

progettazione, Pratiche di codifica sicure, sicurezza per uso di componenti di terze parti, test e convalida,

gestire i risultati in sicurezza, risposta e divulgazione delle vulnerabilità, pianificazione e distribuzione

sviluppo sicuro

Lezione 035

04. Che cos'è SAMM?

Il Software Assurance Maturity Model (SAMM) è un framework aperto per aiutare le organizzazioni a

formulare e implementare una strategia per la sicurezza

del software su misura, per i rischi specifici che l'organizzazione deve affrontare. SAMM supporta l'intero

ciclo di vita del software ed è indipendente dalla tecnologia e dal processo. Le tre caratteristiche principali di

SAMM sono:

• Misurabile: livelli di maturità definiti tra le pratiche di

sicurezza;

• Attuabile: percorsi chiari per migliorare i livelli di

maturità;

• Versatile: tecnologia, processo e organizzazione

indipendenti.

Lezione 036

04. Elencare almeno una pratica di sicurezza di ogni funzione aziendale del modello SAMM v1.0.

Le funzioni aziendali nel modello SAMM v1.0 sono 4.

1 - Pratiche di Governance - tra cui troviamo Strategy & Met

Dettagli
Publisher
A.A. 2023-2024
11 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Carlo9898 di informazioni apprese con la frequenza delle lezioni di Sicurezza del software e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica "e-Campus" di Novedrate (CO) o del prof Ielpo Nicola.