Endpoint Detection and Response(EDR)は、インシデント対応、脅威検知、脅威ハンティングと調査に必要な可視性とデータの向上を実現させることが可能です。 そして、Endpoint Detection and Response(EDR)の進化系であるExtended Detection and Response(XDR)なら、そのデータ量と種類をさらに増大させることができます。しかし、膨大なデータが追加された結果、より多くのデータを理解するために、より多くの人的パワーが費やされてしまっては本末転倒です。そこで、昨年、SentinelOneが買収した次世代型ログ収集プラットフォームであるScalyrの充実したデータ分析機能により、あらゆるデータをより高速に、より簡単に把握できるようになりました。
SentinelOneは、 Singularity XDRプラットフォームにおける高度なクエリ機能を発表できることを、とても嬉しく思います。新たなるデータ分析機能により、複雑なデータへの質問に対してユーザーが瞬時に回答を得る手法に大いなる変革がもたらされます。
Singularity XDRのPowerQueryとは?
SentinelOne PowerQueryインターフェースが、データのサマリ、変換、加工のために、豊富な分析機能の利用を可能にします。データをフィルタリングし、計算を実行し、グループを作成して統計的なサマリを作成することで、複雑な質問への回答が得られるようになります。
PowerQueryを使用すれば、データ検索ができるようになるだけでなく、何千ものイベントを手動で掘り下げることなく、データの充実したサマリを取得できるようになります。お客様がSingularity Marketplaceを介して新しいサードパーティデータをオンボーディングすると、PowerQueryにより、EDR以外のテレメトリソース間でもデータの結合ができるようになります。
PowerQueryは以下のような場面で役立ちます。
- データのグループ化(並べ替え、カウントなど)
- 異常の発見や脅威ハンティングのための統計の利用
- 環境全体における特定の情報の検索と、サマリ(IOC)の取得
- 干し草の中から針を見つけるほど困難な検索を高速で実現する複数のクエリの結合や結合が可能な柔軟性
主な機能
- スキーマを理解せずにクエリをすばやく簡単に作成できるオートコンプリート
- UIやAPIを介したクエリの保存とエクスポート
- より簡単かつ迅速に脅威の発見と質問への回答が得られるシンプルなデータのサマリ
- データに対する数値、文字列、時間ベースの関数の実行
- データ集約(合計、カウント、平均、中央値、最小、最大、パーセンタイルなど)
- クエリ(一致)におけるの正規表現のサポート
- 算術演算子のクエリサポート(+、-、*、/、%、および否定)
- 複雑なロジックを実行するための三項演算子(let SLA_Status =(latency> 3000 OR error_percentage> .2)?“ violation”:“ ok”)
PowerQueryの主なコマンド:
- Filter:オートコンプリートを使用して標準のデータクエリをサポートし、シンプルにします
- Columns:サマリーテーブルに必要な列を定義します
- Group by Functions:レコードを集約し、1つ以上のフィールドでグループ化し、各グループの集約統計を計算し、(sum、count、estimate_distinct、percentile、min、maxなどの関数をサポートします
- Join:複数のサブクエリを実行し、結果を1つのテーブルにマージします。クエリに一致するレコードのデータのみが結果に含まれます
- Limit:後続のコマンドによって表示または処理されるレコードの数に上限を設定します
- Sort:レコードが表示される順序を決定します
- Filter:特定の条件に一致しないレコードを破棄します
- Transpose:テーブルから列を削除し、その値から新しい列を作成します
- Parse:正規表現を使用して列をインラインで抽出します
- Union:2つ以上のサブクエリを実行し、結果を1つのテーブルにマージします
- Lett:テーブルに新しいフィールドを定義します
PowerQueryにはさまざまなユースケースがあります。そこで、ツールの能力を理解していただくために、クエリを作成して大量のデータをエクスポートしてわかりやすいサマリを作成する方法についていくつかの例をご紹介します。
例1:ContiランサムウェアIOCハント
今までのランサムウェアの検索では、ファイルのハッシュ値に対して単純なクエリをかける必要が生じるケースがありました。これは、使用している環境で、いくつかのファイルハッシュ値のみについて一致するかどうか確認するには効果的でした。しかし、問題がさらに広範囲に及ぶ場合は、数千行のデータのクエリをかける必要があります。 PowerQueryを使用すれば、ハッシュ値を確認したすべてのホストを、1つのクエリから追加で得られるすべての詳細情報とともにすばやくサマリを生成できるようになります。「このContiのハッシュ値が存在する全てのマシンのリストを表示してください」という質問に対してPowerQueryが即座に答えを出してくれます。
PowerQueryのこの例では、ハッシュの単純な検索から始めて、エンドポイント名でグループ化する関数を追加し、ソースプロセスの表示名とカウントのテーブルに他の列を追加してから、最大数から最小数で並べ替えていきます。
- 1行目:特定のSHAハッシュを検索します
- 2行目:各エンドポイントおよびソースプロセスのイベント数でグループ化します
- 3行目:エンドポイント名、ソースプロセスの表示名、およびカウントの列をテーブルに追加します
- 4行目:イベントの最大数から最小数で並べ替えます
このクエリにより、広い時間の範囲にわたる潜在的な数百万のレコードに対して、読みやすく理解しやすいサマリが返されます。
例2:ユーザーおよびエンドポイント別のネットワーク接続量
脅威のハンティングや調査の一環で、ネットワーク上に大量の接続があるホストを特定することが役立つ場合があります。PowerQueryを使用すれば、統計計算を実行して、多数の接続を行うエンドポイントとユーザーのテーブルを作成できます。
この例では、プロセスユーザーの標準クエリから始めます。
以下のクエリを1行ずつ行なっていくだけです。
- 1行目:ソースプロセスユーザーの単純なワイルドカード検索
- 2行目: connection_countというグループを作成します。これは、プロセスユーザーとエンドポイント名によるsrc.process.netConnCountフィールドの合計です
- 3行目:エンドポイントとユーザーのテーブルに列を追加します
- 4行目:connection_countを最大から最小に並べ替えます5行目:結果を上位25に制限します
オートコンプリートにより、利用可能なフィールドと次に何をしたいかを簡単に把握できるようになります。
例3:エンドポイント別の上位の脅威インジケーター
脅威インジケーターは、ホストでの脅威のハンティングと調査のための貴重なデータソースになる可能性があります。多くの脅威インジケーターは、常に脅威の脅威検知に変わるとは限らないデータポイントです。PowerQueryを使用すれば、攻撃または侵害されたホストの初期段階を特定できる可能性のある、多数の脅威インジケーターがあるホストを特定できる可能性があります。
この例では、多数の脅威インジケーターがあるホストテーブルを作成します。
PowerQueryでこの質問に答えるには、いくつかの変換が追加で必要となります。
- 1行目:「一般」ではなく、関連するインジケーターカテゴリを持つレコードを検索します
- 2行目: Tacticという名前の新しい列を作成します。これはindicator.categoryフィールドと同じです。
- 3行目:テーブルの列を定義します–エンドポイント、インジケーター名、戦術
- 4行目:各列のインジケーター数でデータをグループ化します
- 5行目:一定期間に1000を超えるインジケーターがあるエンドポイントにデータをフィルター処理します
PowerQueryがデータからより多くの価値をもたらします
PowerQueryこそが、EDRとXDRのデータの可能性を最大限に引き出す次世代型のデータ分析機能です。本ブログでは、PowerQueryの簡単な例を3つのみ挙げていますが、初心者でも上級者でも、さまざまな機能を駆使することで、データからあらゆる回答を得ることが可能になります。
ユーザーがクエリできるデータの行数の制限が拡張され、分析するために検索結果をCSVにエクスポートする必要性もなくなります。ユーザーはこれらのクエリを簡単に保存して、数秒以内に戻って更新されたテーブルを生成したり、APIを使用してこのデータを外部アプリケーションに抽出したりできます。
PowerQueries、Singularity XDR、SentinelOne Dataプラットフォームの詳細については、お問い合わせフォームよりご連絡いただくか、無料のデモをリクエストしてください。