Aggiornamenti Solari

5 dicembre, 2008

SUN taglia 6.000 posti di lavoro : link

Qualcuno si chiede cosa sarà di SUN, venderà dei pezzi ? Potrà continuare cosi ?? link

Intento AT&T scarica JAVA : dice che non è adatto per sviluppare software per i cellulari, non è colpa sua (del linguaggio) ma è troppo lontano dall’hardware, sorry : link

Sarebbe uno dei tanti casi di suicidio da Open Source, ma questa volta a cadere sarebbe l’albero grosso !

per chi non conosce l’inglese : link

Quando si parla di sicurezza, alla fine esce sempre questa balla :i programmi Open Source sono più sicuri di quelli closed perchè chiunque ne può vedere il codice.

Ma questo vale solo per gli algoritmi di criptazione ! I normali programmi sono scritti male (quelli open e quelli closed), pieni di bug, spesso da gente inaffidabile o inesperta, programmatori che non hanno certo volgia di controllare il codice se non da prolemi.

C’è una certa caccia al baco grosso per poter dire l‘ho scoperto io, ma nessuno fa di questa caccia un mestiere.

Nella realtà i programmi open source sono molto più facilmente craccabili di quelli closed.

Però, tutte le volte che si parla di questi argomenti esce fuori qualcuno che comincia a dire che Windows ha i virus e Linux no e quindi l’open è sicuro. Ma il fatto che windows sia progettato male non dimostra niente, windows non è il campione del closed, come linux non è il campione dell’open.

Allora proviamo ad immaginare di craccare un sito di prenotazioni alberghiere che gira su RedHat, e usando solo la Sql injection

In pratica si tratta di scrivere codice SQL nel campo login e password, è una tecnica semplice, conosciuta e poco efficace, per questo penso di poterne scriverne liberamente.

1° Scenario, il software del sito è closed source :

La prima cosa che faccio è identificare il prodotto e cercare in rete : troverò il sito del costruttore, scoprirò il linguaggio, il database e probabilmente l’elenco delle patch. Non troverò però molte informazioni sulle vulnerabilità aperte perchè la società farà di tutto (comprese azioni legali) per evitarne la diffusione.

C’è la lista dei clienti, ma non quella delle loro richieste di assistenza, non c’è la lista dei bug aperti, c’è una demo ma è una versione light diversa da quella di produzione.

Non ci sono molti altri appigli, farmi assumere sarebbe complesso, e la società fornitrice risulta essere un muro impermeaile.

Quindi, non avendo altre informazioni su quale istruzione SQL è efficace: dovrò tornare sul sito e provarle tutte, in tutte le pagine, sperando che fuzioni. Così facendo però farò scattare tutti i meccanismi di difesa presenti nel sistema ed il webmaster verrà avvertito dei miei tentativi. Ma non ho scelta, non posso fare altro.

 

2° Scenario, un sito open source :

Anche in questo caso identifico qual’è il prodotto ma andrò sul sito di  una community, qui troverò : i sorgenti, il forum dell’assistenza, la lista dei bug aperti ed un link per contribuire al progetto.

Con i sorgenti potrò cercare un errore, un caso non previsto, magari nelle ultime funzionalità aggiunte. Il prodotto sarà un libro aperto per me, conoscerò trappole e sistemi di allarme, architettua e parti accessorie, password di default, nomi delle tabelle e dei campi.  In questi progetti il codice è scritto a molte mani, da programmatori volontarii. Certo non ci sarà un errore nella login, ma in qualche plugin o in qualche pagina meno usata scritta con i piedi ho buone probabilità di trovarne.

Con il forum dell’assistenza potrei avere fortuna e trovare le domande che ha fatto proprio il webmaster del sito da craccare, potrebbero contenere informazioni utili.

Scorrendo la lista dei bug aperti, che solitamente in questi progetti è pubblica, posso cercarne uno non corretto che mi aiuti. 

Nell’incredibile caso che non abbia trovato neppure una falla nel codice scritto, mi rimane sempre un’ultima ratio : contribuire al progetto.

I progetti open sono aperti, accoglienti, accettano contributi o quanto meno plugin. Spesso non c’è nessuno che controlla approfonditamente il codice o delle procedure rigorose di qualità o dei software che vigilano sul codice.

Posso contribuire ed inserire io stesso un campo non protetto, che magari correggerò subito dopo averlo sfruttato per entrare nel mio obbiettivo.

Con il progetto open andrò a colpo sicuro, userò una SQL injection funzionante, aggirando gli eventuali sistemi di sicurezza, che conosco perfettamente.

 

L’esempio è pensato come se esistesse solo la SQL injection, è rozzo e forse un po’ impeciso, ma efficace nel chiarire che il sorgente aperto è uno strumento in più di attacco, non una sicurezza. E che il modello community è per sua natura una porta aperta ai malintenzionati.

Il problema è che i sostenitori dell’open, specie quelli interessati, usano argomenti come le differenze tra windows e linux come dimostrazione delle loro tesi con persone non del settore, che non hanno elementi per  contestarle.

Ma cos’è più sicuro, l’open source linux o il closed source AIX di IBM usato in tutte le banche ? L’open source MySql o il closed source Oracle ?

Riferimenti 

How Closely is Open-Source Code Examined?

Security through obscurity

Mozilla Firefox serve codice infetto

E’ duro il risveglio per gli sviluppatori open source puri di cuore quando il loro progetto, cresciuto con tanto amore, viene acquisito da una multinazionale.

Succede con Roy Fielding, uno dei papà di Apache, che a febbraio è scappato dal progetto openSolaris di SUN:  con questo post polemico abbandona il progetto a cui si era unito con entusiasmo nel 2005.

Perchè ?  A sentir lui SUN ha rotto le promesse fatte,  è sempre open, ma un open che non ha bisogno di community.

"There's nothing particularly wrong with that choice -- it is a perfectly valid open source model for corporations that don't need active community participation. IMO, the resulting code tends to suck a lot more than community-driven projects, but it is still open source."

Diciamo un open da corporation.

La storia l’ho estratta da qui, dove si parla anche di XEN e di come si sia avvicinata molto a Microsoft, ma questa e un’altra storia.

Bello Cromato

2 settembre, 2008

Il browser da cui sto scrivendo è  (che io sappia) il primo software completo open source rilasciato da Google.

Tanto per iniziare ho sbirciato nei sorgenti. Che dire, come al solito Google ha fatto un ottimo lavoro, sono puliti e ben commentati


 // Change "www." to "clients1." in the hostname. If no "www." was found, just // prepend "clients1.". const std::string base_host(base_url.host());

Ma non è solo questo, sono facilmente raggiungibili e coredati da una documentazione che fa apparire tutto facile, in perfetto stile Google.

Ma veniamo all’esperienza di utilizzo di Chrome : diversa. Non c’è niente da dire, la mancanza di bordo a desta e a sinistra, i tab in alto, i pulsanti ed i colori diversi, fanno apparire questo browser più come un sistema operativo virtualizzato che come un programma di windows. E credo che non sia un caso. 
E’ veloce e piacevole da usare. 


Da notare che è stato sviluppato con visual studio 2005 SP1 e che è disponibile solo per windows. Google come al solito si dimostra molto pragmatica e si concentra sulla piattaforma più diffusa.
Questa volta BigG non aveva scelta, lo doveva rilasciare open, visto che per scriverlo ha preso a piene mani dal lavoro di Apple e del gruppo di KDE.

A proposito di Apple, chi sa come sarà felice di vedere il suo webkit open source adotatto da tutti i concorrenti (Nokia, Android.. ) !

 

In rete gira voce ( qui, qui , qui) che SUN stia per essere acquisita da HP o Fujitsu o IBM o qualcun’altro. Certo, alla paladina dell’open sembra che le cose non vanno molto bene, già a Luglio annunciava licenziamenti, adesso sembra che i profitti siano in picchiata (qui) e che stia perdendo terreno nei confronti di IBM (qui).

Vedremo come evolve la situazione, ma certo che già solo simili voci dovrebbero chiarire una volta per tutte quanto è sbagliata la strada dell’open source.

Una società che possiede alcuni dei più famosi ed utilizzati software open : MySql, Open Office, Java, Virtual Box, che rischia di essere acquisita da chi produce hardware !  La dimostrazione che il modello non rende, non produce utili, è regalare i propri prodotti ed incamminarsi sulla via del fallimento.

Sviluppa per me, ti prego

27 agosto, 2008

E’ celebre l’incitazione Developer ! Developer ! Developer ! di Steve Balmer, l’attuale capo di Microsoft. Forse esagerava, ma sicuramente aveva capito che la razza eletta andava coccolata, curata, attirata.

Perchè il computer è solo una scatola vuota, una scatola che ha bisogno di creatività, di tecnica e di istruzioni ben fatte, in una parola di programmi.

I programmi li scrivono i programmatori, tutti gli altri lavoratori IT sono di supporto, aiutano talvolta a mettere in contatto programmatori tecnici con gli utilizzatori (analisti), oppure danno supporto, correggono e sorvegliano programmi che non funzionano bene da soli (sistemisti), oppure si occupano di tutte quelle faccende gestionali come l’organizzazione del personale, il budget e la gestione di impresa.

Oggi però assistiamo a due diversi interessanti fenomeni :

– I linguaggi di sviluppo sono diventati gratuiti.  Un tempo, i compilatori e gli strumenti per programmare si pagavano. Adesso invece le grandi multinazionali regalano gli strumenti per scrivere applicazioni. Apple regala tutto quello che serve per scrivere applicazioni per iphone, pubblica corsi ed esempi. Lo stesso fa Microsoft e Google e SUN. Sanno che gli sviluppatori renderanno i loro sistemi vivi, e che tra loro potrebbe esserci qualcuno con l’idea giusta per la prossima killer application.  Apple in questo ha l’enorme vantaggio di aver trovato un modo per dividere gli utili con i propri sviluppatori.

– I programmi si stanno dematerializzandosi. Un programma non è soltanto fatto di BIT, per scriverlo era necessaria una azienda, apparati, computer, collegamenti costosi ed in caso di applicazioni web server, firewall ecc.. Oggi le applicazioni stanno migrando nel cloud computing. Google con il suo app engine permette di scrivere solo l’applicazione e tralasciare server, database, connessioni e quindi sistemisti ed investimenti hardware. Di più, con la pubblicità online permette di saltare i commerciali, con il checkout permette di fare vendite online senza impiegati amministrativi, con la pubblicità permette di avere un minimo di ritorno per il proprio lavoro.

Proviamo ad immaginare un futuro con il browser come unica porta di accesso ai programmi che risiedono in una cloud, immateriale, con poche grandi società che offrono risorse di computing, database e spazio e che attirano programmatori offrendo strumenti, corsi, strumenti per la vendita ecc.

In questo caso sarebbe conseguente la scomparsa o il fortissimo ridimensionamento del settore dei DataBase, dei sistemi operativi server e client, dei mail server, del ruolo e del lavoro del sistemista installatore, la diffusione di client leggeri e mobili, lo snellimento delle software house ecc.

Un futuro tutto sommato auspicabile, faccio il tifo per Google, per i web service di Amazon e per l’application store di Apple.

Adoro l’Iphone.

Non ne possiedo uno e molto probabilmente lo comprerò mai, ma odoro l’iphone e il suo essere la completa negazione della filosofia open source.

L’hardware è completamente bloccato, non puoi installarci un sistema operativo diverso da quella nativo, è presente un TPM onboard.

I protocolli di aggiornamento e comunicazione con il sistemi Apple sono chiusi.

Il sistema operativo è closed, anche se usa parti e componenti open source ( scritti da poveri programmatori ingenui).

Puoi installare solo software sotto il controllo di Apple. Vuoi una nuova applicazione ? Bene la devi scaricare dal loro negozio.

Di più : possono inibirti l’utilizzo di una applicazione installata sul tuo telefonino da remoto !

Ovviamente, una soluzione così chiusa, così proprietaria, così sotto controllo non poteva che avere un grande successo.

L’apple store sta vendendo per 1 Milione di dollari al Giorno, ci sono 1.647 Applicazioni disponibili ed i numeri sono in crescita. Perfino Steve Jobs dice di non aver mai visto niente di simile in tutta la sua carriera.

Di più, i primi dieci venditori dell’apple store si sono già divisi 9 milioni di dollari ( e non stiamo parlando delle solite corporation, ma di semplici software house e perfino di singoli programmatori ) .

Apple ha creato un mercato, e questo mercato attira investimenti e quella sana economia che fa guadagnare di più chi più lavora e chi è più bravo.
Grazie Apple.

Vengono via con poco

28 luglio, 2008

E’ notizia di oggi che Microsoft sponsorizza la Apache Foundation: aiutare il web server concorrente a rimanere al passo con i tempi cento mila dollari, avere il proprio il banner sul sito della concorrenza non ha prezzo.

Intendiamoci, la foundation non ha bilanci astronomici, l’anno scorso ha avuto 181.000 dollari di spese, praticamente niente, grazie al fatto che i suoi componenti e sviluppatori sono dipendenti di altre società oppure provengono dal mondo accademico.

Ora resta da capire il perchè della mossa Microsoft. Ovviamente la prima cosa che viene in mente è che sia parte della nuova strategia che tende ad abbracciare una parte del mondo open, in particolare quello non legato alla GPL.

In effetti, la licenza apache permette di fare qualunque cosa con il codice, anche includerlo in soluzioni proprietarie, ed è giusto così per un software di pubblico dominio, come le librerie condivise dalla notte dei tempi.

Il problema di questa storia dell’ingresso di Microsoft nel mondo open è che coincide con il passaggio del timone da Bill a Steve. Il primo è innamorato della tecnologia, è stato un programmatore, è quello che il prodotto (bene o male che sia) lo produceva, magari “rubava” le idee a destra o sinistra, ma alla fine produceva qualcosa.

Il secondo è un venditore, un venditore puro, e si sa che i venditori adorano l’open source : prodotti gratuiti da impacchettare e rivendere, praticamente il sogno del marketing.

Se MS entra nel mondo open sarà la più brava ad impacchettare e vendere, lo è sempre stata, e sarà un altro piccolo colpo alla difesa del valore del codice.

Solo Apple, con il suo app store e l’iphone mi da qualche soddisfazione in questi tempi bui.

Sono rimasto un po’ spiazzato dall’articolo di Alessandro Bottoni su punto Informatico “La sicurezza dell’Open Source”, in particolare io stesso, noto provocatore del forum, mi sono rifiutato di commentarlo o confutarlo non per la sua faziosità ma per l’incredibile sequela di luoghi comuni di cui è farcito.

Cominciamo ad eliminarne qualcuno :

L’open source non è Linux.

Linux è un sistema operativo unix-like, tutti sanno che non servono antivirus, che storicamente è considerato più sicuro e stabile di windows come tutti gli altri sistemi unix e che è oggi una importante realtà industriale.

Il Closed Source non è Windows

Esempi di codice closed source sono il database Oracle, Photoshop, Skype, la GUI di Mac OSX, Gmail ed il motore di ricerca di Google.

Dire che il closed source è windows è sbagliato ed estremamente superficiale. Microsoft è un’azienda che fa delle scelte che niente hanno a che vedere con il metodo di sviluppo o rilascio del software.

Un esempio che Bottoni cita è adattissimo : Microsoft ha scelto di mostrare l’anteprima delle email html, inizialmente con audio e gif animate, esponendosi ad un rischio enorme poi puntualmente divenuto realtà con Nimba o simili.

Io sinceramente credo che dietro tali scelte non ci siano le richieste di “oscuri partner”, ma semplicemente la volontà di assecondare sempre e comunque il loro target preferito : gli utenti home che vogliono scambiarsi email con i cuoricini che cantano. Ma che c’entrano le scelte di una azienda con il closed o con l’open source ?

La ricerca di Fortify

Premesso che a quanto ho capito Fortify ha tutto l’interesse a suggerire la coding inspection, la sua ricerca prende in esame alcuni prodotti e comunità open source più “deboli” rispetto a prodotti famosi come Linux o MySql, ma che sono framework alla base dello sviluppo di progetti più grandi anche in ambito bancario.

Muove verso questi due precise critiche : non utilizzano metodi di sviluppo sicuri e non correggono le vulnerabilità abbastanza celermente. Se dicono di aver segnalato vulnerabilità e non aver avuto risposta probabilmente possono provarlo.

Sviluppo sicuro

Lo sviluppo del software è una attività complessa dove si fondono fantasia, ingegneria e design. Un sapiente mix di questi componenti produce un software equilibrato, sicuro, gradevole ed innovativo.

Fortify sostiene che in molte comunità open source non si adottano procedure di sviluppo sicure, cioè privilegia poco la parte ingegneristica ( io aggiungo probabilmente favorendo fantasia e design).

Gli strumenti per aumentare la sicurezza esistono. Esistono metriche, rigide procedure di sviluppo, strumenti di analisi del codice, strumenti di test, ambienti di test, persone che fanno test, esperti che vengono in azienda a tengono corsi diffondendo metodi di sviluppo sicuri.

Se applicati correttamente producono del codice quasi completamente privo di errori, come quello avionico o aeronautico. Questi strumenti e l’organizzazione necessaria richiedono forti investimenti ed una rigida struttura gerarchica, che mal si addice alla libertà e all’entusiasmo che si respira in molti progetti open.

Conclusione

Paragonare windows e linux per paragonare open e closed non ha senso, i vantaggi e gli svantaggi di linux su windows sono gli stessi che avrebbe un qualunque altro unix closed source. Sono sistemi diversi che privilegiano caratteristiche diverse.

Non c’è una differenza intrinseca nella sicurezza tra software open e software closed, la differenza è nel modo in cui quel codice viene scritto, verificato e testato. Paragonare due software per avere un vincitore è semplicemente ridicolo perché ci sono mille fattori più importanti del metodo di distribuzione (qualità e numero dei programmatori, linguaggio utilizzato, priorità del progetto ecc..).

Ma non credo che si possa sottovalutare l’alert lanciato da Fortify : l’adozione di software sviluppato senza metodi ingegneristici certificati per progetti complessi ed importanti è un rischio, quindi ben vengano degli studi su quanto queste librerie e framework siano sicuri e seguiti, che mettano in luce uno dei tanti costi del gratis : l’assenza di garanzie, di contatti, di interfaccia ed assistenza.

Alcune volte queste mancanze vengono sopperite (a pagamento) da società apposite come RedHat, altre volte forse bisognerebbe stare più attenti nell’usare l’open source in progetti importanti.

Una nota a parte va dedicata alla presunta inutilità del numero da chiamare. In progetti grandi, anche in Italia, se c’è un problema IBM, Microsoft, Oracle e gli altri si muovono subito e realizzano la patch necessaria al volo, non è assolutamente vero che il numero dell’assistenza non serve a niente.

Ti denuncio

3 luglio, 2008

“Ti denuncio per discriminazione e offese pesanti verso un gruppo di persone che non la pensano come e te.”

“Se entro questa sera il testo di questo articolo non scompare io faccio una segnalazione sul sito della polizia postale.”

Questi sono i commenti che ricevo dopo il post Sodoma, che non contiene nessuna parolaccia o offesa o paragone, ma solo una simpatica parabola per spiegare perchè uso wordpress.

A quanto pare, per qualcuno, gli ideali di apertura e condivisione del software open non sono in contrasto con la repressione, con la censura e con le minacce.

Andiamo bene.