%%
%% Copyright (C) 2004 Truelite Srl & Simone Piccardi.
%%    Permission is granted to copy, distribute and/or modify this document
%%    under the terms of the GNU Free Documentation License, Version 1.1
%%    or any later version published by the Free Software Foundation;
%%    with no  Invariant Sections,  with no Front-Cover Texts, and with
%%    no Back-Cover Texts.
%%    A copy of the license is included in the file fdl.txt.
%%
%\PassOptionsToPackage{coloremph,colormath,colorhighlight,lightbackground}{texpower}

%\documentclass[landscape,smallheadings,display]{powersem}
\documentclass[landscape]{foils}

%\usepackage[display,coloremph,colormath,colorhighlight,lightbackground]{texpower}
\usepackage{fixseminar}
\usepackage[display]{texpower}
\usepackage{url}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
%\usepackage[screen,nopanel]{pdfscreen}
\usepackage[bookmarksopen,colorlinks,urlcolor=red,pdfpagemode=FullScreen]{hyperref}


\usepackage{eso-pic}
\usepackage{graphicx}
\usepackage{soul}

\def\tild{\char'176}

%\slidesmag{5}
%\slideframe{none}
\setcounter{tocdepth}{2}

%
% Setting images
%
\newcommand\BackgroundPicture{%
  \put(0,0){%
    \parbox[b][\paperheight]{\paperwidth}{%
%      \vspace{3cm}
      \centering
      \vfill
      \includegraphics[width=12cm,keepaspectratio]{../images/sfoglino}%
      \vfill
    }
  }
}
\AddToShipoutPicture{\BackgroundPicture}

\begin{document}

\MyLogo{Truelite Srl \hfill www.truelite.it  }

\title{
  \vspace{-3.5cm} 
  \begin{figure}[h]
    \centering
    \includegraphics[height=2cm]{../images/logo}%  
  \end{figure}
  \vspace{3cm} I principali strumenti di software libero per la sicurezza
  informatica }
\author{Simone Piccardi: \\
  \url{piccardi@truelite.it}}


\maketitle

\foilhead{Una definizione di sicurezza}
\MyLogo{\includegraphics[height=.5cm]{../images/logo}}
\rightfooter{http://www.truelite.it}

\noindent \textbf{Definizione operativa, tre componenti:}
    \begin{itemize}
    \pause \item Confidenzialità
    \pause \item Integrità
    \pause \item Disponibilità
    \end{itemize}


\foilhead{Confidenzialità}

\noindent esprime la necessità che l'accesso alle risorse sia garantito solo a
chi ha il diritto di utilizzarle, nelle modalità stabilite dalla propria
politica di sicurezza

\begin{itemize}
  \pause \item è necessario un meccanismo di identificazione: \textsl{chi
    sei?}
  
  \pause \item è necessario un meccanismo di controllo: \textsl{cosa puoi
    fare?}

  \pause \item quale protezione dall'accesso non autorizzato?
\end{itemize}



\foilhead{Integrità}

\noindent esprime la necessità che sia garantita l'integrità di dati e risorse
che devono poter essere scambiati senza modifiche al di fuori di quelle
eseguite dalle persone autorizzate

\begin{itemize}
  \pause \item richiede un meccanismo di controllo dell'accesso alle risorse.
  
  \pause \item richiede l'uso di sistemi affidabili e dotati di misure di
  salvaguardia dei dati
  
  \pause \item sottintende tutte le misure di protezione fisica e
  l'affidabilità delle infrastrutture

\end{itemize}


\foilhead{Disponibilità}

\noindent esprime la necessità che dati e risorse siano disponibili per l'uso
e che non vi sia modo di distruggerli o impedirne l'accesso legittimo.

\begin{itemize}
  \pause \item il sistema deve fornire i servizi previsti, e farlo in tempi e
  modalità \textsl{ragionevoli}

  \pause \item non deve essere possibile bloccare l'accesso al sistema e alle
  risorse (\textit{denial of service})
  
  \pause \item devono essere previste misure di salvaguardie in caso di
  incidenti e capacità di recupero in caso di perdite
\end{itemize}


\foilhead{I problemi di sicurezza}
\noindent \textbf{In un mondo ideale non esistono:}

\begin{itemize}
  \pause \item i controlli di accesso e le identificazioni funzionano sempre.
          
  \pause \item il sistema non ha difetti e si comporta sempre correttamente.
  
  \pause \item si sono prese misure di salvaguardia per tutti gli incidenti
  possibili.

  \pause \item gli utenti non fanno errori e non hanno comportamenti malevoli.
\end{itemize}


\foilhead{I problemi di sicurezza}

\noindent \textbf{nel mondo reale ...}

\begin{itemize}
  \pause \item i programmatori sbagliano.
  
  \pause \item i sistemisti sbagliano.
        
  \pause \item i direttori del personale sbagliano.

  \pause \item ``\textit{se può andar male lo farà}'' 

\end{itemize}

\foilhead{I problemi di sicurezza}

\noindent \textbf{ciò significa che ...}

\begin{itemize}
  \pause \item i programmi hanno difetti che possono essere usati da un
  attaccante per farli comportare in maniera non voluta.

  \pause \item le regole di controllo hanno dei difetti o possono essere
  superate accedendo in modalità non previste.  
  
  \pause \item chi è autorizzato può compiere azioni malevole da cui non ci si
  è difesi.

  \pause \item le misure di salvaguardia falliscono o non sono efficaci
\end{itemize}



\foilhead{I problemi di sicurezza}

\noindent \textbf{il risultato tipico è:}

\begin{itemize}
  \pause \item si possono avere accessi anche senza essere autenticati o si
  può impersonare qualcun'altro.

  \pause \item si possono superare restrizioni e controlli ed eseguire
  operazioni non autorizzate.
  
  \pause \item il sistema o l'accesso ai dati può essere bloccato e questi
  possono essere essere rubati, distrutti o modificati.

\end{itemize}


\foilhead{La sicurezza dei sistemi}

\noindent Tratteremo queste problematiche solo dal punto di vista della
\textit{system security}; avendo ben chiaro che:

\begin{itemize}
  \pause \item la sicurezza è un processo non è un prodotto  
  \pause \item la sicurezza assoluta \textbf{non} esiste.
  \pause \item la sicurezza non va d'accordo con la comodità d'uso
  \pause \item la sicurezza si aumenta in modo \textit{asintotico}
\end{itemize}


\foilhead{Alcuni criteri di base}

\noindent per un buon livello di sicurezza non è necessario molto, ci si può
difendere con efficacia semplicemente:

\begin{itemize}
  \pause \item applicando gli aggiornamenti di sicurezza ed usando sistemi
  operativi e applicativi progettati con in mente criteri di sicurezza.

  \pause \item predisponendo politiche di sicurezza per gli accessi alle
  risorse e formando adeguatamente amministratori ed utenti.

  \pause \item utilizzando ulteriori strumenti di controllo e di difesa contro
  gli attacchi (firewall) e di protezione dei dati (backup).
\end{itemize}

 
\foilhead{La sicurezza con GNU/Linux}

\noindent \textbf{Linux è un buon sistema dal punto di vista della
  sicurezza ?}

\begin{itemize}
  \pause \item l'architettura del sistema è da sempre multiutente;
  identificazione degli utenti e controlli di accesso sono presenti fin dalle
  origini del sistema ed applicati in maniera trasparente a tutte le
  applicazioni.
  
  \pause \item il sistema è modulare e permette di installare solo lo stretto
  necessario: il programma che non c'è non può essere abusato.
        
  \pause \item gli utenti ordinari non hanno nessuna capacità di modificare il
  sistema, come risultato i virus sono praticamente assenti.

\end{itemize}


\foilhead{Identificazione}

\noindent tutto il meccanismo di autenticazione è modularizzato (PAM),
modificarne il funzionamento non ha nessun impatto sul resto del sistema.

\begin{itemize}
  
  \pause \item si possono utilizzare diversi meccanismi di autenticazione
  (username e password, sistemi elettronici, sistemi biometrici).
  
  \pause \item si possono definire diverse politiche di gestione del
  meccanismo di autenticazione (scadenze delle password, requisiti minimi,
  ecc.)

  \pause \item si possono definire tipi di servizi e risorse messe a
  disposizione dei singoli utenti.
  
\end{itemize}

\foilhead{Autorizzazione}

\noindent il sistema prevede fin dalle origini controlli di accesso, gli
utenti possono accedere solo alle risorse che sono state loro assegnate:

\begin{itemize}
  \pause \item il modello di base già prevede restrizioni di accesso e
  l'impossibilità degli utenti di modificare il sistema
  
  \pause \item il sistema base dei permessi standard può essere ampliato con
  controlli più sofisticati (ACL, capabilities) qualora necessario

  \pause \item possono essere inserite restrizioni ulteriori alle azioni
  possibili per resistere agli eventuali difetti dei programmi (LIDS,
  SELinux).

\end{itemize}

\foilhead{Stabilità e disponibilità delle risorse}

\noindent architettura consolidata, sistema stabile, applicazioni
progettate con criteri di sicurezza e per compiti specifici, ampia
disponibilità di meccanismi di salvaguardia

\begin{itemize}
  \pause \item isolamento completo dell'ambiente di esecuzione dei programmi
  
  \pause \item supporto per meccanismi di ridondanza (RAID software,
  replicazione dei dati remota, sistemi HA)
        
  \pause \item grande varietà di strumenti di backup, dai più semplici ai più
  evoluti (amanda, bacula)
\end{itemize}


\foilhead{Meccanismi di difesa e verifica}

\noindent oltre alle protezioni fornite dall'architettura di base del sistema
esistono ampie risorse per tenere sotto controllo l'integrità dello stesso ed
impedire accessi indesiderati

\begin{itemize}
  \pause \item firewall nativo (iptables) e protezione accessi a livello
  applicativo (tcpwrapper)

  \pause \item programmi per l'auditing ed il controllo dell'integrità del
  sistema (aide, tripwire, tiger)
    
  \pause \item sistemi di monitoraggio e controllo sia locale (LIDS) che della
  rete (snort, prelude, ntop)        
\end{itemize}

\foilhead{Interscambio e riservatezza dei dati}

\noindent l'uso della crittografia nello stoccaggio e nella trasmissione dei
dati è essenziale per mentenere le riservatezza

\begin{itemize}
  \pause \item supporto per i principali protocolli crittografici

  \pause \item supporto per la cifratura della trasmissione dei dati via rete
  a tutti i livelli (SSH, SSL, VPN, IPSEC)
  
  \pause \item supporto per la creazione di filesystem cifrati, la cifratura
  della posta e dei principali protocolli applicativi

\end{itemize}


\foilhead{Dispelling the FUD}

\noindent come può essere sicuro un sistema i cui sorgenti sono liberamente
disponibili e di cui non c'è nessun ``\textsl{responsabile}''?

\begin{itemize}
  \pause \item i responsabili ci sono, e operano su un mercato aperto dove la
  capacità di fornire supporto efficace è un vantaggio competitivo

  \pause \item la solidità di un meccanismo di sicurezza deve essere
  intrinseca e non dipendere dalla non conoscenza del suo funzionamento  
  
  \pause \item uno sviluppo aperto incentiva la ricerca e la correzione degli
  errori, e finora si è dimostrato molto efficiente

\end{itemize}

\end{document}
