Adaptive application controls in Azure Security Center

Ho già avuto modo di parlare nell’articolo Gestire l’accesso alle macchine virtuali in Microsoft Azure con la funzionalità JIT (Just-in-Time) di quanto sia importante proteggere l’accesso alle macchine virtuali e quanto sia vantaggioso utilizzare il Just in time VM Access, che può essere usato per bloccare il traffico in ingresso verso le porte dei protocolli di amministrazione (RDP per Windows oppure SSH per Linux) delle macchine virtuali di Azure, riducendo l’esposizione agli attacchi.

Questa è solo una delle modalità che possiamo utilizzare per implementare la Just Enough Administration (JEA)
, che ha come scopo quello di aumentare la sicurezza nella gestione e nella delega dei privilegi.

Oggi vi voglio mostrare un’altra interessante funzionalità che potete trovare in Azure Security Center, un sistema unificato per la gestione dei servizi ospitati sia in Azure che on-premises e che serve a rafforzare la Security Posture dei nostri datacenter.

La Security Posture (o Cybersecurity Posture) di un’azienda si riferisce alla sua capacità complessiva di sicurezza informatica ed esprime la sicurezza relativa a tutto ciò che viene gestito dall’IT, sia on-premises che nel Cloud, in particolare per quanto riguarda Internet e la sua vulnerabilità alle minacce esterne. Non si tratta quindi solo di utilizzare gli strumenti giusti per difendersi ma bisogna utilizzare le corrette policy, le procedure e i successivi controlli. Tutto l’insieme di questi aspetti decreta poi la “forza” della sicurezza informatica della nostra azienda.

In Azure Security Center è disponibile una soluzione completamente automatizzata che si chiama Adaptive application controls il cui compito è quello di permettere l’esecuzione solo delle applicazioni che sono state autorizzate da noi. Azure Security Center utilizza Machine Learning per analizzare le applicazioni che girano nelle VM e per applicare delle regole che ne permettano o meno l’esecuzione utilizzando la funzionalità di AppLocker. Questa funzionalità è disponibile solo per computer Windows.

Applocker è una funzionalità di Windows Server e di alcune versioni di Windows Client che permette di bloccare l’esecuzione di file eseguibili, script, file di Windows Installer, librerie a collegamento dinamico (file DLL), controlli ActiveX, ecc.

Grazie alla funzionalità di Adaptive application controls è possibile:

  • Bloccare i tentativi di esecuzione di applicazioni dannose, inclusi quelli che potrebbero altrimenti non venire rilevati dalle soluzioni antimalware
  • Rispettare i criteri di sicurezza dell’organizzazione che impongono l’uso solo di software concesso in licenza.
  • Evitare l’uso di software indesiderato nel proprio ambiente.
  • Evitare l’esecuzione di app obsolete e non supportate.
  • Impedire l’uso di tools non consentiti in azienda.
  • Consentire al personale IT di controllare l’accesso ai dati sensibili tramite l’utilizzo delle applicazioni.

Abilitazione di Adaptive application controls

Per poter abilitare adaptive application controls vi basterà autenticarvi al portale di Azure e cercare la dashboard del Security Center. Il Security Center è disponibile in due modalità: Free e Standard: Per conoscere le differenze tra le due modalità potete visitare la pagina Security Center pricing

Figura 1: Differenza di funzionalità tra i due livelli di servizio di Azure Security Center

La funzionalità di Adaptive application controls è disponibile nella versione Standard e per testarla potete abilitare una versione di prova di 30 giorni. È sempre possible poi successivamente passare dalla versione Standard alla versione Free alla fine del periodo di prova.

Figura 2: Abilitazione della trial di 30 giorni per le funzionalità Standard di Azure Security Center

Figura 3: Dashboard di Azure Security Center

Dopo aver abilitato le funzionalità della versione Standard, spostatevi nel ramo ADVANCED CLOUD DEFENSE e scegliete la voce Adaptive application controls.

Qui potrete visualizzare tre schede che mostrano lo stato delle macchine virtuali e riportano rispettivamente le voci:

  • Configurato: elenco dei gruppi contenenti le macchine virtuali configurate con il controllo delle applicazioni.
  • Consigliato: elenco dei gruppi per cui è consigliato il controllo delle applicazioni. Il Security Center usa Machine Learning per identificare le macchine virtuali che sono candidate per il controllo delle applicazioni.
  • Nessuna raccomandazione: elenco dei gruppi contenenti le macchine virtuali senza alcuna raccomandazione per il controllo delle applicazioni. Ad esempio, le macchine virtuali in cui le applicazioni cambiano sempre e che non hanno raggiunto uno stato stabile.

Figura 4: Gruppi di macchine virtuali che è possibile proteggere

Azure Security Center usa un algoritmo di proprietario per creare gruppi di VM, assicurando che le macchine virtuali simili ottengano criteri di controllo delle applicazioni ottimali.

NOTA: Azure Security Center si basa su almeno due settimane di dati per creare una baseline e popolare le raccomandazioni per ogni gruppo di VM e i gruppi di VM vengono prima visualizzati nella scheda Nessuna raccomandazione.

Cliccando sui gruppi di macchine virtuali sarà possibile gestire le application control rules, che permetteranno di creare delle regole in grado di permettere o meno l’esecuzione delle applicazioni.

Nella figura 5 sono state individuate alcune applicazioni frequenti nelle macchine virtuali all’interno del gruppo e la cui esecuzione è consigliata (nel mio caso c’è una sola macchina chiamata nic-ex16 ed un paio di applicazioni, tra cui Google Chrome).

Esaminate le applicazioni nell’elenco e deselezionare quelle a cui non volete applicare il controllo. Ogni elenco include:

  • NOME: informazioni sul certificato o il percorso completo di un’applicazione
  • TIPI DI FILE: tipo di file dell’applicazione. Può trattarsi di file EXE, Script, file MSI,ecc.
  • EXPLOITABLE: indica se un’applicazione specifica può essere usata da un utente malintenzionato. È consigliabile esaminare queste applicazioni prima di approvarle.
  • UTENTI: utenti ai quali è consigliabile consentire l’esecuzione di un’applicazione

Figura 5: Elenco delle applicazioni trovate nelle macchine virtuali del gruppo

Se vi collegate all’interno delle macchine virtuali ed aprite il Local Group Policy Editor con il comando gpedit.msc noterete che saranno state create delle regole di Applocker per permettere l’esecuzione delle applicazioni che avete consentito, come mostrato in figura:

Figura 6: Regole di Applocker impostate dalla application control rule

Verifica della funzionalità

Quando verrà eseguita un’applicazione non consentita, nel caso siate ancora in Audit mode e non in Enforced Mode, ricevere un alert nella Dashboard di Azure Security Center. Threat protection vi segnalerà che c’è un problema e cliccando sul link verrete reindirizzati alla pagina dei Security Alerts, da cui potrete iniziare la verifica e l’investigazione del problema.

Figura 7: Segnalazione di una criticità nella dashboard di Azure Security Center

Figura 8: Security alerts

Cliccando sulla segnalazione di sicurezza verrete reindirizzati ad una pagina che vi segnalerà di quale problema si tratta. Nel mio caso un’eseguibile ha violato la Application Control Policy che ho configurato prima.

Figura 9: Violazione della Application Control Policy

Cliccando su Investigate potrete ottenere maggiori dettagli sul problema riscontrato. Verrete reindirizzati alla Investigation dashboard (preview), che vi fornirà informazioni sull’eseguibile, sul percorso di installazione, sull’ora di esecuzione, ecc.

Vi verranno anche fornite informazioni su come rimediare all’esecuzione del software riscontrato. Potreste ad esempio modificare la Application control policy per permetterne l’esecuzione, in quanto si tratta di un nuovo software che avete installato e che deve essere legittimamente eseguito.

Figura 10: Investigation Dashboard

Modifica delle Application control policy

È possibile modificare in qualsiasi momento Application control policy riaprendo il gruppo di VM.

Verificate in Publisher whitelisting rulesPath whitelisting rules e in  Hash whitelisting rules quali regole di inserimento delle applicazioni nell’elenco elementi consentiti sono attualmente configurate nelle macchine virtuali all’interno di un gruppo. Per ogni regola è possibile visualizzare:

  • Regola: i parametri specifici in base ai quali un’applicazione viene esaminata da AppLocker per determinare se può essere eseguita.
  • Tipo di file: i tipi di file coperti da una specifica regola (EXE, Script, file MSI, ecc.)
  • Utenti: nome o numero di utenti autorizzati a eseguire un’applicazione che è coperta da una regola di inserimento delle applicazioni nell’elenco elementi consentiti.

Aggiungete le eventuali altre applicazioni che avete installato dall’ultima volta che avete modificato la Application control policy, per permetterne l’esecuzione legittima.

Figura 11: Modifica dell’Application control policy

Dopo un periodo di test sarà possibile forzare l’esecuzione della Application control policy modificando la Modalità di protezione (Protection Mode) , che può essere configurata in due modi:

  • Audit: La soluzione di controllo delle applicazioni non applica le regole, ma controlla solo l’attività nelle macchine virtuali protette. Si tratta dell’opzione consigliata per scenari in cui si vuole osservare il comportamento generale prima di bloccare l’esecuzione di un’applicazione nella macchina virtuale di destinazione.
  • Enforce: in questa modalità la soluzione di controllo delle applicazioni applica le regole e garantisce il blocco delle applicazioni la cui esecuzione non è consentita.

Conclusioni

Con Adaptive application controls in Azure Security Center è possibile controllare quali applicazioni possono essere eseguite nelle macchine virtuali in Azure e proteggerle contro i malware. Azure Security Center usa la funzione Machine Learning per analizzare le applicazioni in esecuzione nelle macchine virtuali e, grazie a questa funzionalità intelligente, consente di applicare specifiche regole di inserimento delle applicazioni nell’elenco elementi consentiti. In questo modo verrà vietata l’esecuzione di tutte le applicazioni non consentite rendendo di fatto la nostra macchina molto più sicura ed immune dai malware.