Amazon Web Services ブログ
LifeOmic の JupiterOne が Amazon Neptune によるセキュリティとコンプライアンス操作を簡素化する方法
LifeOmic の CISO である Erkang Zheng による寄稿です。
ほとんどの組織は、セキュリティ操作に対して線形のリストベースのアプローチを行っています。それは 2 次元のプロセスです。まず、リソースを特定します。次に、設定を管理します。管理用ツールとテクノロジーがセキュリティアナリストに環境の変化について警告を発するため、修復に利用するのが理想的です。
この 2 次元アプローチの問題点は、エンドポイント、脆弱性管理ツール、DevOps とクラウドツール、そしてセキュリティポリシーと手順など、環境におけるさまざまなコンポーネントの関係を接続できないことです。コンテキストがなければ、環境における変化の重要性、重大性、必要性がわかりません。その結果、攻撃を防止するには、問題を取得するために計画された各変更と偽陽性アラートを回避する必要があります。
たとえば、本番環境で重大なリソースを保護する必要があることを知っているとしましょう。指定された管理者が承認済みのメカニズムを介して、そのリソースへのアクセス権を取得しても、問題はありません。しかし、取るに足りない問題を追いかけないようにするために、デバイスに必要なセキュリティ制御を判断するには、どうすれば良いのでしょうか? すべての違いを生み出す関係マッピングでは、2 次元での停止を達成できません。
JupiterOne を使用して、組織の環境内で関係をマッピングすることによって、明確にコンテキストを組み込みました。Amazon Neptune グラフのデータベースサービスを使用してグラフモデルを構築しました。グラフモデルは、何が起こったのかを把握し、それが問題であるかどうかを判断するまでかかる時間を大幅に短縮します。
グラフモデルを入力する
組織が条件を平等にするには、環境の表示を 2 次元から 3 次元に移行する必要があります。そのためには、データと関係のマッピング方法を変更しなければなりません。チェックリストの代わりにグラフを使うことは、この複雑さを有意義に表す唯一の方法です。
JupiterOne を使用して、組織のデジタル環境を完全に捉えたグラフベースの参照データモデルを構築しました。データモデルは、一連のエンティティとその関係によって定義されます。エンティティは、デジタルインフラストラクチャのリソースを表すグラフ内のノードまたは頂点です。関係は、グラフ内の 2 つのエンティティノード間のエッジです。各エンティティと関係には、独自のクラス、タイプ、およびプロパティがあります。
エンティティとその関係の間にある点をつなげると、非常に価値が高く、コンテキストが豊かなインサイトを引き出すことができます。たとえば、このグラフの例では、実際にインターネットに公開されているアクティブな Amazon EC2 インスタンスをすばやく簡単に見分けることができます。
別の例としては、AWS アカウントの内部から外部アカウントへのクロスアカウントで、想定されているロール信頼を強調する場合があります。
いくつかのサイロ化されたサービスとツールでは、排他データへのインサイトを与えることができます。ただし、エンティティ関係グラフは、組織のインフラストラクチャ全体を取り扱うように設計されています。これには、脆弱性、イベント、アラートなどのセキュリティ制御とその検出結果だけでなく、ネットワーク、サーバー、エンドポイント、データリポジトリ、クラウドサービス、一連のアプリケーションとソフトウェア開発ツール、ユーザーと ID が含まれます。データは Amazon Neptune のグラフデータベースに保存されます。
Amazon Neptune を活用する
JupiterOne の開発中で、まだ Neptune をプレビューしていたとき、評価を行う機会がありました。ライセンスの交渉やインフラストラクチャの管理ではなく、Neptune によって、JupiterOne の開発に集中できるようになったことがすぐに明らかになりました。他の AWS サービスと共通しているように、Neptune の使用量ベースのモデルでは、開発により成長を続け、ビジネスを拡大しながら、コストを抑えることができます。Neptune は、JupiterOne を市場に出すための重要な要素であり、私たちのビジネスが成長し続けるにつれて、拡大する能力には自信を持っています。
検索でグラフデータベースに移動する
このグラフを作成すると、存在する関係の広さと複雑さを確認することができます。従来のアラートやレポートは、コンテキストが不足しているため、完全な環境についてのインサイトと深い理解を得るには不十分です。コンテキストと関係を組み込む操作を行う機会を見いだしました: 検索。
アラートの代わりに、グラフデータベースをクエリするだけで、堅牢で実用的なインサイトが得られます。「誰が特定の AWS 環境またはリソースへの管理者アクセス権を持っているのか」、「どのサーバーインスタンスが実際にインターネットで公開されているのか」、または「過去 24 時間で発生した環境の変化は何なのか」などの質問をすることができます。 これらの質問は、多くのレイヤーの詳細と複雑な接続を分析して、明確な答えを提供します。
グラフを作成して維持する
これで、このグラフデータモデルの力と、セキュリティを変換して曖昧な仮定からデータ駆動型の質問と回答を行う実装についてお見せしました。しかし、このグラフはどうやって作成されたのですか? 特に関係を構築して進行中の変更を追跡するときに、データを正しく取得するために、データを取り込む場合は固有の課題があります。
JupiterOne は、Neptune を中核として、次のようにその他のさまざまな AWS サービスを使用しています。
- サーバーレスコンピューティング向けの AWS Lambda 関数
- Amazon API Gateway
- Amazon S3
- Amazon Cognito
- Amazon DynamoDB
- Amazon Kinesis
- Amazon CloudWatch
- Amazon Elasticsearch Service
JupiterOne は、データを直接取り込むためにさまざまな API を使用して、面倒でエラーが発生しやすいデータエントリを回避します。データを取り込んだ後、特定のデータモデルを使用して自動的に項目が分類され維持されます。このデータは、データの自動フェッチおよびスケジュールされたフェッチによって最新の状態を保ちます。それは単純なことではありません。技術的なウォークスルーは以下の通りです。
日々のセキュリティワークフロー
グラフデータモデルを使用すると、必要な情報についてグラフを ping することで、日々のセキュリティおよびコンプライアンス管理を移行することができます。私たちはグラフを検索するために JupiterOne Query Language (J1QL) と呼ばれる独自のクエリ言語を構築しました。セキュリティアナリストは、「どのリソースに IAM ポリシーが関連付けられていないのか」というような簡単な質問をすることができます。 マッピングされた関係に基づいて、具体的で実用的な結果が返されます。その内容は、本当に知っておくべきことであり、問題を解決する方法に関するものです。
セキュリティアナリストがユーザーのアクセスレビューを実行しようとしている場合を考えてみましょう。また、非準拠デバイスへの影響について理解してみましょう。データが取り込まれ、関係がユーザー、リソース、およびアクセス間でマッピングされた後に、セキュリティアナリストは、承認済みのセキュリティエンドポイントモニタリングを適切に設定していないユーザー、またはエンドポイントエージェントが非準拠ステータスを報告していないユーザーを検索できます。3 次元関係で、それらのユーザーとデバイスがどのリソースにアクセスできるのかを簡単に確認できます。また、ユーザーとデバイスが危険にさらされた場合に、システムとデータに影響を与える可能性のある要素を確認することもできます。
JupiterOne を使えば、それらの質問にタグを付けてさまざまなバケツにまとめることもできます。まさに、コンプライアンスプロセスの合理化が作用するところです。最も有用な機能の 1 つは、さまざまなセキュリティフレームワークと一致する領域をグラフデータベースで検索して、監査中にコンプライアンスの証拠を提供するだけでなく、環境を一目で確認できることです。
さらに一歩進んで、検索後にグラフ内の関係を簡単に確認できるグラフビジュアライザーも作成しました。フィルターを追加して検索を絞り込むことはできますが、1 つのプレーンと 1 つのテーブルに存在する関係を単純に見ると、異常を見つけやすくなります。
結論
グラフ対リストモデルに移行することで、デジタル環境全体をより正確に可視化することができます。データの取り込みを自動化すると、エラーが発生しやすいエントリにかかる時間や分析にかかる時間が短縮されます。これらすべてにより、ユーザー、リソース、およびデバイス間の関係を素早く理解できるようになります。また、環境の変化が問題であるかどうかを簡単に見分けることができます。
このグラフモデルへの移行は、環境の複雑な関係にあるコンテキストを把握するために重要になります。
著者について
Erkang Zheng 氏は LifeOmic 社の CISO で、グラフベースのクラウドセキュリティプラットフォームである JupiterOne を生み出しました。 それ以前は、Fidelity Personal Investing 社のソフトウェアセキュリティ責任者、その前は IBM Security 社のコンサルティングサービスおよび戦略担当プログラムのディレクターを務めました。彼は BSides のようなセキュリティカンファレンスで定期的に講演しており、サイバーセキュリティ分野で複数の特許と認証を取得しています。