Proteggi l'applicazione WEB java all'interno del server (contro il reverse engineering) [chiuso]

-5

Ho un'applicazione web in esecuzione sul contenitore servlet di Glassfish 3.1.2 e ho bisogno di un modo per proteggere le classi java compilate. Ho cercato di offuscare il codice sorgente ma non ha funzionato.

Il progetto contiene molte classi che usano java reflection, annotazioni, generici e altre cose che rendono molto difficile il processo di offuscamento. Qualcuno conosce un modo per limitare l'accesso ai file .war e. Class nella cartella glassfish? Qualcuno ha già questo problema e riesce a trovare una soluzione praticabile?

    
posta lucianovcnt 22.05.2013 - 23:41
fonte

1 risposta

4

Quello che stai chiedendo di fare è cercare di fare è impossibile. Se la macchina può capire come eseguire un'applicazione, anche quella umana.

Ora, il tuo codice sorgente deve essere assolutamente leggibile a fini di manutenzione e audit, se la sicurezza è davvero una delle tue preoccupazioni principali.

Come per impedire alle entità malvagie di decodificare il tuo WAR, hai alcune opzioni, alcune più radicali.

  1. Cambia il tuo metodo di consegna in software-as-a-service. Le entità ostili non vedono mai la tua GUERRA, ma assumono rischi aggiuntivi, in quanto la tua azienda sarà quella attaccata ora, non i tuoi clienti. Stai centralizzando anche i dati dei tuoi clienti, quindi una violazione di un cliente in un sistema progettato male interesserà tutti i clienti.

  2. Utilizzare una qualche forma di gestione delle licenze all'interno dell'applicazione. Metti in chiaro che chiunque eluderà le restrizioni sarà a carico del tuo dipartimento legale. Il problema consiste nel rilevare quando qualcuno tenta di decodificare la tua WAR. Eliminando i controlli di auto-integrità casuali nel codice sorgente, alcuni potrebbero aiutare il telefono a casa, se falliscono, ma si trovano su basi instabili - gli autori di attacchi possono rimuoverli.

  3. Vai a Open Source. Seriamente, vai all'open source e posizionati come consulente e SaaS come sopra. Ci sono dei seri vantaggi in questo, ad esempio la legge di Linus potrebbe entrare in gioco. Tuttavia, se il tuo algoritmo è un segreto commerciale, o la tua sicurezza si basa su Principio di Kerckhoffs , questa potrebbe essere una cattiva idea . Ovviamente, dovrai riprogettare i piani di cash flow attuali della tua azienda. Esistono anche diversi modelli di questo, ad esempio, edizioni commerciali ed edizioni professionali gratuite, o plug-in di pagamento.

risposta data 23.05.2013 - 13:07
fonte

Leggi altre domande sui tag