OpenCTI 6.1で削除されたナレッジを復元する方法
ミスは避けられないものですが、バージョン6.1まで、OpenCTIでは削除操作を元に戻すことができませんでした。APT28やCobalt Strikeを、無数のリレーションシップと共に、誤ってプラットフォームから削除してしまったときの悔しさを経験したことがない人はいないでしょう。
この記事では、OpenCTIが削除されたナレッジをどのように処理し、データの復元または完全削除を可能にするかについて説明します。
新しいゴミ箱ビューの紹介
OpenCTI 6.1以降、プラットフォームからナレッジオブジェクト(エンティティまたはリレーションシップ)を削除すると、そのオブジェクトはElasticデータベース内の専用の「ゴミ箱」インデックスに再インデックス化されます。削除されたオブジェクトは、削除前にそのオブジェクトから発生または対象となっていたリレーションシップと共に保存されます。
削除されたオブジェクトは、左メニューからアクセスできる新しいゴミ箱ビューに一覧表示されます。この表では、他のビューと同様に、削除されたアイテムを検索、フィルタリング、ソートできます。

ゴミ箱ビュー
ただし、ゴミ箱ビューに一覧表示されるアイテムは、実際のデータオブジェクトではないことに注意してください。説明、関連コンテンツ、ナレッジを表示するために完全にアクセスすることはできません。この表は実際には、プラットフォーム上で行われた削除操作を一覧表示しています。
ゴミ箱ビューに一覧表示される削除操作は、最初に削除されたオブジェクトと同じアクセス制限を共有します。つまり、マーキング、組織共有、信頼度レベルです。したがって、TLP;GREENの最大マーキングを持つユーザーは、TLP;REDマーキングを持つ削除されたオブジェクトがゴミ箱にあるかどうかを確認できません。その他のメタデータも保存され、削除日時とオブジェクトを削除したユーザーが追跡されます。
削除に関する技術的詳細
削除操作自体は変更されていないことに注意することが重要です。削除イベントはストリームに公開され、削除された要素はプラットフォーム上で表示されなくなります。2つのOpenCTIプラットフォームが削除を含めて同期されている場合、削除された要素は両方のインスタンスから削除され、リモートインスタンスのゴミ箱には表示されません。
ただし、オブジェクトに関連付けられたファイルはストレージサービス(S3 / Minio)から削除されませんが、ファイルインデックスから削除済みとしてマークされ、ファイルインデックスが有効になっている場合、ファイル検索で表示されなくなります。これらのファイルは復元の場合に備えて保持され、ゴミ箱の要素がクリアされると完全に削除されます。
ナレッジの復元
ゴミ箱ビューから、「ドット」メニューから個別に要素を復元することができます。この単一の復元操作には、削除されたオブジェクト全体とそのすべてのリレーションシップが含まれます。

ゴミ箱内の削除操作に対する復元アクション
復元操作には手動での確認が必要です。非常に多数のリレーションシップを復元する場合、時間がかかることがあります。

復元されるリレーションシップの数に関する情報を含む復元確認ダイアログ
確認後、オブジェクトが復元され、それに関連付けられたすべてのコアリレーションシップが再作成されます。オブジェクトとリレーションシップの内部識別子は保持されるため、アクティビティログなど、元々リンクされていた情報は失われません。

削除イベントと復元イベントを含むIntrusion Setのアクティビティログの例
オブジェクトとそのコアリレーションシップは順次再作成されるため、これらの操作はイベントストリームに作成として表示され、プレイブックなどの設定された自動アクションをトリガーすることに注意することが重要です。
シンプルな復元
現在、復元は、削除されたオブジェクトがデータベースに見つからず(重複なし)、そのリレーションシップがターゲットが解決された状態で完全に復元できる場合にのみ可能です。
主なユースケースは、誰かが誤ってオブジェクトを削除し、ゴミ箱に移動してすぐに復元する場合です。その間にオブジェクトがデータベースに再作成された場合(同じ名前または識別子で)、重複を作成する可能性があるため、復元はできません。
削除されたオブジェクト(Aと呼びます)が別のオブジェクトBとリレーションシップを持っていて、Aが削除された場合、BとのリレーションシップもAと共に削除されます。Aが復元されると、Bとのリレーションシップも復元されます。しかし、Aを復元する前にBが削除された場合、Bが最初に復元されない限り、リレーションシップを復元することはできません。この場合、部分的復元やカスケード復元を処理しないため、Aは復元に失敗します。
完全削除
ゴミ箱にあるエンティティの中には、プラットフォームからの削除を確信し、完全に削除したいと判断するものもあるかもしれません。
その場合、完全に削除アクションを使用して、ゴミ箱から要素を削除できます。オブジェクトは、そのリレーションシップとファイルと共に完全に削除され、アクションを元に戻すことはできません。そのため、実行する前にアイテムの削除について絶対に確信していることを確認してください!

完全削除の確認ダイアログ
オブジェクトを完全に削除すると、オブジェクトとそのリレーションシップがElasticデータベースのゴミ箱インデックスから削除され、このオブジェクト下にアップロードされたすべてのファイル(インポート、エクスポート)がストレージから完全に削除されます。削除操作もゴミ箱リストから削除されます。
ゴミ箱からの要素の完全削除を手動で処理したくない場合でも、心配はいりません!この記事でさらに紹介するゴミ箱マネージャーが、その作業を代行します。
一括操作
ゴミ箱内のアイテムを1つずつ復元または完全削除できることに加えて、これらの操作を複数のアイテムに一度に実行する機能も追加しました。

復元および完全削除アクションを備えたツールバー
プラットフォームの他のリストビューで行えるのと同じ方法で複数のアイテムを選択することで、下部のツールバーから復元と完全削除の両方の操作が利用可能になります。これら2つのオプションのいずれかを選択すると、選択したすべてのアイテムに操作を適用できます。
たとえば、データ > エンティティビューからオブジェクトをバッチで削除する場合、すべてのアイテムは個別の削除操作としてゴミ箱ビューに個別にリストされることに注意してください。
ゴミ箱マネージャー
ゴミ箱のアイテムが蓄積し、無期限に保存されるのを防ぐために、プラットフォームにゴミ箱マネージャーを追加しました。
このマネージャーの目的は、ゴミ箱に長期間保存されているアイテムを完全に削除することです。アイテムが古すぎると見なされるしきい値は、デフォルトで7日に設定されており、GARBAGE_COLLECTION_MANAGER__DELETED_RETENTION_DAYS環境変数を使用して設定できます。
このマネージャーの完全な設定の詳細は、ドキュメントで確認できます: https://docs.opencti.io/latest/deployment/configuration/#engines-schedules-and-managers
まとめ
ミスは避けられませんが、あなたのナレッジベースはより回復力を持つようになりました!誤ってエンティティやリレーションシップを削除してしまいましたか?ゴミ箱ビューで簡単に見つけて復元しましょう!
このシンプルでありながら、潜在的に壊滅的な可能性のあるユースケースは、OpenCTI 6.1でこの新機能を設計する際の主な焦点でした。自動カスケード復元や部分復元を許可するなど、回復力をさらに高め、より複雑なケースに対処するための大幅な改善が実装される可能性があります。
Slackコミュニティチャンネルにご参加いただき、フィードバックを提供して、次のステップを形作るのにご協力ください!
補足情報については、ユーザードキュメントをご確認ください。
続きを読む
関連トピックとインサイトをご覧ください

