To top
Products Products

AxProtector Java

Share:

Protezione Automatica per il Software Java

Quando si tratta di integrare misure di protezione nel software Java, AxProtector Java rappresenta la soluzione ideale per risparmiare tempo e fatica. Grazie ad AxProtector Java, è infatti possibile proteggere il proprio software contro la pirateria e il reverse engineering in modo completamente automatico.

AxProtector Java è disponibile come strumento da riga di comando e può essere eseguito in integrazione continua in un sistema automatico di compilazione.

AxProtector Java può nascondere speciali comandi di CodeMeter come trappole honeypot sotto forma di metodi aggiuntivi iniettati nel vostro codice. Ogni aspirante attaccante che cercasse di decifrare tutte le funzioni criptate, ad un certo punto, "inciamperà" in una delle trappole. Questo attiverà il comando segreto e bloccherà la licenza, fermando il malfattore ed impedendo qualsiasi ulteriore decifrazione di altre funzioni. Oltre a queste trappole impostate automaticamente, potete anche aggiungere vostri ulteriori metodi per creare delle honeypots ancora più invitanti. Questo trucco rende AxProtector Java una salvaguardia estremamente efficace contro la decrittazione sistematica del software protetto.

Rispetto ai semplici e banali offuscatori, AxProtector Java garantisce un livello di sicurezza molto più alto. Mentre l'offuscamento standard cambia solo i nomi e rimescola il codice, AxProtector Java protegge il codice eseguibile con una crittografia AES a 256 bit. Questo rende impossibile decompilare l'applicazione protetta sull'unità; il codice viene decifrato nell'ambiente sicuro di una chiave hardware o di un servizio Windows, rendendolo ancora più difficile da raggiungere per gli aspiranti attaccanti rispetto alla semplice offuscazione a livello Java. Senza la giusta licenza e le giuste chiavi di decrittazione, un malfattore non può nemmeno estrarre il codice dalla memoria del dispositivo. Le trappole nascoste sono impostate per rendere impossibile a livello pratico la decrittazione su larga scala di tutti i metodi: Ad un certo punto, una trappola scatterebbe e la licenza verrebbe bloccata, rendendo la chiave inservibile per qualsiasi altro tentativo di attacco. Ma non è solo la sua sicurezza aggiunta che distingue AxProtector Java dai normali offuscatori: Poiché i nomi delle funzioni non hanno bisogno di essere cambiati, caratteristiche come la riflessione o il remoting sono disponibili come sempre e senza dover compromettere la sicurezza.

AxProtector Java - II generazione

La seconda generazione di AxProtector Java offre una protezione automatica completa e sofisticata per le applicazioni Java SE (J2SE) e Java EE (J2EE). I produttori di software hanno la possibilità di crittografare separatamente le classi e i metodi, escludendo spedicifi classi e metodi che potrebbero avere un impatto sulle prestazioni del software.

Un guscio di protezione, chiamato AxEngine, viene aggiunto all'applicazione Java. Durante la prima chiamata dell'applicazione, un metodo AxEngine viene registrato nell'ambiente di runtime. Questo metodo viene eseguito automaticamente durante il caricamento di tutti i metodi e le classi e fa in modo che le classi e i metodi protetti vengano decrittati automaticamente. AxEngine è costituito da componenti Java e componenti nativi JNI (Java Native Interface).

AxProtector Java - II generazione - Principio di Funzionamento

AxProtector Java - I generazione

La prima generazione di AxProtector Java è ancora disponibile per motivi di compatibilità. Crittografa un'applicazione Java SE (J2SE) a livello di classe. Ogni singola classe viene quindi crittografata separatamente nell'applicazione Java. Per evitare un impatto sulle prestazioni del software, è possibile escludere singole classi.

Un guscio di protezione, chiamato AxEngine, e una classe wrapper vengono aggiunti all'applicazione Java. Il wrapper viene quindi aggiunto come nuova classe principale dell'applicazione e viene eseguito per primo. Questa classe wrapper carica dapprima un loader di classi Wibu e, successivamente, la classe principale originale. Il loader di classi Wibu è responsabile della decrittazione delle classi protette. Utilizza AxEngine, che consta di componenti Java e componenti nativi JNI.

AxProtector Java - I generazione - Principio di Funzionamento

Sicurezza insita nell'uso di JNI

La decrittazione e la maggior parte dei controlli di sicurezza vengono effettuati all'interno della parte JNI nativa di AxEngine. Non è possibile effettuare alcuna decrittazione in assenza di una licenza corrispondente in una CmDongle o di una CmActLicense. Rispetto alle soluzioni basate esclusivamente su Java, l'uso di componenti nativi aumenta la sicurezza in modo significativo. I componenti nativi sono disponibili per Windows, macOS e Linux.

AxProtector Java aggiunge all'applicazione Java meccanismi anti-debugging di ultima generazione. L'applicazione protetta assicura che venga eseguita su una macchina virtuale Oracle Java originale. Una macchina virtuale modificata o locale che, ad esempio, trasferisse le classi decodificate, verrebbe rilevata e la decodifica delle classi protette, rifiutata. Interfacce di debug come JVMTI vengono ugualmente identificate.

Utilizzo delle API di CodeMeter

Se confrontato con l'integrazione delle API di CodeMeter, AxProtector Java fornisce un elevato livello di protezione con il minimo sforzo. È inoltre possibile l'uso supplementare delle API di CodeMeter.

Questo permette di rafforzare ulteriormente la protezione del software con le funzioni di crittografia delle nostre API, incrementare protezione e sicurezza dei dati ed inserire specifiche interrogazioni di licenza.

Gestione delle Singole Licenze

Grazie ad AxProtector Java, è possibile codificare le diverse parti dell'applicazione Java utilizzando diversi Codici Prodotto. Creando una licenza con un sottoinsieme di tutti i Codici Prodotto, è possibile limitare l'utilizzo dell'applicazione esclusivamente alla funzionalità acquistata. Quando si utilizzano le API di CodeMeter, è inoltre possibile abilitare o disabilitare gli elementi grafici, come pulsanti o voci di menu.

La crittograzia di diversi Codici Prodotto offre la massima sicurezza. Ogni Codice Prodotto utilizza una diversa chiave AES per crittografare l'applicazione. Senza un Codice Prodotto corrispondente, questa chiave non è disponibile né è possibile una decodificazione non autorizzata.

Anti-Reverse Engineering senza Gestione Licenze

Come con qualsiasi altro componente di CodeMeter Protection Suite, è possibile utilizzare AxProtector Java di prima e seconda generazione mediante una Licenza di Sola Protezione. Il produttore di software consegna CodeMeter Runtime e una licenza generica già attivata insieme all'applicazione. La decrittazione dell'applicazione avviene nella parte nativa di CodeMeter Runtime, aspetto che innalza gli standard di sicurezza rispetto alle soluzioni basate solo su Java.

IP Protection Mode

La modalità IP Protection è stata creata pensando ai modelli freeware e freemium, ma funziona perfettamente anche in combinazione con le licenze. A differenza della configurazione di base, la crittografia non è legata ad una licenza CodeMeter. La chiave necessaria per la decrittazione è nascosta in modo sicuro nell'applicazione stessa e l'applicazione può essere eseguita in qualsiasi momento.

Per i modelli freemium, la modalità IP Protection può essere combinata con una licenza individuale: Parti dell'applicazione in questione sono criptate nella modalità IP Protection e rimangono sempre disponibili; altre parti sono legate ad una licenza e possono essere utilizzate solo da utenti che possiedono la giusta licenza. L'API può essere usata per controllare se una funzione è disponibile o meno (check_license).

Interested in a personalized offer for our CodeMeter technology? Just answer a few questions and our team will get back to you with all the information you need.

Submit