Alfonso Maruccia

Il Pinguino vulnerabile agli attacchi USB

Un ricercatore ha scoperto una nuova falla in un driver USB, mettendo in guardia dal rischio di esecuzione di codice non autorizzato. Un problema già risolvibile con piccole modifiche al codice

Roma - L'interfaccia USB si rivela ancora una volta uno dei punti deboli della sicurezza di Linux: dopo la falla individuata il mese scorso, un ricercatore di sicurezza ha scovato un nuovo potenziale vettore di attacchi e intromissioni non autorizzate all'interno del driver USB Caiaq.

Stando al lavoro di ricerca svolto da Rafael Dominguez Vega, un dispositivo di memorizzazione USB (come un banale dongle di memoria Flash) dotato di un nome di periferica sufficientemente lungo potrebbe fornire un'arma utile a eseguire e "iniettare" codice potenzialmente malevolo sul sistema operativo del Pinguino.

L'origine del problema risale all'impiego, in Caiaq, della funzione "strcpy()" per la lettura dell'etichetta del disco USB appena inserito, una funzione che copia l'etichetta in una zona di memoria lunga 80 byte ma che non controlla la sua lunghezza prima della copia. La funzione incriminata è stata da tempo eliminata da Microsoft nei suoi sistemi operativi, mentre il kernel Linux è passato alla più sicura "strlcpy()" il 14 febbraio scorso.
Il ricercatore che ha scoperto la vulnerabilità l'ha testata con un dispositivo USB opportunamente preparato, definito - altrettanto opportunamente - "Linux plug&pwn" dal suo stesso ideatore in un messaggio sul social network di Twitter. A mitigare i potenziali effetti della falla concorre la necessità di avere fisicamente accesso al sistema per portare a termine un attacco con successo.

Alfonso Maruccia
Notizie collegate
  • SicurezzaFalsa partenza per LinuxIndividuata (e corretta) una falla di sicurezza nell'autorun via USB di Ubuntu, che consentiva di accedere al desktop senza inserire alcuna password
31 Commenti alla Notizia Il Pinguino vulnerabile agli attacchi USB
Ordina
  • usare una distro su cd visto che puo stare seduto comodamente davanti al pc cercando di bucarlo?
  • infatti

    però adesso fiber sarà triste perchè non potrà più trollare
    non+autenticato
  • - Scritto da: lordream
    > usare una distro su cd visto che puo stare seduto
    > comodamente davanti al pc cercando di
    > bucarlo?

    Bisogna anche avere un pò di fantasia però! innanzi tutto non è detto che si riesca a fare boot da cd, anzi, spesso viene bloccato da bios, poi non è detto che riesci ad avere accesso al frontale del server (mai stati in una sala ced??), poi da cd la cosa è più lunga se riesci ad iniettare un codice in pochi secondi invece poi lo puoi sfruttare con calma dopo.
    Parlo di server in produzione, se il server o il pc la ho sotto il naso tutto il tempo che voglio è chiaro che ci faccio quello che mi pare.
    non+autenticato
  • - Scritto da: Lemon
    > - Scritto da: lordream
    > > usare una distro su cd visto che puo stare
    > seduto
    > > comodamente davanti al pc cercando di
    > > bucarlo?
    >
    > Bisogna anche avere un pò di fantasia però!
    > innanzi tutto non è detto che si riesca a fare
    > boot da cd, anzi, spesso viene bloccato da bios,
    > poi non è detto che riesci ad avere accesso al
    > frontale del server (mai stati in una sala
    > ced??), poi da cd la cosa è più lunga se riesci
    > ad iniettare un codice in pochi secondi invece
    > poi lo puoi sfruttare con calma dopo.
    >
    > Parlo di server in produzione, se il server o il
    > pc la ho sotto il naso tutto il tempo che voglio
    > è chiaro che ci faccio quello che mi
    > pare.

    se ho accesso alla sala server mi avvio subito verso il firewall
  • - Scritto da: lordream
    > - Scritto da: Lemon
    > > - Scritto da: lordream
    > > > usare una distro su cd visto che puo stare
    > > seduto
    > > > comodamente davanti al pc cercando di
    > > > bucarlo?
    > >
    > > Bisogna anche avere un pò di fantasia però!
    > > innanzi tutto non è detto che si riesca a fare
    > > boot da cd, anzi, spesso viene bloccato da bios,
    > > poi non è detto che riesci ad avere accesso al
    > > frontale del server (mai stati in una sala
    > > ced??), poi da cd la cosa è più lunga se riesci
    > > ad iniettare un codice in pochi secondi invece
    > > poi lo puoi sfruttare con calma dopo.
    > >
    > > Parlo di server in produzione, se il server o il
    > > pc la ho sotto il naso tutto il tempo che voglio
    > > è chiaro che ci faccio quello che mi
    > > pare.
    >
    > se ho accesso alla sala server mi avvio subito
    > verso il
    > firewall

    Hai la mappa?!
    non+autenticato
  • non ti appoggiare al firewall, che scotta!!
    non+autenticato
  • - Scritto da: lordream
    > - Scritto da: Lemon
    > > - Scritto da: lordream
    > > > usare una distro su cd visto che puo stare
    > > seduto
    > > > comodamente davanti al pc cercando di
    > > > bucarlo?
    > >
    > > Bisogna anche avere un pò di fantasia però!
    > > innanzi tutto non è detto che si riesca a fare
    > > boot da cd, anzi, spesso viene bloccato da bios,
    > > poi non è detto che riesci ad avere accesso al
    > > frontale del server (mai stati in una sala
    > > ced??), poi da cd la cosa è più lunga se riesci
    > > ad iniettare un codice in pochi secondi invece
    > > poi lo puoi sfruttare con calma dopo.
    > >
    > > Parlo di server in produzione, se il server o il
    > > pc la ho sotto il naso tutto il tempo che voglio
    > > è chiaro che ci faccio quello che mi
    > > pare.
    >
    > se ho accesso alla sala server mi avvio subito
    > verso il
    > firewall


    e cosa vai a fare? a guardarlo? si tratta con tutta probabilità di una o più appliance senza video e tastiera! vai a spegnerlo?

    pensa invece di essere in una sala ced dove fanno hosting/housing, centinai di metri quadri con server spesso in armadi con frontali chiusi ma con retro aperto... la cosa si fa interessante, l'unico problema è capire che macchina attacchi.
    Ci sono anche contromisure ovviamente, non tanto la videosorveglianza che magari non raggiunge il dettaglio di una persona che inserisce una chiave usb, però se riescono a risalire all'ora della compromissione comunque potrebbero verificare chi era presente in sala e in che zona..
    va bhè, fantasie...
    non+autenticato
  • - Scritto da: Lemon
    > - Scritto da: lordream
    > > - Scritto da: Lemon
    > > > - Scritto da: lordream
    > > > > usare una distro su cd visto che puo stare
    > > > seduto
    > > > > comodamente davanti al pc cercando di
    > > > > bucarlo?
    > > >
    > > > Bisogna anche avere un pò di fantasia però!
    > > > innanzi tutto non è detto che si riesca a fare
    > > > boot da cd, anzi, spesso viene bloccato da
    > bios,
    > > > poi non è detto che riesci ad avere accesso al
    > > > frontale del server (mai stati in una sala
    > > > ced??), poi da cd la cosa è più lunga se
    > riesci
    > > > ad iniettare un codice in pochi secondi invece
    > > > poi lo puoi sfruttare con calma dopo.
    > > >
    > > > Parlo di server in produzione, se il server o
    > il
    > > > pc la ho sotto il naso tutto il tempo che
    > voglio
    > > > è chiaro che ci faccio quello che mi
    > > > pare.
    > >
    > > se ho accesso alla sala server mi avvio subito
    > > verso il
    > > firewall
    >
    >
    > e cosa vai a fare? a guardarlo? si tratta con
    > tutta probabilità di una o più appliance senza
    > video e tastiera! vai a
    > spegnerlo?
    >
    > pensa invece di essere in una sala ced dove fanno
    > hosting/housing, centinai di metri quadri con
    > server spesso in armadi con frontali chiusi ma
    > con retro aperto... la cosa si fa interessante,
    > l'unico problema è capire che macchina
    > attacchi.
    > Ci sono anche contromisure ovviamente, non tanto
    > la videosorveglianza che magari non raggiunge il
    > dettaglio di una persona che inserisce una
    > chiave usb, però se riescono a risalire all'ora
    > della compromissione comunque potrebbero
    > verificare chi era presente in sala e in che
    > zona..
    > va bhè, fantasie...

    armadi chiusi a chiave
    chiave triangolare o a fiore oppure a bossolo in ogni caso con apertura a leva per cui basterebbe una piastra per aprire l'armadio.. riconoscere il firewall non dovrebbe essere un problema visto che vendo questi apparati oltre ai blade e powerblade e comunque è piu semplice mettere mano ad un firewall a cui collegare un pc per tentare un attacco.. logicamente si parla di ipotesi per assurdo visto che le sale server sono precluse all'accesso e sopratutto starci dentro tanto tempo non fa bene alla salute.. parlavo logicamente di una mera ipotesi dicendo di avviarti verso il firewall perchè anche avendo avuto accesso al server con la chiavetta usb avresti dovuto lo stesso accedere al firewall per creare una Bdoor con accesso da remoto..
    non+autenticato
  • logicamente si parla di ipotesi per
    > assurdo visto che le sale server sono precluse
    > all'accesso e sopratutto starci dentro tanto
    > tempo non fa bene alla salute..

    Invece è proprio per quello che è interessante: tu sei un pinco pallo qualsiasi che sta andando a fare una manutenzione ad un tuo server ma ti aprono ovviamente tutto l'armadio dove è in housing, ecco che hai acceso ad altre macchine. Oppure stai transitando su dei corridoi del ced e metti la usb all'andata e la togli al ritorno su un armadio aperto che avevi già adocchiato... è proprio la scarsità del tempo che fa interessante un attacco simile (se poi funziona!)

    parlavo
    > logicamente di una mera ipotesi dicendo di
    > avviarti verso il firewall perchè anche avendo
    > avuto accesso al server con la chiavetta usb
    > avresti dovuto lo stesso accedere al firewall per
    > creare una Bdoor con accesso da
    > remoto..

    ci sono backdoor che fanno loro il traffico verso l'esterno, anzi, credo siano le più usate
    non+autenticato
  • - Scritto da: Lemon
    >
    > Bisogna anche avere un pò di fantasia però!
    > innanzi tutto non è detto che si riesca a fare
    > boot da cd, anzi, spesso viene bloccato da bios,
    > poi non è detto che riesci ad avere accesso al
    > frontale del server (mai stati in una sala
    > ced??), poi da cd la cosa è più lunga se riesci
    > ad iniettare un codice in pochi secondi invece
    > poi lo puoi sfruttare con calma dopo.
    >
    > Parlo di server in produzione, se il server o il
    > pc la ho sotto il naso tutto il tempo che voglio
    > è chiaro che ci faccio quello che mi
    > pare.

    E secondo te elementi del calibro di lordream e di collione sono in grado di capire queste cose? Voglio dire, sono tra gli utenti più ignoranti e presuntuosi di questo forum, è universalmente riconosciuto (non da loro ovviamente), non pretendiamo troppo dalla loro materia grigia!

    Per loro un server è un i7 con 8 GB di ram e ubuntu.

    Rotola dal ridere

    I server seri, quella gente, li ha solo visti su google images.

    Rotola dal ridere
    non+autenticato
  • - Scritto da: fatti non pugnette
    > Per loro un server è un i7 con 8 GB di ram e
    > ubuntu.
    Tu invece pensi che siano i Core2Duo con Windows Server 2008 R2, vero?A bocca aperta
    Darwin
    5126
  • strcpy() è una delle funzioni delle librerie standard C e, come tale, non è stata 'eliminata dal sistema operativo' da nessuno. E' semplicemente una funzione che se usata in modo incauto può causare problemi, ma non è responsabile, di per sé, di nessuna vulnerabilità.

    I compilatori MS si limitano soltanto ad emettere dei warning se la usi, suggerendo un'alternativa non standard che fa dei controlli in più, controlli che si dovrebbero fare comunque usando strcpy(), ma che spesso per dimenticanza qualcuno omette.
    non+autenticato
  • basta usare strncpy e il problema si risolve
    non+autenticato
  • - Scritto da: Zadar
    > strcpy() è una delle funzioni delle librerie
    > standard C e, come tale, non è stata 'eliminata
    > dal sistema operativo' da nessuno.

    forse si intende dire che ne è stato eliminato l'uso in tutti i sorgenti di windows.
    non+autenticato
  • Incredibile. Ci sono ancora programmi che usano strcpy!
    Pensavo che falle del genere fossero morte 10 anni fa.
    Eppure strncpy o strlcpy esistono da molto tempo.
  • - Scritto da: benkj
    > Incredibile. Ci sono ancora programmi che usano
    > strcpy!
    > Pensavo che falle del genere fossero morte 10
    > anni
    > fa.
    > Eppure strncpy o strlcpy esistono da molto tempo.

    La pagina 1 dei manuali di programmazione indica che tra i principali errori ci sono.

    - Memoria non allocata
    - Memoria non liberata
    - Uso di memoria oltre quella allocata ( entra in questo caso ).
  • - Scritto da: benkj
    > Incredibile. Ci sono ancora programmi che usano
    > strcpy!
    > Pensavo che falle del genere fossero morte 10
    > anni
    > fa.
    > Eppure strncpy o strlcpy esistono da molto tempo.

    Finché ci sarà gente che programmerà in C non ad oggetti ci sarà lo strcpy, finchè programmeranno dilettanti useranno strcpy invece di strncpy.
    non+autenticato
  • - Scritto da: Bad Sapper

    > Finché ci sarà gente che programmerà in C non ad
    > oggetti ci sarà lo strcpy, finchè programmeranno
    > dilettanti useranno strcpy invece di
    > strncpy.

    Guarda che la programmazione ad oggetti non è la panacea di tutti i mali (e lo dice uno che ci vive programmando ad oggetti ma non solo Occhiolino ). Poi il dilettantismo non sta nell'utilizzare la strcpy invece di strncpy, ma nel non fare controlli preventivi sui dati (validazione).
  • - Scritto da: Thescare
    > - Scritto da: Bad Sapper
    >
    > > Finché ci sarà gente che programmerà in C non ad
    > > oggetti ci sarà lo strcpy, finchè programmeranno
    > > dilettanti useranno strcpy invece di
    > > strncpy.
    >
    > Guarda che la programmazione ad oggetti non è la
    > panacea di tutti i mali (e lo dice uno che ci
    > vive programmando ad oggetti ma non solo Occhiolino ).
    > Poi il dilettantismo non sta nell'utilizzare la
    > strcpy invece di strncpy, ma nel non fare
    > controlli preventivi sui dati
    > (validazione).

    Si, mi riferivo all'obsolescenza delle librerie di C, che di solito incasinano tutto.

    Se c'è una classe sotto che gestisce la memoria dinamica (STl piuttosto che QT piuttosto che le vecchie MFC) è molto meglio, sennò poi gli smanettoni ne approfittano e si incasinano (anche se devo ammettere che in driver USB è un altro paio di maniche).

    Comunque visto che in questo modo è possibile ridurre l'uso di strcpy e compagni al minimo indispensabile, si può anche cercare di stare anche un po` attenti, prima della validazione e chiedersi dove si prendono le informazioni e come possono essere.
    non+autenticato
  • - Scritto da: Bad Sapper
    > - Scritto da: Thescare
    > > - Scritto da: Bad Sapper
    > >
    > > > Finché ci sarà gente che programmerà in C non
    > ad
    > > > oggetti ci sarà lo strcpy, finchè
    > programmeranno
    > > > dilettanti useranno strcpy invece di
    > > > strncpy.
    > >
    > > Guarda che la programmazione ad oggetti non è la
    > > panacea di tutti i mali (e lo dice uno che ci
    > > vive programmando ad oggetti ma non solo Occhiolino ).
    > > Poi il dilettantismo non sta nell'utilizzare la
    > > strcpy invece di strncpy, ma nel non fare
    > > controlli preventivi sui dati
    > > (validazione).
    >
    > Si, mi riferivo all'obsolescenza delle librerie
    > di C, che di solito incasinano tutto.
    >
    >
    > Se c'è una classe sotto che gestisce la memoria
    > dinamica (STl piuttosto che QT piuttosto che le
    > vecchie MFC) è molto meglio, sennò poi gli
    > smanettoni ne approfittano e si incasinano (anche
    > se devo ammettere che in driver USB è un altro
    > paio di
    > maniche).
    >
    > Comunque visto che in questo modo è possibile
    > ridurre l'uso di strcpy e compagni al minimo
    > indispensabile, si può anche cercare di stare
    > anche un po` attenti, prima della validazione e
    > chiedersi dove si prendono le informazioni e come
    > possono
    > essere.
    Ma pensare prima di scrivere codice invece che improvvisare alla tastiera no?
    Ridurre al minimo i programmi C scritti da chi non sa usare il C è una ottima soluzione...
    Per gli "improvvisatori" ci sono tante orchestrine jazz (è il posto dove improvvisare è un pregio!).
    Per chi sa cosa fa e come strcpy (se la vuole o deve usare) esiste sizeof!
    Gli altri si diano pure al jazz non ne sentiremo la mancanza!
    non+autenticato
  • - Scritto da: benkj
    > Incredibile. Ci sono ancora programmi che usano
    > strcpy!
    > Pensavo che falle del genere fossero morte 10
    > anni
    > fa.
    > Eppure strncpy o strlcpy esistono da molto tempo.
    Anche sizeof esiste da molto tempo!
    E se uno deve o vuole usare strcpy è bene che lo sappia oppure che si dia a linguaggi più alla "sua portata"... il "puro" C non è per tutti ha il "pessimo difetto" di lasciarti fare quello che tu "sei convinto di saper fare"!
    Questo significa flessibilità oltre che "potenza"....
    Il "problema" è proprio che sei tu a dover sapere!
    Se non sai meglio lasciar perdere.... non puoi "confidare" nella VM o in un interprete e anche le "librerie di linguaggio" meglio che siano ridotte al minimo, non a caso nei sistemi embedded va "di gran moda" la uClib.
    non+autenticato
  • dai forza, chi si butta per primo?

    previsione: entro domani 200 post di gente che litiga su argomenti fritti e strafritti

    e winzozz, e micro$oft, e quello e quell'altro... e su linucs bisogna avere i diritti

    ah ah
    non+autenticato
  • - Scritto da: jack
    > dai forza, chi si butta per primo?
    >
    > previsione: entro domani 200 post di gente che
    > litiga su argomenti fritti e
    > strafritti
    >
    > e winzozz, e micro$oft, e quello e quell'altro...
    > e su linucs bisogna avere i diritti
    >
    >
    > ah ah


    i diritti per sparar le solite immani razzate..quelli sicuro Rotola dal ridereRotola dal ridere
    Fiber
    3605
  • vedo che non perdi occasione per trollare

    ti faccio solo notare che per usare questa vulnerabilità devi avere accesso fisico al computer

    tenendo conto che la stragrande maggioranza della gente non usa la crittografia, un attaccante che ha accesso al computer fisicamente non va certo a sfruttare questa vulnerabilità ma semplicemente parte da un livecd e ti legge tutto l'hard disk
    non+autenticato
  • - Scritto da: collione
    > vedo che non perdi occasione per trollare
    >
    > ti faccio solo notare che per usare questa
    > vulnerabilità devi avere accesso fisico al
    > computer
    >
    > tenendo conto che la stragrande maggioranza della
    > gente non usa la crittografia, un attaccante che
    > ha accesso al computer fisicamente non va certo a
    > sfruttare questa vulnerabilità ma semplicemente
    > parte da un livecd e ti legge tutto l'hard
    > disk

    ... o versare della Sambuca nella tastiera (se parliamo di un portatile) A bocca aperta
  • - Scritto da: jack
    > dai forza, chi si butta per primo?
    >
    > previsione: entro domani 200 post di gente che
    > litiga su argomenti fritti e
    > strafritti
    >
    > e winzozz, e micro$oft, e quello e quell'altro...
    > e su linucs bisogna avere i diritti
    >
    >
    > ah ah

    È un po` troppo tecnico come articolo per trollare.

    Ti consiglio un articolo sull'ultimo gadget di Apple, gli ci sono gli Angry Birds, tutti intorno al loro Santo Protettore pronti a scatenare il loro prevedibile mobbing.
    non+autenticato
  • - Scritto da: jack
    > dai forza, chi si butta per primo?
    >
    > previsione: entro domani 200 post di gente che
    > litiga su argomenti fritti e strafritti
    >
    > e winzozz, e micro$oft, e quello e quell'altro...
    > e su linucs bisogna avere i diritti
    >
    > ah ah

    Bisognava pur bilanciare l'articolo su Safari bucato in pochi secondi al Pwn2Own.
    non+autenticato
  • - Scritto da: Thescare
    > https://bugzilla.redhat.com/show_bug.cgi?id=677881
    Si è quella.
    Mi pare un bug sicuramente da correggere, ma di certo non molto pericoloso. Se un attaccante può sedersi davanti al PC ci sono ben pochi sistemi per impedire che ne prenda il controllo.
  • - Scritto da: ercole69
    > Se un attaccante può
    > sedersi davanti al PC ci sono ben pochi sistemi
    > per impedire che ne prenda il
    > controllo.

    Prof, ecco il mio compito sulla penna usb.
    non+autenticato