Il team di Cybersecurity e Bug Hunting dell’azienda (100% italiana) Swascan ha scoperto 5 vulnerabilità relative alla sicurezza dei server dell’infrastruttura IT di Microsoft.
Microsoft è uno delle multinazionali leader nel campo della tecnologia IT. I suoi prodotti software più noti sono la linea di sistemi operativi Microsoft Windows e la suite Microsoft Office. Oltre alla commercializzazione di consumer electronic come smartphone e tablet, l’azienda di Seattle si è specializzata nel campo del Cloud.
Swascan è la società italiana di Cybersecurity fondata da Raoul Chiesa e Pierguido Iezzi. Swascan è la prima piattaforma cloud-based di Cybersecurity Testing, interamente progettata e sviluppata in Italia, che permette di identificare, analizzare e risolvere le vulnerabilità dei siti web e delle infrastrutture informatiche ICT e Cloud.
Diverse settimane fa Swascan, a testimonianza della bontà delle sue soluzioni, ha identificato 5 vulnerabilità relative all’infrastruttura server di Microsoft, ed ha iniziato ad agire, in maniera coordinata ed operativa, con il Security Team di Microsoft USA.
Queste 5 vulnerabilità erano distribuite per differenti livelli di rischio, identificati come segue:
- Alto: 3;
- Medio: 1;
- Basso: 1.
Se sfruttate, queste “security failure” avrebbero potuto facilmente influire sull’integrità, la riservatezza e la disponibilità dei dati trattati, gestiti ed archiviati dai sistemi server interessati. Subito dopo aver scoperto queste informazioni cruciali, Swascan ha contattato il Team di Sicurezza di Microsoft USA, seguendo il principio della Responsible Disclosure.
Vulnerabilità di Microsoft
Le debolezze individuate riguardavano:
- CWE – 119: Il software esegue operazioni su un buffer di memoria, ma può leggere o scrivere in una posizione di memoria che si trova al di fuori del confine previsto del buffer. Alcuni linguaggi consentono l’indirizzamento diretto delle allocazioni di memoria e non garantiscono automaticamente che queste posizioni siano valide per il buffer di memoria a cui si fa riferimento. Ciò può causare operazioni di lettura o scrittura su allocazioni di memoria che possono essere associate ad altre variabili, strutture dati o dati di programma interni. Di conseguenza, un aggressore può essere in grado di eseguire codice arbitrario, alterare il flusso di controllo previsto, leggere informazioni sensibili o causare il crash del sistema.
- CWE-94: Il software costruisce tutto o parte di un segmento di codice utilizzando input influenzati esternamente da un componente a monte, ma non neutralizza – o lo fa in modo errato – elementi speciali che potrebbero modificare la sintassi o il comportamento del segmento di codice previsto. Quando il software permette all’input di un utente di contenere la sintassi del codice, potrebbe essere possibile per un potenziale aggressore creare il codice in modo tale da alterare il flusso di controllo previsto del software.
- Una tale alterazione potrebbe portare ad un’esecuzione arbitraria del codice. I problemi di “code injection” comprendono un’ampia varietà di problematiche – tutte attenuate in modi molto diversi. Per questo motivo, il modo più efficace per discutere queste debolezze è quello di notare le distinte caratteristiche che le classificano come debolezze del “code injection”. Uno degli aspetti più intriganti è che tutti i problemi in questo campo condividono una cosa in comune: permettono l’iniezione di dati del “control plane” nel piano dati controllato dall’utente. Ciò significa che l’esecuzione del processo può essere modificata inviando codice attraverso canali dati legittimi, senza utilizzare altri meccanismi. Mentre i buffer overflow, e molti altri difetti, comportano l’uso di qualche ulteriore problema per ottenere l’esecuzione, i problemi di iniezione (“injection”)( richiedono solo l’analisi dei dati. Le istanze più classiche di questa categoria di debolezza sono gli attacchi basati sull’iniezione SQL (SQL Injection) e le vulnerabilità delle stringhe di formato (Format Strings).
- CWE-200: Una “information exposure” o (esposizione delle informazioni) è la divulgazione intenzionale o non intenzionale di informazioni ad un attore che non è esplicitamente autorizzato ad avere accesso a tali informazioni.
Le informazioni possono essere di due tipi:
- o sensibili nell’ambito delle funzionalità proprie del prodotto, come per esempio un messaggio privato;
- o sensibili perché forniscono informazioni sul prodotto o sul suo ambiente che potrebbero essere utili in un attacco, ma che normalmente non sono disponibili per l’aggressore, come per esempio il percorso di installazione di un prodotto accessibile a distanza.
Swascan e Microsoft
In linea con lo spirito e gli obiettivi di Swascan, questo articolo non è destinato a discutere o individuare le vulnerabilità identificate. Lo scopo di questo articolo è quello di sottolineare l’importanza di una reale cooperazione tra i fornitori di software e le società di Cybersecurity.
L’attenzione di Microsoft ai risultati dei test di Swascan, insieme alle e-mail collaborative exchange ed alle attività di valutazione, hanno portato a una delle collaborazioni più serie, professionali e trasparenti che siamo stati in grado di realizzare nelle nostre carriere. Per questi motivi, il team Swascan desidera congratularsi con gli esperti di sicurezza, di reverse engineering ed i programmatori che lavorano con Microsoft. Questo caso riflette perfettamente la necessità di collaborazione tra le società di sicurezza informatica (Swascan) ed i fornitori di Software (il team di Microsoft).
“I CERT, Computer Emergency Response Team ed i PSIRT (Product Security Incident Response Team) , svolgono un ruolo chiave nell’ecosistema della sicurezza nel mondo digitale in cui viviamo oggi. La nostra speranza è quella di trovare team sempre più preparati, proprio come il team del Microsoft Security Response Center, che ha dimostrato un comportamento esemplare oltre a una incredibile attenzione e cura per i propri clienti”, hanno dichiarato i Co-founder di Swascan, Pierguido Iezzi e Raoul Chiesa.