Realizzare un sito web in Jsp passo dopo passo (III-1 Parte)
Pagina 1 di 2
Descrizione del Database
Abbiamo già detto nell'introduzione che ildatabase costituisce la parte fondamentale del nostroprogetto. Abbiamo infatti realizzato, come più volteripetuto, un sito dinamico, caratterizzato dallacapacità di esaudire le richieste di molteplici utentiinteressati, probabilmente, ad informazioni differenti.Risulta quindi basilare, oltre al corretto collegamento conla fonte dei dati richiesti e alla visualizzazionedell'output all'interessato, che tale sorgente diinformazioni sia progettata in maniera ottimale edimplementata in modo da garantire la maggior efficienzapossibile.
E' necessario quindi, a questo punto, illustrare laprogettazione del nostro database anche se riportiamo, inrealtà, solo le fasi fondamentali di questo processo.
Vogliamo precisare inoltre che, per evitare inutilidivagazioni su un argomento che esula dagli obiettivi diquesta tesina, sono date per scontate le conoscenzefondamentali sui database quali le metodologie per ilprogetto di una base di dati, il modelloEntità-Relazione (E-R) ed il modello relazionale, illinguaggio SQL di interrogazione e manipolazione dei dati.
Analisi dei requisiti
Nel database si son voluti rappresentare i dati inerenti allevulnerabilità dei sistemi conosciute nel web, con lerelative patch ed exploit.
Per le vulnerabilità, identificate da un codice, sivuole memorizzare il nome, la data di pubblicazione, la datadi aggiornamento nel database, le informazioni che descrivonoil tipo di vulnerabilità, la pericolosità(alta, media o bassa), l'autore dellavulnerabilità, il tipo di sistema operativo colpito,il tipo di attacco, il tipo di servizio Internet su cuiè presente (per esempio: ftp, http,.), l'usotipico (locale e/o remoto) e la CVE corrispondente.
In particolare, dell'autore, oltre al nome, vogliamomemorizzare anche la sua e-mail e se lo possiede il suosito personale.
Per ogni sistema operativo indichiamo le versioni vulnerabiliindividuate dai seguenti attributi: Nome, Release, ServicePack (solo se esiste) e tipo di tecnologia del processore(x86, Sparc, Alpha,.).
Per le Patch corrispondenti alle vulnerabilità trovatevogliamo rappresentare il nome, il link da cuipoterle scaricare e la dimensione in byte.
Per quel che concerne gli exploit vogliamo memorizzare ilnome, l'autore, la versione, il tipo di file o estensione(per esempio: exe, pl, c,.), la dimensione in byte, l'usotipico (locale e/o remoto), la data di pubblicazione e ladata di aggiornamento nel database. In particolare perl'autore vogliamo rappresentare oltre al nome, la suae-mail e se lo possiede anche il link al suo sito personale.
Gli autori delle vulnerabilità possono essere espertidi sicurezza informatica o hacker, mentre gli autori degliexploit sono solo hacker.
Progettazioneconcettuale
Nell'analisi dei requisiti abbiamo descritto inlinguaggio naturale le caratteristiche del database.
Entriamo ora nella fase della progettazione concettuale cheè costituita normalmente da diversi passi ma di cuinoi, per comodità, riportiamo solo il risultatofinale, ossia il dizionario dei dati costituito da unadescrizione schematica ma dettagliata di tutte leentità e le relazioni così come rappresentatenel modello E-R che si trova subito dopo le tabelle.
Dizionario dei dati
Nome entità | Descrizione | Attributi | Identificatore |
Vulnerabilità | Crepa in un'applicazione o in un processo a fronte di situazioni inaspettate | Codice, Nome, Uso tipico CVE, Pericolosità, Data pubblicazione, Data aggiornamento, Tipo vulnerabilità, Tipo di servizio internet, Info | Codice |
Exploit | Software che utilizza una debolezza o una vulnerabilità del sistema per comprometterlo. | Nome, Data pubblicazione, Data aggiornamento, Versione, Tipo, Uso tipico, Dimensione | Nome Data pubblicazione |
Patch | Rettifica di programma che consiste nell'aggiunta o correzione di una piccola parte del programma stesso. | Nome, Link sito, Dimensione | Nome |
Sistema Operativo | Codice, Nome, Release, Service Pack, Tecnologia | Codice | |
Autore | Scopritore della vulnerabilità e/o creatoredell'exploit | ID, Nome, Link sito, | ID |
Hacker | Scopritore della vulnerabilità e/o creatoredell'exploit | -- | -- |
Esperto di sicurezza | Scopritore della vulnerabilità | -- | -- |
Nome relazione | Descrizione | Entità coinvolte | Attributi |
Scoperta | Associa l'autore alla vulnerabilità scoperta | Vulnerabilità (1,1) Autore (1,N) | -- |
Obiettivo | Associa la vulnerabilità al relativo exploit | Vulnerabilità (0,N) Exploit (1,1) | -- |
Soluzione | Associa la vulnerabilità alla patch che la risolve | Vulnerabilità (0,1) Patch (1,1) | -- |
Bersaglio | Associa la vulnerabilità al Sistema Operativo bersaglio | Vulnerabilità (1,N) Sistema Operativo (0,N) | -- |
Realizzazione | Associa l'hacker all'exploit realizzato | Exploit (1,N) Hacker (1,N) | -- |
- Articolo precedente Realizzare un sito web in Jsp passo dopo passo (II-2 Parte)
- Articolo successivo Realizzare un sito web in Jsp passo dopo passo (III-2 Parte)