～特別課題研究報告書審査会～

JavaScript を用いた端末特微量抽出によるWeb リソースへのアクセス制御手法の提案
情報セキュリティ研究科
学籍番号：5525703
大久保研究室M1 西丸 真生
2023年2月6日

目次
1. 研究背景・目的
2. 関連研究3. 特徴量の要件と取得手段の検討
4. 提案手法
5. 評価実験
6. 考察・今後の課題
7. まとめ2023/2/7

2

1. 研究背景・目的➢ テレワークの導入・活用が拡大➢ リモート環境下から内部の情報ネットワークへのアクセスが容易に➢ 従来の境界型セキュリティ対策では,サイバー攻撃を十分に防ぎきれない状況
テレワークにおけるセキュリティ被害事案の一部
被害機関

内容•三菱重工業株•
式会社•
米フォーティ
•ネット社製•
VPN装置を使•用していた機関2023/2/7

社員が在宅勤務時に社内ネットワークを経由せず,SNSに接続したところウイルスに感染
当該パソコンを 社内ネットワークに接続したことで,社内ネットワークにおいて感染が拡大
その後サーバーに対して外部からの不正アクセスを受けた. 2020年8月7日発表.
VPN装置の欠陥が悪用され,国内の企業や行政機関がサイバー攻撃を受けていた.
ID,パスワードの認証情報が被害にあった.
例示されているのは,警察庁,日本政府観光局,リクルート,札幌大学. （2020年12月1日付,中日新聞記事による）
3

引用元：総務省「ウィズコロナにおけるデジタル活用の実態と利用者意識の変化に関する調査研究（2021）」,テレワーク,遠隔教育におけるセキュリティ被害事案

1. 研究背景・目的
テレワークの導入・活用等による発生した新な脅威にたいして,多くの企業では対策を迫られている. 総務省が発行する「テレワークセキュリティガイドライン
第5版」では,テレワークを導入・活用するために必要となるセキュリティ対策について示されている. 以下は脆弱性管理についての抜粋である.

脆弱性管理の抜粋
システム・セキュリティ管理者がすべき対策◼ テレワーク端末におけるOSをはじめとしたソフトウェアについて，アップデートやパッチ適用を定期的に行い最新の状態を保つようにテレワーク勤務者に周知する◼ テレワークで利用する端末やソフトウェアについて，メーカーサポートが終了しているものを利用しないよう周知する
テレワーク勤務者が実施すべき対策◼ テレワーク端末におけるOSをはじめとしたソフトウェアについて，アップデートを適切に実施する．Windows７等のサポートが終了
した製品を使用しない．
2023/2/7

引用元：総務省 テレワークセキュリティガイドライン 第５版（令和３年５月） https://www.soumu.go.jp/main_content/000752925.pdf.

4

1. 研究背景・目的

OSとブラウザの脆弱性について
ブラウザ

OS• Windows ＸＰは2014サポート終了• Windows 7 2020年にサポート終了• サポート終了時は,更新プログラムが配信されない※Windows 10は，現在サポート中
2025年にサポート終了予定

2023/2/7

引用：TechTarget Japan,「プロ調査で明らかになった「Chrome」の“25億人に影響”する脆弱性とは？」https://techtarget.itmedia.co.jp/tt/news/2301/26/news15.html
NIST, CVE-2022-3656 Detail, https://nvd.nist.gov/vuln/detail/CVE-2022-3656,

51. 研究背景・目的
課題・問題点◼ テレワーク環境下では端末の脆弱性に関するセキュリティ対策が適切に実施されていない可能性がある．
◼ 一元的な管理ツールは，コスト面からの理由で私物端末を用いる場合，プライバシーの観点からはばかられる．

研究目的
端末に一元的な管理ツールを導入することなく，セキュリティ上の脆弱性が存在する端末からのアクセスを拒否すること．Webブラウザを介して取得するユーザ端末の特徴量を用いたアクセス制御手法の提案

着目技術
ブラウザフィンガープリント
ブラウザ拡張機能
2023/2/7

6

1. 研究背景・目的

ブラウザフィンガープリント（BFP）
ユーザが利用するブラウザを介して，Webサーバ側で利用端末のOSやスクリーンサイズ，タイムゾーンなどの情報を抽出し，それらの情報をハッシュ化することで，固有の端末識別情報を生成し，他の端末と識別する技術
である．
フィンガープリント値生成イメージ
アクセス元の端末情報••
•
••

ID

OS：Windows11
スクリーンサイズ：1920×1440
タイムゾーン：UTC+09:00
ブラウザの種類：Google Chrome
使用言語：日本語etc..

ΗkzEObmPBwZ9OT9crkHiT

ブラウザフィンガープリント
収集サイト

採取の仕組み①Webサイトへアクセス
アクセス元②HTML,③JavaScript等の2023/2/7 ファイルを実行

JavaScript④特徴量の送信

IDの保管情報⑤BFP値の生成⑥BFP値の保存

7

1. 研究背景・目的

想定環境・前提条件
想定環境
社内ポータルなどを有する組織がテレワークの実施において、私用端末の利用を許可しており, 外部からのインターネットを通じたアクセスを許可 しているような環境
前提条件
ユーザ名とパスワード認 証，そのほか多要素認証等を実施し，ユーザーは正規の利用者であること，そして，アク セス元端末から抽出する特徴量が攻撃者によって改ざんされないこと．

2023/2/7

8

目次
1. 研究背景・目的
2. 関連研究3. 特徴量の要件と取得手段の検討
4. 提案手法
5. 評価実験
6. 考察・今後の課題
7. まとめ2023/2/7

9

2. 1 ブラウザフィンガープリントを用いたユーザの識別◆2010年にEckersleyらによって実施された研究が「ブラウザフィンガープリント」という言葉を生み出した◆ 2020年Laperdrixらの「ブラウザフィンガープリント」のサーベイ論文
ブラウザフィンガープリントの文献で収集された主な属性の全例とそのソースを示している．
高度化の要素として，新しい属性の追加について述べられている．

2023/2/7

出典元：Laperdrix, P., Bielova, N., Baudry, B., & Avoine, G.
(2020). Browser fingerprinting: A survey. ACM Transactions on theWeb (TWEB) , 14 (2), 1-33.

10

2. 2 JavaScript 標準への適合度を利用するブラウザの識別手法
Mulazzaniら2013年◆ テストケースにおけるフェール数に着目して, ブラウザを特定できるかについて調査
Test262におけるブラウザのフェール数 *ブラウザの更新のたびにテストケースを実施し, 分析を要する本手法は不効率* 出典元：Mulazzani, M., Reschl, P., Huber, M., Leithner, M., Schrittwieser, S., Weippl, E., & Wien, F. C. (2013, May). Fast and reliable browser identification withjavascript engine fingerprinting. In Web 2.0 Workshop on Security and Privacy (W2SP)

11

2.3 BFPを用いたWebリソースへのアクセス制御
高木2021年

検証済みのリクエスト
アクセス元
ブラウザフィンガー
プリントの検証

リソースへのリ
クエスト+BFP値の送信

組織リソースが格納されたWebサ
イトへのWebブラウザでアクセスする際に，アクセス元のブラウザからブラウザフィンガープリントをJavascriptで取得し，取得したブラウザフィンガープリントを検証し，検証済みのリクエストのみアクセス許可する手法を提案．

2023/2/7

組織のリソース

FingerprintJS2 によるブラウザフィンガー
プリント値生成のための要素の一部

要素説明
ユーザーエージェン
トuserAgenthardwareConcurrency

CPUコア数screenResolution

スクリーンサイズ

timezone

タイムゾーン

cpuClass

端末のCPU名

plugins

ブラウザにインストールされたプラグインのリスト::

122.4 ブラウザ拡張機能のアクセス権限について
Aggarwal ら 2018年◆ ブラウザ拡張機能が目的と関係のない，ブラウジング履 歴，IP ア
ドレス，位置情報などの情報へアクセスしサードパーティドメインへ情報を送 信すること確認した．
他方，組織単位でアクセス制御ために必要な情報へのみアクセスすることを目的 とし，拡張機能を利用することは ユーザーの端末の脆弱性に関する詳細な情報を収集できるので，より柔軟性の高いアクセ ス制御が可能と推測．

出典元：Anupama Aggarwal, Bimal Viswanath, Liang Zhang, Saravana Kumar, Ayush Shah, and Ponnurangam Kumaraguru. I spy with my little eye:analysis and detection of spying browser extensions. In 2018 IEEE European Symposium on Security and Privacy (EuroS&P), pp. 47–61. IEEE, 2018.

2023/2/7

13

目次
1. 研究背景・目的
2. 関連研究3. 特徴量の要件と取得手段の検討
4. 提案手法
5. 評価実験
6. 考察・今後の課題
7. まとめ2023/2/714

3. 特徴量の要件
i.

Webサーバーへアクセスする端末の様々な特徴を採取することが可能であることが判明したが, それぞれの要素の正確性や取得可能性については, 必ずしも重視されていなかった.
ii. 既知の脆弱性排除に関して，すべき対策◼ OS をはじめとするソフトウェアについて，アップデートやパッチ適用を定期的に行い，最新版を利用すること◼ メーカーサポートが終了しているものを使用しないこと等
iii. 先行研究や関連研究において，Web システム側でアクセス元端末の脆弱性を検知手法については，現時点で確認されなかった
iv. Web システム側で，脆弱性排除の観点においてアクセスを制御するには，以下の特徴量を抽出する必要がある．
◼ OS の名称◼ OS のバージョン◼ ソフトウェアの名称◼ ソフトウェアのバージョン
2023/2/715

3 検証実験
アクセス元の脆弱性排除の観点で抽出する必要のある特徴量について，異なる環境における抽出の可否や正確性について検証を行った．

検証対象• OS の名称• ブラウザの名称• ブラウザバージョン• レンダリングエンジン
OS やブラウザに偏りなく抽出可能であるか調査すべく，表 3.1 に示す OS とブラウザの組み合わせに対して検証
Webアプリケーションでの取得値, 取得値と実際の値の比較結果を一致性とした評価

2023/2/7••••

一致している:〇一致していない:×
部分一致，広義の意味での一致:△
取得不可:―

16

3 構築環境と検証手順
Windows10上の仮想環境に, 検証対象とするOS, 特徴を検出するためのWebアプリケーションを実行するOSを用意した．OS及びブラウザ情報の採取には, GitHub上に公開されているオープンソースのplatform.jsを利用した.
1. 検証対象で,Webアプリケーションへアクセスし，HTML, JavaScriptファイルを読み込む
2. スクリプトを実行すると, OS及びブラウザ情報をPOST通信で,webアプリケーションに送信する.
3. Webアプリケーションは,コマンドに取得情報を出力する.

2023/2/7

17

3. 検証結果：Windows 11

OS情報が不一致であった利用したスクリプトが2年前に最終更新されたものであったためと推測
2023/2/7

18

3. 検証結果：Windows 10

2023/2/7

19

3. 検証結果：Windows 7

2023/2/7

20

3. 検証結果：Windows XP, Ubuntu
Windows XP

Ubuntu21
2023/2/7

3. 検証結果の考察
windows XP及びwindows 7のInternet Explorerの一部除いては，OS，ブラウザ，レンダリングエンジン情報をWebアプリケーション側で取得することができた．

取得値と実際の値の比較
Windows10上のEdge及びInternetExplorerブラウザでアクセスした場合はおおむね正確な値が取得できることを確認した．それ以外の情報
においては，実際の値と取得値が，部分一致や広義の意味での一致など，必ずしも一致していないことを確認した．これらの違いはオープンソースであるplatform.jsの一部を修正することで対応することは可能であると考えられる．

2023/2/7

22

目次
1. 研究背景・目的
2. 関連研究3. 特徴量の要件と取得手段の検討
4. 提案手法
5. 評価実験
6. 考察・今後の課題
7. まとめ2023/2/723

4. 提案：構成図

2023/2/7

4. 提案：フローチャート図

2023/2/7

目次
1. 研究背景・目的
2. 関連研究3. 特徴量の要件と取得手段の検討
4. 提案手法
5. 評価実験
6. 考察・今後の課題
7. まとめ2023/2/7

26

5.提案手法の検証
実験の目的
Web リソースへのアクセスを許可する端末の条件を設定した場合， 各
種 OS・ブラウザからの Web リソースへのアクセス状況について観察し，提案手法の有 効性を確認すること

実験の方法・実験環境• アクセス許可の条件を２パターン仮定
して検証• 検証対象は3.特徴量の要件と取得手段の検討と同様• Webサーバに特徴量抽出に用いるスクリプト（platform.js）及び判定後に遷移するページ（HTMLファイル）を格
納2023/2/727

5.提案手法の検証
アクセス許可の条件

2023/2/728

5.実験結果

アクセスを拒否することができた．
2022/12/629

目次
1. 研究背景・目的
2. 関連研究3. 特徴量の要件と取得手段の検討
4. 提案手法
5. 評価実験
6. 考察・今後の課題
7. まとめ2023/2/730

6.考察・今後の課題◆ 提案手法の検証を行った結果，Web リソースへのアクセスを許可する OS 及びブラウザについて，JavaScriptを用いて制御可能であることを確認した．
◆ した がって，本手法を用い，アクセス許可端末を設定することで，メーカーサポートが終了し ているなどの脆弱性を有する端末の排除が可能であることを示せた．

2023/2/731

6.考察・今後の課題
ブラウザ拡張機能との組み合わせ◆ Chrome 拡張機能は，Chrome API と呼ばれる一連の特権ブラウ ザ API へアクセス可能◆ 拡張機能と組み合わせることでより粒度の細かいアクセス制御が可能となると推測

2023/2/7

32

6.考察・今後の課題
提案手法の応用
ECサイトなどの顧客向けサイトにおける，Bot を操るサイバー攻撃による不正アクセスにおいて，提案手法を適用することでリスクを軽減できる可能性

課題◆ User-Agent の段階的削減の方針◆ 正規の利用者が脆弱性のある端末を利用していた場合に，脆弱性が検出されないよう，改ざんする可能性

2023/2/7

33

5. まとめ
1.

2.

3.

4.
5.
6.

2023/2/7

本研究の目的は，リモート環境下からの組織のWeb リソースへのアクセスにおいて，ユーザー端末の Web ブラウザを介して抽出する特徴量を用いて，脆弱性を有する端末を排除すること
JavaScript を用いて端末の特徴量を抽出し，特徴量の正確性を検証した．結果，検証対象とした OS のほぼすべてで特徴量の抽出が可能であり，取得特徴量についても一部を除き正確性を有することが判明．
JavaScript と Python の Flask を利用して,端末の特徴量を抽出し，アクセス条件を満たすか検証を行い，その結果によってアクセスをコントロールする手法を提案．
提案手法の評価実験の結果，JavaScript を用いてアクセス制御可能であることを確認した．
ブラウザ拡張機能を利用した本提案手法の向上の可能性を示した
今後の課題について考察を行った

34