投稿者:セキュリティ編集者

データベースを利用するときは、外部からの攻撃を防ぐ対策も重要ですが、内部不正の対策も重要になります。
DBセキュリティ製品は、ポリシーを設定し、想定された不正なアクセスによる情報漏えいは防ぐことができますが、
想定できない不正なアクセスや普段使用されているユーザーからの内部不正による情報漏えいを防ぐことは非常に難しいです。
許可されていないユーザーやアクセス元からのアクセスによる情報漏えいなどのアクセスは、ポリシーによるアクセスブロックで対策できますが、
業務で使用しているユーザーなどのアクセス許可されているユーザーやアクセス元からの不正アクセスは、ポリシーでは対策できません。
そこで、役に立つのが機械学習を利用したユーザーの振る舞い分析です。
振る舞い分析も使用することで、図のようにポリシーでは対策できなかったアクセスできるユーザーによる情報漏えいも対策できるようになります。

DB_Security.png

Data Risk Analyticsは、Data Security Gatewaysからの監査ログを元に機械学習を行い、ユーザーの振る舞い分析を行います。
機械学習を用いてベースラインを作成することで明示的にルールを作成する必要がなく疑わしいアクセスを検知可能になります。
今回は、Data Risk Analyticsを用いてユーザーの振る舞い分析を実施してみたいと思います。

architecture.png

◆Imperva Data Risk Analyticsの製品概要

 ・仮想アプライアンスのみの提供である。
 ・Data Security Gatewaysの監査ログをもとに機械学習を行いユーザーの振る舞い分析をする。
 ・機械学習を用いてベースラインを作成するため、明示的にルールを作成する必要がない。

◆設定方法

 1.導入・設定
 2.ログ設定
 3.機械学習
 4.振る舞い分析
 5.インシデント確認

1.導入・設定

Data Risk Analyticsは、OVFファイルから仮想マシンを作成します。
OVFファイルのインポート後にIPアドレス等の初期設定を、仮想マシンのコンソールから行いますが、今回は割愛させていただきます。
Data Risk Analyticsは、管理サーバと機械学習を行う振る舞い分析サーバの2つがあり、それぞれ別のOVFファイルから作成します。
Data Security Gatewaysの監査ログを使用して、振る舞い分析を行うための構成は以下のようになります。
Setting.png

2.ログ設定

Data Security Gatewaysにログインして、 Data Risk Analyticsの情報を登録します。
001_cut.png

デフォルトで用意されている監査ポリシー「CounterBreach for Database - All Events」の監査ログを Data Risk Analyticsに送る設定をします。
002_cut.png

3.機械学習

一定期間監査ログをData Risk Analyticsに送ることで、機械学習でベースラインを作成させます。
今回は、1ヶ月ほどのベースライン作成期間を設けました。
Data Risk Analyticsに送られた監査ログの量は、GUIから確認できます。
003_cut.png

4.振る舞い分析

今回は、DB管理ユーザーが、不正アクセスに利用されDBにログインしたというシナリオで振る舞い分析を行いたいと思います。
このユーザーは、普段使用しませんが管理上必要なユーザーであり、半年~1年の間隔で定期的に使用したり、障害などの緊急時にも使用されるユーザーのため、Data Security Gatewaysのポリシーでは許可されるように設定されています。
ベースライン作成期間で使用していなかった管理ユーザーのscottでログインします。
DBeaverからテスト接続を使用してログインしてみます。
Data Security Gatewaysのポリシーではこのユーザーを許可しているので、問題なくログインできます。
004_cut.png

5.インシデント確認

Data Risk Analyticsにログインすると、インデントが発生していました。
005_cut.png

「Database Service Account Abuse」というアカウント不正利用のインデントが発生していました。
006_cut.png

インシデントの発生理由を確認すると、最近使用されていないユーザーがログインしたことが理由としてあがっており、シナリオ通りにインシデントが発生しました。
007_cut.png

詳細確認すると、どんなログがインデントの対象になったのか確認できます。
008_cut.png

◆所感

Data Risk Analyticsを使用することで、ユーザーの振る舞い分析をすることができ、ユーザーの不正なアクセスを検知することができました。
ポリシーでは、使用しないユーザーを拒否することはできますが、今回の検証のように管理上必要なユーザーあり、普段使用しないが定期的に使用したり、緊急時に必要になるユーザーはポリシーで拒否設定することが非常に難しいです。
Data Risk Analyticsを使用することで、ポリシーでは拒否することが難しいユーザーが不正アクセスに利用されても検知することができるので気づかないうちに不正アクセスされ、情報漏えいされていたということを防ぐことができます。

また、監査ログをData Risk Analyticsに送るだけで機械学習によるベースライン作成とユーザーの振る舞い分析が自動で行われるので、セキュリティ管理者は発生したインシデントのみを確認するだけでいいのが楽で良い感じです。
Data Security Gatewaysの監査ログを使用して機械学習しているため、別途振る舞い分析用のログ収集させなくてもいい点ですね。

今回は、普段使用されていない管理ユーザーが不正アクセスに利用されDBにログインされたというシナリオでインシデントを発生させましたが、この他にも以下のようなカテゴリなども振る舞い分析できます。
 ・マルウェアにより入手された同一のIDとパスワードでの複数のデータベースへアクセスする。
 ・不正に入手したIDを使ってなりすまし、そのユーザーがアクセスする頻度が低い時間帯にデータベースにアクセスされる。
 ・直近の退職者が削除される前のIDや入手した管理IDを使用し、情報を取得するためにデータベースへアクセスを行う。
 ・SQLインジェクションにより、アプリケーションからのポリシーでは許可される不審な動的SQLでのアクセス。
など

◆最後に

GDPRや個人情報保護法の改正により、企業は、情報漏えいに対してより一層対策することを求められるようになっています。また、クラッカーからの攻撃の巧妙化や内部不正の増加傾向により、DBのセキュリティ対策は、侵入や不正アクセスをさせない対策だけでなく、Data Risk Analyticsのような振る舞い分析も使用して、たとえ侵入や不正アクセスをされても、情報漏えいさせない対策も必要になっています。
そこで、Data Security Gatewaysでは、ポリシーを作成し許可されていないユーザーのアクセスや許可されていないIPアドレスなどからのアクセスを防ぐことでDBを保護し、今回の検証シナリオのようなポリシーでは防ぐことのできないケースをData Risk Analyticsでしっかりと補完することでDBのセキュリティレベルを底上げすることができます。

同じImperva社製WAFについてはこちらをご覧ください。
https://www.niandc.co.jp/sol/product/imperva/

自社のセキュリティで何に手を付けてよいかわからないか課題をお持ちの方は以下をご覧ください。
https://www.niandc.co.jp/sol/product/security_assessment/

記事及び、この製品(Imperva Data Risk Analytics)に関するお問い合わせは
NIC_Contact@niandc.co.jp
までお問合せください。