Ogni mese il povero amministratore IT si affanna a capire quali patch Microsoft necessitano di attenzione ed effettua una valutazione sugli aggiornamenti che devono essere installati senza troppi indugi e su quelli che invece possono essere posticipati. È un approccio corretto perché praticamente tutti gli aggiornamenti Windows richiedono il riavvio del sistema e in tante configurazioni effettuare un reboot della macchina può causare problemi, riducendo la continuità operativa. Per chi vuole avere subito una sorta di Microsoft Patch Catalog del mese a propria disposizione, le API MSRC Security Updates permettono di accedere e interagire con le informazioni sulle vulnerabilità e gli aggiornamenti di sicurezza forniti dall’azienda di Redmond.
Cosa sono le API MSRC Security Updates e come funzionano
Microsoft pubblica le informazioni sulle patch di sicurezza per Windows e per gli altri suoi prodotti software utilizzando diversi canali. Ci siamo però chiesti se esistesse uno strumento privilegiato per attingere direttamente a quei dati e comporre un report personale sugli aggiornamenti mensili che sono più meritevoli di attenzione.
Le API MSRC Security Updates (MSRC è acronimo di Microsoft Security Response Center) sono un insieme di interfacce programmatiche progettate per facilitare la gestione della sicurezza nei sistemi operativi Microsoft, consentendo agli utenti di recuperare dettagli sui bollettini di sicurezza, sulle vulnerabilità e sugli aggiornamenti correttivi.
Disponibili come progetto a sorgente aperto su GitHub, le API in questione utilizzano il formato CVRF (Common Vulnerability Reporting Framework) per presentare tutte le informazioni relative alle vulnerabilità. Questo formato standardizzato consente una rappresentazione coerente delle vulnerabilità e degli aggiornamenti.
È possibile generare documenti HTML personalizzati che riepilogano gli aggiornamenti di sicurezza rilasciati da Microsoft in un determinato periodo. Gli utenti possono creare report dettagliati con filtri specifici, utilizzando riferimenti agli identificativi CVE (Common Vulnerabilities and Exposures) di interesse.
Il bello delle API MSRC Security Updates è che non richiedono l’inserimento di alcuna API key autorizzativa. In questo modo, utilizzando ad esempio semplice codice PowerShell si possono estrarre dai server Microsoft le informazioni che servono.
Lo script che compila un Microsoft Patch Catalog del mese
Al momento in cui scriviamo, non c’è tanta documentazione disponibile sul funzionamento delle API MSRC Security Updates. Ciononostante, si sa che sono disponibili le seguenti funzioni:
Get-KBDownloadUrl
Get-MsrcCvrfAffectedSoftware
Get-MsrcCvrfCVESummary
Get-MsrcCvrfDocument
Get-MsrcCvrfExploitabilityIndex
Get-MsrcSecurityBulletinHtml
Get-MsrcSecurityUpdate
Get-MsrcVulnerabilityReportHtml
Set-MSRCAdalAccessToken
Set-MSRCApiKey
Utilizzando la funzione Get-MsrcCvrfDocument
, possiamo recuperare le principali informazioni sugli aggiornamenti del mese e comporre il nostro Microsoft Patch Catalog.
Collegatevi con la pagina dello script PowerShell, cliccate con il tasto destro del mouse quindi scegliete Salva con nome. Al posto di ms-patch-catalog.txt
, digitate ms-patch-catalog.ps1
e salvate il file in una cartella di vostra scelta.
Cliccate quindi con il tasto destro del mouse sul file ms-patch-catalog.ps1
e selezionate la voce Esegui con PowerShell del menu contestuale.
Creazione del report con le patch Microsoft del mese
Verificando le informazioni restituite dall’orologio di sistema, lo script genera automaticamente un file chiamato MSRC.html
(salvato nella stessa cartella).
Dopo averlo aperto con il browser preferito (basta un semplice doppio clic), ci si accorge che ai primi posti sono mostrate le vulnerabilità del mese già sfruttate per sferrare attacchi informatici (Exploitation Detected), mentre subito a seguire ci sono le falle di sicurezza che potrebbero essere verosimilmente utilizzate dei criminali informatici (Exploitation More Likely).
Gli amministratori hanno così a disposizione un tool semplice e immediato per esaminare le vulnerabilità più importanti del mese e valutare le eventuali azioni da intraprendere. Anche perché, per ogni singola vulnerabilità, è riportato l’identificativo CVE corrispondente. È cliccabile in modo da poter consultare il bollettino pubblicato da Microsoft e leggere le eventuali note presenti.
Funzionamento
Il modulo PowerShell MsrcSecurityUpdates
non è presente di default nelle installazioni di Windows. Lo script, come si vede nelle prime righe dello stesso, si occupa di scaricarlo e installarlo automaticamente per l’account utente in uso:
Install-Module -Name MsrcSecurityUpdates -Force -Scope CurrentUser
Import-Module MsrcSecurityUpdates
Sviluppi futuri
Un ulteriore possibile miglioramento dello script consiste nell’estrazione, per ciascun CVE, dell’elenco dei prodotti vulnerabili con l’indicazione esplicita della tipologia di vulnerabilità risolta. Ad esempio, esecuzione di codice in modalità remota, acquisizione di privilegi più elevati, attacchi DoS, esposizione di informazioni riservate e così via.
La chiave di volta per riuscirci è la funzione Get-MsrcSecurityUpdate
, richiamata nel seguente modo:
Get-MsrcSecurityUpdate -Cvrf 2024-Sep | Format-List *
L’output restituito è il seguente:
@odata.context : https://api.msrc.microsoft.com/$metadata#Updates value : {@{ID=2024-Sep; Alias=2024-Sep; DocumentTitle=September 2024 Security Updates; Severity=; InitialReleaseDate=2024-09-10T07:00:00Z; CurrentReleaseDate=2024-09-08T00:00:00Z; CvrfUrl=https://api.msrc.microsoft.com/cvrf/v3.0/cvrf/2024-Sep}}
Il file indicato nell’URL CvrfUrl
è un XML davvero complesso dal quale però, con un’attività di parsing ben congegnata, è possibile estrarre qualunque tipo di informazione. Là dentro, infatti, per qualunque CVE, ci sono tutti i dettagli che ogni buon amministratore IT cerca. Il passo successivo è estrapolarli e migliorare il report restituito dallo script PowerShell. In modo da sviluppare una visione totale su ciò che sono gli aggiornamenti Microsoft di ogni mese, sulle potenziali criticità e sull’importanza di attivarsi o meno, a seconda delle configurazioni software in uso.
Credit immagine in apertura: Microsoft Copilot Designer