dezone

Just another dezone weblog

La leggenda del software Wolfe

Wolfe risolve problemi. Basta chiamarlo e lui viene a risolverti il problema in men che non si dica e senza chiederti nulla in cambio.

Esiste un software di questo tipo?

Il lavoro di sviluppatore consiste regolarmente nel risolvere problemi. Ne risolvi uno dietro l’altro fino ad arrivare alla soluzione definitiva, quella che soddisfa il cliente. Non sempre la soluzione dei problemi è banale. A volte vorresti poter avere un Sig. Wolfe da chiamare per risolvere il tuo problema. Non è raro che un problema da risolvere in realtà non sia un problema particolare ma un problema comune. E nel momento in cui vuoi risolto quel problema hai diverse possibilità:

  • il problema è già bello che risolto, paghi e ottieni la tua soluzione, sperando che sia di qualità, flessibile e con un costo ragionevole;
  • risolvi il problema da solo e di sopporti i costi della soluzione che, tipicamente, sarà sempre parziale e rimarrà un problema di cui purtroppo ti dovrai occupare;
  • condividi i costi di soluzione con altri.

Quest’ultima soluzione porta a quello che noi conosciamo come software Open Source.

In questo caso il Wolfe della situazione non è il software di per se, ma lo sviluppo Open Source (stiamo comunque stiracchiando una metafora, visto che tale sviluppo non è esente da costi, come del resto Wolfe è chiaramente stipendiato da Marcellus Wallace).

In pratica:

  • tu vuoi che il problema sia risolto;
  • vuoi minimizzare i costi;
  • vuoi comunque che la soluzione sia di qualità;
  • non ti interessa guadagnare soldi sulla soluzione al problema particolare, perché altrimenti faresti un altro lavoro, cioè produrre scatole da vendere.

Alla luce di quanto scritto sopra, posso affermare che il mito secondo cui la gente fa software open per vendere consulenze in realtà va rovesciato: la gente vende la propria capacità di risolvere problemi e questo porta alla produzione di software Open Source.

23 Febbraio, 2009 Pubblicato da fdigiuseppe | discussioni, open source, sviluppo | , , , , | Ancora nessun commento.

URI handler “rimistificato” ;-)

Oggi devo ricordare una certa discussione a proposito della vulnerabilità sulla gestione degli URI riscontrata su Firefox ma anche su diversi altri applicativi. Io dissi che…

“Scusate, io vedo un problema ben più grande che va oltre l’interpretazione dei parametri di Firefox. La mia impressione è che il problema principale risieda nel meccanismo di gestione degli helper che è fin troppo banale nella definizione dei comandi da richiamare è che può essere usato per passare parametri dal comportamento pericoloso. Questo è un problema non imputabile a IE ma a cioè che sta in mezzo tra IE, cioè il software chiamante, e l’handler, cioè qualsiasi altro software chiamato.

Proprio l’esempio che viene fatto mi pare chiarificatore:

FIREFOX.EXE -url “FirefoxURL://foo” –argument “qualcosa di losco” -requestPending

Io che leggo so bene che –argument sia “qualcosa di losco” e -url sia “FirefoxURL://foo”. Se da prompt dei comandi scrivo -altro “altro parametro”, so bene che il valore del parametro è tutto ciò che è racchiuso tra gli apici. Nel caso in cui voglia includere degli apici nel valore probabilmente farò uso di una sequenza di escape. Ora, Questo stesso meccanismo, cioè quello usato per interpretare i comandi che gli utenti usano per richiamare le applicazioni dal prompt o da script batch (e ci sarebbe da riflettere pure su questo) è usato per definire l’interazione tra due applicazioni. Mi aspetto che in questo modo si possano fare innumerevoli porcate che prescindono da Firefox, IE e qualsiasi altro software. Un sistema che permette una banale concatenazione di stringhe per costruire i parametri così come dovranno essere forniti all’applicazione che li dovrà acquisire si dimostra alquanto debole. Insomma, ci fosse almeno un banale escaping! Mi aspetto altri tipi di exploit basati sullo stesso principio”

Nota: non sapevo che il problema era stato introdotto con un componente aggiornato da Explorer 7.

Una considerazione dal mio punto di vista ragionevole.

Oggi, per caso, scopro, grazie ad un articolo di P.I. che microsoft pubblicato un Security Advisory in proposito che riguarda Windows XP con Explorer 7 installato.

Se ho capito bene, si sono accorti del problema che avevo indicato sopra, mesi or sono.

A questo punto mi viene da fare qualche osservazione sulla questione e sul modo di gestire le problematiche di sicurezza.

In questo caso i problemi sono di due tipi: uno periferico e che riguarda il comportamento di N applicazioni, dove N può essere più o meno elevato, numero che purtroppo mette a rischio la sicurezza di X sistemi, con X MOLTO elevato; l’altro centrale, cioè nel meccanismo che fa si che applicazioni poco accorte nella valutazione dei parametri possano essere sfruttate. Correggere N applicazioni non è più facile di correggere un singolo point of failure. Fino ad ora s’è scaricata la responsabilità sulle N applicazioni solo perché di mezzo ci stava una questione di marketing (Explorer v.s. Firefox). Ma per me, che non sono un esperto di sicurezza, mi pare ragionevole agire su un singolo punto critico e mettere in sicurezza milioni di sistemi senza stare tanto a discutere su di chi sia la colpa. Mentre è meglio discutere su dove sia il punto critico.

Comunque, meglio tardi che mai.

12 Ottobre, 2007 Pubblicato da fdigiuseppe | Firefox, bug, discussioni, sicurezza, sviluppo, web | | 1 Commento