1 Introduzione


1.1 Una definizione funzionale di sicurezza

I termini sicurezza, protezione e privacy, hanno sovente più di un significato il più delle volte sconosciuto anche agli "esperti" del settore. Volendo dare una definizione funzionale di sicurezza, si potrebbe dire che: un computer è sicuro se esso stesso ed il suo software si comportano come ci si aspetta. Se ci aspettiamo che i dati inseriti nella nostra macchina oggi vi rimangano per diverse settimane senza essere letti da persone non autorizzate, allora la nostra macchina è sicura. Il concetto qui enucleato è quello della fiducia o trust: ci fidiamo di un sistema che preserva e protegge i nostri dati. Ma da chi o cosa dovremo proteggerli? Il problema non è di semplice soluzione. Molte sono le cause che possono mettere a repentaglio i dati memorizzati su di un computer: utenti non autorizzati, impiegati vendicativi, virus o disastri naturali, ma tutti sono ugualmente pericolosi. I problemi nascono quando più persone possono accedere ad un computer in ambienti che consentano la condivisione delle risorse (reti di computer: LAN, MAN, WAN). In questi casi infatti ad ogni utente deve essere garantita la protezione e la privacy delle proprie informazioni. Se il sistema è poi collegato con l'esterno (Internet ad esempio), la sicurezza diventa un dovere.

1.2 Sistemi Operativi e sicurezza

Nel cuore di ogni computer c'è un insieme di programmi che viene chiamato Sistema Operativo (SO). Questo software controlla i sistemi di input/output di un calcolatore come la tastiera e i dischi e carica ed esegue gli altri programmi (Word processor, fogli di calcolo, giochi etc). Il sistema operativo è anche un insieme di meccanismi e politiche che aiuta a controllare la condivisione delle risorse del sistema. Questi è corredato da una serie di strumenti (tools) che consentono, ad esempio, di copiare file ed elencare il contenuto delle directory. Sebbene questi programmi non fanno parte tecnicamente del sistema operativo, hanno un drammatico impatto sulla sicurezza del sistema.

Data l'importanza strategica di un sistema operativo nell'amministrare praticamente la "ferraglia" di cui è composto un computer, è auspicabile che vi siano tutta una serie di requisiti da soddisfare per poter essere considerato sicuro. Una prima guida nella progettazione di un sistema sicuro, fu elaborata da Saltzer e Schroeder basata sulla loro esperienza con MULTICS (vedi Le radici). In [tanenbaum94] viene riportato un breve sommario delle loro idee:

Il sistema operativo Unix, trattato in questo lavoro, fornisce una serie di funzionalità che incontrano i requisiti sopra accennati. Nel seguito vedremo come vengono soddisfatti e come possono essere aggirati!

1.3 Le certificazioni NCSC

Il problema della sicurezza dei sistemi operativi è stato affrontato in generale dal National Computer Security Center (NCSC) USA nella pubblicazione "Trusted Computer System Evaluation Criteria" (TCSEC, nota anche come "Orange Book").
Gli scopi che si prefigge questo documento ufficiale sono essenzialmente i seguenti:

  1. fornire uno standard ai produttori di sistemi per quanto riguarda la realizzazione delle caratteristiche di sicurezza ed i livelli di assicurazione che devono inglobare i loro prodotti affinchè siano rispettati i requisiti di fiducia per le applicazioni sensibili;
  2. fornire una metrica che può essere usata in un dato sistema di rete per l'elaborazione dell'informazione sensibile;
  3. fornire una base per decretare i requisiti di sicurezza nelle specifiche di acquisizione.

Secondo l'Orange Book i sistemi operativi sono valutabili in base a quattro classi di "fiducia": da D (meno sicuro) ad A (più sicuro):


Torna su Successivo