Swappa : Uni / Elementi di Sicurezza e Privatezza
Creative Commons License

Torna alla pagina di Elementi di Sicurezza e Privatezza


 :: Appunti compulsivi ::

Affidabilità del software

Pag 1

Virus: definizione

Per danneggiamento si intende una violazione della sicurezza, di qualsiasi entità (non necessariamente grave).

Pag 2

Classificazione (1)

Una delle possibili classificazioni dei virus è a seconda delle caratteristiche di attivazione:

Classificazione (2)

Un virus racchiude le caratteristiche dei seguenti maleware:

Pag 3

Processo di infezione

...

Virus sovrapposti e non sovrapposti

Esistono due strategie di infezione:

Pag 4

Virus non sovrapposto (1)

...

Virus non sovrapposto (2)

...

Pag 5

Virus sovrapposto

...

Come un virus ottiene il controllo

Nella parte sinistra della diapositiva sono illustrate le situazioni iniziali, con codice del programma T e del virus V in due settori diversi del disco.

Nella prima riga è rappresentata l'infezione sovrapposta, in cui il codice malevolo si è sostituito (totalmente o in parte) a quello del programma.

Nella seconda riga è invece rappresentata l'infezione non sovrapposta, in cui viene modificato il puntatore del programma, indirizzandolo (prima o poi) sul codice del virus.

Pag 6

Caratteristiche di un virus

Boot sector (1)

I virus che attaccano il boot sector sono particolarmente odiosi, dal momento che infettano il sistema prima che qualsiasi antivirus possa entrare in funzione.

Pag 7

Boot sector (2)

La normale sequenza di operazioni nella fase di bootstrap è:

  1. accensione del computer e test dei vari componenti
  2. lettura del boot sector da disco fisso
  3. caricamento del bootstrap loader
  4. caricamento del sistema operativo

Dopo l'infezione il virus viene caricato ancora prima del bootstrap loader, ovvero:

  1. accensione del computer e test dei vari componenti
  2. lettura del boot sector da disco fisso
  3. caricamento del virus
  4. caricamento del bootstrap loader
  5. caricamento del sistema operativo (con virus in esecuzione di serie!)

Firma dei virus

La maggior parte dei virus può essere identificata (caratterizzata) con una precisa stringa di bit, detta firma di un virus (o signature).

Questa caratterizzazione distingue tre classi: pattern di memorizzazione, esecuzione e trasmissione.

Le signature sono le porzioni di codice malevolo su cui si basano gli antivirus per la scansione del sistema.

Pag 8

Pattern di memorizzazione (1)

Dal momento che virus dello stesso tipo hanno una stessa parte di codice invariante (posizionata all'inizio, o alla fine, o dopo il 233° byte, ecc.), la loro signature è rintracciabile.

Pattern di memorizzazione (2)

La presenza di istruzioni di jump potrebbe essere sospetta, considerare con cautela.

Pag 9

Pattern di esecuzione

Ovvero caratterizzare il virus per il modo con cui viene eseguito (i vari aspetti di diffusione, tecniche di elusione, tipo ed entità dei danni).

In questo caso però il riconoscimento è delicato e non banale, dal momento che molte delle modifiche al file directory rilevate potrebbero essere del tutto legittime (eseguite da processi trusted).

Pattern di trasmissione

Estremamente complicato da rilevare per lo stesso motivo di prima. I più semplici tipi di pattern da riconoscere sono quelli legati alla memorizzazione.

Pag 10

Dinamicità delle signature

Dato che gli sviluppatori di virus sanno che gli antivirus si concentrano sulle tecniche per individuare i pattern di memorizzazione, una delle loro maggiori preoccupazioni è fare di tutto per non renderla riconoscibile. Uno dei sistemi è renderla dinamica, in modo che cambi ad ogni caso di infezione.

In questo caso gli antivirus come fanno a sgamarli? Sapendo che comunque la parte che varia appartiene ad un range limitato di parole alternative.

Virus polimorfo

Il virus polimorfo è invece un particolare tipo di virus in grado di modificarsi assumendo un numero vastissimo o illimitato di forme diverse.

Pag 11

Virus polimorfo: esempio

...

Virus crittografico

Altro esempio di virus polimorfo è quello crittografico, che sfrutta cioè tecniche crittografiche per cambiare forma. E' composto da tre parti:

Pag 12

Virus crittografico: esempio

...

Codice sorgente di un virus

Il codice deve essere di piccole dimensioni, in modo che si possa nascondere facilmente in programmi di grandi dimensioni.

Comparare le dimensioni di due programmi in esecuzioni è infatti impresa ardua (problema non decidibile), dal momento che potrei avere casi in cui stessi programmi non infetti abbiano dimensioni leggermente diverse (per cause interne).

Pag 13

Trapdoor e Salami Attack

...

Trapdoor

Un punto di ingresso nascosto ad un modulo / programma che un utente malintenzionato potrebbe sfruttare per accedere alla macchina. Deve essere nascosto, non documentato, perché ovviamente se fosse documentato il programmatore o l'ha protetto o è un coglione.

Pag 14

Esempi di trapdoor: testing

...

Esempi di trapdoor: controllo errori

L'input deve essere sempre controllato: se inserisco dati e non faccio alcun tipo di controllo su essi, un utente esterno potrebbe utilizzare questo invio per violare il sistema.

Un esempio è l'SQL INJECTION, ovvero fornire in input una stringa SQL da sostituire al sistema e causare effetti dannosi (ad esempio una bella e simpatica drop table). Dal momento che anch'essa sfrutta un punto di ingresso al programma, si tratta di una trapdoor bella e buona.

Pag 15

Cause della presenza di trapdoor

...

Salami attack

Crimine informatico di per sé molto piccolo (trascurabile preso singolarmente), ma che preso insieme a molti altri provoca danni enormi.

Applicabili a diversi contesti, ad esempio sottrazione di beni monetari o informativi.

Pag 16

Salami attack: esempio

...

Cause della presenza del salami attack

...

[...]


Torna alla pagina di Elementi di Sicurezza e Privatezza

(Printable View of http://www.swappa.it/wiki/Uni/ESP-Lez2)