Recentemente, il Cyber Security Research Team di Swascan ha scoperto potenziali vulnerabilità di sicurezza (ulteriori dettagli sulla vulnerabilità sono forniti di seguito) e ha notificato il Product Security Incident Response Team (PSIRT) di Xfinity attraverso il suo programma di Rsponsible Vulnerability Disclosure.
[brochure-ita]https://www.swascan.com/wp-content/uploads/2019/10/SWASCAN_ITA-1-1.pdf[/brochure-ita]
La notifica di Swascan includeva tutte le informazioni necessarie a Xfinity per rimediare tempestivamente alle possibili criticità.
In seguito, Swascan ha collaborato con il PSIRT di Xfinity per garantire che le vulnerabilità fossero corrette entro un periodo di tempo adeguato e accettabile.
Swascan è la società di Cyber Security fondata da Pierguido Iezzi e Raoul Chiesa; la prima in Italia ad offrire una piattaforma di Cyber Security in cloud che permette di identificare, analizzare e risolvere le vulnerabilità di siti web e delle infrastrutture informatiche.
[pulsante-trial-ita]
Xfinity Vulnerability Disclosure:I dettagli
Le vulnerabilità hanno avuto un impatto su tutti e tre i pilastri della triade della CIA:
• Confidentiality (confidenzialità);
• Integrity (integrità);
• Availability (disponibilità).
In dettaglio, le vulnerabilità individuate appartenevano alle seguenti categorie CWE:
CWE-126 (Buffer Over-read)
Ciò si verifica tipicamente quando il pointer o il suo index viene incrementato in una posizione oltre i limiti del buffer o quando l’aritmetica del pointer risulta in una posizione al di fuori della posizione di memoria valida, per citarne alcuni esempio. Questo può comportare l’esposizione di informazioni sensibili o addirittura un crash.
Possibile impatto: Leggendo la memoria fuori dai limiti del buffer, un aggressore potrebbe essere in grado di ottenere valori segreti, come gli indirizzi di memoria, che possono essere usati per bypassare meccanismi di protezione come l’ASLR. Tutto ciò al fine di migliorare la probabilità, per l’aggressore stesso, di sfruttare un’altra vulnerabilità e arrivare a fare code injection anziché un semplice attacco di Denial of Service.
CWE-20 (Improper Input Validation)
Quando il software non convalida correttamente l’input, un aggressore è in grado di creare l’input in una forma che non è prevista dal resto dell’applicazione. Questo porterà parti del sistema a ricevere input non previsti, il che può portare a un’alterazione del flusso di controllo, a un controllo arbitrario di una risorsa o a un’esecuzione arbitraria del codice.
Possibile impatto: L’attacco che sfrutta questa classe di vulnerabilità potrebbe compromettere in primis la disponibilità dei dati del bersaglio; dove un aggressore potrebbe fornire valori inaspettati e causare un crash del programma o un eccessivo consumo di risorse, come memoria e CPU. Ma anche la riservatezza, leggendo i dati riservati se sono in grado di controllare i riferimenti delle risorse e -infine – tutte e tre le categorie (Integrità, Disponibilità e Riservatezza) utilizzando input malevoli per modificare i dati o eventualmente alterare il flusso di controllo in modi inaspettati, compresa l’esecuzione arbitraria dei comandi.
CWE-416 (Use After Free)
L’uso di memoria precedentemente liberata può avere un numero molto alto di conseguenze negative, che vanno dalla corruzione di dati validi all’esecuzione di codici arbitrari, a seconda dell’istanziazione e della tempistica del difetto. Il modo più semplice in cui la corruzione dei dati può verificarsi è il riutilizzo della memoria liberata da parte del sistema. Gli errori di use-after-free hanno due cause comuni e talvolta due principali che si sovrappongono: condizioni di errore e altre circostanze eccezionali o confusione su quale parte del programma è responsabile della liberazione della memoria.
In questo scenario, la memoria in questione viene allocata validamente ad un altro pointer ad un certo punto dopo essere stata liberata. Il pointer originale alla memoria liberata viene utilizzato di nuovo e punta verso un punto all’interno della nuova allocazione. Se i dati appena assegnati hanno la possibilità di mantenere una classe, ad esempio in C+++, vari puntatori di funzione possono essere sparsi all’interno dei dati dell’heap. Se uno di questi puntatori di funzione viene sovrascritto con un indirizzo in un codice shell valido, si può ottenere l’esecuzione di codice arbitrario.
Possibile impatto: un attacco che utilizza una vulnerabilità di tipo CWE-416 potrebbe avere un effetto sull’integrità del sistema bersaglio. Questo perché l’uso di memoria precedentemente liberata può corrompere dati validi, se l’area di memoria in questione è stata allocata e utilizzata correttamente altrove. Non solo, la disponibilità potrebbe anche essere influenzata se il consolidamento dei chunk si verifica dopo l’uso di dati precedentemente liberati, il processo potrebbe andare in crash quando i dati non validi vengono utilizzati come informazioni chunk. Infine, ma non meno importante, potrebbe avere un impatto su tutte e tre le aree (Integrità, Disponibilità e Riservatezza) se i dati dannosi vengono inseriti prima che il consolidamento dei chunk possa avere luogo, potrebbe essere possibile approfittare di una scrittura-che-che-dove primitivo per eseguire codice arbitrario.
Xfinity Vulnerability Disclosure
I Vulnerability Disclosure riconosciuti a Swascan sono la testimonianza delle competenze ed esperienze del Cyber del Team Swascan nelle attività di: