web-dev-qa-db-ja.com

貴重なアルゴリズムを秘密に保つ

非常に効果的で価値のある証券取引アルゴリズムを考えると、どのようにしてそれを秘密にし、盗難やコピーから保護するのでしょうかどの技術またはアーキテクチャが最適ですか?

アルゴリズムはもちろんいくつかの入力データを必要とし、いくつかのデータを出力します。また、メンテナンスと開発も必要になります。

できればネットワークに接続するのが望ましいですが、その場合はあらゆる種類の脅威とセキュリティ侵害の可能性があります。

人々は、ソフトウェア開発者、テスター、管理者として、またはユーザーとして、アルゴリズムのさまざまな部分に取り組んでいます。人々自身がアクセスできる部分をコピーするかもしれないという点でセキュリティリスクを引き起こします。

これまでの私の考えの一部を以下に示します。

一部の組織には、人間とUSBスティックを介して以外は外部ネットワークに接続されていない内部ネットワークがあります。 Stuxnetウイルスは、USBスティックのアプローチでは秘密を秘密に保つには不十分であることを示しています。人間の帯域幅は非常に限られており、多くの伝送エラーが発生する傾向があります。

一部の組織では、直接ネットワーク接続の代わりに、非常に限られた帯域幅で外部へのRS232シリアル接続を簡単に分析および理解し、送信されるデータが多すぎる場合、送信されたデータを分析するまで接続を切断します。なぜ。

アルゴリズムの標準的な単純な部分から貴重な部分を抽出すると、ターゲット領域が減少します。

OpenBSDで実行すると、いくつかのタイプの問題を回避するのに役立つ場合があります。

  • リバースプロキシ
  • ファイアウォール
  • 最新のウイルス対策
  • 侵入を検知するハニーポット
  • すべてをTruecryptボリュームに保存する
  • PHP、C、C++などの寛容な言語を避け、C#やJavaなどの追加のチェックを行う言語を優先する。

私はウォーレンバフェットがアルゴリズムの究極のセキュリティを持っていると思います。彼はアルゴリズムを頭に留め、コンピュータや携帯電話を使用しません。

2
tomsv

この質問には2つの部分があります。

  1. アルゴリズムや実装などを見せないでください。これは標準のITセキュリティです。いくつかの可能な防御策について以下で説明します。

  2. アルゴリズムとの相互作用から人々に何かを学ばせないでください。この部分は少し明白ではないかもしれませんが、人々を許可した場合、アルゴリズムに入力を送り、出力を観察することを信頼すると、(状況の詳細に応じて)秘密のソースを学ぶことができる場合があります。それが本当にそうであるかどうか、そしてそれをどのように防御するかを決定する必要があります(たとえば、アルゴリズムへの入力または出力へのアクセスを制限することによって)。

アルゴリズムとその実装を保護する方法に関しては、さまざまな防御策があります。それぞれに独自のトレードオフがあり、ビジネスへの影響と直面しているリスクの程度のコンテキストでそれらを評価する必要があります。

  • 分離。独自のサーバーでコードを実行します。完全に別のシステムにソースコードを保存します。アクセスが許可されている限られた開発者グループを選択してください。通常のすべてのシステムから分離してください。

  • 強化このコードを実行するサーバーを非常に安全な方法で構成します。サーバー上では何も実行しないでください。構成をロックダウンします。ファイアウォールと厳格なアクセス制御を設定します。このサイトで検索すると、サーバーの強化に関する多くの情報が見つかります。

  • ネットワークの分離。インターネットから完全に切断されたローカル内部ネットワークのみでサーバーを実行します(そのローカルネットワーク上のマシンはインターネットに接続されていません) 、またはインターネットに接続されているもの、またはインターネットに接続されているものに推移的に接続されているものなど)。 厳密な赤/黒の分離 を使用することをお勧めします。分離を確実にするのに役立ちます。

  • Airgapping。または、サーバーをすべてのネットワークから完全に切断し、スニーカーネットのみを使用します。ただし、USBスティックでデータを運ぶ代わりに、追記型メディア(CD-R、DVDなど)を使用することをお勧めします。これにより、ウイルスが間違った方向に移動するリスクが軽減されます。自動実行などをオフにします。使用する前にDVDの内容を確認するソフトウェアを重要なサーバーにセットアップします(たとえば、DVDが期待されるタイプであるか、期待されるフォーマットであるかなどを確認します)。

  • 物理的なセキュリティ。このアルゴリズムとコードが実行および実行されるサーバーへのアクセスを、信頼できるスタッフの限定されたセットに制限します。

参照 契約では、機密IPを使用する必要があります。サードパーティへのデータの損失には重大なペナルティがあります。いくつかの保護ポインタをお願いします 興味深いかもしれないいくつかの追加テクニック(状況は少し異なりますが) )。

4
D.W.

USB接続などで内部ネットワークを他のすべてのネットワークから切断し、ファイナライズされたCD/DVDを使用してのみデータの移動を許可しますか?データから取得する必要があるデータの量にも依存します。

100%フールプルーフになるものはありません(「唯一の安全なコンピューターは、ロックされた部屋にあり、インターネットから切断され、電源がオフになっていて、プラグが抜かれている」などなど)。しかし、これは少なくとも正しい方向への第一歩かもしれません。

0
Savara