Discussione:
Responsabilità degli sviluppatori e delle aziende
(troppo vecchio per rispondere)
THe_ZiPMaN
2013-10-27 11:59:11 UTC
Permalink
Oggi, casualmente, capito sull'ennesimo caso di demenza acuta di
sviluppatori inetti, stavolta alla D-Link.

http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/

Anche in questo caso una backdoor presente nel codice che nelle
intenzioni degli sviluppatori sarebbe volta a "risolvere" un problema,
ma lo fa nel modo peggiore possibile esponendo migliaia di utenti al
rischio di vedere compromessa la propria sicurezza.

Qui non si tratta di un bug per il quale chiaramente non v'è colpa
cosciente da parte dello sviluppatore, qui si tratta di un'alterazione
volontaria del codice volta a bypassare le misure di sicurezza del
dispositivo... è palesemente un'azione "dolosa" dato che è una modifica
cosciente del codice e c'è anche palesemente la conoscenza che
quest'azione espone a problemi di sicurezza visto che è attivamente
utilizzata proprio a questo scopo.

Secondo gli avvocati del gruppo ci sarebbero margini per una causa verso
chi ha prodotto il firmware dei dispositivi?
--
Flavio Visentin
There are only 10 types of people in this world:
those who understand binary, and those who don't.
http://al.howardknight.net/msgid.cgi?ID=131971124500
Leonardo Serni
2013-10-27 18:11:55 UTC
Permalink
Post by THe_ZiPMaN
Qui non si tratta di un bug per il quale chiaramente non v'è colpa
cosciente da parte dello sviluppatore, qui si tratta di un'alterazione
volontaria del codice volta a bypassare le misure di sicurezza del
dispositivo... è palesemente un'azione "dolosa" dato che è una modifica
cosciente del codice e c'è anche palesemente la conoscenza che
quest'azione espone a problemi di sicurezza visto che è attivamente
utilizzata proprio a questo scopo.
Secondo gli avvocati del gruppo ci sarebbero margini per una causa verso
chi ha prodotto il firmware dei dispositivi?
Tenendo conto che la "soluzione" reale era banalmente

if(
strstr(request->url, "graphic/") ||
strstr(request->url, "public/") ||
--- strcmp(request->user_agent, "[ omissis ]") == 0
+++ strcmp(request->client_addr, "127.0.0.1") == 0
)

(okay, poi volendo si puo' fare di piu' e di meglio, ma intanto gia' un check
su localhost IMNSHO ne fa, ne fa, di strada) direi che abbiamo i requisiti:

Negligenza: trascuratezza, mancanza di sollecitudine ovvero di un
comportamento passivo che si traduce in una omissione di determinate
precauzioni. CHECK

Imprudenza: insufficiente ponderazione di ciò che l'individuo è in
grado di fare, violazione di una regola di condotta, codificata o
lasciata al giudizio del singolo, con obbligo di non realizzare una
azione o di adottare, nell’eseguirla, precise cautele. CHECK

Imperizia: insufficiente attitudine a svolgere un'attività che
richiede specifiche conoscenze di regole scientifiche e tecniche
dettate dalla scienza e dall’esperienza, pertanto identificabile
con una preparazione insufficiente, assenza di cognizioni fondamentali
e indispensabili per l'esercizio della professione. CHECK

Leonardo
--
Then felt I like some watcher of the skies, when a new planet swims into his ken;
Or like stout Cortez when with eagle eyes, he star'd at the Pacific; and all his men
Look'd at each other with a wild surmise - silent, upon a peak in Darien.
ObiWan
2013-10-28 12:14:24 UTC
Permalink
Post by THe_ZiPMaN
Qui non si tratta di un bug per il quale chiaramente non v'è colpa
cosciente da parte dello sviluppatore, qui si tratta di
un'alterazione volontaria del codice volta a bypassare le misure di
sicurezza del dispositivo...
Leggendo qui

http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/

"the developers realized that some programs/services needed to be able
to change the device’s settings automatically; realizing that the web
server already had all the code to change these settings, they decided
to just send requests to the web server whenever they needed to change
something. The only problem was that the web server required a username
and password, which the end user could change. Then, in a eureka
moment, Joel jumped up and said, “Don’t worry, for I have a cunning
plan!”."

Si capisce a quale scopo sia stata inserita quella modifica; il motivo
invece probabilmente è solo legato al budget ridotto ed al tentativo di
evitare testing (costosi !!) delle modifiche apportate; per quanto poi
riguarda "Joel" (la stringa user-agent che attiva la backdoor contiene
"Edit by 04882 joel backdoor" scritto al contrario) credo che il "Joel"
in questione sia costui

http://www.joesdata.com/executive/Joel_Liu_421313008.html

la cosa è plausibile dato che il tizio risulta appunto essere un
direttore della "Alpha Networks" che risulta essere una branca di
D-Link

http://www.alphanetworks.com/_english/06_about/01_detail.php?appid=143&pid=12

per il resto, basterebbe guardare al firmware ed ai drivers di molti
altri apparati per rendersi conto di come certe "cosette" sono la
regola e non l'eccezione :P
Piergiorgio Sartor
2013-10-27 19:07:11 UTC
Permalink
On 2013-10-27 12:59, THe_ZiPMaN wrote:
[...]
Post by THe_ZiPMaN
Secondo gli avvocati del gruppo ci sarebbero margini per una causa verso
chi ha prodotto il firmware dei dispositivi?
In aggiunta: civile o penale?

bye,
--
piergiorgio
THe_ZiPMaN
2013-10-27 19:52:50 UTC
Permalink
Post by Piergiorgio Sartor
[...]
Post by THe_ZiPMaN
Secondo gli avvocati del gruppo ci sarebbero margini per una causa verso
chi ha prodotto il firmware dei dispositivi?
In aggiunta: civile o penale?
Penalmente non saprei quali reati possono essere connessi con questa
condotta. Forse un "favoreggiamento" nel caso qualcuno subisca
un'intrusione?
--
Flavio Visentin
There are only 10 types of people in this world:
those who understand binary, and those who don't.
http://al.howardknight.net/msgid.cgi?ID=131971124500
ObiWan
2013-10-28 14:12:25 UTC
Permalink
Post by THe_ZiPMaN
Post by Piergiorgio Sartor
In aggiunta: civile o penale?
Penalmente non saprei quali reati possono essere connessi con questa
condotta. Forse un "favoreggiamento" nel caso qualcuno subisca
un'intrusione?
Si ma... cosa vorresti fare ? La D-Link (come anche altre aziende) è
una multinazionale, quindi di certe bazzecole, checchè se ne possa
dire, alla fine della fiera, se ne frega bellamente e non mi si venga a
parlare di impatto sui media e roba del genere, la cosa potrebbe ancora
avere un fondo di verità se si trattasse di un altro paese, ma nel
nostro caso, a parte quei due minuti di grancassa atti a riempire TG e
giornali non avrebbe alcuna rilevanza, ergo D-Link (o chiunque altro)
se ne fregherebbe altamente (fatti salvi quei quattro obblighi tipo
chieder scusa, sborsare qualche soldo [bazzecole per un'azienda di una
certa dimensione] e chiuderla... SENZA aver veramente risolto; come al
solito, il classico contentino, tutti zitti e si va avanti) ergo, che
senso ha star qui a discutere di assurdità come questa quando sappiamo
perfettamente che comunque NESSUNO può (nè tantomeno vuole) risolvere
problemi del genere ? Del resto, nel "paese dei cachi" si preferisce
piangere solo quando qualcosa NON può più essere ignorato (vedasi ad
esempio il discorso NSA ... e non solo) per il resto, si lascia stare
tutto così come è, preferendo *SEMPRE* gestire le EMERGENZE !!! Non sia
mai che si attui una vera prevenzione (se non sulla carta o in qualche
occasione "pubblica" tanto per far la ruota come tacchini); meglio
mettere cerotti a destra ed a manca salvo poi, quando si sfascia tutto
e le spese per "rimettere a posto" diventano esagerare, piangere a
calde lacrime (ed ovviamente cercare qualche disgraziato che funga da
capro espiatorio) ... uff... vabbè lasciamo perdere, inutile farsi del
cattivo sangue tanto siamo nel paese dei cachi :P
Leonardo Serni
2013-10-28 17:42:07 UTC
Permalink
Post by ObiWan
Si ma... cosa vorresti fare ? La D-Link (come anche altre aziende) è
una multinazionale, quindi di certe bazzecole, checchè se ne possa
dire, alla fine della fiera, se ne frega bellamente e non mi si venga a
parlare di impatto sui media e roba del genere, la cosa potrebbe ancora
avere un fondo di verità se si trattasse di un altro paese, ma nel
nostro caso, a parte quei due minuti di grancassa atti a riempire TG e
giornali non avrebbe alcuna rilevanza, ergo D-Link (o chiunque altro)
se ne fregherebbe altamente (fatti salvi quei quattro obblighi tipo
chieder scusa, sborsare qualche soldo [bazzecole per un'azienda di una
certa dimensione] e chiuderla... SENZA aver veramente risolto
In Europa, vale una direttiva per cui il produttore di prodotti "non sicuri"
e' tenuto a ritirarli dal mercato e sostituirli.

Leonardo
--
Then felt I like some watcher of the skies, when a new planet swims into his ken;
Or like stout Cortez when with eagle eyes, he star'd at the Pacific; and all his men
Look'd at each other with a wild surmise - silent, upon a peak in Darien.
ObiWan
2013-10-29 13:41:47 UTC
Permalink
Post by Leonardo Serni
quattro obblighi tipo chieder scusa, sborsare qualche soldo
[bazzecole per un'azienda di una certa dimensione] e chiuderla...
SENZA aver veramente risolto
In Europa, vale una direttiva per cui il produttore di prodotti "non
sicuri" e' tenuto a ritirarli dal mercato e sostituirli.
bisognerebbe verificare se la definizione di "non sicuri" rientri nella
casistica della quale stiamo parlando :) e comunque, il produttore di
norma "richiama ed aggiorna" (o semplicemente "aggiorna") in pratica
nel caso in questione, basta rilasciare una versione del firmware che
usi una stringa diversa :D
Leonardo Serni
2013-10-29 21:59:19 UTC
Permalink
Post by ObiWan
Post by Leonardo Serni
quattro obblighi tipo chieder scusa, sborsare qualche soldo
[bazzecole per un'azienda di una certa dimensione] e chiuderla...
SENZA aver veramente risolto
In Europa, vale una direttiva per cui il produttore di prodotti "non
sicuri" e' tenuto a ritirarli dal mercato e sostituirli.
bisognerebbe verificare se la definizione di "non sicuri" rientri nella
casistica della quale stiamo parlando :)
Avòllia:

1. Ai fini del presente titolo si intende per:
a) prodotto sicuro: qualsiasi prodotto, come definito all'articolo 3,
comma 1. lettera e), che, in condizioni di uso normali o
ragionevolmente prevedibili, compresa la durata e, se del caso, la
messa in servizio, l'installazione e la manutenzione, non presenti
alcun rischio oppure presenti unicamente rischi minimi, compatibili
con l'impiego del prodotto e considerati accettabili nell'osservanza
di un livello elevato di tutela della salute e della sicurezza delle
persone [...]

Siamo _ESATTAMENTE_ nel caso in cui una serratura ha un vizio occulto tale da
"determinarne la facile apertura... venendo meno la caratteristica principale
[del] congegno".

Non basta che sia "possibile" effettuare un upgrade e rendere disponibile una
fix gratuita: quanto meno e' necessario avvertire i potenziali acquirenti. In
particolare, tenendo conto del fatto che un prodotto del genere spesso non e'
monitorato, ne' tantomeno ricomprato abbastanza di frequente come potrebbe ad
esempio dirsi di un telefono cellulare, soggetto a mode ed aggiunta di sempre
nuove caratteristiche.

Articolo 104:

3. Il produttore adotta misure proporzionate in funzione delle
caratteristiche del prodotto fornito per consentire al consumatore
di essere informato sui rischi connessi al suo uso e per intraprendere
le iniziative opportune per evitare tali rischi, compresi il ritiro
del prodotto dal mercato, il richiamo e l'informazione appropriata ed
efficace dei consumatori.

Dico mica di dare un prodotto nòvo (sarebbe non necessario!), ma dire "Bimbi,
scariàtevi il firmware corretto" va fatto: e, IMHO, messo in home page per un
congruo periodo di tempo. Saputa gestire, ci sta che tu riesca perfino a fare
un upsell :-)

Leonardo
--
Then felt I like some watcher of the skies, when a new planet swims into his ken;
Or like stout Cortez when with eagle eyes, he star'd at the Pacific; and all his men
Look'd at each other with a wild surmise - silent, upon a peak in Darien.
Loading...