Protezione del Software

Documenti analoghi
Software per Helpdesk

MANUALE UTENTE Fiscali Free

Creare una Rete Locale Lezione n. 1

Capitolo 4 Pianificazione e Sviluppo di Web Part

PRODUZIONE PAGELLE IN FORMATO PDF

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

Fatti Raggiungere dal tuo Computer!!

Domande e risposte su Avira ProActiv Community

La soluzione software per Avvocati e Studi legali

La sicurezza nelle comunicazioni Internet

Aruba Sign 2 Guida rapida

Che cosa è un VIRUS?

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Sistema di gestione Certificato MANUALE PER L'UTENTE

Informatica per la comunicazione" - lezione 13 -

Wess.Net MESSENGER AZIENDALE 1

CdL in Medicina Veterinaria - STPA AA

La CASSAFORTE DIGITALE per

FIRESHOP.NET. Utilizzare il FireSoft. Rev

Database. Si ringrazia Marco Bertini per le slides

Firma HSM. A cura di: Enrico Venuto. Politecnico di Torino Coordinatore sicurezza informatica di ateneo

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

La Soluzione per CdA e Top Management. La soluzione è Secure Board by Boole Server

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Zoo 5. Robert McNeel & Associates Seattle Barcelona Miami Seoul Taipei Tokyo

Guida alla registrazione on-line di un DataLogger

Configurazione account di posta elettronica certificata per Microsoft Outlook Express

File, Modifica, Visualizza, Strumenti, Messaggio

Mac Application Manager 1.3 (SOLO PER TIGER)

Una minaccia dovuta all uso dell SNMP su WLAN

Guida Microsoft Outlook Express, Creare e configurare l'account su proprio dominio PEC

MService La soluzione per ottimizzare le prestazioni dell impianto

PEC. Posta Elettronica Certificata. securepec.com

Identità e autenticazione

Sophos Computer Security Scan Guida di avvio

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

bla bla Guard Manuale utente

Servizio di. Archiviazione digitale e conservazione sostitutiva

1.0 GUIDA PER L UTENTE

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

DALL IMMAGINE AL TESTO...SEMPLICEMENTE

Manuale Terminal Manager 2.0

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

Online Help StruxureWare Data Center Expert

Guida di Pro PC Secure

INFN Napoli NESSUS. IL Security Scanner. Francesco M. Taurino 1

Protezione. Protezione. Protezione. Obiettivi della protezione

presenta Il posto sempre sicuro dove archiviare tutti i tuoi dati

Dispense di Informatica per l ITG Valadier

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Corso di Informatica

Configurazione di Outlook Express

Progettare un Firewall

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

La Posta Certificata per la trasmissione dei documenti informatici. renzo ullucci

Soluzioni HP per la Gestione della Stampa. Tutto TEMPO GUADAGNATO.

1 Requisiti di sistema per Internet Security

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

PAGAMENTO EFFETTI PRESENTAZIONI RI.BA. INVIO FATTURE ELETTRONICHE VERSO P.A.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

Procedura di abilitazione alla Rete di Lombardia Integrata

Proteggiamo il PC con il Firewall di Windows Vista

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Software Servizi Web UOGA

Crittografia e sicurezza informatica. Sistema di voto elettronico

Il Web Server e il protocollo HTTP

Studio Legale. Guida operativa

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Antivirus. Lezione 07. A cosa serve un antivirus

F-Secure Mobile Security per Windows Mobile 5.0 Installazione e attivazione dell F-Secure Client 5.1

Dispositivi di rete. Ripetitori. Hub

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Sistema operativo: Gestione della memoria

LeggiCATASTO. Le due funzionalità principali sono:

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Servizio di distribuzione Licenze Microsoft 01/04/2015 Servizi ICT Servizi agli Utenti Pagina 1 di 5

INDIRIZZI IP AUTORIZZATI

VMware. Gestione dello shutdown con UPS MetaSystem

ZFIDELITY - ZSE Software & Engineering Pag.1 / 11

SSO Specifiche Funzionali

ROM Upgrade Utility (RUU) Prima dell aggiornamento fare attenzione se

Portale Remote Sign Manuale Utente

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

1. Devo essere connesso ad Internet per utilizzare il Servizio di tuotempo?

Analisi di programmi: Crittografia

Guida Microsoft Outlook Express, Creare e configurare l'account su dominio PEC generico

Transcript:

Protezione dalla copia Protezione del Software Alfredo De Santis! Aprile 0! Trovare un metodo contro la pirateria efficiente economico resistente contro i pirati esperti non invasivo Compito impossibile! Però si può rendere la copia difficile per il pirata esperto ed impossibile per il pirata occasionale Indice Numeri Implementazione dei numeri Dongle Esecuzione remota Difesa dalle contraffazioni Checksum Esche Offuscamento Il software necessita di un per funzionare Numeri Controllo validità Molto utilizzato dalle aziende di software Non offre un alto grado di protezione Ma è un deterrente psicologico Digitare un copiato rende consapevoli di ciò che si sta facendo

Implementazione dei numeri! Cifrari simmetrici Firme digitali M firma Implementazione dei numeri con cifrari simmetrici Nel software vi sono: implementazione inversi di e Implementazione dei numeri con cifrari simmetrici Controllo validità Controllo validità del Come avviene il controllo di validità? Controllo validità in binario Inverso Formato corretto?

codice codice Base64 Set di caratteri formato ASCII RADIX-64 6 bit 6 bit 6 bit 6 bit R64 R64 R64 R64 8 bit 8 bit 8 bit 8 bit Espansione 33% Base64 Facile conversione Scomodo per alcuni utenti (causerebbe errori battitura) Per evitare errori di battitura, è meglio Ignorare distinzione maiuscole/minuscole Uso di alfabeto romano e 0 cifre (totale 36 caratteri) Però è utile avere alfabeto potenza di Eliminare 4 caratteri, ad es. l o 0 (facili da confondere) 0 3 4 5 6 7 8 9 0 3 4 5 A B C D E F G H I J K M N P Q R S T U V W X Y Z 3 4 5 6 7 8 9 6 7 8 9 0 3 4 5 6 7 8 9 3 0 3 Stringa fissata Implementazione dei numeri con cifrari simmetrici: Sicurezza Identifica il programma, ed anche la versione Chiavi di versioni precedenti non devono funzionare anche per le nuove versioni Quanto è sicuro?

Implementazione dei numeri con cifrari simmetrici: Sicurezza Implementazione dei numeri con firme digitali Possibile trovare e nel codice binario Possibile generare numeri validi File di licenza Firma digitale Scopo dei numeri : Scoraggiare solo i pirati occasionali Non tiene lontani i pirati esperti Nel software vi sono: chiave pubblica implementazione verifica Firma digitale Non c è la! Implementazione dei numeri con firme digitali Controllo validità File di licenza Firma digitale File di licenza Firma digitale Controllo validità del Come avviene il controllo di validità? chiave pubblica Controllo validità Verifica firma digitale

File di licenza Informazioni sulle licenze: Informazioni specifiche dell utente (ad es., nome) Versione del software con alcune caratteristiche a pagamento Inserimento dati licenze Numeri sono chiamati anche chiavi di licenze Inserimento di chiavi di licenze e file di licenza Digitate dall utente File posizionato dove il software può trovarlo Implementazione dei numeri con firme digitali: Sicurezza Non ci sono chiavi private nel codice binario Non è possibile generare numeri validi Possibile inserire un di serie che si conosce Attacchi di decompilazione Licenze con validità limitata nel tempo Software shareware Aggiungere data nel file di licenza Per verificare se la licenza è scaduta: Confronto con data del sistema Metodo classico per aggirare il controllo: Cambiare la data del sistema

Licenze con validità limitata nel tempo Licenze con validità limitata nel tempo Software shareware Aggiungere data nel file di licenza Per verificare se la licenza è scaduta: Confronto con data del sistema Metodo classico per aggirare il controllo: Cambiare la data del sistema Contromisura: Rendere persistenti i dati Ad es., mettere in un registro: data prima esecuzione, data ultima esecuzione, MAC delle due date Eliminazione dati oppure Disinstallazione e poi Installazione Contromisura: Si possono nascondere i dati nel file system in modo che non possono essere cancellati Se si cancellassero tutti i dati alla disinstallazione un attaccante potrebbe scoprire dove si nascondono Un programma che lascia tracce è una sciagura per gli utenti legittimi Bisogna pensare bene alle conseguenze di tali schemi, prima di adottarli! Elevare il livello di protezione Per usare illegalmente il software su più macchine: copiare il Contromisura: includere dati specifici della macchina nella licenza Per es., quantità di memoria, indirizzo scheda Ethernet Tecnica intrusiva Il proprietario non può modificare troppo la configurazione della propria macchina Elevare il livello di protezione Per applicazioni Internet: Callback a un server centrale, che ha traccia delle licenze utilizzate Problemi: Privacy dell utente Si deve disporre di una connessione ad Internet (ad es., difficile su un aereo) Se si dovesse reistallare il software (Si può permettere la reistallazione e poi monitorare comportamenti sospetti) Firewall

Un vecchio metodo di protezione dalla copia Porre domande che richiedono di consultare la documentazione per rispondere Ad es., Qual è la terza parola, rigo, pag. 489, vol. 4? Un attaccante avrebbe dovuto copiare tutta la documentazione cartacea Oggi è tutto in formato elettronico, facile da copiare Anche se fosse tutto in formato cartaceo, basterebbe acquisirli una volta con uno scanner e diffonderli su Internet Dongle Chiamati anche: hardware key, hardware token, o security device Si collegano alla porta seriale o parallela (poi USB) e sono dotati di limitate capacità di elaborazione Applicazione verifica presenza dongle durante l esecuzione, inviando richieste e ricevendo risposte. Ad esempio: Computazione valore funzioni Esecuzione di parte del codice Compito attaccante: riprodurre in forma software il codice del dongle Dongle Importante stabilire quale codice inserire nel dongle Ci sono limitazioni di capacità di elaborazione e memoria Non è impossibile capire cosa fa il dongle per un attaccante esperto Problemi: Soluzione costosa Scomoda per l utente (detestati da chi li ha usati) Esecuzione remota Molto simile ai dongle Ogni client ha delle credenziali si autentica su un server remoto esegue parte del codice sul server remoto Vantaggi: più economico dei dongle Svantaggi: più scomodo, perché necessita di un componente online Produttore software deve gestire le credenziali e mantere server ad alta disponibilità

Difesa dalle contraffazioni L attaccante potrebbe analizzare l eseguibile e modificarlo Contromisura: Rendere gli eseguibili difficili da analizzare e da modificare Checksum Calcolare checksum di dati e routine che possono essere attaccati E il valore precalcolato uguale al valore calcolato dinamicamente? Un attaccante potrebbe capire che il codice protetto dal checksum è importante Contromisura: più checksum, anche su parti secondarie, con controlli incrociati e dipendenti Esche Aggiungere esche con controlli di licenza validi e facili da trovare Un attaccante è indotto a pensare che la protezione sia più debole di quella reale Introdurre checksum su questo codice esca Se l esca viene rimossa o modificata, introdurre sottili bug nel programma Offuscamento Aggiungere codice Codice che non viene mai eseguito Codice che non fa nulla Rendere i calcoli più complessi del necessario Utilizzare relazioni matematiche per condizioni vero/falso (attaccante non sa che è sempre vera/falsa) Spostare il codice Copiare e rinominare la stessa funzione, invee di richiamarla da più punti Unire più funzioni in una sola, assicurandosi la corretta esecuzione dei blocchi di codice in base alla chiamata Codificare i dati in modo strano Conversioni in set di caratteri strano Creazione di stringhe stampabili solo se necessario Cifrare i dati Avvertenze Rallentamento esecuzione Programmazione di bassa qualità Valutare bene le conseguenze!

Cifratura Cifrare parte del codice e dei dati Il codice ha la procedura di decifratura con la Conclusioni Trovare un metodo contro la pirateria efficiente economico resistente contro i pirati esperti non invasivo è un compito impossibile! Però si può cercare di rendere lo sforzo richiesto per la contraffazione più grande del vantaggio corrispondente Abbiamo descritto alcune tecniche Si possono applicare molte diverse tecniche in modo giudizioso! Bibliografia """#$%&'(&)*,-%.,/0".,#-/! Si trova anche il codice del testo Capitolo 5