Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
高校のChromebookでも自由なネット環境を!
Search
らすぴー
May 16, 2026
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
高校のChromebookでも自由なネット環境を!
らすぴー
May 16, 2026
More Decks by らすぴー
See All by らすぴー
typoなんかねぇよ
raspython3
0
700
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
740
限界環境CPython rev. seccamp2025
raspython3
0
77
kernel-vm-ittekita-yuukousai
raspython3
0
130
kernelvm-brain-net
raspython3
0
1.2k
pyconjp2024-wince
raspython3
0
83
seccamp2024-edictionary-python-TLS
raspython3
0
66
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Amusing Abliteration
ianozsvald
1
300
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
HDC tutorial
michielstock
2
870
Practical Orchestrator
shlominoach
192
12k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
From π to Pie charts
rasagy
1
370
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Being A Developer After 40
akosma
91
590k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
280
Transcript
Chromebook らすぴー / RasPython3 (@RasPython3) 1
• 本スライドの内容は、発表者の高校時代(3~5年前)の話になります。 • 本スライドの内容は、現在は修正され使用できなくなっています。 • いわゆる脆弱性を突く、といったものではありません。 (この辺り@puhitakuさんに相談に乗っていただきました。感謝!) 2
活動名 RasPython3 / らすぴー X: @raspython3 seccamp’24 全国 seccamp’25 チューター
普段やってること 各種ウェブツールづくり 電子辞書いじり ゲーム内コーディング ネットワーク関連 etc. 3 SHARP Brain SH-PW7-W 自分が持ってる機体の色違い
• 昨今のICT教育推進の流れ • 高校入学時に学校の指示でChromebookを購入 • Google Play: 使用不可 • 拡張機能:
使用不可 • Linux: 使用不可 • フィルタリング拡張機能が強制インストール済み • DiscordやQiita等多数のサイトが閲覧不可 • 「不便すぎる!!!」 4 NEC Chromebook Y2
5 実際の規制画面
今回は「フィルタリングの無効化」を目標にする 1. 拡張機能の削除 2. 拡張機能を介さないルートの開拓 3. 拡張機能の検出回避 6
1: 拡張機能はポリシーによりインストールされている →もちろん普通のやり方では削除できない なので、「ポリシーの解除」と「ごり押し抹消」のどちらか これを行うには、Chrome(Chromium)の穴を探すことになる →難易度がかなり高い 7
2: • 拡張機能が介入できるルート 1. ブラウザのアドレスバーにURLを入れてアクセス 2. リンクをクリックしての遷移 3. JavaScriptでwindow.open()やnavigation.navigate() (2とほぼ同じ)
• 介入できないルート 1. 外部サーバでレンダリング 2. 自前でEthernet等を喋って通信・レンダリング・JavaScript処理 →ちょっと大変 (開拓はしていたが今回はスルー) 8
3: そもそも... 拡張機能はどうやってフィルタリングをしているのか? • WebRequestBlocking API • Manifest v2(とv3では一部拡張機能、今回の拡張機能も該当)まで使えたAPI •
HTTPリクエストを動的にブロックできる • DeclarativeNetRequest API • Manifest v3で使えるAPI • HTTPリクエストを静的にリダイレクトやブロックなどができる 9
3: この拡張機能は、前述の2つのAPIを使ってフィルタリングを実現してい るっぽい →ページ自体のloadイベント等を監視しているわけではないので イベントリスナーの削除などでの無効化は難しい 抜け穴があるとすれば、「想定外」を突くしかない ページ遷移のやり方も直リンや戻る/進む、history APIなど複数ある (ソフトナビゲーションとかもね) →できるだけ特殊なページ/手順を探そう!
10
URIスキームって知ってますか? 大雑把に言うと「どんな種類/手段のURIか」を示すもので、 URIの「:」とその手前の部分を指す http:, https:, mailto:, ssh:, ftp: などなど... 11
URI 拡張機能は基本的には http: または https: のみ動作可(のはず) →file: などから見たいページに飛べば回避できるのでは? 結果: 失敗
ちゃんとブロックされました • もっと特殊なスキームを! • Chromeブラウザで使われるスキーム • http:, https:, file:, chrome:(about:), chrome-untrusted: 12 ん?
chrome-untrusted • chrome://よりも権限が弱い、ブラウザ内蔵だが信用が低いページ 用のスキーム • 権限以外は chrome: とほぼ同じ挙動をしている(っぽい) • Chromebook以外では(自分は)見たことがない
...これってかなりレアスキームでは? 13
• 今回のやり方で都合がいいターミナルのページ (chrome-untrusted://terminal/html/terminal.html)を開く • 開発者ツールを立ち上げ、コンソールに「location.href=...」で 見たいページのURLを入力 • Enter! 14
ktkr 見れちゃった~~~~~ 15 けしからん じゃないか!!
• 制限の多い環境だと何かと力がつくのでおススメ • 例えば電子辞書 (この環境下で電子辞書にPython移植したりしていた) • 良い子のみんなは真似しちゃだめだぞ! 16