Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseBlog
CIS Control 16: Sicurezza del software applicativo

CIS Control 16: Sicurezza del software applicativo

Oct 12, 2025

Gli ambienti IT moderni includono tipicamente un'ampia gamma di applicazioni: software sviluppato internamente, piattaforme software ospitate, strumenti open-source e soluzioni acquistate. Poiché queste applicazioni accedono a sistemi sensibili, dati e altri asset IT, i cybercriminali sono ansiosi di sfruttarli durante gli attacchi.

Il CIS Control 16 offre controlli di sicurezza del software applicativo per rafforzare la postura di sicurezza della tua organizzazione. Questo post sul blog spiega come l'implementazione di questi CIS controls può aiutarti a ridurre il rischio derivante da errori di programmazione, autenticazione debole, design insicuro, infrastruttura insicura e altre vulnerabilità che gli attaccanti utilizzano per accedere a dati sensibili e sistemi.

Si noti che prima della CIS Controlli di Sicurezza Critici Versione 8, l'argomento su come proteggere le applicazioni era trattato dal CIS Control 18.

16.1. Stabilire e mantenere un processo di sviluppo delle applicazioni sicuro

Il primo passo consiste nell'istituire un processo di sviluppo di applicazioni sicuro che affronti le pratiche di codifica sicura, gli standard e le procedure di progettazione di applicazioni sicure e la sicurezza del codice di terze parti. Assicurati anche di fornire formazione su questo processo a tutti i soggetti coinvolti nel ciclo di vita dell'applicazione, inclusi i team di sviluppo e i gruppi di implementazione. L'obiettivo è creare una cultura di consapevolezza della cybersecurity in cui tutti comprendano le tue pratiche di sicurezza e lavorino attivamente per ridurre al minimo la tua esposizione al rischio.

Questo approccio migliorerà anche la conformità della vostra organizzazione con le normative del settore, i mandati legali e i requisiti di governance interna.

16.2. Stabilire e mantenere un processo per accettare e affrontare le vulnerabilità del software

È inoltre necessario un solido processo di gestione delle vulnerabilità per accettare e affrontare le vulnerabilità del software. Eseguire regolarmente la valutazione dei rischi per scoprire lacune nella sicurezza della rete e creare processi che facilitino i membri del team nella segnalazione di problemi di sicurezza non appena vengono scoperti, inclusi durante la risposta agli incidenti.

Assicurati di assegnare un ruolo responsabile per la gestione dei rapporti di vulnerabilità e il monitoraggio del processo di rimedio, e considera di investire in un sistema di tracciamento delle vulnerabilità.

16.3. Eseguire un'analisi delle cause principali sulle vulnerabilità della sicurezza

Per mitigare una vulnerabilità della sicurezza, è essenziale comprendere i problemi sottostanti attraverso un'analisi delle cause principali. Oltre ad aiutarti ad affrontare vulnerabilità specifiche, l'analisi delle cause principali ti aiuta anche a definire basi di configurazione sicure che rafforzano la tua postura di sicurezza e conformità.

16.4. Stabilire e gestire un inventario dei componenti software di terze parti

Creare un inventario dei componenti software di terze parti, inclusi quelli utilizzati dal vostro team durante lo sviluppo e qualsiasi altro previsto per un futuro utilizzo. Considerare e documentare i rischi che questi componenti software rappresentano per le vostre applicazioni e mantenere l'inventario correttamente gestito identificando e registrando qualsiasi cambiamento o aggiornamento.

16.5. Utilizzare componenti software di terze parti aggiornati e affidabili

Utilizza software e librerie consolidati e provati ogni volta che è possibile. Trova fonti affidabili per questi componenti e valuta il software per eventuali vulnerabilità prima dell'uso.

Assicurati che tutti i componenti software di terze parti abbiano un supporto continuativo da parte degli sviluppatori; disabilita o rimuovi quelli che non lo hanno. Utilizzare risorse software che continuano a ricevere aggiornamenti di sicurezza aiuta a minimizzare l'esposizione ai rischi. Assicurati di usare solo fonti affidabili e verificate per questi aggiornamenti. Naturalmente, devi essere certo di installare gli aggiornamenti in modo tempestivo per mantenere l'integrità dei tuoi sistemi e dispositivi.

16.6. Stabilire e mantenere un sistema di valutazione della gravità e un processo per le vulnerabilità delle applicazioni

Valutare la gravità delle vulnerabilità delle applicazioni aiuta a dare priorità alla rimediazione dei rischi. Suggerimento: quando progetti il tuo sistema di valutazione, assicurati di includere quanto sono critici l'applicazione e la vulnerabilità per i processi aziendali. Considera anche di stabilire un livello minimo di accettabilità della sicurezza per le tue applicazioni.

16.7. Utilizzare modelli di configurazione di hardening standard per l'infrastruttura delle applicazioni

Utilizzare modelli raccomandati dal settore per configurare i tuoi server, database e componenti SaaS e PaaS ti aiuta a garantire configurazioni sicure che mitigano le vulnerabilità e migliorano l'igiene informatica.

16.8. Separare i sistemi di produzione da quelli non di produzione

Crea e mantieni ambienti separati per i tuoi sistemi di produzione e i sistemi non di produzione utilizzati per lo sviluppo e il testing. Monitora tutte le interazioni con i tuoi ambienti di produzione per prevenire l'accesso da parte di personale non autorizzato.

Oltre al monitoraggio delle attività, proteggi i tuoi ambienti IT con una gestione efficace degli account. Concedi agli account utente solo i permessi di cui hanno bisogno e riduci al minimo i privilegi amministrativi. Ulteriori misure di protezione dei dati possono essere implementate negli ambienti Active Directory utilizzando Group Policy.

16.9. Formare gli sviluppatori sui concetti di sicurezza delle applicazioni e sulla programmazione sicura

I vostri sviluppatori necessitano di formazione sulla scrittura di codice sicuro. Le sessioni di formazione sono più efficaci quando sono personalizzate in base agli ambienti specifici e alle responsabilità del gruppo. La formazione dovrebbe includere le pratiche standard di sicurezza delle applicazioni e i principi generali di sicurezza, e mirare ad aumentare la consapevolezza sulla sicurezza. L'istituto SANS è un'eccellente risorsa per apprendere sulla sicurezza delle informazioni e la cybersecurity.

Investire nella scrittura di codice sicuro può farvi risparmiare denaro riducendo lo sforzo necessario per la rilevazione e la correzione delle vulnerabilità.

16.10. Applicare principi di progettazione sicura nelle architetture delle applicazioni

I principi di progettazione sicura includono la linea guida di “non fidarsi mai dell'input dell'utente”, che comporta la validazione di tutte le operazioni dell'utente e un controllo esplicito degli errori.

Anche il design sicuro comporta la minimizzazione della superficie di attacco dell'infrastruttura della tua applicazione. Ad esempio, i tuoi team possono rimuovere programmi non necessari, rinominare o rimuovere account predefiniti e disattivare servizi e porte non protetti.

16.11. Utilizzare moduli o servizi verificati per i componenti di sicurezza delle applicazioni

I moduli o i servizi verificati per i componenti di sicurezza delle applicazioni sono disponibili per Identity Management, crittografia, auditing e logging. Utilizzarli può ridurre gli errori di implementazione e di progettazione e minimizzare il carico di lavoro degli sviluppatori.

Ad esempio, l'utilizzo di sistemi operativi moderni aiuta a garantire un'efficace identificazione, autenticazione e autorizzazione delle applicazioni, così come la creazione di registri di controllo sicuri. Utilizzare solo algoritmi di crittografia standard che sono stati ampiamente esaminati riduce il rischio di difetti che possono compromettere i vostri sistemi.

16.12. Implementare controlli di sicurezza a livello di codice

Utilizzate strumenti di analisi statica e dinamica per aiutarvi a garantire che i vostri sviluppatori seguano pratiche di codifica sicure testando gli errori. Ricerca gli strumenti disponibili per trovare quelli che funzioneranno efficacemente per il vostro codice.

16.13. Condurre test di penetrazione delle applicazioni

I test di penetrazione possono aiutarti a scoprire vulnerabilità nelle tue applicazioni che possono essere trascurate durante le revisioni del codice e la scansione automatica del codice. L'obiettivo dei test in questa componente nel CIS CSC 16 è identificare le debolezze, incluse le lacune nella sicurezza su internet, e valutare la resilienza della sicurezza informatica e i meccanismi di difesa del tuo ambiente applicativo.

Ricorda che l'efficacia del penetration testing dipende dalle competenze del tester.

16.14. Condurre la modellazione delle minacce

Nella modellazione delle minacce, sviluppatori specialmente formati valutano il design di un'applicazione concentrandosi sui rischi di sicurezza in ogni livello di accesso o punto di ingresso, prima dell'inizio della codifica. Mappare le tue applicazioni, architetture e infrastrutture in modo strutturato ti aiuta a comprendere ulteriormente le debolezze così da poter migliorare le tue difese informatiche e proteggere i tuoi dati da accessi non autorizzati, furto o distruzione.

Condividi su

Scopri di più

Informazioni sull'autore

Asset Not Found

Dirk Schrader

VP della Ricerca sulla Sicurezza

Dirk Schrader è un Resident CISO (EMEA) e VP of Security Research presso Netwrix. Con 25 anni di esperienza nella sicurezza informatica e certificazioni come CISSP (ISC²) e CISM (ISACA), lavora per promuovere la cyber resilience come approccio moderno per affrontare le minacce informatiche. Dirk ha lavorato a progetti di cybersecurity in tutto il mondo, iniziando con ruoli tecnici e di supporto all'inizio della sua carriera per poi passare a posizioni di vendita, marketing e gestione prodotti sia in grandi multinazionali che in piccole startup. Ha pubblicato numerosi articoli sull'esigenza di affrontare la gestione dei cambiamenti e delle vulnerabilità per raggiungere la cyber resilience.