PDA

View Full Version : Dlink DSL-G604T é linux!!


toniocartonio
10-06-2004, 13:59
Stavo giocando per lavoro con questo nuovo router ADSL/wireless della D-link (non so se é disponibile in italia)... beh... la scoperta simpatica é che tutto il software sul router é basato su BusyBox... un sistema operativo linux-based per embedded systems.

La stessa cosa vale per i simili prodotti DSL-504T (adsl modem router con 4 porte lan) DSL-502T (come il 504, con 1 porta lan); DSL-300T (ADSL modem... di fatto uguale al 502T ma con le funzioni di routing disabilitate... avete presente la storia dell´Alcatel Speedtouch Home/Pro??).

Implicazioni della scoperta:

1) Busybox é GPL. Abbiamo tutti diritto di scrivere a Dlink e pretendere una copia del codice sorgente (non so se abbiano modificato qualcosa rispetto al busybox originale... in ogni caso tutto quello che si basa su software GPL é opensource automaticamente... o no?)... per fargli fare virtualmente di tutto...

2) Cosa negativa. Questi prodotti permettono accesso anche dall´esterno via telnet (non ssh... il che é molto male!!)... username di default: root; passwd: admin ... falla di sicurezza?? Remote telnet va abilitato espressamente nella configurazione del router... peró...


Hehehe... il weekend mi sa che sará speso sui manuali di Busybox...

ilsensine
10-06-2004, 14:04
Sì un bel pò di quei dispositivi usano linux, spesso in violazione della gpl.

1) Busybox é GPL. Abbiamo tutti diritto di scrivere a Dlink e pretendere una copia del codice sorgente (non so se abbiano modificato qualcosa rispetto al busybox originale... in ogni caso tutto quello che si basa su software GPL é opensource automaticamente... o no?)... per fargli fare virtualmente di tutto...

Non tutti, solo chi ha _ricevuto_ il software (quindi chi ha _comprato_ il dispositivo).

2) Cosa negativa. Questi prodotti permettono accesso anche dall´esterno via telnet (non ssh... il che é molto male!!)... username di default: root; passwd: admin ... falla di sicurezza??

Se potessimo trasformare gli idioti in energia, avremmo il moto perpetuo.

toniocartonio
10-06-2004, 15:31
heheh... ovvio che prima devi comprarlo... :-) Anche perché se non hai il router, che cacchio te ne fai del suo software?

sugli idioti... ti farei conoscere un paio di responsabili servizi tecnici di grosse aziende nostre clienti... pare che se non hai 20 come qi non puoi fare quel lavoro...

Di fatto peró nella sessione telnet dice chiaramente che é Busybox... x cui quanto meno il riconoscimento dell´origine del codice c´é.... tocca vedere se sono disposti a fornire l´intero codice sorgente del loro firmware...

Cmq a scopo pratico, qui vorremmo creare un emulatore di questi apparecchi... ho giá trovato i files che mi servono sotto /usr/www ... sai come faccio a fare il fetch di tutta quella directory sul mio pc tramite telnet?

Seconda cosa... pensi dovrei scrivere all´autore di Busybox notificandogli la cosa... o magari scrivere a chi si occupa di security holes per far studiare la cosa a qualcuno esperto che magari pubblichi un security alert?

ilsensine
10-06-2004, 15:42
Originariamente inviato da toniocartonio
Cmq a scopo pratico, qui vorremmo creare un emulatore di questi apparecchi... ho giá trovato i files che mi servono sotto /usr/www ... sai come faccio a fare il fetch di tutta quella directory sul mio pc tramite telnet?
Ti serve un programma per lo scambio di file, ad es. ftp

Seconda cosa... pensi dovrei scrivere all´autore di Busybox notificandogli la cosa... o magari scrivere a chi si occupa di security holes per far studiare la cosa a qualcuno esperto che magari pubblichi un security alert?
Non c'entra busybox con quell'hole...se cmq puoi accedere tramite telnet dall'interfaccia privata non è un grosso problema; se puoi accedere anche dall'interfaccia pubblica è molto grave.

toniocartonio
10-06-2004, 17:52
no... intendevo dire se devo far sapere al tipo che sviluppa Busybox che Dlink sta usando il suo software... ovvio che la cosa di per sé non é un bug... il problema non é telnet in quanto tale... e l'uso scellerato che se ne fa in questo caso...

Non l'ho testato da fuori perché al lavoro non abbiamo connessioni ADSL... peró l'interfaccia di amministrazione dice chiaramente: "abilita telnet remoto" :rolleyes:

Quando dici di usare ftp, il server ftp ovviamente deve essere funzionante sul router, giusto? Beh... quella funzione non c'é... x cui mi chiedevo se ci fosse un comando di telnet che permettesse di scaricare files dal'unitá remota... qualcuno mi suggeriva x-modem... ti suona?

ilsensine
11-06-2004, 07:29
Originariamente inviato da toniocartonio
no... intendevo dire se devo far sapere al tipo che sviluppa Busybox che Dlink sta usando il suo software... ovvio che la cosa di per sé non é un bug... il problema non é telnet in quanto tale... e l'uso scellerato che se ne fa in questo caso...
No, solo se la dlink viola la gpl. A parte questo, sono liberi di fare tutte le fesserie che vogliono con il loro sw.


Non l'ho testato da fuori perché al lavoro non abbiamo connessioni ADSL... peró l'interfaccia di amministrazione dice chiaramente: "abilita telnet remoto" :rolleyes:
Non è detto, se hanno avuto cura di mettere un pò di packet filtering sull'interfaccia pubblica.


Quando dici di usare ftp, il server ftp ovviamente deve essere funzionante sul router, giusto?
No peché? Basta un client ftp, che scarica i file su un pc locale configurato come server ftp.
Che tipo di processore ha il router? Forse puoi trovare un ftp precompilato per quell'architettura.

andretta
11-06-2004, 08:22
Lol.. ma scusate.. se di default (cioè appen lo compri) siano attivi tutti i tipi possibili di accesso remoto e ci siano pass del cazz è normale, stà poi a chi lo configura di disabilitare quello che è piu' dannoso e inutile, restringere gli accessi e cambiare pass con stringhe valide...

ilsensine
11-06-2004, 08:30
Originariamente inviato da andretta
Lol.. ma scusate.. se di default (cioè appen lo compri) siano attivi tutti i tipi possibili di accesso remoto e ci siano pass del cazz è normale, stà poi a chi lo configura di disabilitare quello che è piu' dannoso e inutile, restringere gli accessi e cambiare pass con stringhe valide...
Sì certo, te lo vedo un utente windows entrare con telnet in una macchina linux e configurare il tutto ;)

toniocartonio
11-06-2004, 08:35
mi sorge a questo punto una domanda: se io creo un prodotto usando codice opensource, anche il mio codice diventa opensource ai sensi della GPL.
Non sono allora obbligato a pubblicare con la mia documentazione una copia della GPL, e rendermi disponibile a fornire il codice sorgente a chi, avendone diritto, ne faccia richiesta?

Me lo chiedo perché in nessun punto della documentazione di questi prodotti si fa menzione al fatto che il loro software usa codice GPL... di fatto l´unico modo per accorgersi - inavvertitamente - che sotto sotto é tutto unix é di andare via telnet nell´apparecchio... per cui sinceramente proprio pulita pulita la cosa non mi sembra... tra l´altro se fai un giro sulla ml di busybox vedi un tipo di dlink india :D che cerca informazioni per modificare il codice... per un non meglio precisato scopo :sofico:


Scusa poi se ti rompo ancora sul telnet e ftp: non mi é chiaro il discorso che fai... sia da un lato che dall´altro - computer che router - deve esserci qualcosa in grado di gestire ftp... anche posto che metto il pc come server, sul router deve esserci un client ftp per gestire il file transfer... o no? Anche poi a patto che trovi un programma ftp che giri sull´architettura del router... come faccio a installarlo senza ftp? é un po´ il cane che si morde la coda... o sbaglio?

Vabboh... stamattina si va di google e manualone di telnet :)

toniocartonio
11-06-2004, 08:42
Originariamente inviato da andretta
Lol.. ma scusate.. se di default (cioè appen lo compri) siano attivi tutti i tipi possibili di accesso remoto e ci siano pass del cazz è normale, stà poi a chi lo configura di disabilitare quello che è piu' dannoso e inutile, restringere gli accessi e cambiare pass con stringhe valide...

come ho giá detto, da principio la cosa non é eccessivamente grave, perché telnet da remoto é disabilitato.
Per esperienza peró ti dico che c´é un mare di gente - inetti che si spacciano per network engineers - che installa queste cose per conto di clienti (senza curarsi di sicurezza o encryption... x cui di fatto creando buchi enormi nei network dei loro clienti!!), e poi attiva telnet remoto per gestire i problemi del cliente senza dover prendere la macchina ogni volta.

Su PI un po´di tempo fa era apparso un articolo sui test fatti in diverse grandi cittá - fra cui Milano - sulla diffusione delle reti wi-fi e la loro penetrabilitá: il risultato era che in centro a Milano puoi girare con un palmare/laptop con scheda wifi e scroccare connessione e risorse di rete alle aziende con questo tipo di connessione, perché la stragrande maggioranza aveva network wifi completamente aperti, o magari protetti solo da wep - si cracca in un attimo...
In molti casi queste aziende utilizzavano apparecchiature wi-fi commerciali (tipo dlink, netgear, linksys) ancora settate su username & password di default (tipo admin:<blank password>).

Prova solo a immaginare un´azienda che si fa installare queste apparecchiature e fa un accordo di manutenzione con un minkione Microsoft Certified che gli apre il telnet remoto... e non cambia user & passwd di default... ti piacerebbe essere il manager responsabile di quella azienda?

ilsensine
11-06-2004, 08:45
Originariamente inviato da toniocartonio
mi sorge a questo punto una domanda: se io creo un prodotto usando codice opensource, anche il mio codice diventa opensource ai sensi della GPL.
Non sono allora obbligato a pubblicare con la mia documentazione una copia della GPL, e rendermi disponibile a fornire il codice sorgente a chi, avendone diritto, ne faccia richiesta?
Dovevano informatri che usavano codice gpl, questo sì. E' comunque una violazione minore.
Cmq se nel router sono presenti programmi "loro", questi non devono necessariamente essere gpl. Solo i programmi gpl (originali o modificati) restano coperti da questa licenza.



Anche poi a patto che trovi un programma ftp che giri sull´architettura del router... come faccio a installarlo senza ftp? é un po´ il cane che si morde la coda... o sbaglio?
Umm non ci avevo pensato :D

Cmq sicuramente qualche programmino c'è, altrimenti come fanno l'aggiornamento del firmware? Guarda se ad es. c'è tftp...

toniocartonio
11-06-2004, 09:23
giusto... tftp... non ci avevo pensato :D

cmq a giudicare dalla struttura dei files e di quello che c´é dentro, mi sa che l´unica cosa che hanno fatto loro lá dentro é l´interfaccia grafica... piuttosto la cosa che mi interessa studiare é l´implementazione dei drivers per il chipset wireless Texas Instruments... che per quello che mi ricordo non aveva una buona fama con linux...

ilsensine
11-06-2004, 09:36
Eh eh non credo che te li danno.

Nota che se il driver E' NEL KERNEL staticamente e non come modulo, sono OBBLIGATI a rilasciarne i sorgenti!
La cosa potrebbe risultare interessante ;)

toniocartonio
11-06-2004, 09:53
heheh... speriamo che siano dei geni allora :D

perché, se é come modulo non va bene? Sta cosa mi é sempre stata un po´ nebulosa... anche se in un modulo separato, non deve cmq appoggiarsi a del codice base x interfacciarsi con il kernel? E quel codice base non é gpl come il kernel? in pratica... il modulo non é un derivato in parte di codice del kernel? o é possibile scrivere un modulo completamente closed senza prendere pezzi di codice del kernel e cmq farlo interfacciare con esso?

come avrai notato sono un minkione in fatto di programmazione - io ho fatto scienze politiche :D

ilsensine
11-06-2004, 10:00
I moduli binari sono parzialmente tollerati. Se il driver è staticamente linkato al kernel invece la violazione della gpl è indiscutibile se non rilasci i sorgenti.

andretta
11-06-2004, 20:29
Originariamente inviato da toniocartonio
come ho giá detto, da principio la cosa non é eccessivamente grave, perché telnet da remoto é disabilitato.
[..]
... ti piacerebbe essere il manager responsabile di quella azienda?

Forse sarebbe un bene non tollerare l' ignoranza, ma su stè cose non dico nulla... il baratro e troppo profondo per esaminarlo bene o vedere se ci sono delle soluzioni.