Blockchain è un complesso di tecnologie su cui molte aziende
stanno puntando. Proprio per questo, e per la sua relativa "novità" della sua applicazione nelle imprese, è essenziale
garantirne la affidabilità. Dal mondo delle criptovalute non vengono ad esempio
segnali confortanti. Un altro fattore che spinge alla prudenza per le applicazioni blockchain che escono dai test e
passano in produzione.
Kaspersky sta lavorando anche su questo fronte e conferma la necessità di agire con attenzione. Una sua indagine mostra ad esempio che solo il 15 percento dei CISO ritiene blockchain la tecnologia con il maggiore impatto nel settore IT. Una
limitata considerazione, sebbene buona parte dei progetti basati su blockchain miri a gestire dati sensibili e
finanziari. Che richiedono certamente controlli di sicurezza sul codice e sulla logica delle applicazioni a ledger distribuiti.
In questo senso Kaspersky ha sviluppato un nuovo servizio mirato:
Kaspersky Enterprise Blockchain Security. Offre in sintesi un check-up delle applicazioni blockchain.
Dividendolo in una parte di assessment dell'applicazione in sé e una di valutazione specifica del codice degli smart contract.
Doppio controllo per blockchain
La prima parte è denominata
Application Security Assessment. Esamina il comportamento "sotto stress" di una applicazione usando una combinazione di
tre tipi di test. In dettaglio, spiega Kaspersky: white-box (analisi del codice sorgente), grey-box (emulando il lavoro di utenti legittimi), black-box (emulando un attaccante esterno esperto).
La combinazione di questi test di affidabilità permette di
identificare eventuali vulnerabilità nelle applicazioni. Il tool indica anche le relative raccomandazioni per risolverle.
Il componente
Smart Contract / Chain Code Audit è dedicato al funzionamento degli smart contract. E in generale alla logica applicativa di una soluzione blockchain. Lo scopo è evidenziare criticità nello svolgimento delle operazioni previste dall'applicazione e dagli smart contract. Queste criticità possono derivare da errori di sviluppo veri e propri o dall'insorgere imprevisto di
stati indefiniti di una blockchain. E questi possono essere sfruttati in modo inappropriato.