Realizzare un sito web in Jsp passo dopo passo (II-2 Parte)

Pagina 2 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 deirequisiti 

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 obassa), 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.

Progettazione concettuale

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,

E-mail

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)

--