WebMVA - cs. Collaborative Application for... Un penetration test è un metodo per la...

Click here to load reader

  • date post

    13-Oct-2020
  • Category

    Documents

  • view

    1
  • download

    0

Embed Size (px)

Transcript of WebMVA - cs. Collaborative Application for... Un penetration test è un metodo per la...

  • Università degli Studi di Camerino Scuola di Scienze e Tecnologie

    Laurea in Informatica (L-31)

    WebMVA Collaborative Application for

    Vulnerability Assessment Analysis

    Candidati Margherita Renieri Matricola n. 095100

    Riccardo Cannella Matricola n. 096001

    Relatore Prof. Fausto Marcantoni

    ANNO ACCADEMICO 2017/2018

  • Indice

    Abstract 5

    Introduzione 6

    1 Vulnerabilità e modalità di sicurezza 8 1.1 Vulnerabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.1.1 Tools di vulnerability assessment . . . . . . . . . . . . . . . . . . 9 1.1.2 Valutazione delle vulnerabilità . . . . . . . . . . . . . . . . . . . 9 1.1.3 Penetration test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    1.2 Modalità di sicurezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.1 Liste e database di vulnerabilità . . . . . . . . . . . . . . . . . . 13 1.2.2 Aggiornamenti di sistema . . . . . . . . . . . . . . . . . . . . . . 15 1.2.3 Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.2.4 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.5 Sicurezza di rete . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.2.6 Sicurezza web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.7 Sicurezza dei CMS . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.2.8 Sicurezza dei DNS . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.2.9 Sicurezza della posta elettronica . . . . . . . . . . . . . . . . . . 29 1.2.10 Sicurezza dei sistemi di gestione dei database . . . . . . . . . . . 31

    2 WebMVA 35 2.1 Applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    2.1.1 Tecnologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.1.2 Architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    2.2 Moduli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.1 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.2 Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.2.3 CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.2.4 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.2.5 Information Gathering . . . . . . . . . . . . . . . . . . . . . . . . 56 2.2.6 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.2.7 WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    2

  • 3 Analisi dei Report 63 3.1 Comparazione dei resoconti . . . . . . . . . . . . . . . . . . . . . . . . . 63

    3.1.1 Tools di scansione della rete . . . . . . . . . . . . . . . . . . . . . 63 3.1.2 Tools di scansione Web . . . . . . . . . . . . . . . . . . . . . . . 64 3.1.3 Tools di scansione dei CMS . . . . . . . . . . . . . . . . . . . . . 66 3.1.4 Tools di scansione dei DNS . . . . . . . . . . . . . . . . . . . . . 68 3.1.5 Tools di Information Gathering . . . . . . . . . . . . . . . . . . . 69 3.1.6 Tools di scansione dei Database . . . . . . . . . . . . . . . . . . . 70 3.1.7 Tools di scansione dei WiFi . . . . . . . . . . . . . . . . . . . . . 70

    4 Evoluzione 71 4.1 Gestione desktop remoto . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    4.1.1 SPICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.1.2 SSH.NET e SignalR . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.1.3 Shell In A Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    4.2 Copia dei moduli da un altro Progetto . . . . . . . . . . . . . . . . . . . 73 4.3 Modulo Server esterno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.4 Controlli Apportati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    4.4.1 Controllo dei percorsi . . . . . . . . . . . . . . . . . . . . . . . . 74 4.4.2 Controllo del campo “Nome” . . . . . . . . . . . . . . . . . . . . . 74

    4.5 Ordinamento dei Report . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.6 Inserimento Moduli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    5 Sviluppi futuri 79 5.1 Refactor del codice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 Rimozione e rimodellazione dei moduli . . . . . . . . . . . . . . . . . . . 79 5.3 Integrazione Shell In A Box . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.4 Ottimizzazione gestione file . . . . . . . . . . . . . . . . . . . . . . . . . 80

    6 Conclusioni 81

    7 Ringraziamenti 84

    Appendice A - Sotto-tabelle 86

    Appendice B - Class Diagram 89

    Note 92

    Elenco delle figure 94

    Bibliografia 95

    Sitografia 96

    3

  • Abstract

    La vulnerabilità è definita come “ l’esistenza di un punto debole di progettazione o di un errore di implementazione che può portare a un evento indesiderato che compromette la sicurezza del sistema, della rete, dell’applicazione o del protocollo in questione.” Nell’ambito della Sicurezza Informatica, una vulnerabilità può essere sfruttata da un utente malintenzionato per accedere a un sistema o a una rete per eseguire azioni che non è autorizzato a compiere. Per far ciò, egli deve disporre di uno strumento (tool) in grado di connetterlo a tale sistema. Gestire le vulnerabilità di un sistema o di una rete rappresenta la capacità ciclica di riconoscere le criticità e correggerle con delle patches, porzioni software progettate per aggiornare e migliorare il sistema. La ricerca effettuata ha portato alla realizzazione di uno strumento open source, WebMVA, che effettua differenti tipologie di scansione di sistema e/o di rete per deter- minare le vulnerabilità presenti. WebMVA è stata organizzata in maniera modulare: l’utente è libero di gestire i propri progetti di scansione, creare moduli ad hoc secondo le sue necessità e definire i target che sono l’obiettivo delle sue operazioni. È stata inclusa una sezione relativa al salvataggio dei resoconti di tali scansioni, utili per la visualizzazione delle falle e per la riduzione del tempo necessario di applicazione delle patches al sistema.

    5

  • Introduzione

    La ricerca svolta nel periodo di Stage++ ha prodotto un’applicazione web, WebMVA, caricata su GitHub (https://github.com/unicam-webmva/webmva), che permette la gestione di differenti tipologie di scansioni. Alla base di essa si trova il concetto di vulnerabilità: presenza di una falla in un sistema che è il target della scansione.

    Il Capitolo 1 - Vulnerabilità e modalità di sicurezza - presenta nozioni teoriche relative all’ambito della sicurezza di sistema e di rete. Si sviluppano i seguenti argomenti:

    • definizione di vulnerabilità (dei software e dei protocolli) e panoramica generale nella vulnerability assessment ;

    • concetto di penetration test, varie metodologie di attacco (riconosciute a livello internazionale) e possibili bersagli;

    • analisi delle modalità di sicurezza, un elenco di liste e di database contenenti le vulnerabilità aggiornate;

    • procedure di aggiornamento del sistema, contromisura agli attacchi, nell’ambito della gestione del rischio;

    • tipologie di attacchi di rete, servizi di sicurezza e implementazioni, nel settore della sicurezza di rete;

    • servizi di posta elettronica garanti della riservatezza (PGP, S/MIME) e loro van- taggi;

    • architetture Web e diversi livelli di sicurezza;

    • modalità di sicurezza nei CMS e attacchi a sistemi DNS ;

    • firewall, differenti tipologie di filtraggio di rete;

    • file di log, convenienza nell’utilizzo del log management nei tools;

    • vantaggi nell’uso dei database e requisiti per la loro protezione.

    Il Capitolo 2 - WebMVA - contiene un breve excursus riguardante il periodo di Stage e la ricerca esposta al Project. È stata presentata l’applicazione, WebMVA, definita la sua tecnologia e indicata la con- figurazione iniziale.

    6

    https://github.com/unicam-webmva/webmva

  • Sono stati esposti tutti i Moduli presenti nell’omonima sezione ed elencate tutte o parte delle funzionalità implementate.

    Il Capitolo 3 - Analisi dei Report - analizza i risultati dei test effettuati nell’ulti- mo periodo di ricerca, per verificare le funzionalità diWebMVA. Sono stati creati Progetti per ogni tipologia di scansione presente nell’applicazione e inseriti target comuni per comparare i risultati ottenuti dai tools inseriti.

    Il Capitolo 4 - Evoluzione - esamina le modifiche e i miglioramenti apportati al proget- to. L’applicazione risulta più efficiente e dà all’utente la possibilità di gestire in maniera autonoma i propri Progetti.

    Il Capitolo 5 - Sviluppi futuri - comunica ampliamenti futuri della ricerca.

    Il Capitolo 6 - Conclusioni - sintetizza gli obiettivi raggiunti dalla ricerca nel pe- riodo di Stage++.

    Per rendere completo l’elaborato sono presenti Appendici contenenti immagini e do- cumenti “citati” nella relazione.

    7

  • 1. Vulnerabilità e modalità di sicurezza

    Il Capitolo tratta le basi teoriche di due macro-temi: vulnerabilità e modalità di sicu- rezza. La prima sezione fornisce la definizione di vulnerability assessment, le possibili valu- tazioni delle vulnerabilità e i penetration tests. Nella seconda sezione si analizzano le principali modalità di sicurezza.

    1.1 Vulnerabilità

    La vulnerabilità è “ l’esistenza di un punto debole di progettazione o di un errore di implementazione che può portare a un