Logo dell'Università di Catania: Siciliae Studium Generale 1434 Logo del Centro IPPARI, Sicurezza informatica
matite e gomma
Loghi istituzionali: Siciliae Studium Generale 1434, Centro ricerche IPPARI, Università di Catania, Facoltà di Scienze Matematiche, Fisiche, Naturali, Insegnamento di Sicurezza dei sistemi informatici

Minacce alla sicurezza dei programmi

Lezione 9 di Sicurezza dei sistemi informatici 1

Docente: Giuseppe Scollo

Università di Catania, sede di Comiso (RG)
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Studi in Informatica applicata, AA 2007-8

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0 Validazione XHTML 1.0 Validazione CSS 2

Indice

  1. Minacce alla sicurezza dei programmi
  2. buffer overflow intenzionale
  3. mediazione incompleta
  4. difetto per serializzazione (o diacronia)
  5. combinazioni di difetti dei programmi
  6. codice maligno: tassonomia
  7. virus: diffusione, controllo, ospiti
  8. virus: schemi di definizione
  9. prevenzione delle infezioni virali

buffer overflow intenzionale

come già accennato nella lezione precedente, gli effetti del buffer overflow dipendono dall'area in cui si trova la locazione di memoria a cui si tenta l'accesso erroneo

in particolare, se un sottoprogramma in esecuzione riesce a sovrascrivere l'indirizzo di ritorno nello stack di sistema, potrà in tal modo trasferire il controllo a del codice che sia stato caricato (tipicamente dallo stesso sottoprogramma) a tale indirizzo

il buffer overflow è dunque anche una tecnica di attacco per l'introduzione ed esecuzione di codice maligno nei sistemi informatici

su questo argomento, tre contributi di studenti di una precedente edizione del corso sono consultabili nella sezione Appunti e dispense del sito dell'insegnamento

mediazione incompleta

malfunzionamenti di programmi possono essere causati da valori erronei dell'input di utente

esistono essenzialmente due modi per impedirli:

nel secondo caso, il controllo sul lato client del programma consiste nel permettere all'utente solo la selezione dell'input all'interno del dominio dei valori leciti

in tal modo, l'interfaccia di utente effettua una mediazione dell'input

esempio: si consideri un programma che accetti ordini di acquisto via Web

difetto per serializzazione (o diacronia)

una condizione necessaria per la sussistenza di vulnerabilità di mediazione incompleta è il fatto che il controllo di validità dell'input di utente e la sua effettiva trasmissione avvengano in momenti diversi, e che nel lasso di tempo fra questi l'utente abbia la possibilità di modificare l'input

una condizione analoga caratterizza i difetti di serializzazione, generalmente dovuti alla diacronia fra controllo e uso

più precisamente, i difetti di serializzazione generalmente riguardano il controllo di accesso a una risorsa e l'effettivo accesso del soggetto della richiesta di accesso

come si vedrà in una lezione successiva, il controllo di accesso consiste nella verifica che il soggetto richiedente goda dell'autorizzazione necessaria all'accesso a un dato oggetto per una data operazione

combinazioni di difetti dei programmi

come si è visto, i tre tipi di difetti considerati, seppur non intenzionali, possono essere abilmente sfruttati per dar luogo a serie minacce alla sicurezza:

minacce ancor più serie sono da attendersi dall'abilità di un attaccante di sfruttare combinazioni di tali difetti

ad esempio, un aggressore consapevole della presenza di tali difetti in un sistema informatico può orchestrare un attacco in più stadi, in cui potrà:

codice maligno: tassonomia

virus:

cavallo di Troia:

bomba logica:

bomba a tempo:

trapdoor o backdoor (porta nascosta):

worm (verme):

rabbit (coniglio):

virus: diffusione, controllo, ospiti

una caratteristica del virus è la necessità di un programma ospite per assicurarne l'esecuzione

la diffusione di un virus dipende dal tipo di programma ospite, e può sfruttare una varietà di mezzi:

virus del settore di avvio:

virus allegato a un messaggio di e-mail:

virus dei documenti:

un virus può anche diffondersi da un sito Web, ad es. inserito in uno script interpretato dal browser

un programma infetto da un virus può assumere il controllo in luogo dell'originale sovrascrivendo il codice originale o un puntatore ad esso (nella tabella dei processi, nel file system, etc.)

virus: schemi di definizione

un obiettivo degli autori di virus, essenziale ad assicurarne l'efficacia, è l'occultamento della presenza del virus nel programma ospite

tuttavia, nessun virus è invisibile: oltre all'eventuale diversità di comportamento

la presenza di un virus può talvolta essere rilevata da tratti tipici della sua esecuzione:

la rilevazione più affidabile ed efficace della presenza di virus è tuttavia quella effettuabile prima che il virus entri in azione, in quanto basata sul suo schema di memorizzazione: tratti caratteristici del codice del virus nel codice dell'ospite, che ne costituiscono la firma o (schema di) definizione

si dicono polimorfi i virus in grado di assumere molteplici schemi di definizione, equivalenti nel comportamento, al fine di occultare la propria presenza ai programmi di rilevamento (antivirus)

prevenzione delle infezioni virali

non esiste una ricetta di efficacia universale per la prevenzione delli infezioni virali ...

... tuttavia alcune buone abitudini possono ridurre notevolmente il rischio di incapparvi: