
osquery向けの本番環境対応の検知・対応クエリ
検出とインシデントレスポンスのためのosqueryクエリ群で、250以上の本番運用対応クエリを含みます。

ODK(osquery-defense-kit)は、クエリが本番環境の検出・対応パイプラインの一部として使用されるように設計されている点で独自です。検出クエリは、通常の期待される動作中はゼロ行を返すように設計されており、行が返されたときにアラートを生成するように設定できます。
現時点では、これらのクエリは主にPOSIXプラットフォーム(Linux & macOS)での実行を想定して設計されています。他のプラットフォームのサポート改善のためのプルリクエストは大歓迎です。
特定時点の検出には make detect を実行します。これは履歴イベントにアクセスできないため、本番インストールほど多くの検出はできません。
リリースされたクエリパックを任意の場所にダウンロードし、osquery.conf ファイルの packs スタンザからこれらのファイルを指定します。
make collect を実行します。これは特に変更前後の分析に役立ちます。
make packs を実行します。より細かく制御するには、osqtool を直接呼び出して、デフォルトの間隔を上書きしたり、チェックを除外したりできます。
make verify を実行します。
detection/ - アラート生成用に調整された脅威検出クエリ。policy/ - アラート生成用に調整されたセキュリティポリシークエリ。incident_response/ - 潜在的な脅威への対応を支援するデータ収集。定期的な証跡収集用に調整されています。検出クエリはさらに MITRE ATT&CK の戦術カテゴリごとに分類されています。
リリース時には、クエリは osqueryクエリパック 形式でパッケージ化されます。独自のパックをいつでも生成する方法については、ローカルパック生成 を参照してください。
https://cybersecurity.att.com/blogs/labs-research/shikitega-new-stealthy-malware-targeting-linux
これらのクエリに基づいてアラートを発火したであろうクエリの一部を以下に示します:
execution/tiny-executable-events.sqlexecution/tiny-executable.sqlexecution/tiny-executable-events.sqlexecution/tiny-executable.sqlexecution/unexpected-shell-parents.sqlexecution/sketchy-fetchers.sqlexecution/sketchy-fetcher-events.sqlc2/unexpected-talkers-linux.sqlc2/exotic-command-events.sqlc2/exotic-cmdline.sqlexecution/unexpected-executable-permissions.sqlhttps://www.welivesecurity.com/2022/07/19/i-see-what-you-did-there-look-cloudmensis-macos-spyware/
特定のクエリによって検出されたであろう段階の一部を以下に示します:
初期ドロッパー実行、検出:
c2/unexpected-talkers-macos.sql第2段階の実行、検出:
execution/unexpected-executable-directory-macos.sqlpersistence/unexpected-launch-daemon-macos.sqlexecution/unexpected-mounts.sqlTCCバイパス、検出:
evasion/unexpected-env-values.sqlスパイエージェント実行、検出:
c2/unexpected-talkers-macos.sqlexecution/exotic-command-events.sqlexecution/unexpected-executable-directory-macos.sqlヘルプ募集中! 誤検知に対処するために簡単に更新できるクエリであれば、新しいクエリを歓迎します。
ユーザーは、広く知られている一般的なソフトウェアパッケージに対する誤検知の例外を提出できますが、その動作の証拠を求められる場合があります。
当初はLinuxとmacOSに焦点を当てていましたが、osqueryがサポートする任意のプラットフォームでのクエリ追加をサポートしています。
特にWindowsサポートについて尋ねられることがあります。ChainguardにはWindowsマシンがありませんが、有用で私たちの理念に合致するWindowsクエリがあれば、喜んで受け入れます!
detection クエリから実際の誤検知を除外するよう努めています。
誤検知の管理は言うは易く行うは難しですが、プルリクエストは歓迎します!
全体として、クエリはデプロイされたシステム上で1日を通してウォールクロック時間の2%を超えて消費しないようにする必要があります。
デプロイ間隔は、パック組み立てに使用する osqtool がサポートするタグに基づいて自動的に決定されます。
execution/unexpected-executable-directory-linux.sqlexecution/unexpected-tmp-executables.sqlc2/exotic-command-events.sqlc2/exotic-cmdline.sqlinitial_access/unexpected-shell-parents.sqlevasion/missing-from-disk-linux.sqlprivesc/unexpected-setxid-process.sqlprivesc/unexpected-privilege-escalation.sqlprivesc/events/unexpected-privilege-escalation-events.sqlevasion/name_path_mismatch.sqlpersistence/unexpected-cron-entries.sqlexecution/unexpected-executable-directory-linux.sql