\documentclass[10pt,handout]{beamer}
%\documentclass[10pt]{beamer}

% FIXME: Per pdflatex decommentare inputenc e commentare fontspec
%\usepackage[utf8x]{inputenc}
\usepackage{fontspec}
\usepackage{lmodern} %to get rid of cmss font warnings
\usepackage{textcomp} %to get rid of lmss font warnings
\usetheme{Pittsburgh}
%\usetheme{default}

\title{Sicurezza in Smartphone e Mobile OS}
\subtitle{``Presidente Obama, ha dimenticato il suo BlackBerry!''}
\author{Claudio Tanci, Riccardo M. Cefalà}
\institute{Università degli Studi di Perugia \\ Laurea Magistrale in
Informatica}
%09052011
\date{AA 2010/2011}

\setcounter{tocdepth}{2}

\begin{document}

{
\usebackgroundtemplate{\includegraphics[scale=1]{../pics/obamablackberry3}}
\begin{frame}
\maketitle
\begin{center}
    Corso di Sicurezza Informatica \hfill Prof. Stefano
    Bistarelli
\end{center}
\end{frame}
}

\begin{frame}
\frametitle{Overview}
\tableofcontents
\end{frame}

\AtBeginSection[]
{
  \begin{frame}
    \frametitle{Overview}
    \tableofcontents[currentsection]
  \end{frame}
}

\section{Introduzione}
\begin{frame}
    \frametitle{Smartphones - Definizione}
        \begin{large}
        \begin{center}
        \vfill
        \pause
        Telefoni mobili con elevate capacità di calcolo.
        \vfill
        \pause
        \includegraphics[scale=0.9]{../pics/smartphones}
        \pause
        \vfill
        Funzioni possibili esclusivamente solo su su PDA e PC.
        \pause
        \vfill
        Contenuti multimediali, pubblici, personali e aziendali.
        \end{center}
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Smartphones - Diffusione}
    \begin{large}
    Perché parlare di Telefoni in un corso di Sicurezza Informatica?
    \vfill
    \pause
    \begin{figure}
    \centering
    \includegraphics[scale=0.4]{../pics/spsales21}
    \end{figure}
    \end{large}
\end{frame}

\begin{frame}
\frametitle{Smartphone - Aspetti di Sicurezza}

    \begin{center}
        \begin{large}
        Gli smartphone presentano caratteristiche diverse rispetto ai
        computer tradizionali.
        \pause
        \vfill
        Non tutte le considerazioni tradizionalmente valide sono
        immediatamente applicabili.
    \end{large}
    \end{center}

\end{frame}

\begin{frame}    
    \frametitle{Smartphone - Aspetti}
    \begin{center}
    \includegraphics[scale=0.34]{../pics/timesharing}\\
    \begin{large}\alert{Un} computer per \alert{molti} uenti\end{large}
    \end{center}
    \pause
    \vfill
        \begin{itemize}
            \item Sistemi Time Sharing/Batch
                \pause
                \vfill
            \item Amministrazione centralizzata
        \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Smartphone - Aspetti}
    \begin{center}
    \includegraphics[scale=0.68]{../pics/internetofthings}\\
    \begin{large}\alert{Molti} computer per \alert{un} utente\end{large}
        \pause
        \vfill
        \begin{itemize}
            \item Ruolo della comunicazione dell'informazione.
            \vfill
            \pause
            \item Più soggetti a determinate tipologie d'attacco.
        \end{itemize}
    \end{center}
\end{frame}

\section{Analisi dei Rischi}
\begin{frame}
    \frametitle{Smartphones - Vulnerabilità}
        \pause
        \begin{large}
        Rischi dovuti a Fattori umani:
        \begin{itemize}
            \pause
            \item Se i PC sono Personal, gli Smartphone sono Intimate.
            \pause
            \item Confine tra uso privato ed aziendale.
        \end{itemize}
        \pause
        \vfill
        Accesso Fisico
        \pause
        \vfill
        Connettività e Reti
        \pause
        \vfill
        Terze Parti
        \pause
        \vfill
        Applicazioni
    \end{large}
\end{frame}

\subsection{Accesso fisico}
\begin{frame}
    \frametitle{Vulnerabilità - Accesso Fisico}
        \begin{large}
        Furto, Smarrimento o Incuria
        \end{large}
        \vfill
        \pause
        \begin{Large}
        \begin{center}
        \begin{block}{}
            Nel 2009, in soli 6 mesi più di \alert{31.000} Smartphone sono
            stati abbandonati nei Taxi di New York City(\emph{CIO.com})
        \end{block}
        \end{center}
        \end{Large}
        \vfill
        \pause
        \begin{large}
        Esistono contromisure più o meno efficaci per limitare l'accesso
        fisico ad uno smartphone.
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Smartphones - Controllo d'Accesso}
        \begin{large}
            Funzioni di bloccaggio/sbloccaggio del dispositivo basate su
            segreto:
            \begin{itemize}
                    \pause
                    \vfill
                \item Personal Identification Number (PIN)
                    \pause
                    \vfill
                \item Password (es. Windows Phone 7)
                    \pause
                    \vfill
                \item Sequenza di tocchi sul display (es. Android)
            \end{itemize}
                    \pause
                    \vfill
            Accesso a funzioni di comunicazione gestite da scheda
            Subscriber Identity Module (SIM) attraverso un secondo PIN
            \vfill
            \pause
            Contromisure potrebbero essere efficaci \alert{solo} contro
            accessi non autorizzati occasionali.
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Smartphones - Controllo d'Accesso}
    \begin{center}
    \includegraphics[scale=0.24]{../pics/androidlock}
    \begin{large}
    \end{large}
    \end{center}
\end{frame}

\begin{frame}
    \frametitle{Smartphone - Controllo d'Accesso}
    \begin{center}
        \begin{large}
            Controllo d'accesso obligatorio su Terminali tradizionali in
            luoghi pubblici (Uffici, Università)
            \vfill
            \pause
            Tuttavia, negli smartphone, solo il \alert{18\%} degli utenti
            impiega queste contromisure
        \end{large}
    \end{center}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - Memorie Espandibili}
    \begin{center}
        \begin{large}
            Molti smartphone consentono l'espandibilità della memoria
            interna tramite schede di memoria (Tipicamente \alert{MicroSD})
            \vfill
            \pause
            \includegraphics[scale=0.9]{../pics/microsd}
            \vfill
            \pause
            Possono conservare molte informazioni spesso sensibili con
            diversi gradi di \alert{coscienza} e \alert{controllo} da parte
            dell'utente
        \end{large}
    \end{center}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - Memorie Espandibili}
        \begin{large}
            Filesystem semplici, senza controllo di permessi (Tipicamente
            VFAT).
            \vfill
            \pause
            Estratte dal dispositivo possono essere accedute da qualunque
            altro sia in lettura che in scrittura.
            \vfill
            \pause
            Ciò rappresenta un pericolo sia per la Confidenzialità che per
            l'Integrità.
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - Memorie Espandibili}
        \begin{large}
            Ad esempio, alcune applicazioni browser web consentono di
            conservare cronologia e segnalibri su memoria esterna.
            \vfill
            \pause
            L'alterazione di questi contenuti può essere usata per indurre
            l'utente a visitare pagine web contraffatte (Phishing) tramite
            mezzi che reputa affidabili.
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Contromisure - Memorie Espandibli}
        \begin{large}
            Crittografia, Intrusion Detection Systems (IDS)
            \vfill
            \pause
            Windows Phone 7 utilizza un filesystem proprietario e genera
            una chiave che lega permanentemente la scheda allo smartphone.
            \vfill
            \pause
            IDS difficile da implementare: limitazioni hardware (batteria,
            prestazioni, ecc.)
        \end{large}
\end{frame}

\subsection{Connettività e Reti}
\begin{frame}
    \frametitle{Vulnerabilità - Connettività e Reti}
        \begin{large}
            Caratteristica principale degli smartphone è l'elevata
            connettività.
            \vfill
            \pause
            Esposizione a rischi da remoto.
            \vfill
            \pause
            Tipologie:
            \begin{itemize}
                \pause
            \item \alert{WWAN} (GSM: GPRS, UMTS)
                \pause
            \item \alert{WLAN} (Wi-Fi, IEEE 802.11a/b/g/n)
                \pause
            \item \alert{WPAN} (Bluetooth, IrDA)
            \end{itemize}
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - WWAN}
        \begin{large}
            Accesso a voce e dati (Internet) su scala geografica ed in
            mobilità. \alert{1.5 Miliardi} di utenti.
            \vfill
            \pause
            \begin{center}
            \includegraphics[scale=0.2]{../pics/sim}
            \end{center}
            Autenticazione basata su SIM:
            \pause
            \begin{itemize}
                \item International Mobile Subscriber Identity (IMSI)
                \item Chiave a 128-bit
            \end{itemize}
            \pause
            Classico schema di autenticazione con challenge.
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - WWAN}
        \begin{large}
            Il traffico su GSM e UMTS è criptato con algoritmi che
            impiegano cifrari a flusso o a blocchi (A5/1 e A5/3).
            \vfill
            \pause
            Hanno dimostrato vulnerabilità: 
            \begin{itemize}
                \item A5/1 non più segreto (reverse-engineered nel '99)
                \item Molta ricerca: tecniche d'attacco migliorate nel
                    tempo.
            \end{itemize}
            \vfill
            \pause
            Attacchi dipendono da capacità economiche e tecniche ma non
            impossibili.
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - WLAN}
        \begin{large}
            Tecnologia molto diffusa in ambiti domestici ed enterprise
            \vfill
            \pause
            \begin{center}
            \includegraphics[scale=0.5]{../pics/wireless}
            \end{center}
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - WLAN}
        \begin{large}
            Mezzo trasmissivo condiviso: crittografia necessaria per
            garanzia di confidenzialità e controllo d'accesso.
            \vfill
            \pause
            Tuttavia:
            \begin{itemize}
                    \vfill
                    \pause
                \item sempre più comune entrare in contatto con reti non
                    adeguatamente protette o deliberatamente maliziose (es.
                    \alert{unipg}).
                    \vfill
                    \pause
                \item Algoritmi crittografici (WEP, WPA) agirabili in ore
                    con programmi di pubblico dominio!
                    \vfill
                    \pause
                \item Attacchi tipici di reti Ethernet e TCP/IP (DHCP e ARP
                    spoofing, DoS, Attacchi a livello Applicazione).
            \end{itemize}
        \end{large}
\end{frame}

\begin{frame}
    \frametitle{Contromisure - WLAN}
    \begin{large}
        Autenticazione avanzata (RADIUS, Certificati) e WPA2
        \pause
        \vfill
        Firewall (implementazioni attuali limitate)
        \pause
        \vfill
        Crittografia a livelli superiori (VPN, SSL, BlackBerry Enterprise
        Service)
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Contromisure - WLAN}
    \begin{center}
    \includegraphics[scale=0.5]{../pics/blackberryarch}
    \end{center}
\end{frame}

\subsection{Terze Parti}
\begin{frame}
    \frametitle{Vulnerabilità - Terze Parti}
    \begin{large}
        \begin{center}
        Necessità di utilizzare servizi offerti da Terze Parti
        \vfill
        \pause
        \includegraphics[scale=0.3]{../pics/logos}
        \vfill
        \pause
        \begin{Huge}\alert{Fiducia}\end{Huge}
        \end{center}
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - Terze Parti}
    \begin{large}
        \begin{center}
        Preoccupazioni per confidenzialità, integrità e disponibilità.
        \vfill
        \pause
        Recenti casi reali:
        \begin{itemize}
            \item Spyware Emirati Arabi Uniti su BlackBerry (Agosto 2010)
            \item Down di GMail e Aruba (Settembre 2009 e Aprile 2011)
            \item Compromissione Playstation Network (Aprile 2011)
        \end{itemize}
        \end{center}
    \end{large}
\end{frame}

\subsection{Applicazioni}
\begin{frame}
    \frametitle{Vulnerabilità - Applicazioni}
\end{frame}

\begin{frame}
%    \frametitle{Vulnerabilità - Applicazioni}
    \begin{large}
        \begin{center}
        \includegraphics[scale=0.80]{../pics/allapps}\\
        \begin{Huge}Per tutto c'è un App®\end{Huge}
        \end{center}
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Vulnerabilità - Applicazioni}
    \begin{large}
            Malware        
            \vfill
            Bug
            \vfill
            Leaking
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Malware}
    \begin{large}
        \alert{Mal}icious soft\alert{ware} con lo scopo di danneggiare
        servizi, privacy e risorse in modo abusivo
        \vfill
        \pause
        Danno economico immediato derivante da utilizzo servizi a costo
        (Telefonate, SMS)
        \vfill
        \pause
        Possibile diffusione virale e compromissione di dispositivi
        connessi.
        \vfill
        \pause
        Attualmente poco malware per Smartphone (risorse hardware
        limitate, piattaforme molto nuove)
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Bug}
    \begin{large}
        Errori in programmi che producono comportamenti o risultati
        inaspettati.
        \vfill
        \pause
        Esempio: Bug del Market di Android on Line che permette il Cross Site
        Scripting (XSS)
        \vfill
        \pause
        \begin{center}
        \includegraphics[scale=0.40]{../pics/xss-listing}
        \end{center}
    \end{large}
\end{frame}

\begin{frame}[fragile]
    \frametitle{Applicazioni - Bug}
        \begin{center}
    \begin{large}
        \includegraphics[scale=0.40]{../pics/xss-screen}
        \vfill
        \pause
    \end{large}
        \begin{verbatim}
/* silently install malicious app to victim phone */
$.post('/install', {
    id: 'com.attacker.maliciousapp',
    device: initProps['selectedDeviceId'],
    token: initProps['token'],
    xhr: '1' }, function(data) {
});
\end{verbatim}
        \end{center}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Leaking}
    \begin{center}
    \begin{large}
        \includegraphics[scale=0.60]{../pics/southofengland}
    \end{large}
    \end{center}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Contromisure}    
    \begin{large}
        Applicazioni di terzi non completamente affidabili.
        \vfill
        \pause
        \alert{Isolamento}: difesa in profondità contro interferenze tra
        applicazioni.
        \vfill
        \pause
        Meccanismi:
        \begin{itemize}
        \item Macchine virtuali
        \item Permessi e Capabilities
        \item Canali di comunicazione ben definiti (Incapsulamento)
    \end{itemize}
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Macchine Virtuali}    
    \begin{large}
        Sandbox naturali per le applicazioni.
        \vfill
        Evitano alcune classi di bug (Buffer Overflow)
        \vfill
        \includegraphics[scale=0.40]{../pics/dotnet}\hfill
        \includegraphics[scale=0.20]{../pics/java}
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Permessi}
    \begin{large}
        Permessi: usati tipicamente per l'accesso al Filesystem
        basati su utenti e gruppi adattati per le applicazioni.
        \vfill
        \pause
        UID e GID diversi per ogni Applicazione (Android e Windows Phone)
        \vfill
        \pause
        Capabilities: API per l'accesso a servizi di sistema e funzioni.
        Più controllo al programmatore
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Capabilites}
    Dichiarate dal programmatore
    \vfill
    \pause
    Controllo al momento dell'installazione
    \vfill
    \pause
    \begin{large}
        \begin{center}
        \includegraphics[scale=0.40]{../pics/capabilities}\hfill
    \end{center}
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Canali di comunicazione}
    \begin{large}
    Astrazione per canali di comunicazioni ben definite in API.
    \vfill
    \pause
    Aree condivise (come le SD) devono essere gestite dal programmatore.
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Integrità}
    \begin{large}
        L'origine delle applicazioni è controllata con policies diverse da
        piattaforma a piattaforma.
        \vfill
        \pause
        Unica Fonte (Market, App Store®): Identity check, validazione,
        comunicazione tempestiva di aggiornamenti.
        \vfill
        \pause
        Firma digitale garantisce non alterazione del codice e identità
        della fonte.
        \vfill
        \pause
        Fonti Multiple: fiducia riposta nella reputazione del programmatore
    \end{large}
\end{frame}

\begin{frame}
    \frametitle{Applicazioni - Integrità}
    \begin{large}
        E se non bastasse? Applicazioni con bug o contro le policies
        possono comunque finire sui dispositivi!
        \vfill
        \pause
        Antivirus (Scarse risorse, analisi remota?)
        \vfill
        \pause
        Kill switch: disinstallazione da remoto dell'applicazione
        \vfill
        \pause
        Black list e rimozione dal Market
        \vfill
        \pause
        Wipe remoto del dispositivo (Black Berry)
    \end{large}
\end{frame}

\section{Conclusioni}
\begin{frame}
    \frametitle{Conclusioni}
    Smartphone sono soggetti ad una vasta gamma di pericoli di sicurezza
    spesso sottovalutati.
    \vfill
    \pause
    Sistemi Operativi e Policies esistono ma\ldots
    \vfill
    \pause
    \ldots in alcuni casi possono non essere sufficienti.
    \pause
    \vfill
    Molta attenzione è richiesta all'utente che è ``amministratore'' del
    dispositivo.
    \pause
    \vfill
    Tuttavia alcune vulnerabilità dipendono dalle infrastrutture e da terze
    parti.
    \pause
    \vfill
    E' verosimile che all'evoluzione degli smartphone seguirà un'evoluzione
    di software, policies e meccanismi di sicurezza.
\end{frame}

{
\usebackgroundtemplate{\includegraphics[scale=0.9]{../pics/obamablackberry1}}
\begin{frame}
\begin{center}
    \begin{Huge}
        Grazie per l'attenzione!
    \end{Huge}
\end{center}
\end{frame}
}

\end{document}
