Appunti VERIFICATO

PPS TEORIA

Università degli Studi di Milano sicurezza dei sistemi e delle reti informatiche 2021
18 visualizzazioni
30 download
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — PPS TEORIA Anteprima pagina 2 — PPS TEORIA Anteprima pagina 3 — PPS TEORIA

Di cosa parla

  • Processo e Prodotto SW: Il documento analizza le proprietà del processo di sviluppo (produttività, tempestività, trasparenza) e del prodotto software (intangibile, malleabile, human intensive).
  • Qualità del Prodotto: Distinzione tra qualità interne (riusabilità, verificabilità, manutenibilità) ed esterne (affidabilità, correttezza, efficienza, usabilità, robustezza, portabilità, interoperabilità).
  • Sicurezza e Obiettivi: La sicurezza è contestuale, differenziando safety (non causare danni) e security (non subire danni). Obiettivi chiave sono prevenzione, auditing, monitoraggio, privacy/confidenzialità, anonimato, autenticazione e integrità dei dati.
  • Principi delle Architetture Sicure: Includono il principio dell'avversario, la catena di fiducia, il minimo privilegio, la mediazione completa, il minimo stato, la tolleranza ai guasti, la degradazione graduale, la terminazione sicura, l'accettabilità psicologica, l'auditabilità e la modularizzazione.
  • Sicurezza in Java: Affronta gli errori di gestione della memoria di C/C++ e le soluzioni Java (garbage collector). Discute i compromessi di Java in termini di prestazioni e verbosità.
  • Sandbox Java: Spiega il meccanismo Sandbox per l'esecuzione sicura di codice non fidato, con i ruoli di Bytecode Verifier, Security Manager e Class Loader. Java 2.0 ha introdotto un controllo accessi granulare basato su policy.
  • Vulnerabilità del Software: Delinea le politiche di sicurezza e le procedure di testing. L'analisi di sicurezza, spesso condotta con un modello a spirale, integra la definizione di Security Plan, l'analisi dei rischi, il design sicuro e il testing (funzionale e di sicurezza). Viene descritto il ciclo di vita delle vulnerabilità e la gestione delle patch.
  • Fasi e Modelli di Vita del Software: Descrive le fasi di sviluppo (fattibilità, analisi/specifica, progettazione, implementazione, consegna, manutenzione) e i modelli di processo come Cascata, Evolutivo Incrementale e Spirale.
  • Criteri di Valutazione: Metodologie e artefatti per misurare l'affidabilità del prodotto, riferendosi a standard come Orange Book USA e Common Criteria. Le classi di valutazione coprono politiche di sicurezza, autenticazione, auditing e affidabilità.
  • Automi Finiti (FMS): Utilizzati per modellare il comportamento dei sistemi, con esempi di Mealy e Moore. L'Extended FMS (EFSM) consente di integrare variabili e guardie per modelli più complessi.
  • Test e Design by Contract (DbC): Concetti essenziali per la qualità. Distingue failure, fault ed error. Vengono presentati i criteri di copertura del codice (statement, multiple condition, modified condition decision coverage). Il Design by Contract è una metodologia per definire le specifiche tramite contratti.

Altri appunti di Progettazione di software sicuro

Condividi questi appunti

WhatsApp Telegram