Newsgroup: it.comp.sicurezza.varie
Titolo: Proteggere i contenuti di una pagina... sicurezza?

Ciao a tutti,
ho postato questo messaggio anche in it.lavoro.professioni.webmaster,
ma le risposte non mi hanno soffistatto più di tanto... penso possa
essere trattato come un piccolo problemino di sicurezza, quindi
testualmente (opportunamente riveduto) vi rigiro il messaggio...
grazie.
------------------------------------------------------------------------------------------------
stò sviluppando una applicazione web che prevede un pesante uso di
javascript lato client, oltre ad un uso moderato di asp lato server.
Dato che l'applicazione alla fine è "unica" nel suo genere, destinata
ad essere distribuita in ambiti specifici, vorrei sottoporre
alcuni interrogativi:
1) è possibile proteggere il contenuto di una pagina asp, in modo che
il codice presente nella stessa sia, diciamo... compilato?
2) è possibile proteggere i contenuti javascript lato client? (tenedo
anche conto che i contenuti js sono salvati su file esterni al file
visualizzato sul browser ed una parte del codice javascript è
contenuto fisicamente nella pagina stessa)...
3) come posso realizzare contenuti "compilati" lato client anche in
java oltre che in javascript?
grazie a tutti.
ciao!

 java oltre che in javascript?
Le applicazioni lato client in java (applet) SONO compilate, anche se 
esistono dei decompiler bytecode, di cui pero' non conosco l'efficienza.
-- 
Fabrizio "Hermooz" Ermini

 java oltre che in javascript?
Ah... Sei uno di quelli che chiede finché qualcuno non gli da la risposta
che vuole? Bene :P
Per il codice server side o metti tutto su un tuo server e 'affitti' al
cliente l'uso dell'applicazione o non ne vieni fuori. Se il dominio è del
cliente l'accesso via ftp è suo, e tu non puoi evitare questo.
Per il codice client side non c'è alcuna possibilità. Ciò che è inviato ai
client è visibile a chiunque.
Ma penso che sta' storia l'avrai già sentita ed è di quelle che non ti
piacciono.
Hola
-> GbC|
www.gbcweb.com

altri aiuti?
Se non sbaglio con 
ASP.NET
 puoi mettere tutto in DLL e dormire
tranquillo, anche se dovresti tradurre tutto ciò che hai fatto finora.
Lato client puoi appoggiarti su applet java o flash, a meno che tu non
sia in grado di costruirti un client/plugin/activeX tutto tuo.
Ciao!
Davide
--
Prima di postare: 
http://alnitak.ctt.it/%5Erni/smartq.php
Un esperto sempre disponibile: 
http://www.google.it

 tranquillo,
oh yes.
Con C# si può far girare un eseguibile sul server, esattamente come un
programma qualsiasi.
Dal client al massimo vedi il codice html della pagina che il server genera
e gli invia.

 
C'erano alcuni virus web che si propagavano via js e come tag html c'era
<script language=encrypted javascript>
non ho però mai trovato il criptatore :-(
Girellando ho trovato questo
http://www.aspnetresources.com/blog/iis6_mime_mappings.aspx
che fa riferimento a file js criptati
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Io ho un amico cosi' pigro, cosi' pigro, ma cosi' pigro, che ha sposato
una donna incinta.
		-- Gino Bramieri

 tranquillo, anche se dovresti tradurre tutto ciò che hai fatto finora.
si può fare anche con l'ASP "vecchio", figurati te :-)
Pero' la differenza è che non è più sufficiente uploadare le pagine 
.asp, ma devi installare un'applicazione vera e propria sul server. Se è 
in hosting dubito fortemente che glielo facciano fare...
-- 
Fabrizio "Hermooz" Ermini

 non ho però mai trovato il criptatore :-(
Al 90% si basano su qualche activeX. Se apri la sorgente con un browser 
solo testo scommetti che li vedi in chiaro? :-)
-- 
Fabrizio "Hermooz" Ermini

 spezzettare ed infine invisibilizzare...
Sai male. Con diversi escamotage è possibile DARE L'IMPRESSIONE di aver 
reso un javascript non intelligibile. L'unica cosa che puoi ottenere è 
aumentare la fatica e la spesa di chi vuole ricostruirlo, ma non lo puoi 
impedire, se vuoi consentire al browser che lo deve eseguire di capirlo 
ed eseguirlo.
Se hai delle esigenze di sicurezza per cui devi implementare un 
"protocollo proprietario" client side, devi cestinare javascript e 
guardare ambienti di sviluppo diversi (ti hanno già segnalato flash e 
ActiveX, per esempio).
-- 
Fabrizio "Hermooz" Ermini


Non ci giurare...
http://www.x-privat.org/link/7951597.html
in particolare l'esempio.
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
New York!  Grande citta'!  Venite a visitarla: vi arresteranno!
		-- Michael Keaton

 in particolare l'esempio.
Beh...è un encoding.
Il browser ne fa il decoding?
Sì, se lo script funziona.
Ergo non è certo una protezione, ma una obfuscation, al più.


Ok, ma se guardi il sorgente non vedi niente in chiaro (anche se non ho 
provato con il debugger di mozilla)
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
O quest'uomo e' morto, o il mio orologio si e' fermato!
		-- Groucho Marx

in particolare l'esempio.
<!-- <SCRIPT LANGUAGE="JScript.Encode"> -->
Come al solito la compatibilità è un'opinione ;>
Che succede se scarico la pagina, la modifico e "printo" come stringa
lo script a video? (non ho provato.. non ho tempo ora) ;)
IMHO la soluzione è sempre quella: no script.
Ciao,


 
Ok, la scommessa l'ho persa, te lo riconosco (hai un caffè pagato ;-))
Pero' il discorso non cambia: con un browser testuale non vedo il 
chiaro, ma lo script non è eseguibile senza l'activeX che te lo 
"de-offusca", quindi perdi in compatibilità. E, come giustamente ti fa 
notare whip, la "codifica" del codice è tutt'altro che una garanzia di 
sicurezza. Riporto dallo stesso link che proponi:
"Note that this encoding only prevents casual viewing of your code; it 
will not prevent the determined hacker from seeing what you've done and 
how."
-- 
Fabrizio "Hermooz" Ermini

 
Penso che client-side sia il massimo ottenibile;
mi ricordavo comunque che anche senza l'activex sia possibile ottenere 
qualcosa.
Certo che un php encodato sul server è un po' più "difficile" da 
smandruppare
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Il miglior modo di cucinare il riso senza che questo si attacchi e'
quello di cucinare un chicco separato dall'altro.
		-- Ashleiaht Brilliant

 Penso che client-side sia il massimo ottenibile;
No, il massimo ottenibile client-side è sviluppare un client ad hoc con 
tecnologia J2EE, .Net o quello che preferisci :-)
-- 
Fabrizio "Hermooz" Ermini

 
Vabbè, si parlava di banale browser... (mi vuoi scroccare un caffè di 
sponda a tutti i costi?)
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Riesco a trovare ogni parola sul dizionario molto piu' velocemente,
da quando ho scoperto che sono in ordine alfabetico.
		-- Leopold Fechtner

 sponda a tutti i costi?)
tutt'altro, ho già riconosciuto il mio debito :-)
-- 
Fabrizio "Hermooz" Ermini

 
Ehm ...:
http://www.virtualconspiracy.com/index.php?page=scrdec/intro
Encodate gente, encodate.
L.
--
spammers welcome
http://lucio.altervista.org
 

 
Mai detto che fosse sicuro al 100% (poi è targato M$, che si pretende..)
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Il leone e il vitello giaceranno insieme, ma il vitello dormira' ben poco.
		-- Woody Allen

smandruppare
Dipende, se e' roba tipo phpscrew... 8-)
Leonardo
-- 
"Se e' vero che Linux in se' e' gratis, non lo sono le indispensabili
interfacce grafiche (X, KDE ecc.) che consentono alle persone normali
di utilizzarlo."                    -- Jason Matusow, Microsoft Corp.