Archivi tag: Windows

Ancora guai in Vista

WOW “Wow” o non “wow”, la storia di Vista in questi primi mesi di vita non si può non definire travagliata. Il successore di XP infatti, oltre a non aver avuto l’impatto sul mercato che speravano a Redmond, si deve battere con utenti restii al passaggio, una concorrenza quantomai agguerrita ed una carenza di reali innovazioni che spesso e volentieri non ne giustificano i costi d’adozione. Proprio in questi giorni, tra l’altro, Microsoft ha annunciato un calo del 24% nelle vendite di questo primo quadrimestre (dato comunque da prendere con le pinze, visto che non include le prevendite di Vista), cosa che non fa ben sperare gli uomini di Bill Gates, se intendono mantenere l’attuale posizione dominante sul mercato.

Gli ultimi guai, in ogni caso, arrivano direttamente da Dell ed HP, che hanno deciso di continuare ad installare Windows XP sui propri sistemi anche dopo che questo sistema operativo sarà “dismesso” da Microsoft, al 30 giugno 2008.
D’altra parte se Microsoft pensa di poter “forzare” un mercato restio a passare a Windows Vista eliminando la possibilità di scelta (ovvero dismettendo XP), non si deve meravigliare che i distributori cerchino altre strade per continuare a vendere…

Forse a Redmond farebbero bene ad entrare nell’ottica di un mercato competitivo, in cui si lotta e si vince scrivendo del buon software e non strozzando i concorrenti…

Sistemi operativi: quote di mercato

Windows Vista wallpaper (by Microsoft) Le quote di diffusione dei sistemi operativi nel mondo sono sempre piuttosto complesse da calcolare ed analizzare. Il numero di pezzi venduti, il numero (e tipo) di browser collegati ad internet e via dicendo sono dati sempre interessanti ed utili per fornire calcoli di varia natura e diversa affidabilità, ma non possono che costituire una visione parziale del mondo dell’informatica, fino a quando non verrà fatto (e cioè mai) un reale sondaggio per censire tutti i sistemi operativi installati nel mondo e definirne delle percentuali valide per i 20 minuti successivi (forse).

A volte però, dei riscontri oggettivi li si può fare a partire da dati che le software house stesse rendono pubblici. E’ il caso del rapporto tra Windows XP e Windows Vista, sui quali Microsoft ha recentemente pubblicato le percentuali di vendita. Stefano Quintarelli ha riportato questi dati (la fonte diretta non ho ne voglia ne tempo di cercarla, in questo momento, ma gli stessi dati sono poi stati riportati anche su altri blog, nazionali e non), facendo notare come nonostante le vendite di Vista durante il suo primo anno siano superiori del 10% a quelle di XP nelle stesse condizioni, il mercato è nel frattempo il mercato dei computer è duplicato di volume (passando da 132 a 268 milioni di pezzi venduti), il che ci farebbe dire che Vista non è poi andato davvero cosi bene.

Si tratta ovviamente di congetture (perché di altro non si può parlare, avendo dati cosi poco precisi e circostanziati) ma le cifre ci fanno pensare che Vista non abbia avuto il successo stratosferico che si andava proclamando nei giorni del suo lancio (come è giusto che sia, d’altra parte: il marketing è marketing, ma poi deve fare i conti con la realtà).

Mi piacerebbe avere qualche dato in più, magari calcolato su basi minimamente scientifiche, della diffusione di Linux e di MacOS nel mondo, giusto per capire di che cifre stiamo parlando, e come cambiano…

Compatibilità sono due lettere…

La compatibilità tra browser diversi è uno dei problemi maggiori nei confronti dei quali gli sviluppatori di WebApps di devono confrontare quotidianamente. Un browser che implementa qualcosa, l’altro che no, o che la implementa diversamente. Necessità di codice customizzato, generato a partire da informazioni che non sono mai sicure… insomma, un vero casino.

Ma a volte, sarebbe sufficiente davvero un briciolo di buona volontà… Questa mattina siamo stati presso un grosso cliente a consegnare alcune macchine client GNU/Linux, basate su DSL ed equipaggiate con il browser SeaMonkey, che partono da una eprom flash su macchine fan-less.

Fatti i test previsti, constatato che tutto funziona correttamente, siamo andati da un altro cliente (da cui mi trovo tutt’ora). Dopo meno di 3 ore, chiamano dal grosso cliente dicendo che “qualcosa non funziona”.

Sotto la guida di uno di loro, riesco a raggiungere il form “html + javascript” su cui SeaMonkey tira le quoia. Firebug alla mano, scopro che il problema è un errore, legato ad una funzione che non esiste:

document.getElementById("IdName").click()

Fruga fruga fruga, scopro che “IdName” è un tag di tipo Anchor, e che l’implementazione del click su questi elementi non è standard, ma implementata da Microsoft Internet Explorer, eseguendo il contenuto della sezione “onClick” legata a quel tag. Ottimo. Splendido. L’applicazione non si può modificare (roba della casa madre), e quindi quella parte del sito non potrà essere utilizzata per lo scopo previsto (pare si possa farne a meno).

E sapete cosa sarebbe stato sufficiente fare per far funzionare il tutto sui due browser? Chiamare la funzione “onClick” invece che “click”…

Preload (non PreFetch!)

Nelle ultime ore, sulla mailing-list “soci” dell’Associazione Culturale OpenLabs, è venuta fuori una discussione sul nuovo sistema operativo Microsoft Vista e le sue “innovazioni”.

Visto che è venuto fuori che chi lo usava si è trovato “stupito” (il “wow” di cui parla Microsoft, probabilmente) dalla velocità di reazione del sistema operativo nel lanciare le applicazioni, ho fatto presente che questa era una delle “novità sotto il cofano” di Vista.

Qualcun altro però, mi ha fatto notare che una cosa simile su Linux c’è già, e si chiama preload.
Ho allora provato ad installare il demone e questo è il “wow” che ne viene fuori.

Http server: linux piu sicuro di Windows (?)

ApacheHo trovato su del.icio.us un link che porta ad una interessante ricerca condotta da Richard Stiennon e pubblicata sul suo blog presso ZDnet (le immagini sono state realizzate e fornite da Sana Security).

Lo scopo di questa ricerca è definire un metro di paragone per giudicare la sicurezza di un server http su linux (utilizzando Apache) e su Windows Server (utilizzando IIS). Il metro di giudizio, secondo Stiennon, potrebbe essere identificato nel numero e nella complessità delle relazioni tra le chiamate di sistema che vengono fatte al fine di produrre il risultato (in questo caso, la pagina HTML da spedire al browser). Le chiamate di sistema infatti, sono quelle che espongono a problemi il sistema a fronte di un bug nel webserver, in quanto sono quelle che consentono di portare a buono fine un attacco di tipo (ad esempio) buffer overflow.

IISPer verificare questa teoria, Sana Security ha mappato un grafico di complessità relativo ai due sistemi, ed ecco cosa ne emerge. La prima immagine (in alto) si riferisce alle chiamate di sistema che Apache fa al kernel Linux a fronte di una richiesta. Qui a fianco invece, vediamo il grafico relativo alle chiamate portate dal webserver Microsoft IIS ad un sistema Windows Server.

La differenza di complessità può lasciare davvero sbalorditi e portare ad affermare che “Linux è piu sicuro di Windows”, ma ci sono da fare un paio di precisazioni molto importanti da questo punto di vista.

  1. Stiamo facendo riferimento ad server web. Non si deve assolutamente generalizzare prendendolo come paragone per l’intero sistema.
  2. Non abbiamo a disposizione particolari riferimenti riguardo alle modalità con cui quei grafici sono stati generati. Non sappiamo ad esempio se si tratta di una semplice richiesta di una pagina HTML o dell’elaborazione di uno script PHP che interagendo con MySQL porta alla produzione di tale pagina (il primo caso essendo sicuramente meno vulnerabile ad attacchi di tipo buffer overflow, non potendo introdurre codice arbitrario). Allo stesso modo non abbiamo riferimenti sulle versioni dei software utilizzati.

Fatte le debite precisazioni, cerchiamo di cavare qualcosa di buono da quanto “scoperto”.
Possiamo dire che la complessità del server web IIS è davvero spaventosa. Mi chiedo da chi sia stato progettato, sembra tutto fuorchè modulare (un webserver della complessità di IIS o Apache è sicuramente terreno adatto all’applicazione delle teorie di Ing. del Software).

Al di la del maggior numero di chiamate di sistema che questo pastruglio lo porta a fare, mi immagino un codice piuttosto spaghettizzato, e sicuramente piu difficilmente mantenibile rispetto a quello che potrebbe essere il codice di Apache.

Leggendo poi tra i commenti al post di Stiennon, mi sono imbattuto nell’affermazione che Apache è stato maggiormente violato rispetto a IIS secondo le classifiche di Zone-H. Potendo con buona approssimazione considerare il citato documento come attendibile (nonostante si riferisca a quanto accaduto durante l’anno 2005, in quanto le statistiche del 2006 non sono ancora disponibili), dobbiamo però notare che l’autore del commento ignora completamente il fatto che fin dal 2004 la stragrande maggioranza degli attacchi vengono condotti a livello applicativo, quindi nei confronti di PHP e MySQL quindi, o ASP e MsSQL (a pagina 17 delle citate statistiche trovate le percentuali relative alle tipologie di attacco), indipendentemente dal webserver installato.
Anche nel merito, però, l’autore del commento sbaglia. Osservando la pagina 14 del pdf infatti, notiamo che i due server web sono in sostanziale parità.

Inoltre, Apache è largamente piu diffuso di IIS sul web. Secondo le statistiche di febbraio di NetCraft.com, nonostante sia in letterale caduta libera (argomento sul quale ci sarebbero da fare profonde riflessioni), Apache detiene ancora quasi il 59% del mercato dei WebServer, mentre IIS di Microsoft si attesta intorno al 31%. Questo rende 2 volte piu probabile imbattersi in un webserver Apache che in un webserver IIS, e ciò spiega (in parte) il maggior numero di violazioni segnalate su piattaforme su cui è installato Apache.

In piu, c’è da dire che le statistiche di Zone-H vengono elaborate sulla base degli attacchi segnalati, ma (come dicevo) non tutti gli attacchi sono condotti direttamente nei confronti del webserver. Con un attacco di tipo SQL Injection, poco c’entra il tipo di webserver utilizzato. Oltretutto mentre Apache è disponibile anche su piattaforme Microsoft Windows, IIS non è disponibile su piattaforme Linux, quindi i dati sono ancora meno ricollegabili alla reale sicurezza dei due sistemi operativi.

Piu senso avrebbe quindi riferirsi al tipo di piattaforma che ospita il webserver (questo non elimina però il discorso legato alla metodologia di attacco, che spesso e volentieri non coinvolge direttamente ne il webserver ne tantomeno il sistema operativo), ed osservando questo dato sulle statistiche relative al 2005 fornite da Zone-H (attendo con ansia quelle relative al 2006), emerge una sostanziale parità tra i sistemi Windows ed i sistemi Linux.

Nel quadro complessivo, a mio avviso, l’unica cosa seria che possiamo dire è che IIS è estremamente piu complesso di Apache (almeno per quel che riguarda le versioni prese in considerazione), e le uniche conclusioni che si possono da questo estrapolare, sono probabilmente legate alla maggior difficoltà di manutenzione del software, ma anche, tutto sommato, la maggior messa a disposizione di risorse agli attaccanti (precisando naturalmente che per sfruttare queste risorse sono necessarie ben piu gravi violazioni ai servizi dei livelli superiori).

Windows Vista e le applicazioni “datate”

Frugando in giro per la rete, mi sono imbattuto in un paio di blog davvero interessanti, e ne ho aggiunto un feed temporaneo a Firefox per vedere come evolvono le discussioni che vi ho trovato. Tra i vari post, uno in particolare ha colpito la mia attenzione.

Alle prese con un route Cisco e con il software in dotazione non ancora in grado di funzionare sul nuovo Windows Vista, Giovy si è giustamente inca**ato per via del mancato supporto da parte del Customer Care di Cisco, che si è rifiutato di fornire la nuova versione (sempre che esista) del client VPN consegnato insieme al router ed indispensabile per poterlo configurare (non faccio commenti).

La mia osservazione non sta nel merito della vicenda, sulla quale Giovy ha certamente ragione (se il protocollo utilizzato fosse stato aperto, d’altra parte, avrebbe potuto utilizzare un qualsiasi altro client che supportasse quello standard, ma questo è un altro discorso). Quello che voglio dire è: che ti aspettavi da Vista?

Che ci sarebbero stati problemi con la migrazione del software, era piuttosto risaputo. Le “innovazioni” introdotte con il nuovo sistema operativo di casa Microsoft, sono tali da rendere incompatibili (a buona ragione devo dire, vista la natura di questa specifica “innovazione”) le vecchie versioni di alcuni software con il nuovo sistema.

C’è da dire che la versione business di Vista è uscita a dicembre, ma si tratta anche di poco piu di due mesi di lavoro… capisco perfettamente il disappunto, ma non tutte le aziende hanno da far altro che sviluppare client VPN… la risposta del Customer Care è assolutamente inaccettabile, concordo, ma evidentemente Cisco ha ritenuto prioritario sviluppare altro che non quel client, oppure semplicemente (e mi dispiacerebbe ancora di piu, ma mi sembrerebbe strano) vogliono trarre profitto dalle migrazioni a Vista…

La cosa piu semplice da immaginare è che in Cisco non si aspettino una tale rapidità di migrazione a Vista… Giovy sta usando quel sistema operativo in quanto “in fase di test”, perchè per mestiere si occupa di verificare le necessità relative alle migrazioni tra sistemi. Comprendo perfettamente, ma noto una lieve incompatibilità: utilizza sempre un “sistema di test” per adoperare prodotti che servono la “continuità”? Va leggermente contro le buone regole della Sicurezza Informatica, oltre che contro il Buon Senso… e se quel sistema di test (qualsiasi tipo sia) fallisse il test, lasciandolo in braghe di tela, come potrebbe garantire la continuità del servizio? E’ quello che diceva Bruce Schneier nel suo libro “Crittografia Pratica“: non si possono barattere prestazioni e funzionalità con la sicurezza. E’ un atteggiamento perdente in partenza.

Concludo semplicemente dicendo che se quel client VPN fosse stato OpenSource, il problema lo si risolveva probabilmente piu rapidamente… nel caso in cui non fosse stata Cisco a risolverlo, bastava correggere il bug a manina e ricompilare… forse non lo farà l’utente medio, ma l’utente medio non compra un router Cisco…