Google bacchetta Samsung: basta pasticciare il kernel!

8

A volte quello che si pensa essere un miglioramento si rivela essere proprio l’opposto. E’ quanto emerso da analisi fatte dal Google Project Zero, un team di ricercatori di sicurezza di Google che studiano le vulnerabilità così dette “zero-day“.

Il caso preso in questione è quello di Samsung che, nel tentativo di prevenire alcuni attacchi ai telefoni della linea Galaxy, ha modificato il codice del kernel Android, finendo per esporre più bug di sicurezza di quanti presenti originariamente.

Il ricercatore Jann Horn ha notato che non solo i creatori di smartphone come Samsung tendono ad introdurre vulnerabilità aggiungendo driver personalizzati per l’accesso diretto all’hardware sul kernel Linux Android, ma tendono a reimplementare funzionalità di sicurezza già presenti nello stesso kernel.

La rilevazione è stata fatta sul kernel in esecuzione sul Samsung Galaxy A50 (ma è molto comune per tutti i produttori di smartphone) che, nonostante la modifica sia volta ad aggiungere sicurezza al dispositivo, introduce anche un bug di corruzione della memoria che Google ha identificato e notificato a Samsung il novembre scorso. Samsung ha quindi identificato il bug con la SVE-2019-16132 (marcato come di impatto “medio” e che permette l’esecuzione di codice arbitrario) e risolto con l’update di Febbraio, insieme ad altri bug critici che affliggono il sistema che Samsung chiama TEE (Trusted Execution Environment) sui telefoni più recenti (come il Galaxy S10).

Android has been reducing the security impact of such code by locking down which processes have access to device drivers, which are often vendor-specific

Android ha ridotto l’impatto di sicurezza di quel tipo di codice bloccando alla base i processi che hanno accesso ai driver del dispositivo, che spesso sono specifici dei vendor.

Spiega così Horn, indicando che i nuovi sistemi Android dovrebbero accedere all’hardware tramite HAL, Hardware Abstraction Layer, presente nell’OS. Ma, continua, molti vendo modificano parti centrali del kernel Linux minando la sicurezza intrinseca di questa funzionalità.

I believe that device-specific kernel modifications would be better off either being upstreamed or moved into userspace drivers, where they can be implemented in safer programming languages and/or sandboxed, and at the same time won’t complicate updates to newer kernel releases

Credo che le modifiche al kernel specifiche per il dispositivo sarebbe meglio che venissero messe in upstream (mandate alla community del kernel per la review e l’introduzione ufficiale nel kernel, ndt.) o spostate in driver userspace (quindi in un’altra zona di esecuzione), dove possono essere implementati in linguaggi di programmazione più sicuri e/o isolati, ed al tempo stesso non complicare gli aggiornamenti a nuove release del kernel.

Quindi, se usate dispositivi Samsung l’aggiornamento è d’obbligo e, chissà, magari i vendor inizieranno a capire che l’avere un community a revisionare il loro lavoro potrebbe essere un vantaggio, riversando driver ufficiali nel nostro amato kernel?

Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l’HA e l’universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.

8 risposte a “Google bacchetta Samsung: basta pasticciare il kernel!”

  1. Avatar xan
    xan

    google dovrebbe mettere dei vincoli più stringenti ai produttori per poter avere le google apps (che sono closed)

    cose tipo: qualunque modifica al kernel deve essere approvata da google

  2. Avatar Giacomo Perin
    Giacomo Perin

    Se alcuni produttori di smarthphone si tirano la zappa su i piedi non è un problema di google. È gentile ad avvisare gli utenti di tali falle di sicurezza.

  3. Avatar pirata_1985

    La mia banca è differente

  4. Avatar JustATiredMan
    JustATiredMan

    dubito si possa legalmente fare, dato che il kernel (mi pare) è sotto licenza gpl.
    L’unica garanzia, è che essendo gpl, almeno sono obbligati a pubblicare i sorgenti.

  5. Avatar JustATiredMan
    JustATiredMan

    …. illuso 😀

  6. Avatar JustATiredMan
    JustATiredMan

    Bhe se samsung vuole fare castronerie, son liberi di farlo… il Kernel non è open anche per questo tipo di libertà ?
    L’importante è che gli utenti / clienti, siano al corrente di questa pratica, e possano decidere se comprare i loro prodotti castronati, o se preferire prodotti cinesi con le backdoor….

  7. Avatar pirata_1985

    Attendo il pixel 4 xl

  8. Avatar xan
    xan

    android è composto di fatto da 2 componenti: uno chiamato AOSP che è open source e contiene tutte le componenti sotto gpl, ed uno chiamato “google apps” che contiene le app closed di google tra cui il play store, gmail, google maps etc etc.

    La prima parte è completamente gratuita e chiunque puo farci qualsiasi cosa nel rispetto della GPL, mentre per avere la seconda devi stringere un accordo economico con google, in cui google ti impone già alcune cose: ad esempio non puoi commercializzare un device con android piu vecchio di 2 versioni ed altro.

    Secondo me google dovrebbe essere piu stringente su queste cose

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *