Gli editoriali di Byte Italia

Uova di Pasqua

Byte Italia n° 16, ottobre 1999

Come potrà confermarvi anche il più approssimativo fra i ciceroni che proliferano nelle nostre città d'arte, molti fra gli antichi pittori o scultori indulgevano nel vezzo di inserire nelle proprie opere determinati particolari estranei, più o meno nascosti, spesso di tono goliardico o scherzoso e talvolta con risvolti autobiografici.

Esempi se ne possono fare a iosa, basta pescarli da una qualunque guida per turisti da quattro soldi. Sappiamo tutti, tanto per citare un caso celeberrimo, che Michelangelo "firmò" di straforo il grandioso Giudizio Universale nella Cappella Sistina col proprio autoritratto, conferendo surrettiziamente le proprie sembianze alla pelle che il povero San Bartolomeo porta con sé come simbolo del proprio martirio. Meno noto ma altrettanto emblematico è il caso, opposto, di un famoso quadro di Guido Reni conservato nella chiesa madre dei Cappuccini a Roma, dove il volto del demonio abbattuto dall'Arcangelo Michele raffigura in realtà quello del cardinale Giambattista Pamphilj, poi divenuto papa Innocenzo X, col quale il pittore aveva avuto vari screzi in passato.

Più recentemente qualcosa di analogo si è diffuso anche in altre arti, ad esempio il cinema: tutti ad esempio conosciamo la scherzosa mania che ha portato il grande regista Alfred Hitchcock ad apparire fugacemente in ogni proprio film, o apprezziamo la garbata trasposizione letterale grazie alla quale la sigla IBM è diventata HAL nel film di Kubrick "2001 odissea nello spazio". Si tratta in ogni caso di piccoli divertissement innocui, che vanno scoperti con attenzione ed apprezzati per quello che sono: ossia giochi intellettuali, piccoli segreti contemporaneamente proposti e nascosti dal proprio autore.

Il software, bene di consumo sempre più diffuso nella società, non fa eccezione a questa regola non scritta. Così è nata già da diversi anni, tra quei gran burloni che sono i programmatori, la moda di inserire nei propri programmi delle schermate "nascoste", attivabili solo con speciali sequenze di azioni, generalmente recanti qualche messaggio scherzoso oltre ai nomi degli autori del programma. In inglese si chiamano "Easter Eggs" (letteralmente "uova di Pasqua") perché sono segrete, elusive e sfuggenti proprio come le uova che nei paesi anglosassoni vengono portate dal coniglio pasquale.

Non ci sarebbe nessun male se le uova di Pasqua informatiche si limitassero a visualizzare una schermata imprevista e scherzosa, un po' come fa Netscape quando al posto della URL scrivete "about:mozilla". Ma come noto nell'informatica c'è sempre tempo e modo per complicarsi le cose ed aumentare la complessità dei sistemi... e poi perché limitarsi ad inserire all'interno dei propri prodotti delle semplici schermate nascoste? E così, a furia di lasciarsi prendere la mano, succede che poi dentro ad un programma applicativo ci scappino un flipper completo oppure un flight simulator con vista fotorealistica in 3D del panorama alieno circostante.

La domanda che mi pongo a questo punto è: ma non staremo un po' esagerando?

Mi spiego meglio. Perché mai dentro Word ed Excel (sono loro i prodotti in questione, ma sono certo in buona compagnia) continuano ad esistere vere e proprie applicazioni ospite, totalmente estranee alla business logic del prodotto? E quale immaginifico responsabile di product assurance può aver avallato l'inserimento in un prodotto di centinaia e centinaia di KByte di codice assolutamente non correlato con quello dell'applicazione principale?

Ciò che mi preoccupa in una simile situazione non è tanto lo spreco di risorse (cosa sono una manciata di MByte di codice extra in un pacchetto che ne occupa diverse centinaia?), quanto la possibilità, più che concreta alla luce dei casi in questione, che oltre al codice noto le applicazioni di uso più comune portino dentro di sé intere librerie di codice ignoto, dal comportamento imprevedibile e pronte magari ad attivarsi in seguito a comandi esterni o situazioni particolari.

D'accordo, sono un paranoico di professione: ma chiunque abbia mai letto il gradevole romanzo di fantascienza Soft War di qualche anno fa, non può guardare con animo tranquillo a quelle centinaia di MByte di codice sul proprio hard disk dei quali non si sa assolutamente nulla. E non è confortante sapere che, ad esempio, tutta la NATO usa Exchange Server per la propria posta elettronica. Chi ne ha mai visto e certificato i sorgenti? Per quanto ne sappiamo potrebbero contenere dozzine di Easter Egg pronte ad attivarsi da un momento all'altro, e magari non tutti innocue...

Corro troppo con la fantasia? Può darsi: ma spesso la vita reale si è dimostrata più incredibile di un libro di Tom Clancy. D'altro canto è storia recente l'aver scoperto che nelle CryptoAPI di Microsoft, ossia la libreria di sistema che rappresenta la fondazione per i servizi di cifratura e riservatezza di tutte le versioni di Windows, è contenuta una root key secondaria ed indipendente denominata sinistramente _NSAKEY, dalla funzione ufficialmente non nota né documentata. Per chi non lo sapesse, NSA è l'agenzia statunitense responsabile della intelligence e dello spionaggio elettronici: un bell'Uovo di Pasqua, non c'è che dire...

E allora, quali e quante Uova di Pasqua ci saranno nei trentasei milioni di linee di codice di Windows 2000? E quante applicazioni mission critical continueranno a girare nei prossimi anni su sistemi proprietari, chiusi e non certificati?

Editoriale di Byte Italia n° 16, ottobre 1999
Copyright © 1999, Corrado Giustozzi. Tutti i diritti riservati.

Ultima modifica: 4 settembre 2006
Visitatori dal 6 maggio 2003: 90,471

Torna alla Pagina degli editoriali di Byte Italia
Vai alla Pagina dei Commenti

Copyright © 1995-2012 Corrado Giustozzi