特定課題研究

ブラウザフィンガープリントを用いた組織ネットワークへのなりすまし攻撃検知手法の提案
2021年2月20日
情報セキュリティ大学院大学
大久保研究室M1 望月麟太郎
1

目次
1. 背景
2. 先行研究3. 本研究の目標
4. 実験
5. 考察
6. まとめ、今後の課題

2

1 背景
n 本社以外の拠点を踏み台としたサイバー攻撃の増加
l セキュリティ対策の目が届きにくい遠隔の拠点から侵入
l 本社にあるサーバ等が攻撃を受ける

朝日新聞DIGITAL,最新鋭ミサイルの性能情報漏洩か 三菱電機サイバー攻撃, 日本経済新聞, NTTコムにサイバー攻撃 自衛隊の通信情報流出か,
https://www.asahi.com/articles/ASN5M5TZJN5KULZU004.html, 2020.5.20. https://www.nikkei.com/article/DGXMZO59718450Y0A520C2CC1000/,
2020.5.29.

3

1 背景
n テレワークの増加
l 従業員が自宅から私物端末を用いて会社のネットワークに接続
l 当該端末がサイバー攻撃の踏み台になる可能性がある
l 正規ユーザになりすまされて組織のNWに侵入される可能性

産経新聞,テレワーク標的か 国内でサイバー攻撃６５００件超,
https://www.sankei.com/life/news/200426/lif2004260044-n1.html,
2020.4.26.

朝日新聞DIGITAL,三菱電機へのサイバー攻撃、VPN装置にハッキングか,https://www.asahi.com/articles/ASN517HP7N4XULZU012.html,
2020.5.2.

4

1 背景
n なりすまし攻撃l 攻撃者が正規のユーザになりすまして不正な行動を行う
l 正常な通信・動作を行うため検知が容易でない

n なりすまし攻撃の例
l 休憩などのために離席中に放置した端末を操作
l 他人のアカウント情報を用いて外部からアクセス
私は羊です
羊に見えるから通ってヨシ！
5

1 背景
なりすまし検知の手段
ホストベース

ネットワークベース••••• メールサーバログ• ネットワークパケットヘッダ

UNIXコマンドログ
マウスの利用状況
キーボードの利用状況
ファイルシステムナビゲーション

欠点：• 正規ユーザが私物端末を用いて外部から接続している場合、ホストベースの検知は困難• ネットワークベースの検知手法は先行研究が少なく、最適な特徴量等の議論が不十分• ユーザの行動を常に収集しなければならず、データ量が膨大になる

ブラウザフィンガープリンティング
ほとんどのWebアプリにおいてJavaScriptが使用されており、その採取に関するハードルが低い
6

1 背景（フィンガープリンティング）n ブラウザフィンガープリントl JavaScriptやCSSを用いてブラウザから様々な情報を採取、ハッシュ化
l Webサイトにスクリプトが組み込まれていると採取される
User-Agent：Mozilla5.0 ...
IP address ：xx.xx.xx.xx
Language ：en-GB...etc

ハッシュ化
6cef9ef61bce6f24979b2123213606c9
ブラウザフィンガープリント

フィンガープリント収集サイト
3.JavaScript実行

1.Webサイトにアクセス

ブラウザフィンガープリンティング

2.JavaScript
4.フィンガープリント送信

アクセスログJavaScriptで取得した特徴情報

7

1 背景（フィンガープリンティング）n ブラウザフィンガープリンティングに用いられる特徴量の例
ハードウェアネットワークソフトウェア

画面解像度・色深度
リフレッシュレート
HDD空き容量
CPUコア数
タッチ機能
画面の向き
デバイスピクセル比
カメラ・マイク情報

IPアドレスAcceptヘッダ
Accept-Charset
Accept-Encoding
Accept-Language

ブラウザプラグイン
User-Agent

タイムゾーンWeb Strage利用可否
フォント情報Connectionヘッダ Canvas Fingerprint
Referer
HTTPクッキー8

2 先行研究（なりすまし検知）
n UNIXコマンドを用いたなりすまし検知
l 正規ユーザのよく用いるコマンドなどをプロファイルし検知に利用
l Schonlauら[1]：ユーザのコマンド履歴のプロファイルデータセット開発
l 安達ら[2]：深層学習を用いたコマンドログに基づく検知手法を提案

n マウスの利用状況を用いた手法
l 正規ユーザがマウスを利用するときの癖をプロファイル
l Pusara、Brodley[3]：マウスポインタの座標，移動角度，時間，距離l Gargら[4]：マウスのクリックも含めたデータセットを公開
l Shenら[5]：マウスダイナミクスにおける異常検知アルゴリズムの実験※[1]〜[5] スライドに収まりきらないため一覧として後述

9

2 先行研究（なりすまし検知）
n キーボードの利用状況を用いた手法
l キーボードを押下するときの癖やよく使う文字列をプロファイル
l KillourhyとMaxion[6]：多くの検知手法を研究，全て1クラス分類器を検討
l Messermanら[7]：キーの押下とタイムスタンプを含むデータセット開発

n ファイルシステムナビゲーションを用いた手法
l ディレクトリの階層構造を移動する際の癖などをプロファイル
l Caminaら[8]：WIULと呼ばれるリポジトリを開発
l Caminaら[9]：「局所性特徴」を加えリポジトリを拡張※[6]〜[9] スライドに収まりきらないため一覧として後述

10

2 先行研究（なりすまし検知）

ホストベースの検知手法における課題点
l 検知機構（センサー等）の導入に費用が掛かる
l 攻撃者が外部から攻撃を試みた際に検知不可
l 従業員が私物端末を用いている場合に検知不可

通信から取得できる情報を用いたなりすまし攻撃検知手法
11

2 先行研究（なりすまし検知）

n 通信から取得できる情報を用いた手法
l Chrisら[10]：POP，IMAP，SMTPのメールサーバログ及びNetFlowデータを用いたユーザ識別手法の提案
l Zhiyuanら[11]：ネットワークパケットヘッダ情報を用いたなりすまし検知手法を提案
uデータ転送プロトコル（ICMP、TCP、UDP）及び宛先ポートの情報を特徴量としてユーザを識別する手法を提案[10] Chris Strasburg; Sandeep Krishnan; Karin Dorman; Samik Basu; Johnny S. Wong, “Masquerade Detection in
Network Environments”, 2010 10th Annual International Symposium on Applications and the Internet, 2010[11] Zhiyuan Lv; Youjian Zhao; Haibin Li, “Modeling User Network Behavior Based on Network Packet Sketches
12for Masquerade Detection”, 2019 IEEE Symposium on Computers and Communications (ISCC), 2019

2 先行研究（なりすまし検知）

通信から取得できる情報を用いた手法の課題点
l検知に最適な特徴量などに検討の余地がある
lデータ量が膨大になる

容易に採取でき、ユーザに固有の値を関連づけられる
ブラウザフィンガープリントに注目
13

2 先行研究（ブラウザフィンガープリント）
n Eckersleyら[12]：フィンガープリントからブラウザを識別する
実験を実施
l 94.2%のフィンガープリントがユニーク

n Laperdrixら[13]：フィンガープリントからクライアントの使用機器を一意に識別
l デスクトップやラップトップマシンの35.7%l モバイル端末の18.5%[12] Eckersley, Peter, “How Unique Is Your Web Browser?”, International Symposium on Privacy Enhancing
Technologies Symposium, PETS 2010: Privacy Enhancing Technologies pp 1-18, 2010[13] Alejandro Gómez-Boix; Pierre Laperdrix; Benoit Baudry, “Hiding in the Crowd: an Analysis of theEffectiveness of Browser Fingerprinting at Large Scale”, World Wide Web ConferenceApril 2018 Pages 309–318,
201814

3 本研究について

特定の条件の下で運用されている端末からの社内ネットワークへのなりすましアクセスについて、ブラウザフィンガープリントで検知できるかを検証する

15

3 本研究について（想定する環境）
ネットワーク構成（概略）
本社以外の拠点

VPN

本社
Exchangeサーバ
ファイル共有サーバ

テレワーク
VPN

16

3 本研究について（想定する環境）
n 使用端末l 各拠点で従業員に貸与される端末は全て同一型番
l OS、内蔵ソフトウェア等は全て制限
l テレワークをする従業員は私物端末を使用
l 端末には複数のブラウザを搭載
uEdge、Firefox、Chromen 組織内ネットワークへのアクセス方法
l 社内ネットワークにアクセス時、自身のブラウザフィンガープリントを提出

17

3 本研究について（想定される攻撃シナリオ）n 国内拠点及び国外拠点① 正規ユーザが社用端末にロックをかけずに離席し、その隙に別のユーザが勝手に端末を利用（内部犯行）② 同拠点内で正規ユーザ以外の従業員が他人のアクセス情報を用いて別の端末からアクセス（内部犯行）

n テレワーク③ テレワーク従業員の端末が盗難され、当該端末を利用して攻撃者が社内ネットワークにアクセス④ ユーザID及びパスワード情報が漏洩し、攻撃者が別の端末を利用して組織内ネットワークにアクセス
18

4 実験
n ブラウザフィンガープリントによるなりすまし検知の実験
n いくつかのなりすましパターンを設定
l 実験1：同一のパソコンから不正アクセスされた場合
l 実験2：同型の別の端末から不正アクセスされた場合
l 実験3：別の型番の端末から不正アクセスされた場合
実験1 （攻撃シナリオ①）

実験2 （攻撃シナリオ②、③）

実験3 （攻撃シナリオ④）

社内ネットワークにサインイン、ブラウザフィンガープリントを送信

19

4 実験（環境構築）
n クライアント端末（仮想環境）
l 仮想化基盤：Parallels Desktop 16
l ２台分の仮想端末を作成
正規ユーザ使用端末（実験1で使用）

同型の別端末（実験2で使用）

クライアント端末にはWebブラウザとしてEdge、Chrome、Firefoxをインストール
20

4 実験（環境構築）
n クライアント端末（実機）l Surface Pro7
別型番の端末（実験3で使用）

クライアント端末にはWebブラウザとしてEdge、Chrome、Firefoxをインストール
21

4 実験（環境構築）
n ブラウザのバージョン
l edge：86.0.622.58 (Official build) (64-bit)l Chrome ：86.0.4240.111 (Official build) (64-bit)l Firefox ：82.0.2 (64-bit)

n ブラウザの使用言語
l edge：英語l Chrome ：英語l Firefox ：日本語

22

4 実験（環境構築）
nサーバ（仮想環境）
l仮想化基盤：Parallels Desktop 16
lゲストOS：CentOS 7
lWebサーバ：Apache httpd 2.4.6
lデータベースサーバ：Postgresql-12
lWebアプリケーション：Flask

nなりすまし検知プログラム
lPython3.8で実装
23

4 実験（なりすまし検知手順）
フィンガープリント収集サイト
ユーザ
3.JavaScript実行

1.フィンガープリント収集
サイトにアクセス（Flaskアプリケーション）

2.JavaScript
4.ユーザ名とフィンガープリントを送信

サーバ
6.
• ユーザ名とフィンガープリントの組合せ参照• 新たに受信した組み合わせと照合し判定

5.ユーザ名とフィンガープリントを保存（Postgresql-12）24

4 実験（なりすまし検知アルゴリズム）
ユーザ名とフィンガープリントの組を受信

TRUE

ユーザ名がデータベースに存在

FALSE

対象ユーザがいないと返す

ユーザ名とフィンガープリントの組が１組のみ一致

なりすましと判定

正規ユーザと判定

FALSE

ユーザ名に対するフィンガープリントが複数存在、そのどれかと一致
FALSE

TRUE

TRUE

対象ユーザが最初にアクセスした際のフィンガープリントと一致

TRUE

FALSE

25

4 実験（フィンガープリント収集スクリプト）n オープンソースのフィンガープリント収集スクリプト「Fingeprintjs2」を利用
l https://github.com/fingerprintjs/fingerprintjs/tree/v226

4 実験（フィンガープリ
ント収集スクリプト）n 28種の特徴量からフィンガープリントを生成
Fingerprintjs2の主な特徴量一覧
端末CPU情報
Canvas Fingerprint情報
端末メモリ情報WebGL情報スクリーン情報
User-Agent文字列
画面の色深度
ブラウザ拡張機能の有無
タッチ画面機能の有無
ブラウザ使用言語
オーディオ情報
WebDriver有無
OS情報
フォント情報
タイムゾーン27

4 実験（手順）1. 正規ユーザとして収集サイトにアクセス
l Edgeを利用

2. 攻撃者として収集サイトにアクセス
l Edge, Chrome, Firefoxを使用

3. なりすまし検知プログラムの応答を確認
実験1 （攻撃シナリオ①）

実験2 （攻撃シナリオ②、③）

実験3（攻撃シナリオ④）28

4 実験（結果）
正規ユーザ

攻撃者

Edge
実験1
実験2
実験3
実験1 （攻撃シナリオ①）

Edge
Edge
Edge

Chrome Firefox

検知せず 検知
検知せず 検知検知検知
実験2 （攻撃シナリオ②、③）

実験3

検知検知
検知（攻撃シナリオ④）

29

5 考察
n検知手法としてブラウザフィンガープリ
ントを用いる際の利点と欠点n想定している利用条件に合うブラウザ
フィンガー プリントの特徴量nブラウザフィンガープリントでなりすま
し検知を行う にあたっての運用の方法

30

5 考察
n ブラウザフィンガープリントによる検知の利点と欠点

利点• 比較的容易に なりすまし検知機構を作成・運用可能• 学習データが不要・ストレージ等の資源消費を抑える• 正規ユーザと攻撃者を簡単に判別可能

欠点• 誤検知が多い• 些細な変化 (ブラウザのアップデートなど) で別の値になる• 正規ユーザと攻撃者がどのように違うのかが判別不可能
31

5 考察
n有効な特徴量の考察（主要な特徴量）○：デメリットが無い△：運用次第でデメリットを緩和可能
×：デメリットが大きい

nデメリットの基準
l特徴量値が変化する頻度

32

5 考察
特徴量

ブラウザバージョン
User-Agent文字列
Canvas Fingerprint
ブラウザ情報(グローバル/プライベート)IPアドレス
バッテリーの状態
OS情報
使用言語
タイムゾーンp0fによる推定値
その他ハードウェア的な特徴量3種

考察結果

×△
△○
△×△○○○
○

33

5 考察

nなりすまし検知における運用方法の検討
n主に7つ提案34

5 考察（運用方法）
1. 利用者（社員）に対し、使用端末からJavaScriptを用いて情報を収集することを事前通知し同意を求める

あなたの端末でJavaScriptを使います

承知しました35

5 考察（運用方法）
2. 運用で用いる特徴量
特徴量
考察結果
○
特徴量の考察で”○”としたもの△(グローバル/プライベート)IPアドレス△
ブラウザプラグインリスト△
OS情報
プロバイダ情報36

5 考察（運用方法）
3. 各拠点内のユーザ使用端末は固定 IP アドレス
例：
本社
本社以外の拠点
グローバルIP: xx.xx.xx.xx

グローバルIP: yy.yy.yy.yy
VPN

192.168.xx.xx

192.168.xx.yy
192.168.xx.xx 192.168.xx.yy 192.168.yy.xx
37

5 考察（運用方法）
4. アクセス認証に利用するブラウザを任意の 1 つに固定
フィンガープリント認証ページ

38

5 考察（運用方法）
5. 初回のみ事前通知のパスワードを用いてアクセス
初回

フィンガープリント認証ページ
認証情報+パスワード• フィンガープリント発行• ユーザ情報との紐付け
2回目以降
認証情報+フィンガープリント39

5 考察（運用方法）
6. アクセスの度にフィンガープリント値を表示
今回のフィンガープリント値:
aaaaaaaaaa
前回のフィンガープリント値:
bbbbbbbbbb

フィンガープリントが変わりました

フィンガープリント認証ページ

システム運用担当者

登録情報を変更します40

5 考察（運用方法）
7. なりすまし検知時は運用担当に通知
攻撃者

フィンガープリント認証ページ
Accessアカウント情報をなりすまし

本人確認
正規ユーザ

運用担当
これはあなたですか？

違います

なりすましを検知！

通知

検知プログラム41

5 考察
n 運用時のフローチャート
ユーザ名とフィンガープリントの組を受信

ユーザ名がデータベースに存在
FALSE

対象ユーザがいないと返す

TRUE

ユーザ名とフィンガープリントの組が一致

TRUE

正規ユーザと判定

FALSE

本人に確認

正規ユーザである

TRUE

ユーザ再登録FALSE

なりすましと判定42

5 考察
n 期待できる効果
パラ メータが変化しにくい特徴量を採用

誤検知の多さを緩和
初回のパスワード認証

フィンガープリント登録段階でのなりすまし防止
利用者がフィンガープリント値の変化を確認、自発的に変更申請

誤検知を未然に防ぐ
検知システム発報数減、運用担当の負担減
検知の際の本人確認

詳細な違いを判別できない欠点を克服
43

5 考察
n 運用における課題
1 フィンガープリント値の漏洩

根本的な情報セキュリティ対策
2 プロキシ経由によるフィンガープリント値の偽装

SMSや認証アプリによるワンタイムパスワード
3 攻撃検知の度に利用者に本人確認を行うのは多少の負担

自動化プログラムの作成
44

6 まとめn 特定条件下でブラウザフィンガープリントによりなりすまし検知を行うことができるかについて実験を行った
n 検知が可能な場合と不可能な場合があることが判明した
n なりすまし攻撃検知技術としてブラウザフィンガープリントを使うことの利点と欠点、フィンガープリント生成に最適な特徴量、および運用方法を考察および提案した
私は羊です

あなたは羊ではありません45

6 今後の課題
nより一般的な環境に対する提案を検討する必要がある46

参考文献[1] Matthias Schonlau; William DuMouchel; Wen-Hua Ju; Alan F. Karr; MartinTheus; Yehuda Vardi, “Computer intrusion: detecting masquerades.”,
Statistical Science Vol. 16, No. 1, 58–74, 2001
[2]安達 貴洋; 小澤 誠一; 春木 博行, “深層学習モデルを用いたコマンドログに基づくユーザなりすまし検知”,情報処理学会研究報告
Vol.2020-DPS-182 No.21 Vol.2020-CSEC-88 No.21, 2020
[3] Maja Pusara; Carla E. Brodley, “User Re-Authentication via MouseMovements”, ACM workshop on Visualization and data mining for computersecurity, 1-8, 2004
[4] A. Garg; R. Rahalkar; S. Upadhyaya; K. Kwiat, “Profiling Users in GUI Based
Systems for Masquerade Detection”, 2006 IEEE Information AssuranceWorkshop, 2006
[5] Chao Shen; Zhongmin Cai; Xiaohong Guan; Roy Maxion, “Performanceevaluation of anomaly-detection algorithms for mouse dynamics”,
Performance evaluation of anomaly-detection algorithms for mouse dynamics,
2014

47

参考文献
[6] Kevin Killourhy; Roy Maxion, “Why Did My Detector Do That?!”,International Workshop on Recent Advances in Intrusion Detection, RAID
2010: Recent Advances in Intrusion Detection pp 256-276, 2010
[7] Arik Messerman; Tarik Mustafić; Seyit Ahmet Camtepe; Sahin Albayrak,“Continuous and non-intrusive identity verification in real-time environments
based on free-text keystroke dynamics”, 2011 International Joint Conference
on Biometrics (IJCB), 2011[8] Benito Camiña; Raúl Monroy; Luis A. Trejo; Erika Sánchez, “Towards
Building a Masquerade Detection Method Based on User File SystemNavigation”, Mexican International Conference on Artificial Intelligence,
MICAI 2011: Advances in Artificial Intelligence pp 174-186, 2011[9] J. BenitoCamiña; Carlos Hernández-Gracidas; Raúl Monroy; Luis Trejo, TheWindows-Users and -Intruder simulations Logs dataset (WUIL): An
experimental framework for masquerade detection mechanisms, Expert
Systems with Applications Volume 41, Issue 3, 15 February 2014, Pages 919930, 201348