Diskussion zum Artikel "Schutz von MQL5-Programmen: Passwörter, Schlüssel, Zeitbegrenzung, Berechtigungsfernabfrage" - Seite 2
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich glaube, das ist im Moment die einzige Möglichkeit.
Es gibt keine andere Möglichkeit, die Fähigkeiten eines Händlers zu beweisen. Nur die Überwachung des eigenen Handels. Und es ist großartig, dass es auf dieser Website sein wird. Es gibt keine Notwendigkeit für Onyx und so weiter....
Nur im Moment gibt es nicht viele Informationen zu diesem Thema. Zum Beispiel, welche Arten von Konten können mit diesem Dienst verbunden werden? Genauer gesagt, wird es möglich sein, auch Demokonten anzuschließen? Oder nur echte Konten? Natürlich werden die echten Konten vertrauenswürdiger sein. Sowohl Demo- als auch Realkonten sind vertrauenswürdiger, wenn es ein stabiles Ergebnis für eine lange Zeit gibt (zum Beispiel ab einem halben Jahr). Es kann viele weitere Fragen geben ...
P.S. Im Allgemeinen ist das Thema über etwas anderes, so bin ich verlassen. :)
Übrigens, wir werden bald ein großes Bewertungssystem für alle Benutzer veröffentlichen. Es wird eine sehr interessante Neuerung sein - "gib mir einen Händler der Stufe 80!".
Der Kopierschutz ist ein äußerst schwieriges Problem, daher die Bemühungen der Musik- und Filmindustrie mit DRM und deren wiederholtes Scheitern.
Im besten Fall werden die Informationen hier die Zeit einiger Leute verschwenden; im schlimmsten Fall könnten Sie dem Leser ein falsches Gefühl von Sicherheit vermitteln. Wenn er dann beschließt, ein Produkt mit Ihren Ratschlägen zu "schützen", wird er vielleicht etwas überrascht sein, wenn der Verbraucher den Schutz innerhalb weniger Stunden entfernt und es für einen Bruchteil des Preises weiterverkauft.
Im Ernst: Base64-Kodierung hat nichts mit Verschlüsselung zu tun. Base64-Kodierung wurde entwickelt, um die sichere Übertragung von 8-Bit-Daten mit Hilfe von Protokollen zu ermöglichen, die die Datenkodierung als 7-Bit betrachten. Base64-Kodierung kann auf triviale Weise rückgängig gemacht werden - und dafür ist sie auch gedacht!
Die einzige Lösung, die ich für die sichere Verteilung der MQL5-Software sehe, ist entweder die eingeschränkte Vollmacht des Brokers oder die Installation einer Instanz von MQL5 mit den .ex5-Dateien auf einem Server und der Zugriff für den Kunden über einen Thin Client (damit er die .ex5-Datei nicht herunterladen kann). Und ja, ich arbeite seit über 15 Jahren im Bereich der Informationssicherheit und weiß daher ziemlich genau, wovon ich spreche.
Um ehrlich zu sein, bin ich ziemlich überrascht, dass Metaquotes den Artikel veröffentlicht hat.
Der Artikel gibt einige Hinweise darauf, wie das Problem zu lösen ist. In Wirklichkeit sollte das Problem durch den mt5-Client gelöst werden. Es gibt viele Plattformen da draußen, die Verschlüsselung innerhalb der Client-Software verwenden, so dass die Software und nicht der Coder das Problem löst.
Der Artikel gibt einige Hinweise darauf, wie das Problem zu lösen ist. In Wirklichkeit sollte das Problem durch den mt5-Client gelöst werden. Es gibt viele Plattformen, die die Umschreibung innerhalb der Client-Software verwenden, so dass die Software und nicht der Programmierer das Problem löst.
Selbst für die MetaQuotes-Client-Software ist die Implementierung dieser Funktionalität ein schwieriges Problem: Die Software muss entweder einen Entschlüsselungsschlüssel enthalten oder herunterladen, was bedeutet, dass es möglich ist, diesen Schlüssel zu kompromittieren. Wenn ein manipulationssicheres Hardware-Gerät verwendet wird, ist die .ex5-Datei immer noch angreifbar, es sei denn, sie wird *auf* der manipulationssicheren Hardware ausgeführt, da sie irgendwann entschlüsselt werden muss, um ausgeführt werden zu können. Ich bin zwar nicht in der Lage, solche Angriffe zu implementieren, aber ich kenne eine ganze Reihe von Leuten, die das ohne große Schwierigkeiten tun können.
Für das Bedrohungsmodell eines Endbenutzers, der Zugriff auf die .ex5-Datei hat, die er ausführen kann, gibt es *keine* sichere Lösung.
Dies ist die allgemeine Klasse von Problemen - mit anderen Worten der Schutz von Inhalten -, für die Unternehmen/Institutionen Thin-Client-Modelle verwenden: Auf diese Weise können die sensiblen Inhalte nicht heruntergeladen, sondern nur auf den Servern des Unternehmens/der Institution verwendet werden.
Sie sollten wissen, dass alle EX5-Programme mit starken Schlüsseln verschlüsselt sind. Das ist der erste Punkt.
Und zweitens - vergessen Sie nicht den Market - Ein Markt von Expert Advisors für MetaTrader 5. Alle Produkte im Market sind mit einem zusätzlichen Schlüssel für den Käufer verschlüsselt. Das bedeutet, dass niemand außer dem legalen Benutzer solche EX5-Programme starten kann.
Sie sollten wissen, dass alle EX5-Programme mit starken Schlüsseln verschlüsselt sind. Das ist der erste Punkt.
Und zweitens - vergessen Sie nicht den Market - Ein Markt von Expert Advisors für MetaTrader 5. Alle Produkte im Market sind mit einem zusätzlichen Schlüssel für den Käufer verschlüsselt. Das bedeutet, dass niemand außer dem legalen Benutzer ein solches EX5-Programm starten kann.
Sie könnten auch Ihre Haustür durch eine verstärkte Stahltür ersetzen, aber das wird nichts daran ändern, dass Sie nicht eintreten können, wenn Sie den Schlüssel auf der Fußmatte liegen lassen. Der von Ihnen beschriebene Schutz ist gut geeignet, um einen Gelegenheits-Codierer abzuschrecken, aber sicherlich nicht gegen einen motivierten Angreifer.
Die Frage ist hier nicht die Verschlüsselung - das ist der einfache Teil - sondern vielmehr, wie Sie mit den Schlüsseln und dem Entschlüsselungsprozess umgehen.
In dem Szenario, in dem ein Angreifer, nennen wir ihn klassisch Mallory, einen EX5 kopieren und verbreiten möchte, für den er den Schlüssel hat, kann er dies sicherlich tun, indem er
i. die EX5 mit dem Schlüssel ausführen;
ii. den laufenden Prozess überwachen, z.B. durch Anhängen einer DLL an den Prozess, und den Inhalt des EX5 sofort nach dessen Entschlüsselung ausgeben;
iii. den nun im Klartext vorliegenden EX5 wieder zusammensetzen (und möglicherweise in den Quellcode disassemblieren, wenn man sich die Mühe machen kann).
Wenn der erste Punkt des Schutzes die Überprüfung der Signatur beinhaltet, muss der Angreifer nur eine andere ausführbare MQL-Datei mit den entsprechenden öffentlichen Schlüsseln verteilen. Wenn MQL5 eine kryptografische API zur Überprüfung der Zertifizierung verwendet, kann diese aus der Binärdatei herausgelöst werden. Dies setzt sich ad infinitum fort.
Und das alles, bevor Sie den Alptraum der Schlüsselverwaltung in Betracht ziehen.
Diese Art von Binäranalyse übersteigt zwar derzeit meine Fähigkeiten, aber ich kenne mehrere Leute, die das ohne Probleme bewerkstelligen könnten. Es ist also nicht die Stärke der Verschlüsselung, über die Sie sich Sorgen machen sollten, sondern eher, dass Sie ein ungültiges Sicherheitsmodell haben. Es ist kein besonderes Problem an sich, da niemand erwartet, dass MetaTrader dieses Problem löst - es gibt andere sehr brauchbare Lösungen für dieses Problem, insbesondere, dass der Eigentümer des MQL5/EX5-Codes ihn auf einem separaten Server laufen lässt, den er kontrolliert und für den er den Zugang/die Signale für Käufer lizenziert.
Ich kann also nicht verstehen, warum die Leute diese Möglichkeit verlangen, wenn es so schwierig ist, sie richtig zu implementieren, zumindest ohne manipulationssichere Hardware.
"Sie können auch eine Variable hinzufügen, die sich auf die Hardware-Eigenschaften bezieht (HDD-Seriennummer oder CPUID-Informationen). In diesem Fall muss ein zusätzlicher Generator mit Hardwarebindung ausgeführt werden, um den Expert Advisor zu starten.
Das Ergebnis kann als Eingabeparameter für den Generator dienen und das generierte Passwort ist nur für eine bestimmte Hardware korrekt. Dies schränkt diejenigen ein, die ihre Computerkonfiguration geändert haben oder einen VPS verwenden, um den Expert Advisor auszuführen, aber dies kann durch die Vergabe von zwei oder drei gültigen Passwörtern gelöst werden. Diese Methode wird im Market-Service verwendet."
Wo kann ich mehr über die Bindung an die Hardware erfahren oder ein Beispiel für den Quellcode finden? Und was bedeutet es -" Diese Methode wird im Dienst "Market" verwendet."? Das heißt, wenn ich eine kompilierte Expert Advisor-Datei im "Market"-Service zum Verkauf anbiete, beinhaltet sie dann automatisch die Bindung an die Hardware? Oder muss ich den Quellcode angeben und die Metaquotes-Mitarbeiter fügen dort zusätzlich die Bindung an die Hardware hinzu?
Ist es möglich, die Bindung an die Hardware in MQL4 zu implementieren? (Die meisten Brokerage Center arbeiten noch mit MT4).
Wo kann ich mehr über die Bindung an die Hardware erfahren oder ein Beispiel für den Quellcode finden? Und was bedeutet: "Diese Methode wird im Dienst "Market" verwendet"? Das heißt, wenn ich eine kompilierte Datei eines Expert Advisors zum Verkauf im "Market"-Service einstelle, ist die Bindung an die Hardware automatisch darin enthalten? Oder muss ich den Quellcode angeben und die Metaquotes-Mitarbeiter fügen dort zusätzlich die Bindung an die Hardware ein?
Kann Hardware-Bindung in MQL4 implementiert werden? (Die meisten Maklerzentren arbeiten noch mit MT4).