Lohnt es sich, Java-Webanwendungen zu verschleiern? [geschlossen]

8

Lohnt es sich, Java-Webanwendungen zu verschleiern? und warum?

    
janetsmith 14.09.2009, 02:44
quelle

8 Antworten

10

Nein. Der Code wird auf dem Server gespeichert, auf den externe Benutzer (hoffentlich) keinen Zugriff haben. Vielleicht möchten Sie das JavaScript verschleiern, wenn Sie glauben, dass es den (minimalen) IP-Schutz wert ist.

Das Beste ist, dass Ihre Server-Sicherheit auf dem neuesten Stand ist und Sie keinen freien Zugriff auf Ihre Anwendungsverzeichnisse haben (was sowieso nicht passieren sollte).

    
Luke Schafer 14.09.2009, 02:45
quelle
5

IMO, nein.

Es gibt zwei Hauptfälle für die Verschleierung:

  1. zum Schutz der Zugangskontrolle "Geheimnisse" (z. B. Passwörter) in den Code eingebettet und
  2. zum Schutz gegen jemanden, der dein "geistiges Eigentum" stiehlt.

Das Problem besteht darin, dass die Verschleierung nur halbherzige Versuche des Reverse Engineering verhindert. Ein ernsthafter Versuch wird immer gelingen. Es ist wirklich nicht so schwer, eine verschleierte JAR-Datei zu dekompilieren, und es gibt viele Tools dafür.

Für die oben genannten Anwendungsfälle gibt es bessere Alternativen zur Verschleierung:

  1. einfach nicht Geheimnisse in den Code einbetten, und
  2. eine oder beide der folgenden:
    • Sichern Sie Ihre Webserver, damit Hacker den Code nicht verstehen und
    • Liefern Sie nicht den Code, den Sie für wertvolle IP halten, oder versenden Sie Code nur an Personen, die einen rechtsverbindlichen Vertrag / Lizenzvertrag unterzeichnet haben, der Ihre IP-Rechte schützt.
Stephen C 14.09.2009 03:25
quelle
3

Das einzige Szenario, in dem Sie eine Java-Webanwendung verschleiern würden, wäre, wenn Sie Ihren Kunden den Code für die Ausführung auf ihren Servern geben würden. Ansonsten ist es nur eine Verschwendung von Zeit und eine zusätzliche Komplexität.

Verschleierung dient dazu, es für jemanden schwieriger zu machen, Ihren Bytecode zu dekompilieren und nützlichen Code daraus zu bekommen. Dazu müssen sie Zugriff auf Ihre Klassendateien haben, etwas, das nur existiert, wenn Sie sie an Ihre Kunden liefern, nicht wenn sie remote darauf zugreifen.

    
Yishai 14.09.2009 02:49
quelle
2

Ich würde hinzufügen, dass Sie eine gute Begründung haben sollten, weil die Verschleierung das Debuggen schwieriger macht.

    
daveb 14.09.2009 02:48
quelle
2

Sie finden vielleicht die Antworten zu Verschleiern Sie Ihren kommerziellen Java-Code? relevant.

    
quelle
2
  

Lohnt es sich Java Web-Anwendungen zu verschleiern?

Es kommt darauf an

  

und warum?

Wenn Sie Ihre Web-App lizenzieren, um auf der Website Ihres Kunden installiert zu werden, und Sie nicht möchten, dass Ihr Kunde Ihren Code wieder verwendet, indem Sie ihn dekompilieren * , dann ist dies .

Wenn Sie Ihre Web-App bereitstellen und die Installation nur von Ihnen verfügbar ist, würde ich sagen, ist es nicht . Besser wäre es, Ihre Netzsicherheit zu erhöhen.

* Siehe Stephen C Kommentar

    
OscarRyz 06.11.2009 21:29
quelle
1

Absolut ja.

Wenn Ihr Entwicklungsprozess korrekt ist, müssen nur Binärdateien und einige Unterstützungsdateien (Markup und Stylesheets zum Beispiel) auf dem Server sein. Es gibt keinen guten Grund, nicht Binärdateien in einer Produktionsumgebung zu verschleiern.

Andere hier haben gesagt, dass dies Probleme für die Mitarbeiter schafft. Die einzigen Personen, die sich über den Inhalt Ihrer Binärdateien bewusst sein sollten, sind Entwickler - und sie haben die Quelle, so dass sie sich nicht darum kümmern sollten, kompilierte Objekte zu durchsuchen.

Der einzige Grund, warum ich sehen kann, dass jeder, der keinen Zugriff auf die Quelle hat, an den Inhalten von binär interessiert wäre, wäre Reverse Engineering - und niemand in Ihrem Team sollte Interesse daran haben, Ihr eigenes Produkt nachzubauen, es sei denn, sie haben keinen Zugriff auf die Quelle. Das bedeutet, dass sie entweder für diesen Code nicht freigegeben sind oder dass Sie ihn verloren haben, was bedeutet, dass Ihr Quellcodeverwaltungssystem entweder saugt oder vollständig fehlt. Das ist eine völlig andere Konversation.

Ich habe noch keine praktischen Beispiele für serverseitige Verschleierung gehört, die Entwicklungsschwierigkeiten oder administrative Schwierigkeiten verursachen.

    
David Lively 21.06.2010 21:42
quelle
-2

Ist es eine gute Idee, Ihren Server Seitencode zu verschleiern? Ich würde ein unqualifiziertes JA geben.

Die Realität ist, dass der Endbenutzer nur eine Gruppe ist, die dies tun könnte habe schändliche Pläne. Allzu oft interne Mitarbeiter, unabhängig davon, ob sie Geschäftsanwender , Supportmitarbeiter usw. haben möglicherweise auch eigene Pläne .. oder Komplizen .

Wenn Sie mit JEDEN Informationen umgehen, für die ein Passwort erforderlich ist, dann haben Sie eine Pflicht , jedes verfügbare Werkzeug zu nutzen, um diese Informationen zu schützen.

Dies beinhaltet den Schutz gegen externe und interne Menschen. Unternehmen verlieren ständig Daten und geistiges Eigentum aufgrund von internen Personen mit zu viel Zugriff. Ob diese Leute absichtlich die Informationen gestohlen haben oder einfach die Kontrolle über ihre Computer aufgrund von Hackerangriffen verloren haben, ist immateriell.

Also, wieder, ja, ein Schritt besteht darin, zu verschleiern, in der Hoffnung, dass derjenige, der die Binärdateien erwirbt, es schwerer hat herauszufinden, wie Ihre Anwendung funktioniert. Natürlich sollten Sie viel weiter gehen, indem Sie die Server sichern, auf denen es lebt. und nicht nur Produktion , sondern den ganzen Weg zurück zu Quellenkontrolle .

    
NotMe 21.06.2010 16:06
quelle