• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Linee guida per realizzare la sicurezza 20

Page history last edited by Roberto Marmo 14 years ago

Passiamo a indicare alcune raccolte di suggerimenti per creare sistemi per il web 2.0 con una maggiore sicurezza.

Si parla in particolare di sicurezza applicativa come processo continuo con competenze specifiche.

L'importante è che lo sviluppatore deve fare studi specifici per questo tipo di sicurezza e deve pensare la sicurezza nel ciclo di vita del software.

 

Fattori da considerare:

  • definire con precisione le porte ed i protocolli utilizzati dall'applicazione, per costruire un perimetro intorno e ridurre la superficie esposta agli attacchi
  • crittografia e protezione dei dati
  • proteggere i cookie di autenticazione di sessione tramite l’utilizzo del protocollo TLS o cifrandone il contenuto
  • controllare l’input e anche l’output per controllare la rispondenza con quanto previsto per l’applicazione     
  • registrare nei log i seguenti eventi:

    a. autenticazione applicativa (login e logout, riusciti e non);

    b. accesso ai dati (lettura e scrittura);

    c. modifica di funzioni amministrative (per es. la disabilitazione delle funzioni di logging, la gestione dei permessi, ecc.).

  • all'interno di una voce del file log occorre registrare le seguenti informazioni:

    a. data/ora dell’evento;

    b. luogo dell’evento (per es. macchina, indirizzo IP, ecc.);

    c. identificativo dell'entità che ha generato l’evento (per es. utente, servizio, processo, ecc.);

    d. descrizione dell’evento

  • prevedere meccanismi di conservazione dei log in file su cui sia possibile effettuare esclusivamente la scrittura incrementale o su supporti non riscrivibili

    prevedere meccanismi di backup dei log

    prevedere meccanismi di controllo degli accesi ai log

 

In generale, il miglior modo per costruire un sistema sicuro consiste nell'inserire una logica di sicurezza fin dai primi passi della progettazione del sistema. In particolare, in un'applicazione web bisogna seguire un approccio di separazione dei livelli logici in grado di garantire:

- compartimentazione, per evitare di passare da un livello ad altri senza permesso

- separazione di privilegi, per evitare di dare troppo spazio di manovra ai possessori dei privilegi

- modularità del software, per facilitare il ricambio e la creazione delle componenti.

Un'applicazione web rispetta queste linee guida se è composta da questi tre livelli logici ben distinti:

1. livello di presentazione per creare l'interfaccia per la rappresentazione dei dati

verso l’utente e la raccolta e controllo dei dati in ingresso messi dall'utente

2. livello business logic che realizza il cuore dell'elaborazione dati secondo l'obiettivo dell'applicazione, deve essere in grado di rapportarsi con il precedente livello presentazione per ricevere i dati e spedire i risultati finali, oltre che con il successivo livello di accesso ai dati necessari per l'elaborazione 

3.  livello di accesso ai dati per dialogare con i database e altri servizi in grado di fornire dati dinamici.

 

 

Ciclo di sviluppo del software

  1. analisi Requisiti e Casi utente: documentazione dei requisiti e dei test di sicurezza
  2. pianificazione del software: guida alla progettazioni di applicazioni web sicure, guida all'analisi delle minacce e dei rischi
  3. pianificazione dei test: guida per i testi di sicurezza
  4. scrittura del software: guida per l'analisi del software
  5. fase di test: guida per i test di sicurezza

 

 

Rimedi da attuare

  1. Revisione del software manuale o automatico tramite Static Code (analisi del codice senza eseguirlo) e Analysis Tools (software di analisi basati su librerie di vulnerabilità note)
  2. Dynamic Analysis per analizzare l’applicazione Web quando è in fase di esecuzione. Nota anche come test Black Box, perché non si ha nessuna conoscenza di come è fatta l’applicazione. Si inizia esplorando l’applicazione per realizzare il modello del sito Web e determinare i vettori di attacco. Si invia una serie di richieste HTTP, si analizzano le risposte e si identificano le vulnerabilità.
  3. Penetration Testing Tools per creare test di penetazione manuale o automatico.

 

Comments (0)

You don't have permission to comment on this page.