Cerca nel blog

2008/11/14

Googlefono col baco più stupido del mondo?

Il telefonino di Google parte maluccio


Comprereste un telefonino nel quale basta digitare, per esempio, "reboot" in un SMS per far riavviare il cellulare? Be', chi ha comperato il telefonino di Google si è trovato con questa sorpresa.

The Register segnala infatti che il G1, il cellulare di Google basato sulla piattaforma Android, è affetto da un baco definito "il più stupido del mondo": se una parola immessa in un messaggio è un comando del sistema operativo, viene interpretata come comando.

La falla è stata turata, ma un difetto del genere non avrebbe dovuto rimanere in un prodotto commercializzato. Non tutto quello che sforna Google, insomma, è perfetto.

19 commenti:

psionic ha detto...

:-O

...ahah, se non fosse ridicolo, ci sarebbe da piangere.

Ma a parte tutto, come e' possibile un bug di questo tipo? Voglio dire, per "implementare" una feature del genere ci vuole impegno... non puo' essere un bug in quanto tale. Dovuto, intendo, a qualche falla di sicurezza o comunque a qualche controllo mancante. Forse e' il residuo di qualcosa di simile ad una "console di comando"... mah!

Doppiadi ha detto...

Questo in effetti era pesantuccio come bug :) Mi raccomando google di fare la brava che di sistemi che fanno acqua da tutte le parti già ne abbiamo..

Stepan Mussorgsky ha detto...

"è affetto da un baco definito "il più stupido del mondo":"

Sono d'accordo :D

mattia ha detto...

questo baco batte alla grande il famoso virus albanese... delirio allo stato puroooooo

Anonimo ha detto...

HA HA HA TROPPO BELLO!!!
Sai ganzo? Per spengere il telefonino un bello shutdwn e via...
non c'è neanche bisogno di premere il tasto di spegnimento...
è fantastico... :)
Lo avessi saputo primo lo avrei comprato proprio per questo...
Per interagire col cellulare da riga di comando ;)
LOL...

Camicius ha detto...

con shutdown o reboot faccio un Denial of Service, ma che dire di un bel rm -rf *?

Rodri ha detto...

Magari era un easter egg! X-D

Tukler ha detto...

@psionic:
Si, in effetti sembra proprio il residuo di qualcosa che veniva utilizzato per debug, come ipotizzano anche in questo articolo.

Qua c'è la spiegazione del perché succede: l'input da tastiera viene reindirizzato a una shell, che esegue i comandi.

Luca ha detto...

ahhahahah iniziamo bene :d

Santana ha detto...

Forse però sarebbe opportuno documentarsi meglio prima di parlare di bug o di falle di sicurezza.

In realtà, uno sciaguratissimo sviluppatore di Google ha dimenticato di eliminare il codice di debug dal software di Android; in particolare, nello script di avvio init.rc sono stati lasciati dei comandi che permettono di accedere come utenti root.
Android ha un vero SO Linux con tanto di utente root e utente normale; ovviamente, il dispositivo si avvia solo come utente normale e per diventare root bisogna digitare fisicamente quei comandi sulla tastiera.

Ad esempio, sul sito di Android dedicato agli sviluppatori, si può leggere:

Easiest way to root shell

1. Boot the phone
2. Open the keyboard
3. Type "telnetd" (without quotes)
4. Press enter

Then type "telnet ip-address-of-phone" from another machine.

Note that this is useful for an owner of a phone to get access to the device for her own entertainment, but is of no use for someone trying to write malware intended to get root access remotely, (since it requires physical access to actually type on the keyboard).


Quindi, solamente l'utente che ha fisicamente a disposizione il dispositivo, può digitare i comandi per diventare root; purtroppo, quella dimenticanza nello script di avvio, provocava l'accesso automatico come root.

Naturalmente, anche ora che il problema è stato corretto, un utente esperto può ugualmente accedere come root; si dà per scontato quindi che chi fa cose del genere sia consapevole delle proprie azioni.

Più che altro, l'aspetto che lascia veramente perplessi riguarda proprio l'opportunità di mettere tutto questo potere nelle mani di utenti inesperti; basterebbe prendere esempio da Ubuntu che rende praticamente impossibile ai profani l'accesso ai privilegi di root.

Stepan Mussorgsky ha detto...

@ santana

secondo me è ancora più grave proprio per questo. In un dispositivo consumer come un telefonino l'accesso come root deve essere impossibile per l'utente.

Stepan Mussorgsky ha detto...

Per fare un esempio:

sarebbe come se in un'automobile, se si inserisce per 2 volte la freccia a destra e poi si preme il pulsante delle 4 frecce, la mappatura della centralina viene cancellata.

Ma che stiamo a scherzà? :D

Tukler ha detto...

@santana:
E perché, cos'è?
Io sono entusiasta di Android e dell'OHA e non vedo l'ora che arrivi in Italia, ma fino a prova contraria questo è un bug, che porta a una falla di sicurezza...

Non serve esattamente a usare il telefonino come root, quanto a eseguire qualsiasi comando da shell con diritti di root semplicemente scrivendolo.
Questo è ancora più grave, visto che potrebbe essere abbastanza semplice convincere l'utente a scrivere una parola sulla tastiera, battere invio e rendergli completamente inutilizzabile il telefono.
O, se un programma malizioso potesse simulare una scrittura da tastiera (e credo che si possa), potrebbe scalare i privilegi e fare qualsiasi cosa, anche rubare tutti i dati contenuti.

La sequenza di comandi che incolli tu spiega come accedere ad una console del telefonino con diritti di root da un altro computer in rete, sfruttando il bug in questione (usato per avviare il demone di telnet come root all'inizio).

Non credo che una volta corretto il bug esistano altri modi tanto semplici (e soprattutto tanto automatici) di ottenere diritti di root... esattamente come in altre distribuzioni di linux/gnu come appunto ubuntu;)

Unknown ha detto...

santana> Forse però sarebbe opportuno documentarsi meglio prima di parlare di bug o di falle di sicurezza.

Dimenticare del codice di debugging nel rilascio finale, tanto piú un codice che permette di eseguire comandi come root da SMS, rappresenta proprio sia un bug che una falla di sicurezza. Gravi.

Il tutto getta una luce non proprio favorevole sulla competenza di software manager e tester.

In effetti si dice da tempo che mentre Google assume ottimi sviluppatori (pur non offrendo loro quasi alcuna possibilità di carriera interna), ma che chi ricopre altri incarichi nella catena di programmazione non sia per nulla all'altezza.

Un chiaro segno di questa situazione è lo stato di "beta permanente" di quasi tutte le applicazioni marchiate Google.

Guf ha detto...

Ho il G1 sotto mano e con l'update alla rc30 è perfetto..
Ricordo a tutti, che essendo un dispositivo under development di cui si ha i sorgenti, ha le carte in regola per rubare terreno a tutti i sistemi operativi amici suoi.
.. e a dirla tutta, la cosa funzionava solo sui campi di ricerca dell'android market.. non di certo sugli SMS, sennò bastava un rm -rf / (fs in ro).. ma d'altronde le bufale vanno divulgate da chi pensa di sbufalare sempre tutto..

per la serie, se google tutto ciò che sforna non è perfetto nemmeno disinformatico, lo è! :)

markogts ha detto...

Se ricordo bene, anche Google Chrome non è chissàcosa come software, soprattutto in termini di sicurezza e privacy.

Per quanto riguarda lo stato di "beta permanente", Google si giustifica dicendo (da qualche parte, a proposito di Google Chrome) che lo fa apposta per rendere lo sviluppo più rapido. A me pare invece che scarichi sugli utenti il compito (oneroso) di collaudare a fondo i prodotti. Un po' come certe case automobilistiche...

theDRaKKaR the bloody homeopath ha detto...

anche io non concordo con Santana: d'altronde la maggior parte di bug di sicurezza consistono nella possibilità che un utente possa eseguire del codice con diritti amministrativi quando non deve (scusate il gioco di parole)
in altre parole, accedere ad una shell di rotto con il comando su non è un bug, poter avere una shell di root usando la porta tcp di rpc è un bug..
questo di google si configura come bug, perché non è indesiderato e non documentato (non c'è scritto: una shell di root è attiva di default: l'intreprete legge i messaggi sms in arrivo in cerca di comandi operativi)

Tukler ha detto...

@guf:
Mi sembra strano che funzionasse a seconda del campo in cui scrivevi, visto che mandava l'input da tastiera direttamente alla shell...
Tutti gli articoli che ho letto dicono proprio che bastasse digitare i comandi sulla tastiera indipendentemente dalla situazione dell'interfaccia grafica.

Sei sicuro che il comportamento che descrivi tu non dipenda solo dal fatto che (prima e) dopo aver scritto il comando devi battere invio?

Prefe ha detto...

vabbeh,
ma li hanno fatti programmare a sbuirulino...