Frage

Welche Empfehlungen können Sie geben für ein system, die tun müssen, die folgenden:

Plugins laden (und schließlich führen Sie Sie aus), haben aber 2 Methoden der laden diese plugins:

  • Laden Sie nur autorisierte plugins (entwickelt durch die Besitzer der software)
  • Laden Sie alle plugins

Und wir müssen uns einigermaßen sicher, dass die autorisierten plugins sind der real deal (unverändert).Aber alle plugins müssen in getrennten Baugruppen.Ich habe auf der Suche bei Verwendung von Assemblys mit starkem Namen für die plugins, die mit dem öffentlichen Schlüssel gespeichert in die loader-Anwendung, aber dies erscheint mir zu einfach, um zu ändern Sie den öffentlichen Schlüssel in die loader-Anwendung (wenn der Benutzer so geneigt sind), unabhängig von jeglicher Verschleierung des loader-Anwendung.Sicher keinem mehr Ideen?

War es hilfreich?

Lösung

Im Grunde, wenn Sie setzen Sie Ihren code auf einer anderen Maschine, es ist keine absolute Garantie für die Sicherheit.

Sie können den Blick auf alle Arten von Sicherheits-tricks, aber am Ende, die code ist auf Ihre Maschine, so es ist außerhalb Ihrer Kontrolle.

Wie viel Sie stehen zu verlieren, wenn der Benutzer lädt eine unbefugte plugin?

Andere Tipps

Wie viel Sie stehen zu verlieren, wenn der Benutzer lädt eine unbefugte plugin?

Zugegeben, dies wird nicht oft passieren, aber wenn/wenn es passiert, verlieren wir viel, und ich obwohl ich weiß, wir produzieren nichts 100% sicher, ich will es machen genug mit einer Behinderung, den Menschen ab, es zu tun.

Die lästige Sache über das gehen mit einer einfachen dynamische Belastung mit voller starke Namen, ist, dass alles was es braucht ist eine einfache string-literal zu ändern, die innerhalb der loader-app zu laden, alle anderen Montage-obwohl die plugins sind unterzeichnet.

Sie können erweitern Ihre Frage :"wie kann ich schützen mein .net-Assemblys von reverse engineering ?"

die Antwort ist - Sie können nicht.für diejenigen, die havent gesehen, doch einfach nachschlagen "Reflektor", und führen Sie es auf einige naive exe.

(durch die Weg, das ist immer die Antwort für code, der aus der Hand, so lange wie Sie tun nicht haben die de - /Entschlüsselungs-hardware gesendet mit es),

verschleiern versucht das reverse engineering, härter zu werden (Kosten mehr Geld) als Entwicklung, und für einige Arten von algorithems gelingt es.

Zeichen der Baugruppen.

Starken Namen signieren oder starke-Benennung, gibt eine software-Komponente, weltweit eindeutige Identität, die nicht gefälscht werden von jemand anderem.Starke Namen verwendet werden zu gewährleisten, dass die Komponente Abhängigkeiten und Konfiguration - Anweisungen anzeigen, um genau das richtige Bauteil-und Komponenten-version.

http://msdn.microsoft.com/en-us/library/h4fa028b(VS.80).aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top