Database Security Digest – Agosto 2016
Agosto è stato piuttosto movimentato per gli esperti di cybersecurity. Due enormi conferenze Black Hat e DefCon si sono svolte a Las Vegas, svelando al mondo le ultime minacce alla sicurezza e le vulnerabilità zero-day. Hacker e guru della sicurezza hanno discusso delle minacce future, prestando particolare attenzione alle minacce alle applicazioni mobili, alla sicurezza dei protocolli Internet, ai modi di hacking per prodotti Internet of Things, ai programmi di bug bounty con premi piuttosto sostanziosi, alle violazioni dei social media e persino ai droni portatili per l’hacking che consentono agli hacker di effettuare attacchi da remoto senza bisogno di essere vicini all’obiettivo. Descrizioni dettagliate delle presentazioni dei partecipanti possono essere trovate sui siti ufficiali di Black Hat e DefCon.
Seria Minaccia per MySQL
Recentemente, le informazioni pubblicate su molteplici gravi vulnerabilità di MySQL hanno sollevato un polverone. La più critica tra esse (CVE-2016-6662) permette agli hacker di attaccare il server MySQL sia localmente che da remoto e ottenere privilegi di root. Sfruttare questa vulnerabilità richiede diverse condizioni: un attaccante deve avere accesso autenticato o eseguire un altro attacco su applicazioni web per poter iniettare codice SQL. Questa vulnerabilità è presente in MySQL e nei suoi prodotti derivati, inclusi Percona Server e MariaDB, rappresenta una seria minaccia alla sicurezza, per questo motivo i fornitori raccomandano insistentemente di aggiornare un DBMS all’ultima versione. Il problema è risolto in MySQL 5.7.15, 5.6.33 e 5.5.52, MariaDB 10.0.27, 10.1.17 e Percona Server 5.7.14-7.
Oltre ad eliminare la vulnerabilità critica, MySQL 5.7.15 corregge alcuni bug noti e aggiunge diverse nuove funzioni. È stata inclusa l’opzione di configurazione dinamica, che può essere utilizzata per disabilitare la rilevazione dei deadlock. Un’altra nuova opzione aiuta a controllare la selezione della libreria LZ4. Lo script di supporto del sistema per il file di unità (mysqld_pre_systemd) è stato modificato e ora assiste nella creazione del file di log degli errori solo se la sua posizione corrisponde al modello /var/log/mysql*.log. Lo script aggiornato evita la creazione di file temporanei non sicuri. Inoltre, in merito alla sicurezza, il nuovo MySQL dispone di un plugin validate_password che supporta la capacità di rifiutare password che coincidono con il nome utente della sessione corrente. Il plugin espone la variabile di sistema validate_password_check_user_name per abilitare il controllo su questa capacità.
Oracle
Dato che il prossimo Critical Patch Update di Oracle verrà rilasciato solo in ottobre, la maggior parte delle attuali vulnerabilità di sicurezza che verranno eliminate rimangono nascoste. Eccone una rilevata e pubblicata lo scorso mese.
CVE-2016-6298La classe _Rsa15 nell’implementazione dell’algoritmo RSA 1.5 in jwa.py in jwcrypto prima della versione 0.3.2 manca del meccanismo di protezione Random Filling, il che facilita agli attaccanti remoti ottenere dati in chiaro tramite un Million Message Attack (MMA).
Per quanto riguarda altri sistemi di gestione dei database, sono stati rilasciati diversi aggiornamenti lo scorso mese, tra cui MariaDB 10.1.17, PostgreSQL 9.4, Greenplum Database 4.3.9.0.
Rilascio di Aggiornamenti di Sicurezza per PostgreSQL
L’aggiornamento risolve due falle di sicurezza e corregge un numero di bug segnalati negli ultimi mesi. Le vulnerabilità sono descritte di seguito:
CVE-2016-5423Possibile errata valutazione delle espressioni CASE-NEL caso annidate. Un’espressione CASE che appare all’interno del sotto-espressione del valore di test di un’altra CASE potrebbe diventare confusa riguardo al fatto se il suo proprio valore di test fosse nullo o meno. Inoltre, l’incorporamento di una funzione SQL che implementa l’operatore di uguaglianza usato da un’espressione CASE potrebbe risultare nel passaggio del valore di test errato a funzioni chiamate all’interno di un’espressione CASE nel corpo della funzione SQL. Se i valori di test erano di tipi di dati diversi, potrebbe verificarsi un crash; tali situazioni potrebbero essere sfruttate per divulgare una parte della memoria del server.
CVE-2016-5424I nomi di database e ruolo con caratteri speciali incorporati possono consentire l’iniezione di codice durante operazioni amministrative come pg_dumpall. Numerosi indirizzi in vacuumdb e altri programmi client potrebbero essere confusi con nomi di database e ruolo contenenti doppi apici o barre rovesciate. Le regole di quotazione sono state rafforzate per renderlo sicuro. Il metodo di gestione delle doppie virgolette abbinate nei comandi \connect e \password di psql è stato corretto per corrispondere alla documentazione. Un’opzione nuova-reuse-previous nel comando \connect di psql è stata introdotta per consentire il controllo esplicito sulla riutilizzazione dei parametri di connessione di una connessione precedente. Senza questa opzione, la scelta si basa sul fatto che il nome del database sembri o meno una stringa conninfo, come in precedenza. Questo permette una gestione sicura dei nomi di database contenenti caratteri speciali negli script pg_dumpall.
Questi vengono considerati aggiornamenti di sicurezza perché nomi di oggetti appositamente creati contenenti caratteri speciali avrebbero potuto essere utilizzati per eseguire comandi con privilegi di superuser subito dopo che un superuser esegue pg_dumpall o altre operazioni di manutenzione ordinaria.
MariaDB 10.1.17
È una versione stabile (GA), come menzionato sopra risolve la vulnerabilità CVE-2016-6662. Altri cambiamenti hanno interessato il cluster Galera, inclusi l’aggiornamento della libreria, l’aumento di un valore predefinito di wseo_max_ws_size da 1GB a 2GB, il supporto della variabile di sistema wsrep_max_ws_rows. Sono stati corretti diversi bug; il motore CONNECT ora supporta il tipo di tabella JBDC; XtraDB, TokuDB, InnoDB e Performance Schema sono stati aggiornati.
Greenplum Database 4.3.9.0
Il rilascio di manutenzione include alcuni cambiamenti e miglioramenti. È stato principalmente causato dai seguenti bug che sono stati risolti nella nuova versione: Bug 1238749 – Backport delle modifiche rhashtable da upstream Bug 1316093 – Mancanza di registri puppet in /var/log/remote (Backport di da314c9923fe e 1f770c0a09 in RHEL-7)
Le questioni risolte sono relative all’ottimizzazione delle query, ai linguaggi di dispatch: R e PL/R, agli script di backup e ripristino, alla gestione delle risorse, all’esecuzione delle query, al dispatch e alla tabella esterna S3.