Swappa : Uni / Tema d'Esame di Sicurezza e Privatezza - 10/06/2008
Creative Commons License

Torna alla pagina di Sicurezza & Privatezza


 :: Appello d'esame di Sicurezza e Privatezza - 10/06/2008 ::

Domande

Rispondere brevemente ma in modo completo alle seguenti domande.

  1. Dire cosa si intende per salami attack e fornire un esempio.
  2. Nell’ambito dei sistemi operativi Unix-based, descrivere il significato dei privilegi setuid e setgid. Illustrare inoltre come tali privilegi possano consentire ad un utente di modificare la propria password.
  3. In relazione al problema della sicurezza delle password, dire cosa si intende per: spoofing; snooping; sniffing; masquerading.
  4. Nell’ambito del modello di Biba, descrivere la politica low-water mark per soggetti ed i principali problemi di tale politica.
  5. Spiegare in sintesi l’attacco SQL injection fornendo un esempio e quali contromisure possono essere adottate.
  6. Nell’ambito del sistema Kerberos, dire quali sono i tre compiti principali dell’Authentication Server (AS) ed i tre compiti principali del Ticket Granting Server (TGS).
  7. Descrivere le caratteristiche base degli IDS di tipo anomaly detection e misuse detection elencando i vantaggi e svantaggi di ognuno.
  8. Descrivere il processo di autenticazione e segretezza di PGP.

SOLUZIONE

1.
Il Salami Attack consiste in un insieme di piccoli crimini informatici che uniti danno luogo a crimini significativi. Parte da qualcosa di insignificante che però applicato molte volte porta a qualcosa di significativo.
Esempio: piccole somme di denaro che vengono trasferite su di un conto(quello dell'attaccante ovviamente). Queste somme prese singolarmente sono talmente piccole che non vengono considerate, passano inosservate e possono essere ad esempio quelle calcolate per gli interessi del conto bancario.
Il Salami Attack solitamente è causato dalle correzioni che i programmatori inseriscono nei programmi per correggere gli inevitabili errori di calcolo.

2.
Setuid e Setgid sono privilegi addizionali. Setuid significa che l'UID del processo che esegue il file coincide con l'UID del file.
Setgid significa che il GID del processo che esegue il file coincide con il GID del file.
Entrambi si rappresentano tramite una s se l'utente(es: rws --- ---) o il gruppo(es: rwx rws ---) hanno privilegio di esecuzione sul file, tramite una S se l'utente(es: r-S --- ---) o il gruppo(es: rwx r-S ---) non hanno privilegio di esecuzione sul file.

3.

4.
Politica low-water mark per soggetti:

Svantaggio: l'ordine delle operazioni modifica i privilegi del soggetto. Infatti abbiamo visto che il soggetto può leggere qualsiasi cosa, però questo va a modificare la sua classe d'integrità, cioè la sua affidabilità. Quindi può capitare che un soggetto S, che prima poteva scrivere un determinato oggetto O, non sia più in grado di farlo dopo aver letto un altro oggetto che ha fatto diminuire la sua classe di integrità.

5.
L'SQL injection è un attacco rivolto alle applicazioni web e coinvolge non solo SQL, ma qualsiasi linguaggio di programmazione e qualsiasi DBMS.
L'attacco consiste nell'inserimento di codice maligno nelle query SQL, sfruttando la mancanza di controlli sui dati da input dell'applicazione web.
L'input può essere trasmesso in tre modi:

L'attacco provoca:

Esempio:
Abbiamo una variabile $id presa in input dalla query string, teoricamente di tipo intero, ma non validata.
$sql = "SELECT * from articoli WHERE id=$id";
se un attaccante in $id inserisce
$id = 1; DROP table articoli; la query diventerà:
$sql = "SELECT * from articoli WHERE id = 1; DROP table articoli;
che ovviamente provoca la cancellazione della tabella articoli.

Contromisure possibili sono:


Torna alla pagina di Sicurezza & Privatezza

(Printable View of http://www.swappa.it/wiki/Uni/TemiEsameSP03)