cTraderにおけるアルゴリズムのセキュリティ対策
cTraderは、アルゴリズム開発者が知的財産を損なうことなく、作成、配布、実行できる安全な環境を提供します。 ローカル開発からcTraderストアでの配布、実行までのすべての段階で、ソースコードは常に保護されています。
この記事では、cTraderエコシステムに組み込まれた保護対策について説明します。
なぜ.algoファイルが安全なのか
cTrader WindowsまたはMacでC#またはPythonを使用してアルゴリズムをビルドすると、コードは独自の.algoファイルにコンパイルされます。 このファイルは知的財産保護の中心であり、従来のDLLとは根本的に異なります:
- メモリ内実行。 ファイルはディスクから読み取り可能な形式で実行されることはなく、ファイルベースの抽出を防ぎます。
- 中間CILコードなし。 標準の.NETアセンブリとは異なり、
.algoファイルにはCILバイトコードが含まれていないため、逆コンパイラが依存するものがありません。 - オプションの難読化。 ビルド時に難読化を有効にすることで、構造的なコード解析をさらに困難にすることができます。
- 逆コンパイル防止設計。
.algoフォーマットは、従来のツールによるリバースエンジニアリングに耐えるように設計されています。
密封された.algoファイルは、不正なアクセスや配布を防ぎ、このファイルはcTraderエコシステム内外でのアルゴリズムとの安全なやり取りの基盤となります。
作成
すべてのコンパイルは、cTrader WindowsまたはMacを使用してご自身のコンピューター上で行われます。 .algoファイルはローカルで生成され、ソースコードはcTraderや第三者サーバーにアップロードされることはありません。
クラウド同期が有効になっている場合でも、元のソースファイルは転送されません。 同期または共有されるのはコンパイルされた.algoファイルのみで、それも暗号化され、お客様の所有権に紐づけられています。
エクスポート
ビルド後、ソースコード付きまたはソースコードなしでcTraderからアルゴリズムをエクスポートできます。 ソースコード付きでエクスポートすることは、協力や信頼できる相手との共有に役立ちますが、ソースコードなしでエクスポートすることは、より広い範囲に配布する際に最も安全なオプションです。
ソースコードなしでエクスポートする場合、特定のユーザーに実行権限を制限するか、グローバルな実行権限を付与することができます:
- ユーザー固有のアクセス – 指定されたcTraderユーザーのみがアルゴリズムを実行できます。
- 任意のユーザーのアクセス – どのcTraderユーザーもアルゴリズムを実行できます。
配布
cTraderストアでアルゴリズムを公開すると:
-
.algoファイルはアップロード時に暗号化されます。注意
ソースコードを含むエクスポートファイルをアップロードした場合でも、保護された
.algoバージョンのみが公開され、ソースコードは自動的に削除されます。 クラウドから直接ストアに追加されたアルゴリズムには、ソースコードは含まれません。 -
各購入に対して、cTraderストアは購入者のcTrader IDに紐づけられた独自の保護されたコピーを生成します。
- ファイルはcTraderユーザー間で転送できないため、不正な共有を防ぎます。
各購入は単一ユーザーで非転送可能であるため、お客様の商業的権利が尊重されます。
実行
cTraderストアで他のユーザーに購入およびインストールされた.algoファイルは、デバイス上でローカルに、またはクラウド内で実行できます。 どちらのモードでも、お客様の知的財産の完全性が保たれます。
ローカル実行
- ファイルはcTrader WindowsまたはMac内で完全に実行され、ユーザーやディスクに公開されることはありません。
- ライセンスチェックにより、実行時にユーザーのアクセス権が検証されます。
- アルゴリズムのロジックは暗号化されたままでアクセスできません。
クラウド実行
- アルゴリズムは、cTraderが提供するサンドボックス化された隔離されたクラウド環境で実行されます。
- ユーザーとブローカーは、取引やインジケーターの値などの出力のみを見ることができ、アルゴリズムの内部は見ることはできません。
.algoファイル自体は、誰もアクセス、ダウンロード、または閲覧できません。
概要
| アクション | 説明 | 保護 |
|---|---|---|
| 作成 | お客様はローカルでコードを書き、アルゴリズムを開発します。 | ソースコードはお客様のデバイスから出ることはありません。 .algoファイルは安全に生成されます。 |
| ビルド | .algoファイルは常に密封されたユニットにコンパイルされ、難読化されることがあります。 | ファイルは逆コンパイルやファイル検査に耐性があります。 |
| エクスポート | コンパイルされた.algoファイルをコードなし(推奨)またはコード付きでエクスポートします。 | ソースコードなしの.algoファイルは、特定のユーザーまたはグローバルに実行専用アクセスを強制します。 |
| 配布 | .algoファイルはcTraderストアにアップロードされます。 | ソースコードは公開版では常に削除されます。 |
| アクセス | 暗号化された個人用コピーが各購入者に提供されます。 | このファイルは他のユーザーが使用することはできません。 |
| 実行(ローカル) | ユーザーはcTraderプラットフォーム内で実行します。 | アルゴリズムコードはメモリ内でも保護され、ライセンスが適用されます。 |
| 実行(クラウド) | アルゴリズムは隔離されたサーバーサイドインスタンスで実行されます。 | ファイルへのアクセスはなく、アルゴリズムの出力のみが公開されます。 |
これらの対策により、アルゴリズムを作成した瞬間から、それが実行されるすべてのインスタンスまで、あなたのアルゴリズムの知的財産が保護されます。
