セキュリティチームの97%は、自組織のエクスポージャーが実際に悪用可能かどうかを判断できていません。あなたのチームは大丈夫ですか?レポートを読む
Filigran
ソフトウェア開発脅威インテリジェンス

エアギャップ/ダイオード環境でのOpenCTI (6.0.10+)

6 分で読めます
OpenCTI (6.0.10+) in Air gap/diode environments

サイバー脅威インテリジェンスはあらゆる場所で使用されることを想定しており、この「あらゆる場所」という言葉は「世界中のすべての国で」だけを意味するわけではありません。「接続された」または「切断された」ネットワークでも使用されることを意味します。OpenCTIに取り込まれるデータは、組織の使用方法や関連するセキュリティに応じて大きく異なる可能性があります。セキュリティが最優先事項である場合、「エアギャップ」環境でのデプロイが有効な選択肢となります。


エアギャップとは

まず、この用語の簡単な定義から始めましょう。

エアギャップエアウォールエアギャッピングまたは切断されたネットワークとは、セキュアなコンピューターネットワークが公衆インターネットや安全でないローカルエリアネットワークなどの安全でないネットワークから物理的に隔離されていることを保証するために、1台以上のコンピューターに採用されるネットワークセキュリティ対策です。https://en.wikipedia.org/wiki/Air_gap_(networking)

この定義に基づくと、この制限によりプラットフォームのデプロイと管理方法を適応させる必要があることが容易に理解できます。これまで、この制限はプラットフォームでネイティブに対処されておらず、組織からの追加の努力が必要でした。OpenCTIのミッションは、シンプルな方法でどこにでもデプロイされることであるため、この「エアギャップ」デプロイを実現するネイティブな方法を公開するため、このテーマに取り組むことを決定しました。

アーキテクチャの原則

この記事では、2つのプラットフォーム間のシンプルなエアギャップインフラストラクチャについて説明します。このアーキテクチャでは、インターネットに接続されたプラットフォーム(「インターネットゾーン」)と、隔離されたプラットフォーム(「制限ゾーン」)があります。

インターネットゾーン」では、プラットフォームはインターネットソースからCTI情報を取得する役割を担います(ファイルへの外部コネクタ)。このプラットフォームにはデータは書き込まれず、コネクタの管理のみが行われます。

制限ゾーン」では、プラットフォームは「インターネットゾーン」から取得したデータを取り込み(OpenCTIへのダイオードインポートコネクタ)、OpenCTIユーザーインターフェースで利用可能にする役割を担います。

データは、ファイル転送を通じて単方向(ダイオード)で「インターネットゾーン」から「制限ゾーン」へ転送されます。

ファイルへの外部コネクタ

これを実現するために、必要に応じて外部コネクタがデータをファイルに書き込めるようにpythonフレームワークを変更する必要がありました。現在、データはOpenCTI RabbitMQにのみ送信されますが、この新しいオプションにより、必要に応じてキューへの送信と並行して特定のバンドルをファイルに書き込むことが可能になります。

サポートされているコネクタ

このモードでサポートされるには、コネクタは「external-import」タイプである必要があり、APIを使用してデータを取り込む代わりに、取り込み用のSTIXバンドルを構築する必要があります。このタイプのコネクタの大部分は互換性があるはずですが、使用したいコネクタがサポートされていない場合は、slackコミュニティに参加してGithubチケットを作成してください。

データを再インポートするために使用されるdiode-importコネクタは例外です

コネクタ設定

互換性のあるコネクタには、コネクタセクションの下にいくつかの新しいオプションが用意されています。管理者の作業を簡素化するため、このディレクトリ内のファイルの爆発的増加を防ぐために、最大保持日数を設定することも可能です。

Copied!

1connector:
2 send_to_queue: True
3 send_to_directory: True
4 send_to_directory_path: "/air_gap"
5 send_to_directory_retention: 7

データファイル形式

このディレクトリにエクスポートされるファイルは、STIXバンドルだけではありません。元のコネクタの動作とユーザーをシミュレートできるようにするには、ファイルにSTIX情報だけでなく、より多くの情報が含まれている必要があります。

Copied!

1{
2 "bundle_type": "DIRECTORY_BUNDLE",
3 "applicant_id": "<ORIGINAL_USER_ID>",
4 "connector": { Original connector information },
5 "entities_types": "<LIST_CONTEXT_ENTITY_TYPES>",
6 "bundle": { STIX bundle },
7 "update": "<UPDATE_MODE>"
8}

ファイル転送

2つのゾーン間のファイル転送は、OpenCTIによって直接管理されるわけではありません。これを行うには、専用のツールを使用する必要があります。rsyncのようなLinuxネイティブのものや、特定のライセンスソフトウェア(Axway MFTなど)など、多くのソリューションが存在します。

OpenCTIへのDiode-importコネクタ

データファイルの転送後の次のステップは、「制限ゾーン」のOpenCTIプラットフォームにデータを統合することです。これを行うためにデプロイする必要があるコネクタは、diode-importコネクタのみです。

このコネクタは、データを再統合するための非常に特殊な動作を持っています。複数のコネクタがファイルを通じてデータを送信できるため、制限されたOpenCTIで初期コネクタを再構築し、すべてのメッセージを対応するキューに割り当てて元のアクティビティをシミュレートする必要があります。OpenCTIはデータを統合するために特定のユーザーも使用するため、「内部ゾーンユーザー」を「制限ゾーンユーザー」にマッピングして正しい変更履歴を作成する必要があります。

Copied!

1diode_bundle_import:
2 get_from_directory_path: '/restricted_zone'
3 get_from_directory_retention: 7
4 applicant_mappings: "<PUBLIC_USER>:<RESTRICTED_USER>,..."

全体像

システムの全体像を把握するには、このFigma図をご覧ください。

image

まとめ

エアギャップ環境をネイティブに処理する方法の導入により、組織は多数の特定の統合を開発・作成することなくCTIデータを保護できるようになります。

もちろん、この最初の実装は将来的に改善される予定であり、皆様からのコメントを歓迎します!

質問、リクエスト、コメント、またはフィードバックがある場合は、Slackにご参加ください!

続きを読む

関連トピックとインサイトをご覧ください