Differenza tra open source e proprietary software in informatica
L’eterna “lotta” tra il software aperto (open source) e il software proprietario (proprietary software), non poteva non intaccare il settore della digital forensic. In quest ambito, infatti, gli strumenti software utilizzati per l’analisi dovrebbero essere o licenziati (che corrisponde anche ad una “garanzia di funzionamento”) o , se sono distribuiti gratuitamente, non essere provento di cracking/pirateria perché oltre ad essere illecito l’utilizzo, non possono garantire che il cracking non comporti modifiche alle informazioni o dei malfunzionamenti al sistema.
Tra le motivazioni che possono indurre a scegliere l’open source piuttosto che il closed source troviamo le seguenti:
- Trasparenza: gli strumenti sono conosciuti, documentabili e verificabili anche dalla controparte.
- Disponibilità: non occorre acquistare software specifici (e costosi) per svolgere o controllare un’attività.
- Varietà: esistono soluzioni e supporto per una miriade di situazioni, anche improbabili (ad esempio per i file system).
- Adattabilità: i sorgenti sono modificabili per ogni esigenza specifica.
- Flessibilità: il paradigma Unix secondo il quale “tutto è visto come un file” permette di gestire uniformemente anche situazioni nuove.
- Modalità “read-only”: linux è per sua natura poco invasivo e ha comunque supporto nativo per la modalità di sola lettura.
- Aderenza agli standard: spesso i software commerciali usano implementazioni arbitrarie e formati chiusi.
Tuttavia, la netta divisione tra i due filoni è riassunta nei due punti seguenti.
- Open Source: i software open source o aperti offrono ampio riconoscimento del file system, ma non offrono tools integrati in un’unica interfaccia grafica, compatibilità degli applicativi sviluppati per differenti sistemi operativi, compilazione reportistica. E’ possibile analizzare i processi logici a cui sono sottoposti i dati.
- Closed Source: i software closed source o proprietari offrono interfaccia user friendly, tools integrati (editor esadecimale, player, password cracker, hashing, log attività, ecc…), compilazione reportistica, ma non dispongono di larga compatibilità verso i file system non nativi. Non consentono l’analisi della logica di funzionamento e la verifica dei processi a cui i dati sono sottoposti.