Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
gVisorを使おう!/ Let's use gVisor!
Search
Kattyan
July 13, 2023
Programming
0
170
gVisorを使おう!/ Let's use gVisor!
Kattyan
July 13, 2023
Tweet
Share
More Decks by Kattyan
See All by Kattyan
QPACK って何?/What is QPACK?
sou1118
0
710
スライド操作用リモコンを作った話/Making-a-remote-control-for-slide-operation
sou1118
0
360
マイナンバーカードを用いた認証について/Authentication-using-the-My-Number-Card
sou1118
0
770
マイナンバーカードの有効利用法を探る / Finding-ways-to-use-my-number-card
sou1118
0
300
少し幸せになれるスマートなリモコンを作る / Making-a-Smart-remote-controller
sou1118
0
350
Other Decks in Programming
See All in Programming
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
220
Ktorで簡単AIアプリケーション
tsukakei
0
120
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
2
200
ドメイン駆動設計のエッセンス
masuda220
PRO
15
6.1k
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.7k
SODA - FACT BOOK(JP)
sodainc
1
8.9k
Software Architecture
hschwentner
6
2.4k
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
880
Node-REDのノードの開発・活用事例とコミュニティとの関わり(Node-RED Con Nagoya 2025)
404background
0
100
Go言語はstack overflowの夢を見るか?
logica0419
0
650
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
960
Featured
See All Featured
Building an army of robots
kneath
306
46k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
940
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
What's in a price? How to price your products and services
michaelherold
246
12k
Six Lessons from altMBA
skipperchong
29
4k
Side Projects
sachag
455
43k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
The Pragmatic Product Professional
lauravandoore
36
7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Transcript
gVisorを使おう! Kattyan 1
自己紹介 インターネット技術とネットワークセキュリティ,低いところに興味 GitHub: sou1118 自己紹介 2
コンテナとは? コンテナは,アプリケーションとその依存関係をパッケージ化し,独立 した環境で実行するための技術 コンテナは分離された環境を提供し,これによりアプリケーションは他 のシステムから独立して動作 NameSpaceを使用して,この分離された空間に対するアクセス制御 を行う cgroupsを使用して,リソースの制限(CPU,メモリなど)を行う コンテナについて 3
コンテナランタイムとは? コンテナの作成と管理を担当するソフトウェア 以下の4層で構成される 1. 管理コマンド 2. 高レベルコンテナランタイム 3. 低レベルコンテナランタイム 4.
Linux カーネル コンテナランタイムについて 4
例えば,Dockerを使用した場合 1. Docker CLI 2. containerd 3. runC 4. Linux
カーネル 5
低レベルコンテナランタイムとは? Linux カーネルの上で直接コンテナを作成,実行 ホスト OS の特権権限が必要 runC に脆弱性があると,ホスト OS の特権権限が侵害される可能性
がある 最近では,runC を置き換える動きが活発 高レベルコンテナランタイムから低レベルコンテナランタイムへの通信 は,OCI (Open Container Initiative) に基づく gVisor, Firecracker, Kata などが低レベルコンテナランタイムの例と して挙げられる 低レベルコンテナランタイムについて 6
gVisorとは? runC の代わりとして開発された低レベルコンテナランタイム OCI に準拠 システムコールの大部分を,ホストカーネルに直接渡さずに,gVisorの ゲストカーネルで実行 コンテナがホストから完全に分離(サンドボックス化) Go 言語で書かれており,メモリ安全を保証
GCP の App Engine や Cloud Run での実用経験があり Dockerで利用する場合は, daemon.json ファイルを編集することで設 定可能 gVisorについて 7
おしまい 8