Che cos’è l’ingegneria inversa?

Alcuni termini sono autoesplicativi. È il caso del reverse engineering, che letteralmente smonta qualcosa e lo rimette insieme. Questo può essere fatto fisicamente o virtualmente e l’intento è capire come funziona qualcosa per creare qualcosa di simile.
Il reverse engineering è stato fatto per molti secoli, quasi da quando le persone hanno creato cose. A volte, il reverse engineering viene eseguito allo scopo di migliorare una creazione esistente, mentre altri casi di reverse engineering comportano il furto di tecnologia. Quest’ultimo è stato particolarmente il caso delle armi nel corso della storia della guerra.

Non sono solo le armi ad essere oggetto di reverse engineering. Cose di tutti i giorni come veicoli, DVD ed elettrodomestici sono oggetto di un attento esame nei quartieri di tutto il mondo. Alcune aziende hanno l’abitudine di importare beni da altri paesi, smontandoli pezzo per pezzo e quindi utilizzando il reverse engineering per crearne di propri.

Il reverse engineering viene eseguito anche nel mondo virtuale. Gli artisti e gli scienziati informatici praticano il reverse engineering realizzando modelli 3D di dispositivi del mondo reale e poi decostruendoli virtualmente per vedere come funzionano. A volte li rimettono insieme, esattamente o in modo leggermente diverso. L’avvento di server e suite grafiche pesanti ha reso questo sia possibile che desiderabile.

I computer praticano anche il reverse engineering a un livello più fondamentale. Una forma di questo tipo di reverse engineering è la decompilazione. La decompilazione è un processo durante il quale un computer converte le informazioni da un formato di basso livello (codice computer) in un formato di alto livello (testo ASCII e numeri), per consentire alle persone di leggere cose come istruzioni e articoli Web. Eventi comuni di decompilazione comportano il trasferimento di file da un utente a un altro, come uno scambio di dati o immagini in un’e-mail, o per la ricostruzione di codici danneggiati o mai completati. La decompilazione può anche presentarsi sotto forma di violazioni della sicurezza, in cui un hacker utilizzerà il reverse engineering per ricostruire i dati che qualcun altro voleva disperatamente nascondere tramite la crittografia.

Un altro duplice uso del reverse engineering riguarda la creazione e la prevenzione dei virus informatici. I creatori di virus scavano nelle viscere del codice informatico per trovare posti dove seppellire le loro creazioni. Ricostruendo il codice macchina come codice sorgente, il creatore del virus può trovare ciò che sta cercando. Il rovescio della medaglia di queste azioni sono le persone che cercano di prevenire o distruggere i virus informatici. Anche loro usano il reverse engineering per decostruire il virus stesso e distruggere o anticipare gli eseguibili dannosi.