2022年MWSCup 事前課題

Kanper
チーム名: UN頼み
電気通信⼤学岡⼭ あん(発表者)
池澤 隆⼈
嶋⽥ 康太
篠崎 佑⾺
渡邉 祐貴

NTTコミュニケーションズ
⼤森 敬仁

短縮URLとは• 正規のURLにリダイレクトされる短めなURLのこと• BitlyやTinyURLなどの短縮URLプロバイダから提供される• ⽂字数の節約を⽬的にSNSやメールで使⽤される場合が多い

短縮URL

正規URL

ユーザー

短縮URL
プロバイダ
正規URL

正規のサイトWebページ

Bitly: bitly.com，TinyURL: https://tinyurl.com/app2

短縮URLの問題点●短縮URLから遷移先のURLが分からない○悪質サイトへのURLが隠されてしまう●1つの遷移先に対して複数の短縮URLを簡単に作成可能○迷惑メールフィルタのフィッシングURL検知機能が回避されてしまう

図. 警視庁を語った短縮URLを⽤いたフィッシング
(参考: https://diamond.jp/articles/-/309413?page=4)図. 短縮URLの特集記事(参考:https://techtarget.itmedia.co.jp/tt/news/1710/02/news03.html)

短縮URLにアクセスする時に，遷移先を確認する機能が必要︕

3

問題に対する既存の解決ツール● LinkUnshortener● Unshorten.It!
● ExpandURL
いずれも短縮URLアクセス時に正規サイトの情報を表⽰(遷移先のページの詳細情報・セキュリティチェックサイトのURL・サムネイル)

https://linkunshorten.com/, https://www.unshorten.it/, https://www.expandurl.net/browser

4

既存ツールの問題点
1.短縮URLにアクセスする度にツールが起動する• よく訪れるドメインに遷移する場合でも、⼿動で確認が必要となる確認してから遷移して︕
よく⾒るブログサイトだから⾃動で遷移して欲しいなぁ

http://bit.ly/2189pis
http://tiny.cc/693zuz(良く⾒るブログサイトのquuta.comの記事に遷移する短縮URL)

2.

遷移先URLの確認画⾯

そもそもツール側のサーバが信頼できるか不明瞭
安全だよ

本当︖

5

提案ツール: Kanper●短縮URLへのアクセス時に遷移先の情報の表⽰●ホワイトリスト・ブラックリスト機能搭載●アクセス情報などを完全に制御できるセキュア機能

隠された真相(遷移先の悪質URL)を看破する者

看破erKanper

6①遷移先情報の表⽰機能

N段リダイレクトでも遷移先を特定

短縮URLへのアクセス時に遷移先の情報を表⽰する

7

①遷移先情報の表⽰機能
表⽰内容: ページ概要・Google Safe Browsingの結果・サムネイル
アイコンでも結果を表⽰

セキュリティチェックの結果

遷移先のサムネイル

ページのタイトルや説明⽂
8

②UXのこだわり︓ホワイトリスト機能
ホワイトリストにURLを登録すると確認作業なしで遷移できる

ホワイトリストに“quuta.com”が存在

http://bit.ly/anzenseni
http://tiny.cc/693zuz

確認画面

正規サイト

(良く⾒るブログサイトのquuta.comの記事に遷移する短縮URL)

遷移先のドメインがホワイトリストに登録されているため、正規サイトがそのまま表⽰される→ 別の短縮URLであっても，遷移先が同じであれば確認画⾯が発⽣せず表⽰
9

②UXのこだわり︓ホワイトリスト登録⽅法１
遷移画⾯上で”ホワイトリストに追加して表⽰”を選択

ここをクリックするとホワイトリストに登録して遷移する

10

②UXのこだわり︓ホワイトリスト登録⽅法２
画⾯右上の拡張機能設定から、“今のページをホワイトリストに追加”を選択

今のサイト登録したかった...

ここをクリック

11

②UXのこだわり︓ホワイトリストの編集
編集画⾯で簡単に整理可能
編集画⾯へ遷移
まずはここをクリック

ホワイトリストの確認・削除を簡単に⾏える︕

12

②UXのこだわり︓ブラックリスト機能• ブラックリストにURLを登録することで、確認画⾯で対象のURLへの遷移を防ぐことができるようになる• 遷移先のドメインを登録するため，別の短縮URLであっても遷移を防げる

13

②UXのこだわり︓ブラックリストの編集
編集画⾯で簡単に整理可能

編集画⾯へ遷移

まずはここをクリック

ブラックリストの確認・削除を簡単に⾏える︕

14

③セキュア機能︓サーバの変更
プライバシーなどの懸念点︓⇒⾃分の制御下のマシンだけで完結するようにできる情報漏れてない︖
本当にこの結果を信⽤していいの︖

⾃分専⽤の環境へ置き換え

アクセス情報も結果も安⼼安全︕

Kanperの構成図

カスタマイズしたKanperの構成図

15

③セキュア機能︓サーバの変更⽅法１
すべての機能は⾃分の制御化のマシンで完結できる

backendをクローン

Dockerでデプロイ
⾃動でSSL化まで

ここをクリック16③セキュア機能︓サーバの変更⽅法２
すべての機能は⾃分の制御化のマシンで完結できる( 無効な値を設定した場合 )ドメイン名を⼊⼒することで設定可能

UXに抜かりなし︕

17

今回の成果物• Kanper: 今回開発したツール• ソースコード: Kanperのソースコード• カスタムサーバ: セキュア機能を実現するツールなど• CDパイプライン: githubにpushすると拡張機能ができあがる仕組み• Swagger: APIのドキュメント・開発⽤UIページ• README: Kanperの利⽤⽅法・改良⽅法をまとめた資料• Loadmap: Kanper開発のこれまでと今後をまとめた資• デモページ: Kanperを体験できるページ
18

開発の流れ(これまで)
Phase1 初期実装
○ リダイレクト検知と遷移ブロックロジックの実装○ 遷移確認ページの表⽰

Phase2 システム化○ サーバーの実装○ ホワイトリスト・ブラックリスト機能の実装

Phase3 UXの改善○ サーバーの改善○ ホワイトリスト・ブラックリストの編集機能の実装○ 安全性評価の表⽰機能の実装

19

開発の流れ(今後)
Phase4 追加予定の機能○ 複数端末でのホワイトリスト・ブラックリストの同期機能○ ⾃作HTTPクライアントの実装

Phase5 改善に向けての取り組み○ 対応する短縮URLの種類拡張○ CI/CDによるサーバ環境の効率化○ How to contributeのドキュメント整備○ サーバ運営をせずにセキュア機能を実現■ アカウント・トークン管理■ エンド2エンドの暗号化■ （運⽤コストが嵩むので）収益化の検討
20

まとめ
● 新規性

○ UXを損なわないホワイトリスト・ブラックリスト機能○ アクセス情報などを完全に制御できるセキュア機能● 実⽤性○ 短縮URLで隠蔽された危険なサイトへの有効的な対策○ デモページ・Releasesなど実際のユーザの導線を意識した成果物● 継続性○ Githubなどを⼗⼆分に活⽤した開発⽀援・ドキュメント化○ ロードマップによる今後の開発計画の可視化
21

まとめ
●貢献

○短縮URL付フィッシングメールへの対策○短縮URLのリスクを考慮して使⽤を控える⼈に対する利⽤障壁を下げる

担当箇所
Github, Slack, Discord, Zoom, HackMDを活⽤して，下記の分担で作業した● 篠崎: フロントエンド，アイディアの提案● 渡邉: フロントエンド● 池澤: バックエンド● 岡⼭: バックエンド，スライド作成，発表● 嶋⽥: バックエンド，スライド作成● ⼤森: アイディアの提案，レビュー22

[補⾜] 導⼊⽅法
GithubのReleasesからダウンロードし，chromeの拡張機能に設定

release.zipをダウンロード

ここをクリック

23

[補⾜] 遷移先情報の表⽰機能
確認画⾯で怪しいサイトだと判断することができる

危険なサイトであることをサイトへの遷移前に確認できる

24