特定課題研究報告書 発表

WEBアプリケーションにおける不正アクセス検知を目的とした
2 層ログマッチング手法の研究
Research on two-layer log matching method
for unauthorized access detection in web application

情報セキュリティ大学院大学
大久保研究室M1 鈴木 貴年
学籍番号 5504701
mgs204701@iisec.ac.jp
1

もくじ

1. はじめに
2. 提案の概要
3. システム監視に関する関連技術および先行研究
4. 提案手法について
5. 評価（実験結果と性能評価）
6. 考察
7. まとめ学会発表：
2021年1月22日:「WEBアプリケーションにおける情報漏洩検知手法の提案」
2021年暗号と情報セキュリティシンポジウム (SCIS2021)，2021.
2

1. はじめに：研究の背景

情報漏えい発覚のきっかけ
35
30
25
20

15
10
5020162017①内部2018②外部20192020③不明

外部から指摘されるまで発覚しなかった事例※SecurityNEXTの記事を元に独自集計

3

2. 提案の概要：研究の目的

WAF/IDS/IPS
攻撃

攻撃者

WEB
アプリケーション

情報漏えい発生
こちらを検知したい。
4

2. 提案の概要：研究の目的【目的】① 不正アクセスを検知できるシステム構成を提案する。
② ①をアプリケーションの速度低下、ストレージ圧迫等の悪影響を最小限に抑える。
【前提】• 対象システム
データベースをバックエンドとするWEBアプリケーション• 不正アクセス
システム仕様以外の方法による機密情報への参照• 機密情報管理情報の内、監視対象の情報は絞り込まれている前提• 想定する攻撃SQLインジェクション攻撃を想定
5

2. 提案の概要：手法の概要
３層アーキテクチャーWEBアプリケーションと各層のログ出力
APログに正規の操作であることを示すログを出力するルールとする

データベースのログだけでは正規アクセスと不正アクセスを判別できない。

テーブルアクセスを監視するには実行SQL文をログに出力する必要がある

ストレージ圧迫は避けたい6

2. 提案の概要：手法の概要
本研究における情報漏洩検知手法の概要図

ストレージ圧迫を限定的にしたい

DBのログとAPのログがペアになる⇒正規アクセス
DBのログとAPのログがペアにならない⇒不正アクセス！
73. 関連技術および先行研究

データベース参照を監視するための技術・先行研究を調査した。
関連技術

監視対象

利用可否

Linux Audit
Framework

システムコール,ファイルアクセスなど

Data Provenance/Provenance Graph

システムコール,ファイルアクセスなど

SIEM

イベント,ログ×

IDS

ネットワークパケット×▲▲（調査結果）データベース参照を監視する方法としては利用できない。

（結論）データベース参照を監視する、実行SQLをログファイルに出力する必要がある。

詳しくは論文原稿をご参照ください。
8

提案手法について：システム構成
機密情報はDBを分けることで、機密情報アクセス時のみログ出力する【システム構成】

機密情報へのアクセスはすべてログに記録される
ログファイルを解析してログDBに登録

機密情報への正規アクセスであることをAPログに登録する

機密DBログに対応するAPログが存在するかチェック
9提案手法について：動作イメージ(全体)

本研究における情報漏洩検知手法の概要図

ランタイム

事前準備定時バッチ

ランタイム

10

提案手法について：動作イメージ(2層ログマッチング)【ログＤＢ】

正規アクセスペア成立
ＡＰログ（keyword(AP): xxx, 検索条件:
email=suzuki@example.com),SQLﾊｯｼｭ値

機密テーブルへの参照ログ（keyword(DB): zzz, 検索条件: email=suzuki@example.com)【ログマッチングマスター】
Keyword(DB):zzz, keyword(AP): xxx, SQLﾊｯｼｭ値:xxxxxxxxxxxxxxxxxx「正常動作」をルール化するのがポイント!!

11評価：実験
【実験用アプリケーション – ログイン画面】【実験用アプリケーション – ER図】

機密情報

• システム仕様として機密データを参照する。

【実験用アプリケーション – メイン画面】

一般情報• SQLインジェクション脆弱性がある。
• システム仕様としては機密データを参照しない。

12評価：実験
【実験用アプリケーション - ログイン画面】

システム仕様として機密データアクセスする
ログマッチングマスタに基づいたAPログの登録あり【ログマッピング結果】

機密DBログとAPログのペア作成成功⇒正規アクセス13

評価：実験

【実験用アプリケーション - メイン画面】• システム仕様として機密データへのアクセスなし• SQLインジェクション脆弱性を利用して機密情報にアクセスする【ログマッピング結果】

機密DBログとAPログのペア作成失敗⇒不正アクセス14評価：性能評価①【性能評価】
・既存のWEBアプリケーション（フェリー乗船券予約システム）に対し、本稿の手法を適用し有効性、性能悪化の影響を計測する。
※比較のパターンは下表の通り。
実験区分

検知手法

DB分離

備考

実験①なし

‐ベンチマーク

実験②あり

なし

性能劣化

実験③ありあり
性能改善※実験②：DB分離なしの場合、性能が劣化することが予想される。
※実験③：DB分離構成にすることで性能劣化の程度を改善できると想定している。

提案手法

実験対象WEBアプリケーションの特徴
・言語:PHP、フレームワーク:独自フレームワーク
・SQL実行については、PDOのラッパークラスにSQL文を文字列として渡す方式※SQL文の動的生成はなし。すべてプレースホルダーを使用
実験方法：
乗船券の予約処理を100件実行する。
※python3 requestsモジュールを使用
15

評価：性能評価②

実験③検知あり、分離あり

実験②検知あり、分離なし

実験①検知なし（ベンチマーク）【結果】実験①⇒② 2.01%悪化
実験①⇒③ 1.12%悪化⇒悪化の程度を改善できた。16

評価：性能評価③【結果】
実験②に比較し、実験③ではログ出力件数・サイズともに抑えることができた。

17

評価：性能評価③

実験②検知あり、分離なし
実験③検知あり、分離あり

実験①検知なし（ベンチマーク）

18

考察

本研究における情報漏洩検知手法の概要図

有効性を確認した。

有効性を確認した。
DB分離にはデメリットもある• 外部キー参照を設定できない• 管理コストが増える

一部、制限がある。
• ORMと相性悪い• 動的SQLが使えない19

まとめ【目的】① 不正アクセスを検知できるシステム構成を提案する。
② ①をアプリケーションの速度低下、ストレージ圧迫等の悪影響を最小限に抑える。
【成果】① 2層ログマッチング手法により、不正アクセスを検知できることを確認した。
② 選択的ログ出力により、速度低下やストレージ圧迫の抑止に効果が得られることを確認した。

【課題】① ORMとの相性が悪い、動的SQLが使用できないなど、開発上の制約がある。
② データベース分離による選択的ログ出力はデメリットもある。
pgauditを使用したシステム構成を検証して比較するべき。
20

ご清聴ありがとうございました。

21