皆様、こんにちは。カスペルスキー製品担当SEの小池です。
ランサムウェアに感染すると、その端末からショートカットやネットワークドライブを伝ってファイルサーバーまで暗号化するということは、世間的にもよく知られているかと存じます。
では、ファイルサーバーとしてWindows Serverを利用している場合、ランサムウェア対策として何を実施なさっていますか?
今回はこの対策となりえる、Kaspersky Security for Windows Server (※1) におけるアンチクリプターの簡単な紹介と、疑似ランサムウェアを用いた検証を実施します。
※1…以降KSWSと記載。
今回の内容は以下の通りです。
今回の記事は以下のバージョンにて検証し、画面ショットを取得しております。
●管理サーバー
OS:Windows Server 2019
DB:Microsof SQL Server 2017 Express (KSCと同居)
Kaspersky Security Center:13.0.0.11247
Kaspersky Security Center Web Console:13.0.10285
●保護対象デバイス
Windows Server 2019
●保護製品
Kaspersky Security for Windows Server : 11.0.1.897
●利用ライセンス
Kaspersky Hybrid Cloud Security Enterprise, CPU Japanese Edition.
KSWSのアンチクリプター概要
KSWSのアンチクリプターは、KSWSがインストールされたWindows Serverがファイルサーバーとして稼働している場合、共有している領域に対して暗号化を仕掛ける挙動を検知し、そのクライアント (攻撃元) からのアクセスを一定期間ブロックする機能です。
オンラインヘルプはこちら。
上の説明を超簡単な図にしました。
モードは "通知のみ"(検知してイベントを作成するだけ) と、"処理を実行" (通知に加えて、暗号化を仕掛けてきたコンピューターからのアクセスを一定期間ブロックする) があります。
なお、この機能は暗号化を検知してから攻撃元PCからのアクセスをブロックするため、若干ではありますが攻撃検知~アクセスをブロックするまで一定時間かかります。この一定時間に、ほんのちょっとなのですが暗号化処理が実行される可能性があります。これに関するオンラインヘルプはこちら。
モード設定のほか、アンチクリプターの保護領域の設定、除外の設定が可能です。
KSWSのデフォルトのポリシーではアンチクリプターはデフォルトで無効となっています。
KSWSのアンチクリプターを利用するにあたり、以下はKSWSコンソール(※2)からのみ操作できます。KSCから操作できません。
- ブロック対象になっているコンピューターを手動で解除する
- ブロックする期間 (デフォルト30分) の変更
これらをGUIから操作したい場合は、KSCの有無は関係なくKSWSコンソールを導入することを推奨します。
※2…KSWSコンソールは、KSCとは異なるKSWS専用のコンソールです。詳しくはKaspreskyナレッジブログの第16回をご参照ください。
なお、KSWSにはアンチクリプターと似たような名前の機能で "NetApp のアンチクリプター" という機能がありますが、”アンチクリプター" と "NetApp のアンチクリプター" は別の機能です。
本ブログで取り上げている機能は "アンチクリプター" の方です。
KSWSのアンチクリプターを利用できるライセンス
2021/9/14現在、Kaspersky Security for Windows Serverのアンチクリプターを使うためには、Kaspersky Security for Windows Serverを利用できるライセンスのいずれかがあれば問題ありません。
具体的にKaspersky Security for Windows Serverが利用できるライセンスについては以下をご参照ください。(2021/9/23時点の資料です)
KSWSのアンチクリプターの有効化
前述の通り、KSWSのクリプターはデフォルトではOFFになっています。ですので、この章ではKSWSのアンチクリプターの有効化方法について記載します。
KSCでKSWSのポリシーから有効化する場合
KSCで統合管理している場合、アンチクリプターを有効にするにはKaspersky Security for Windows Serverのポリシーで設定します。
Webコンソールで[デバイス]>[ポリシーとプロファイル]を開き、Kaspersky Security for Windows Serverのポリシーをクリックします。
[アプリケーション設定]タブを開き、[ネットワーク活動の管理]>アンチクリプターの[設定]をクリックします。
[タスク管理]タブの[スケジュールに従って実行する]にチェックを入れ、[強制適用]を有効にして[OK]をクリックします。
[保存]をクリックします。
これでアンチクリプターが有効になります。
実際にKaspersky Security for Windows Serverが導入済みのサーバーで簡易UIを見てみると、以下の通りアンチクリプターが有効になっています。
KSWSのコンソールから有効化する場合
KSWSのコンソールからアンチクリプターを有効化する場合は、[サーバーのリアルタイム保護]を開き、[アンチクリプター]を右クリック>[開始]をクリックします。
アンチクリプターのステータスが "実行中" になったことを確認します。
これでアンチクリプターが有効になります。
なお、起動方法だと次回のKSWS起動時にアンチクリプターは無効になってしまいます。
今後も恒久的にアンチクリプターを用いたい場合は、アンチクリプターの[プロパティ]をクリックします。
[スケジュール]タブの[スケジュールに従って実行する]にチェックを入れます。
"頻度"と"次回開始"欄が "アプリケーションの起動時" となっていることを確認し、[OK]をクリックします。
KSWSコンソールにおける、アンチクリプターの即時有効化と恒久的な有効化の手順は以上です。
KSWSのアンチクリプターの設定
先ほど有効にしたアンチクリプターの設定項目は以下の通りです。
- タスクモード:"統計のみ" か "処理を実行" のどちらかを選択します。統計のみの場合はイベントとして記録するのみで、暗号化処理のブロック等は実施しません。
- ヒューリスティックアナライザー:ヒューリスティックアナライザ―の利用とその分析レベルの設定です。ヒューリスティックアナライザーの詳細はオンラインヘルプ(こちら)をご参照ください。
- 保護範囲:アンチクリプター機能で保護する対象範囲の設定です。デフォルトだとサーバー上のすべてのネットワーク共有フォルダーが対象になっていますが、指定したフォルダーに限定することも可能です。
- 除外リスト:保護対象から除外する対象をマスクで設定できます。デフォルトで複数の拡張子が登録されています。
上記に加え、KSWSコンソールを利用している場合に限り、脅威と判定されたコンピューターをブロックする時間 (デフォルト30分) を設定することができます。
ただしこの設定を変更すると、アンチクリプターだけではなく以下3つの保護機能で脅威と判定されたコンピューターをブロックする時間も一緒に変更されます。オンラインヘルプはこちら。この点にご注意ください。
- ファイルのリアルタイム保護
- ネットワーク脅威対策
- NetAppのアンチクリプター
上記の影響が問題ない場合は、KSWSコンソールの[保護領域]>[ブロック対象コンピューター]>[プロパティ]から変更できます。
ブロックする期間の設定ダイアログが表示されるので、任意に変更します。
疑似ランサムウェアを用いた検証
ここからは、アンチクリプター機能で本当にランサムウェアを防御できるのかを検証します。
アンチクリプターの設定は、機能自体を有効にする以外はすべてデフォルトのままです。
今回の検証で利用させていただいたツールは、Github上にあるペネトレーションテストツールです。
検証のシナリオはざっと以下のような感じです。
事前準備として、攻撃元PCのネットワークドライブZに共有フォルダーをマウントします。
共有フォルダーの中には約11,500個の画像ファイルを格納しています。おおよそ1ファイル3KB~25KBです。
(実は本検証で一番大変だったのがこの画像ファイルの収集でしたなんて言えない…。)
上記の準備が完了したのち、Githubから拝借した疑似ランサムウェアを実行します。
今回Githubから拝借した疑似ランサムウェアは、暗号化したファイルの一覧を表示する機能があったため確認してみたところ、Zドライブにマウントした共有フォルダー内のファイルを7個暗号化したらしいです。
(一番上の行のファイルはツール自体が持っているテスト用ファイルなので、本検証には関係ありません。)
実際にファイルサーバー側から共有フォルダー内の状態を確認します。
すると、暗号化されたファイルは8個ありました。
ていうか、ファイルが11,500個くらいある環境でブロックするまでに暗号化されたのファイルが8個って十分すごくないですか!?
(疑似ランサムウェア側のログと1個誤差がありますが、これはKSWS側の問題ではなく、Githubで拾ってきた疑似ランサムウェアのログの出し方の仕様に起因すると思われます。いずれにしても、この誤差は今回の検証で重要ではないため、誤差の原因は調査しません。)
KSWSのイベントを確認してみます。
KSWSコンソールから確認する場合は、[ログと通知]>[実行ログ]から確認できます。
先ほどのイベントをダブルクリックすると、詳細ダイアログが表示されます。
14個イベントがあり、暗号化されたファイル1個につき、1個もしくは2個のイベントが出ています。おそらくイベント内容が微妙に異なるのかもしれませんが、イベントが1個出るか2個出るかについては詳細不明です…。
KSCから確認する場合は、Webコンソールの[監視とレポート]>[イベントの抽出]>[最近のイベント]をクリックします。
アプリケーション "Kaspersky Security for Windows Server" でフィルターしてみると、以下のように3種類のイベントが出ています。
3種類のイベントで1個ずつサンプリングしてみました。
どうやら暗号化されたファイル1個につき、"オブジェクトのみが検知された" 旨のイベントと "暗号化試行が検知された" 旨のメッセージが両方出るか、片方しか出ないかのいずれかのようです。
(正直どっちか1個でいい気がするが…。)
コンピューターを信頼しないリストに追加したイベントは1件のみ発生します。
最後に攻撃元PCが信頼しないPCのリストに入っていることと、攻撃元PCからファイルサーバーにアクセスできないことを確認します。
信頼しないPCリストは、KSWSコンソールでのみ確認できます。(KSCからは確認できません。)
[保管領域]>[ブロック対象コンピューター]を開くと、確かに攻撃元PCがリストの中にあることが確認できます。
実際に攻撃元PCからファイルサーバーにエクスプローラーでアクセスを試行すると、以下の通りアクセスが失敗することが確認できました。
デフォルト設定なので、このブロックは30分で解除されます。
実際に30分後にKSWSコンソールで[保管領域]>[ブロック対象コンピューター]を開くと、リストから攻撃元PCが消えているのがわかります。
検証内容は以上です。
結果は以下の通りでした。
- ネットワーク越しにファイルサーバーのファイル暗号化を試行したところ、11,500個あるファイルうちの8個が暗号化された時点で暗号化をブロックできた。
- 信頼しないコンピューターリストに攻撃元PCが追加され、すべてのアクセスがブロックされた。
- KSWSコンソールおよびKSCで暗号化処理を検知した旨のイベントが発生した。(ただし、1ファイルにつき似たようなイベントが1個もしくは2個出るため、若干わかりづらいかもしれない。)
- 30分後、攻撃元PCは信頼しないコンピューターリストから消え、ファイルサーバーの利用が可能になった。
- 本機能は修復機能を有さないため、暗号化されたファイルの複合化はされなかった。(仕様です。)
今回はKaspersky Securitu for Windows Serverのアンチクリプターの概要と検証を記載しました。
ランサムウェアの被害でファイルサーバーまで暗号化された、なんて話はよくあるケースかと存じます。
今回の検証で、本機能を用いてファイルサーバーを保護するだけで、暗号化による被害を最小限にできることを証明できたと思います。
個人的には、11,500個ファイルがある中で暗号化されたファイルが8個で済んだなら十分有用じゃん!と思うのですが、いかがでしょうか…。
この機能はKaspersky Security for Windows Serverを利用可能なすべてのライセンスで使うことも、大変なメリットです。
Windows Serverをファイルサーバーとして利用していて、ランサムウェアの二次被害の防止対策を検討中の方は、Kaspersky Security for Windows Serverのアンチクリプター機能をご検討いただければ幸いです。
この度は最後まで記事をご覧いただき誠にありがとうございました。
記載事項へのご指摘、ご不明点、ご質問等ございましたら、以下からご連絡いただければと存じます。
https://www.networld.co.jp/product/kaspersky/
それでは次回の記事でお会いしましょう!