ブログ
HOME Developer Square ブログ 【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~マルウェア検知編~
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~マルウェア検知編~
皆さん、こんにちは
第7回担当の川杉です。今回は第3回に取り上げた下記ブログの続編となります。
ウィルスやトロイの木馬に代表されるマルウェアの検知がSysdigでできることを皆さんご存知でしたか。今回はマルウェア検知機能に焦点を当てます。それでは早速参りましょう!
第三回の内容をまだチェックしていない方はこちらも是非チェックください!
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~AWSサインインなりすまし検知編~ 。
マルウェア検知、Sysdigで出来ます
コンテナは従来の仮想マシンとはアーキテクチャが全く異なるため、セキュリティに他のシステムで利用しているEDR(Endpoint Detection and Response)製品を導入できずに困っているお客様が多い印象です。EDRと同じセキュリティレベルで環境を保護したい、などの具体的な要件を持ってセキュリティ製品を探されているお客様によく聞かれる質問として、「Sysdigでマルウェア検知はできますか?」というものがあります。もちろん対応しています。Sysdigではコンテナ環境内のバイナリファイルのハッシュ値と既知のマルウェアのハッシュ値を照合し、マルウェアと判定されたバイナリファイルの実行を検知・防御する機能を提供しています。また、Sysdigはリアルタイム検知やシステムコールベースのログおよび証跡管理機能、攻撃経路調査機能なども提供しており、コンテナ用のEDR機能を備えたソリューションといえます。詳細については、下記のSysdig公式ブログをチェックください。
・コンテナやKubernetes向けのEDR(Endpoint Detection and Response) - Sysdig Secure https://sysdig.jp/blog/sysdig-edr-container-kubernetes/
また、Falcoを含めた現在提供されているふるまい検知機能の棲み分けについても見ていきましょう。
下記の表のようになります。
機能名 | 機能概要 | 特徴 |
Falco (ふるまい検知) |
システムコールを監視し、事前定義された検知ルールを元に、怪しいふるまいを検知・防御する |
|
マルウェア検知 | バイナリファイルのハッシュ値と既知のマルウェアのハッシュ値を照合し、マルウェアと判定されたバイナリファイルの実行を検知・防御する |
|
コンテナドリフト検知 | コンテナがイミュータブルである特性を活かし、本番環境では変更されないはずのファイルシステムが変更され、実行されたことを検知・防御する |
|
クリプトマイニングコンテナの検知 | クリプトマイニングの実行が疑われるコンテナを検知する |
|
表を見てもわかる通り、すべての機能を利用することで既知の脅威だけでなく、未知の脅威も対策可能です。様々な脅威に対応できる機能が揃っていてナイスですね!また、ユーザーの管理が大変な機能についてはマネージド機能を提供するなど、ユーザーの負担を軽減するように設計されています。 いつも通り、マルウェア検知の検証方法についてもご紹介します。
マルウェア検知検証
事前準備
それでは早速検証の準備から始めていきましょう。
今回の検証で事前に用意するものは以下の通りです。
- Sysdig agentを導入したKubernetes(Docker環境でも可)
- Sysdig SaaSアカウントでマルウェア検知機能を有効化する
※マルウェア検知機能は弊社サポート(弊社と契約していない場合はSysdigサポート)へ連絡することで有効化することができます
いざ検証
まずは検証用のポリシーを作成していきましょう。
今回はRuntime Policyの作成画面で"Malware"を選択します。
ポリシー作成画面に遷移するのでNameに任意の名前を入力し、Descriptionに任意の値を入力、Preventのトグルボタンを有効化して"Save"を押すだけです。
複雑な設定も必要なく、とても簡単にポリシーが作成できましたね。
Additional hasesを設定することで特定のハッシュ値のファイルの実行も検知できます。便利ですね。
それでは実際に試してみましょう。
今回はSysdig社が提供するeicarファイルで検証します。
まずは検証用コンテナを作成します。
kubectl run nginx --image=nginx
検証用コンテナの起動を確認します。STATUSがRunningになっていればOKです。
kubectl get pods NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 2m58s 12m
kubectl execコマンドで検証用コンテナにシェルインします。
kubectl exec -it nginx - bash
eicarファイルを取得し、実行権限を付与します。
root@nginx:/# curl -OL https://github.com/sysdig/TR-Blogs/raw/main/elf_eicar root@nginx:/# chmod 777 elf_eicar
eicarファイルを実行します。
コンテナ内でマルウェアの実行がブロックされたことが分かる内容が表示されます。
root@nginx:/# ./elf_eicar Sysdig Malware Control: Execution of malicious binary '/elf_eicar' by process '/usr/bin/bash' was blocked bash: ./elf_eicar: Operation not permitted
Sysdig GUIに戻って検知結果を確認してみましょう。
セキュリティイベントに先ほど作成したポリシーが表示されています。
詳しい検知内容をみてみましょう。
検知結果からはマルウェアがブロックされたことやマルウェアを実行したプロセス、マルウェア情報が分かります。
他の検知結果と同様に、いつ、どこで起きたのかも一目でわかります。コンテナは実行環境を複雑に抽象化してしまう為、何か問題が起きた時にいつ、どこで、何が起きたか調べるのが大変ですが、Sysdigではそういった情報も瞬時でわかるのがGoodですね。
最後に
Sysdigのマルウェア検知機能はいかがでしたでしょうか。既知の脅威となるマルウェアを検知するシンプルでわかりやすい機能でしたね。今回ご紹介したような既知の脅威だけでなく、Sysdigは未知の脅威検知にも強みがあります。様々な脅威からお客様環境を保護する機能が揃っている点も魅力ですね。
本ブログでは次回以降もSysdigやコンテナ、Kubernetesを中心としたセキュリティやモニタリングについてとりあげていきたいと思います。 それでは、またの機会に!
※今回ご紹介した機能の詳細情報は下記URLに掲載されております。
担当者紹介
- 担当者名
- 川杉
- コメント
- 3年ほど前からSysdigを中心にコンテナ・Kubernetes領域で仕事をしています。社内でコンテナ技術の啓蒙活動も積極的に行っています。
- 保有資格
- Certified Kubernetes Administrator
Certified Kubernetes Security Specialist