• Google+
  • Commenta
10 gennaio 2008

Verona: Così ti proteggo il software

Inserire una firma, offuscata, all’interno del codice di un programma per computer per “marcarne” la paternità e prevenire plagi e contraffaz
Inserire una firma, offuscata, all’interno del codice di un programma per computer per “marcarne” la paternità e prevenire plagi e contraffazioni. E’ questo il risultato del progetto Marcatura del Software, guidato da Roberto Giacobazzi, ordinario di Informatica e preside della facoltà di Scienze Matematiche Fisiche e Naturali dell’ateneo veronese e messo a punto da un gruppo di ricerca del Dipartimento di Informatica. L’equipe veronese ha studiato e sviluppato un prototipo di software che effettua le operazioni necessarie a proteggere la paternità dell’opera intellettuale: una questione delicata soprattutto se si tratta di software, visto che per i programmi non sono previsti brevetti. I risultati del progetto sono stati presentati lo scorso 19 dicembre alla commissione del Consorzio Veneto Informatica e Tecnologica Avanzata (V.I.T.A.), presieduta dal presidente Gianni De Guio, l’ente che, su finanziamento della Regione Veneto, ha commissionato il progetto a nome delle aziende associate.
Esiste, ad oggi, solo una protezione a maglia larga che consente di realizzare programmi in grado di eseguire le stesse funzioni dell’originale, purché non si ripeta la medesima scrittura del codice sorgente, la matrice primaria di ogni programma per computer. Proprio per proteggere la forma espressiva del codice che descrive il programma, la letteratura in materia propone tecniche per prevenire la violazione del copyright: il software watermarking e il code obfuscation rappresentano le due tecnologie d’avanguardia e gli approcci più promettenti per la protezione della proprietà intellettuale in informatica.
Al momento disponibile solo allo stato di prototipo, il software watermarking consiste nell’inserimento di una firma all’interno del programma in modo che sia sempre possibile identificare il proprietario del codice. Per codificare la firma e nasconderla all’interno del programma i ricercatori veronesi hanno inserito nel codice sezioni formalmente superflue, inserite e camuffate nei punti opportuni.
La tecnica del code obfuscation, invece, previene il reverse engineering – ovvero la possibilità di risalire alla sorgente del codice e all’algoritmo che ne sta alla base – trasformando l’aspetto del programma pur mantenendone la funzionalità. Questo grazie all’inserimento di predicati opachi: frammenti di codice che apparentemente interrogano il calcolatore con la proposta di due alternative, ma che in realtà presentano una sola scelta obbligata, la sola realizzabile. Lo scopo è complicare la struttura del codice senza modificarla nella sostanza, al punto di rendere impossibile la sua comprensione. Sempre tramite l’offuscamento, è possibile applicare a una o più parti del codice il loop reversal, invertendo l’ordine di esecuzione pur mantenendo identico il risultato finale.
Il prototipo sviluppato può effettuare software watermarking e code obfuscation in maniera combinata, permettendo di definire il livello di sicurezza richiesto e monitorando la trasformazione del programma e l’eventuale perdita di prestazioni.
«Quella della protezione della paternità di un software è un problema molto rilevante nel campo dell’informatica – ha voluto precisare il professor Giacobazzi – poiché la diffusione di un programma lo espone inevitabilmente ai rischi della contraffazione. Basti pensare che Skype, prima di diventare il sistema VoIP più diffuso, investiva la metà delle risorse complessive per applicare ogni mese nuove tecniche di offuscamento al suo codice sorgente».
Sebbene in passato altri progetti, in Belgio e negli Stati Uniti, abbiano sviluppato prototipi con le stesse finalità, questi provenivano da una derivazione sperimentale nata dall’osservazione di programmi che aiutano o ostacolano la violazione del codice. Mancava cioè un modello teorico del problema e delle possibili soluzioni, a cui questo progetto è invece giunto. In questo modo, il livello di protezione raggiunto gode finalmente di una certificazione formale.

Google+
© Riproduzione Riservata