はじめに

昨今のサイバー攻撃は、高度化や高速化が激化しています。
背景には AI による攻撃 (AI-Powered Cyberattack) などが考えられます。

防御側はどうでしょうか?
人間による確認や、人間による対応を実現している組織も存在しています。
攻撃側はどんどん自動化されているため、人間による防御では間に合いません。

CNAPP 製品の Sysdig Secure (以下「Sysdig」) では、条件に基づく通知を実現するために Automations という機能が実装されています。
この記事では、Automations 機能について紹介します。

Sysdig Automations に対する Sysdig 公式ブログはこちらの記事が公開されています。

Sysdig とは

Sysdig は、CNAPP (Cloud Native Application Protection Platform) を実現するためのソリューションです。

Cloud の設定不備を確認する CSPM だけでなく、侵入を検知する CDR やワークロードのリスクを検知する CWP のほか、これらの情報を統合して Risk として管理する機能を有しています。

Sysdig は、eBPF という Linux のカーネルと連携し、すべての System call を確認します。
そのため、Host や Container に対する漏れのない検知を提供します。

Automations

Automations は、Sysdig で検知した事象 (Trigger) に対して条件 (Condition) で評価し、自動化 (Action) を行うための仕組みです。

簡単に言えば、手動でマニュアル対応をする代わりに、自動化するための仕組みです。

基本的には、通知を実施する Notifications が利用できます。
Runtime Events については、Response Actions として処理の自動化を組み合わせることが可能です。

Trigger Actions
Risks Notifications
Vulnerabilities Notifications, Tickets
Runtime Events Notifications, Response Actions
Vulnerability Exceptions Notifications
Threats Notifications

この記事では、全ての Trigger に対して実現可能な Notifications について解説します。

Condition

Condition は、Automations で利用できる条件式になります。

Sysdig が検知している各種情報に対して、比較演算を実施して判定を行えます。

Operator 意味
in 要素がいずれかに含まれる
not in 要素がいずれでもない
contains 文字列に指定を含む
not contains 文字列を含まない
starts with 文字列が指定で始まる
= イコール
!= Not イコール
exists 要素がある
not exists 要素がない

これらと、AND による複数条件をもとに処理を行うことができます。

ユースケース

Automations はどのようなときに使えるのでしょうか?

ここでは、具体的なユースケースについて確認します。

Case 1: 緊急性の高い脆弱性に対して、自動起票

組織では、脆弱性対応に対して一定の基準を設けていることがあります。

例えば、Severity が CRITICAL かつ Has Fix であれば即時対応が必要などの具体的な指標を設けています。

これを、人力で探索し、評価を続けることは現実的では有りません。

Automations を利用することで、条件に合致するものは PagerDuty で対応し、それ以外は Slack 通知するなどの運用が考えられます。

運用としては、条件に合致して起票されたものの対応に注力することが可能です。

Case 2: Shell による不正な動作の即時通知

Shell は、ユーザーによるコンピュータ操作の窓口です。
bash、zsh、fish など、多くの Shell ソフトウェアがユーザーによる入力を処理します。

Runtime Events は、多くの動作を検知します。
しかし、Shell により発生した操作は悪意ある操作である可能性が高いです。

そのため、Shell により検知したものを即時通知するなどの使い方が考えられます。

Notification Channel

Sysdig では、Notification Channel として Mail だけでなく、Slack や Microsoft Teams といったコミュニケーションツールのほか、PagerDuty、Amazon SNS、WebHook などに通知することが可能です。

これらに対して能動的な通知を実施することで、対応を高速化することが可能です。
弊社でよく利用する Notification Channel として、Slack、PagerDuty、Amazon SNS について具体的に解説します。

Slack

Slack 連携は非常に簡単です。

Slack instance に Commercial Slack を選択して、Start Slack Integration を選択します。

その後、連携する Workspace および、Webhook 用チャンネルを選択して、許可をします。

連携後、Sysdig にリダイレクトされるため、Save を押せば完了です。

PagerDuty

PagerDuty も Auto fetch という機能で、自動構成が可能です。

ログイン後、Connect Sysdig and PagerDuty の画面で、Select Services で既存の Service を選択して Connect します。

Sysdig と PagerDuty が自動連携されるため、Save を行います。

Amazon SNS

Amazon SNS は、自動構成機能がないため、事前に Topic を準備します。

Topic 作成時のアクセスポリシーで、パブリッシャーを選択して、指定された AWS アカウントのみを選択。
Sysdig の AWSアカウントID を確認して、適切な送信元 AWS Account ID を指定します。

作成した Topic の ARN を Topics に入力して、完了です。

自動通知の構成

『Case 1: 緊急性の高い脆弱性に対して、自動起票』を例にして、先に作成した Slack と PagerDuty に通知します。

Select a Trigger

今回の場合、脆弱性の検出を契機にするため、『Vulnerabilities』を選択します。

Trigger Condition

Trigger on で、今回は Medium 以上を対象にする。
そのため、Filters で Severity in Critical, High, Medium を選択します。

通知先を変えるために、Condition を追加して、Severity in High AND Has Fix = Yes を選択します。

Yes 側に PagerDuty を接続し、No 側に Slack を接続します。

Save を押して完了させます。

このように、簡単に複雑な条件に応じた通知先の管理を実現できます。

まとめ

Sysdig Automations は、複数の要素からなるビジネスロジックを、Sysdig 内に組み込むことが可能な強力なツールです。

検索、抽出、振り分け、通知という数が多く手間のかかる作業を自動化することが可能です。

まだ可能なことは多くありませんが、今後 Sysdig Sage などと連携することで更に強力なツールになると考えます。

Sysdig の機能を完全に活用することで、セキュリティ対応の効率化を行ってください。