La deserializzazione problemi di colpire anche Ruby, non solo Java, PHP,.NET

0
294

Zero

ruby-programming-language.png

Il linguaggio di programmazione Ruby è colpiti da una simile “deserializzazione problema” che ha colpito e distrutto l’ecosistema Java nel 2016; un problema che, più tardi, anche dimostrato di essere un problema .NET e applicazioni PHP.

Il problema al cuore di questo problema è come Ruby gestisce il processo di serializzazione –e la sua controparte, la deserializzazione.

La serializzazione è il processo di conversione di un oggetto dati in un formato binario, in modo che possano essere inviati tramite una rete, memorizzati all’interno di un database, o salvati su disco. Come si può immaginare, la deserializzazione è il processo opposto, di invertire un blob binario nel suo oggetto dati di struttura, che può quindi essere ricondotta nel linguaggio di programmazione per l’ulteriore elaborazione in una data successiva.

Quasi tutti i linguaggi di programmazione supportano la serializzazione e la deserializzazione operazioni. Alcuni potrebbero utilizzare nomi diversi per questi processi, ma il concetto è trovato in quasi tutti. Per esempio, in alcuni Ruby file di documentazione, alcuni sviluppatori di riferimento per la serializzazione e la deserializzazione operazioni in termini di marshalling e unmarshalling dei dati.

La serializzazione e la deserializzazione dei dati è un’operazione comune a molti web o applicazioni desktop, soprattutto perché è un modo incredibilmente facile e veloce trasferimento dei dati tra applicazioni o di programmazione diversi mezzi.

Ma i ricercatori di sicurezza hanno dato l’allarme circa l’uso improprio di queste due operazioni. E ‘ ormai noto da anni che questo processo potrebbe essere destinato a ingannare le applicazioni in esecuzione comandi dannosi, soprattutto quando i dati forniti dall’utente viene immessa direttamente in un serializzatore senza essere sterilizzata prima, e poi deserializzati una catena di operazioni automatizzate, senza garanzie di sicurezza.

Java Apocalisse

Questo è diventato dolorosamente ovvio nel 2015, quando due ricercatori di sicurezza-Chris Frohoff e Gabriele Lorenzo– scoperto una pericolosa falla nel modo in cui i dati è stato deserializzati tramite Apache Commons Collezione, che è molto popolare libreria Java.

I ricercatori Foxglove di Sicurezza ampliato Frohoff e Lorenzo opera originale, a dimostrazione di come un utente malintenzionato potrebbe sfruttare l’Apache Commons biblioteca della Collezione difetto di prendere in consegna WebLogic, WebSphere, JBoss, Jenkins, e OpenNMS Java server.

Il proof-of-concept ” codice rilasciato da questi esperimenti è stato in seguito utilizzato per confermare che da oltre 70 applicazioni Java sono anche vulnerabili a deserializzazione difetti. Un ShiftLeft relazione, inoltre, ha rivelato numerosi serializzazione/deserializzazione problemi in molte fornitore SaaS Sdk.

Queste scoperte, e la rivelazione che la deserializzazione attacchi può funzionare nella pratica e non solo teorica attacco scosso l’ecosistema Java nel 2016, e il problema è diventato noto come il Java Apocalisse.

Organizzazioni come Apache, Cisco, Red Hat, Cisco, VMWare, IBM, Intel, Adobe, HP, Jenkins, e SolarWinds, tutti emessi avvisi di sicurezza e patch per correggere i prodotti interessati.

Per motivi di sicurezza, Google ha permesso di oltre 50 dei suoi Java ingegneri di partecipare a un progetto denominato Operazione Rosehub, dove Google staff presentate le patch per le librerie Java per prevenire la deserializzazione attacchi.

Oltre 2.600 sono patchati in funzione Rosehub, ma il messaggio è stato sentito forte e chiaro a Oracle uffici, e la società ha annunciato questa primavera piani per rilasciare la serializzazione/deserializzazione di supporto dal corpo principale del linguaggio Java.

.NET e PHP colpito anche

Tuttavia, il problema non si è fermata con Java. Nel 2017, HPE sicurezza ricercatori hanno anche scoperto che molti .NET librerie per il supporto di serializzazione e deserializzazione operazioni sono anche vulnerabili a simili attacchi, che ha permesso agli hacker di prendere in consegna applicazioni e server.

PHP ha seguita pochi mesi dopo che, all’inizio di questa estate, PHP deserializzazione problema è stato riscontrato anche in WordPress, un sistema di gestione dei contenuti utilizzato per eseguire più di 30% di Internet: i siti.

E ora, Ruby, troppo.

Ma, questa settimana, i ricercatori di sicurezza di elttam, un Australiano società di sicurezza IT, inoltre, hanno scoperto che Ruby basato su applicazioni sono anche vulnerabili alla serializzazione/deserializzazione attacchi.

I ricercatori hanno pubblicato proof-of-concept di codice che mostra come sfruttare la serializzazione/deserializzazione interventi finanziati con il built-in funzioni del linguaggio di programmazione Ruby.

“Le versioni 2.0 e 2.5 sono interessati,” elttam i ricercatori hanno detto.

“C’è un sacco di opportunità lavorative per il futuro, tra cui avere la tecnica di copertura versioni di Ruby 1.8 e 1.9 oltre a coprire i casi in cui il processo Ruby è richiamato con l’argomento della riga di comando –disable-tutti”, il elttam team ha aggiunto. “Alternate Ruby implementazioni come JRuby e Rubinius potrebbe anche essere indagati”.

Mentre il Java e .NET deserializzazione problemi erano limitati a librerie di terze parti, avendo la deserializzazione problemi di impatto Ruby stessa aumenta notevolmente di un hacker superficie di attacco.

Con questa settimana rivelazioni, ora c’è la prova-del-concetto di codice disponibile online per il montaggio di serializzazione/deserializzazione attacchi contro quattro dei più popolari di programmazione degli ecosistemi –Java, .NET, PHP e Ruby.

Come HPE ricercatori hanno sottolineato nella loro ricerca di carta .NET serializzazione noia, il problema non è così semplice da risolvere.

La serializzazione/deserializzazione problemi –indipendentemente dal linguaggio di programmazione-sono una combinazione di codice vulnerabile, ma anche cattive pratiche di codifica per conto di sviluppatori, che non riescono a riconoscere che i dati serializzati non è necessariamente sicuro per impostazione predefinita e deve essere attendibile quando la deserializzazione.

Il fissaggio di questo richiederebbe di avere la sanificazione di input dell’utente prima di serializzazione e quindi limitare la deserializzazione dei dati di accesso a determinate funzioni per evitare che il codice dannoso avere la sua strada con un server.

Relativi copertura:

Zero-day nel popolare plugin per WordPress sfruttata per prendere in consegna i siti diAdobe ColdFusion server sotto attacco da APT gruppoVirtualBox zero-day pubblicato da scontenti ricercatoreMolti CMS plugin sono disabilitazione TLS convalida del certificato… e questo è molto male
WPA3 Wi-Fi è qui, ed è più difficile da hackerare CNET
Google automatizzato fuzz bot ha trovato oltre 9.000 bug negli ultimi due anni,i Siti web sono attaccati 58 volte al giorno, anche quando patchato correttamente TechRepublicDodici dannoso librerie Python trovato e rimosso dal PyPI

Argomenti Correlati:

Di sicurezza, TV

La Gestione Dei Dati

CXO

Centri Dati

0