SCARICA IL PDF: Whitepaper-integrityprotection-EN
L’economia dei giorni nostri sta attraversando un momento di sfida che, come in molte altre precedenti fasi della storia, sta generando una serie di iniziative tese a creare nuovi posti di lavoro e ristabilire un ruolo concorrenziale a vantaggio della produzione e dell’eccellenza tecnologica europee. È con questo obiettivo che il Dipartimento Federale tedesco per la Sicurezza Informatica (BSI) ha fondato l’Alleanza per la Ciber-Sicurezza, in collaborazione con BITKOM, la voce dell’Informatica, delle Telecomunicazioni e dell’Industria dei Nuovi Media in Germania.
Lo scopo che l’Alleanza si prefigge è principalmente quello di raggruppare tutte le conoscenze di maggior rilievo, affinché risorse tecnologiche ed esperienze commerciali vengano condivise dai vendor di spicco a beneficio di una comunità di utenti registrati. Imprese, enti governativi centrali e locali, e persino privati possono così accedere a strumenti educativi, applicarli al proprio scenario e far fiorire la propria attività.
Wibu-Systems, un’azienda rinomata a livello internazionale nel campo della sicurezza informatica da oltre un ventennio, si è recentemente unita all’Alleanza per la Ciber-Sicurezza e sta già offrendo il proprio contributo per educare i membri in rete. Il primo documento che Wibu-Systems ha creato specificamente per questo proposito si rivolge alla sicurezza dei sistemi embedded. Oliver Winzenried, AD e fondatore dell’azienda, è infatti personalmente coinvolto in progetti internazionali di ricerca e sviluppo ed in organizzazioni per la standardizzazione; presiede anche il comitato “Protect-Ing” di VDMA per la Protezione del Prodotto e del Know-How, ed è nel consiglio di amministrazione di BITKOM e di FZI al KIT.
Dalla sua prospettiva ha prontamente realizzato che l’Industria 4.0, la rivoluzione industriale in corso, si dimostrerà particolarmente efficace per la crescita dell’efficienza e per il taglio dei costi di gestione grazie all’agilità produttiva derivante da un’interconnessione M2M senza precedenti. Al contempo, il suo background altamente verticale gli ha consentito di percepire le minacce che si nascondono dietro alle comunicazioni, che non avvengono ormai più all’interno del solo stabilimento, ma anche via Internet e a volte attraverso servizi addizionali sul cloud.
Una recente indagine condotta da VDMA ha rivelato che il 90% delle aziende sono state colpite dalla pirateria del prodotto e che il 48% dei produttori originali si ritrovano con interi macchinari ed equipaggiamenti completamente riprodotti. Il crollo delle vendite che ne deriva ed il danno alle attività di ricerca e sviluppo sono la causa di estreme difficoltà economiche e di innovazione. Il fulcro della questione è di così primaria importanza che le metodologie di sicurezza necessarie a contrastare gli attacchi più avanzati devono necessariamente avvalersi delle strategie più evolute.
CodeMeter è una tecnologia che ha promosso la protezione della proprietà intellettuale mediante l’applicazione combinata di strumenti hardware e software preposti ad impedire la duplicazione illegale delle licenze. In virtù dello scenario attuale, la concezione di CodeMeter è stata ulteriormente espansa per divenire un sistema sofisticato, scalabile e duttile che salvaguardi l’integrità del codice e garantisca la protezione da azioni di reverse engineering rivolte ai processi di motion control ed automazione industriale.
Molte sono infatti le circostanze in virtù delle quali le risorse di sistema, i programmi e i dati possono essere manipolati. Il sabotaggio dei sistemi ciber-fisici può assumere la forma di un dispositivo contraffatto, un’unità che può facilmente essere installata durante la manutenzione del macchinario, avrebbe l’aspetto di quella originale ma eseguirebbe differenti funzioni, inficiando pertanto i termini di garanzia inizialmente firmati dal produttore.
Alternativamente, è il software stesso a divenire l’oggetto dell’attacco. Che la SD card, da cui ad esempio il software viene eseguito, sia sostituita o soltanto manomessa, il risultato sarà comunque quello di un nuovo software che verrà avviato; il disservizio relativo si tradurrà nella condivisione di dati non autorizzati, nella sicurezza del personale messa a repentaglio, nel rallentamento della performance produttiva, tanto per menzionare alcune delle possibili conseguenze.
O ancora la minaccia può infiltrarsi attraverso le interfacce di comunicazione; una violazione dei protocolli consentirebbe ai malintenzionati di prendere possesso di dettagli confidenziali in merito agli utenti finali fino al completo controllo remoto del sistema embedded.
Se un sistema embedded può di norma essere “pelato” come una cipolla fino all’esposizione della sua vera essenza, Wibu-Systems ha creduto opportuno mettere a punto misure di protezione che salvaguardino la struttura strato dopo strato attraverso controlli, che avvengono tanto lungo il corso dell’esecuzione dei comandi, quanto a ritroso, al fine di assicurare la massima integrità dell’intera architettura. Si basa inoltre sulla combinazione di meccanismi crittografici che uniscono algoritmi simmetrici (AES – Advanced Encryption Standard) ed asimmetrici (RSA – Rivest, Shamir e Adleman, ECC – Elliptic Curve Cryptography), e funzioni di hash (SHA-256).
Dal punto di vista hardware, CodeMeter si presenta disponibile in molteplici formati (chiavi USB con o senza memoria flash, carte SD, micro SD, CF), la maggior parte dei quali integra un chip smart card; questo consente l’uso addizionale di certificati digitali, una perfetta combinazione coniugata agli schemi crittografici sopra menzionati.
Partendo dal presupposto che lo strato più esterno di un sistema embedded possa accedere a quello interno, ma che il contrario non sia altrettanto valido, la procedura per la protezione dell’integrità di Wibu-Systems si sviluppa attraverso i seguenti passi:
1. Il boot loader verifica l’integrità del sistema operativo e lo carica dopo averlo validato.
Il sistema operativo viene avviato solo quando il boot loader è stato validato mediante un controllo a ritroso.
Il sistema operativo verifica l’integrità dell’applicazione e la carica solo se è stata validata.
2. L’applicazione viene avviata solo se il sistema operativo è stato validato mediante un controllo a ritroso.
3. L’applicazione verifica l’integrità dei dati di configurazione e li utilizza se sono validati.
Nel caso in cui i dati di configurazione contengano codice eseguibile, è anche possibile eseguire una verifica del livello di trust.
Si arriva poi ad implementare i controlli relativi all’integrità. CodeMeter offre uno special motore denominato AxProtector che firma e crittografa il software originale. In particolare, AxProtector:
1. Calcola il valore di hash del software originale
2. Firma il valore di hash con la chiave privata del vendor
3. Crittografa il software originale usando una chiave generata da un valore seme presente all’interno del software originale stesso, una chiave segreta del vendor ed alcuni altri parametri selezionati dal produttore.
4. Allega la porzione pubblica del certificato di firma al software crittografato
I controlli vengono effettuati in due direzioni per offrire la massima sicurezza. Durante quelli lungo il normale svolgimento mentre l’applicazione viene caricata, si verificano le seguenti fasi:
1. Se è presente una licenza valida, viene decrittato il software
crittografato
2. Viene verificata la rispondenza del certificato allegato alle credenziali o della catena di certificati con la chiave pubblica root
3. Viene calcolato il valore di hash del software originale decrittato
4. Viene verificata la firma dell’hash utilizzando la chiave pubblica
Esistono opzioni addizionali che possono rafforzare ulteriormente il sistema di protezione, come ad esempio una gestione sofisticata dei certificati per l’uso di uno specifico dispositivo solo da parte di personale autorizzato, la verifica di una data di scadenza del certificato, l’impostazione di una lista di revoca dei certificati – CRL.
Ma come precedentemente esposto, entrano in gioco anche controlli a ritroso. Essi verificano se il processo di boot sia stato eseguito correttamente dal sistema operativo, o se il controllo dell’integrità del sistema operativo da parte dell’applicazione sia arduo da eseguire a causa di un accesso limitato del passo successivo a quello precedente.
Per compensare il mancato accesso, è necessario un meccanismo di stato in un’unità hardware affidabile. Questa configurazione è ad esempio individuabile nel Trusted Computing Group, TCG.
Avvalendosi dei cosiddetti Trusted Platform Modules (TPM), è possibile salvare gli stati corretti nei registri. Questi registri includono, ad esempio, misure del boot loader, che verranno considerate successivamente dal sistema operativo per verificare l’integrità del passo precedente.
Il dispositivo validato, ad esempio un chip TPM o una chiave CodeMeter, salva lo stato del boot loader. Solo quando eseguito correttamente, il sistema operativo viene avviato. Questo si applica anche agli stadi successivi. CodeMeter offre pertanto una macchina per garantire lo stato. Questa caratteristica viene definita “Abilitazione”.
La decrittazione del sistema operativo, ad esempio, non verrà rilasciata fino a quando l’integrità del processo di boot non sia stata validata; inoltre, i segreti condivisi sono salvati e non rilasciati fino a quando il passo precedente non sia stato eseguito con successo, affinché il successivo possa essere avviato.
Ne consegue che un primo passo in sicurezza sia essenziale, poiché tutti i controlli successivi dipendono dalla sua accuratezza. I malfattori non possono in alcun caso decifrare il codice, od estrarre le chiavi segrete. Con una soluzione definita “Sistema sul chip” (SOC), questi codici e le chiavi sono salvati in modo permanente sul chip, al sicuro da tentativi di lettura e manipolazione dall’esterno.
Questo loader compatto precedente al boot è dotato di scarsa funzionalità e carica il boot loader corrente, di cui verifica l’integrità. Viene sviluppato solo una volta e non può essere aggiornato sul sistema, in modo da prevenire attacchi dall’esterno.
In aggiunta a tutto questo, un uso particolarmente scaltro dei certificati digitali è quello che prevede la loro concatenazione, in maniera tale che il certificato alla radice soltanto sia l’elemento critico da proteggere. Esso viene effettivamente utilizzato solo per creare nuovi certificati di Code Signing Root o di Config Signing Root, rispettivamente adottati per generare certificati di Boot Signing, e certificati che a loro volta sono impiegati per creare un certificato per la configurazione della firma dei dati.
In pratica, le chiavi private sono utilizzate per firmare i codici ed i parametri del programma. Questi vengono memorizzati in un dispositivo hardware sicuro, come una chiave CmDongle di Wibu-Systems. I certificati vengono salvati come file. Essi contengono:
– La chiave pubblica
– Le restrizioni di validità, come la data di scadenza o legami ad uno specifico componente hardware
– L’obiettivo, per esempio, di firmare il boot loader, l’applicazione, i file di configurazione, o di creare altri certificati.
– Il certificato della chiave, utilizzata per creare questo certificato
Inoltre, l’impiego di una lista di revoca dei certificati è un ulteriore elemento che si dimostra particolarmente efficace. In caso di necessità, attraverso un semplice aggiornamento di questa lista, i certificati di tutti i dispositivi sul campo verrebbero facilmente revocati o resi invalidi.
Wibu-Systems è esperta nella gestione dei processi crittografici, che rende completamente accessibili ad OEM e ISV. L’interfaccia grafica utente di CodeMeter è estremamente intuitiva. Il prodotto supporta sia le piattaforme classiche lato consumer, sia Windows Embedded, Real Time Linux, VxWorks, altre per PLC come CODESYS, e molto altro a venire. Per di più l’azienda ha recentemente stretto una partnership strategica con Wind River ed Emerson Network Power.
Grazie a questo accordo, i tre vendor hanno annunciato un Kit di Sviluppo Embedded (EDK). Si tratta della prima soluzione chiavi in mano per la protezione della proprietà intellettuale dalla copia illegale e dalla manomissione, e per la gestione delle licenze. Fornisce una sicurezza a tutto tondo per tutti i processi di automazione virtuali per applicazioni complesse e real-time in campo medicale, industriale, ludico, automobilistico, aerospaziale, e per molti altri mercati.
Per ogni problema intricato, esiste una soluzione agevole. È solo necessario chiarirne in dettaglio lo scenario. Un approccio pragmatico che ha portato Wibu-Systems a divenire uno degli attori primari in questo campo, e decisamente quello che esprime al meglio innovazione e continuità attraverso il ciclo di vita dei prodotti.
WIBU-SYSTEMS AG (WIBU), fondata nel 1989 da Oliver Winzenried e Marcellus Buchheit, è leader tecnologico globale nell’offerta di una piattaforma di sicurezza innovativa legata all’intero ciclo di vita delle licenze software. L’ampia gamma di soluzioni di Wibu-Systems è unica nel suo genere e soddisfa le esigenze di protezione di risorse digitali, proprietà intellettuale ed integrità tipiche delle applicazioni di rete, telefonia mobile, automazione embedded, cloud computing, fino ai modelli SaaS e a quelli virtuali.