Torna alla pagina di Elementi di Sicurezza e Privatezza
:: Appunti compulsivi ::
Affidabilità del software
Per danneggiamento si intende una violazione della sicurezza, di qualsiasi entità (non necessariamente grave).
Una delle possibili classificazioni dei virus è a seconda delle caratteristiche di attivazione:
Un virus racchiude le caratteristiche dei seguenti maleware:
...
Esistono due strategie di infezione:
...
...
...
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.
I virus che attaccano il boot sector sono particolarmente odiosi, dal momento che infettano il sistema prima che qualsiasi antivirus possa entrare in funzione.
La normale sequenza di operazioni nella fase di bootstrap è:
Dopo l'infezione il virus viene caricato ancora prima del bootstrap loader, ovvero:
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.
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.
La presenza di istruzioni di jump potrebbe essere sospetta, considerare con cautela.
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).
Estremamente complicato da rilevare per lo stesso motivo di prima. I più semplici tipi di pattern da riconoscere sono quelli legati alla memorizzazione.
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.
Il virus polimorfo è invece un particolare tipo di virus in grado di modificarsi assumendo un numero vastissimo o illimitato di forme diverse.
...
Altro esempio di virus polimorfo è quello crittografico, che sfrutta cioè tecniche crittografiche per cambiare forma. E' composto da tre parti:
...
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).
...
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.
...
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.
...
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.
...
...
[...]