Deep Securityのアプリケーションコントロールを試してみた

deepsecurity_logo_2

はじめに

Deep Security 10で実装されたアプリケーションコントロール機能を試してみました。
アプリケーションコントロールは、アプリケーションの変更を管理する機能です。
ソフトウェアの許可ルールを作成しておくことで、ゼロデイのランサムソフトウェア等に対応出来ます。

アプリケーションコントロールの有効化

EC2にDeep Security Agentをインストールします。
今回はAmazon Linuxを利用しました。
Deep Security Managerのコンソールから、サポート情報 > インストールスクリプトを選択します。
スクリプトが表示されるので、EC2にコピー&ペーストするなどして実行します。

1

コンピュータエディタまたは、ポリシーエディタを開きます。
アプリケーションコントロール > 一般 > 設定を選択し、有効化します。

2

アクションは、以下の2つから選択出来ます。
今回は後者を選択しました。

  • 承認されていないソフトウェアを明示的に許可するまでブロック
  • 承認されていないソフトウェアを明示的にブロックするまで許可

メンテナンスモードの有効化

メンテナンスモードを有効化し、ソフトウェアの許可ルールに追加します。
不要なソフトウェアがインストールされていない状態で有効化するよう留意します。
期間は15分を選択しました。

3

有効化すると、ステータスと期間が表示されます。

4

動作テスト

httpdのインストールと開始

アプリケーションコントロールの動作を確認します。
httpdをインストールし、開始します。

$ sudo yum install httpd -y
$ sudo service httpd start

"アプリケーションコントロールイベント"が3件、発生しました。

5

イベントを選択すると、詳細を確認出来ます。

6

httpdを停止し、"ルールの変更"から、httpdをブロックします。
serviceを実行すると、アプリケーションコントロールによりhttpdがブロックされました。

[ec2-user@ip-172-31-8-110 ~]$ sudo service httpd start
env: /etc/init.d/httpd: Operation not permitted
[ec2-user@ip-172-31-8-110 ~]$

シェルスクリプトのブロック

シェルスクリプトの実行をブロックできるか、確認します。
"承認されていないソフトウェアを明示的に許可するまでブロック"に変更します。

7

日付を表示するファイルを用意し、実行権を付与します。

[ec2-user@ip-172-31-8-110 ~]$ cat ~/batch.sh
#!/bin/bash
date
[ec2-user@ip-172-31-8-110 ~]$ chmod +x ~/batch.sh

バッチを実行すると、アプリケーションコントロールによりブロックされました。

[ec2-user@ip-172-31-8-110 ~]$ sh ~/batch.sh
sh: /home/ec2-user/batch.sh: Operation not permitted
[ec2-user@ip-172-31-8-110 ~]$

アプリケーションコントロールイベントでは、"承認されていないソフトウェアのブロック"と記録されました。

8

おわりに

Deep Security 10で実装されたアプリケーションコントロール機能を試してみました。
メンテナンスモードを有効化することで、インストール済みのアプリケーションがソフトウェアの許可ルールに追加されます。

許可ルールにないhttpdをインストール、起動するとイベントが記録されました。
ルールをブロックにすると、"Operation not permitted"エラーが発生し、起動出来なくなる事を確認しました。
許可ルールにないシェルスクリプトについてもブロック出来ました。
アプリケーションコントロールは、パターンファイルがないゼロデイ攻撃にも対応出来る機能だと思います。

検証環境

  • Trend Micro Deep Security as a Service
  • OS: Amazon Linux 2017.03

参考

AWS Cloud Roadshow 2017 福岡