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
690
スライド操作用リモコンを作った話/Making-a-remote-control-for-slide-operation
sou1118
0
360
マイナンバーカードを用いた認証について/Authentication-using-the-My-Number-Card
sou1118
0
760
マイナンバーカードの有効利用法を探る / 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
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
590
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.5k
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
170
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
160
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
530
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
print("Hello, World")
eddie
2
530
🔨 小さなビルドシステムを作る
momeemt
4
690
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Code Reviewing Like a Champion
maltzj
525
40k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Designing for humans not robots
tammielis
253
25k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Navigating Team Friction
lara
189
15k
Practical Orchestrator
shlominoach
190
11k
Designing Experiences People Love
moore
142
24k
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