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
260
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
770
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
800
限界環境CPython rev. seccamp2025
raspython3
0
81
kernel-vm-ittekita-yuukousai
raspython3
0
130
kernelvm-brain-net
raspython3
0
1.2k
pyconjp2024-wince
raspython3
0
90
seccamp2024-edictionary-python-TLS
raspython3
0
69
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
Agile that works and the tools we love
rasmusluckow
331
22k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Chasing Engaging Ingredients in Design
codingconduct
0
340
The World Runs on Bad Software
bkeepers
PRO
72
12k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
First, design no harm
axbom
PRO
2
1.3k
Rails Girls Zürich Keynote
gr2m
96
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Documentation Writing (for coders)
carmenintech
77
5.6k
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