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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kattyan
July 13, 2023
Programming
0
190
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
730
スライド操作用リモコンを作った話/Making-a-remote-control-for-slide-operation
sou1118
0
380
マイナンバーカードを用いた認証について/Authentication-using-the-My-Number-Card
sou1118
0
810
マイナンバーカードの有効利用法を探る / Finding-ways-to-use-my-number-card
sou1118
0
320
少し幸せになれるスマートなリモコンを作る / Making-a-Smart-remote-controller
sou1118
0
380
Other Decks in Programming
See All in Programming
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
640
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
990
CSC307 Lecture 06
javiergs
PRO
0
680
Patterns of Patterns
denyspoltorak
0
1.4k
SourceGeneratorのススメ
htkym
0
190
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
AgentCoreとHuman in the Loop
har1101
5
220
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
640
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
970
組織で育むオブザーバビリティ
ryota_hnk
0
170
CSC307 Lecture 09
javiergs
PRO
1
830
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
97
How GitHub (no longer) Works
holman
316
140k
First, design no harm
axbom
PRO
2
1.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Context Engineering - Making Every Token Count
addyosmani
9
650
Discover your Explorer Soul
emna__ayadi
2
1.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
The Spectacular Lies of Maps
axbom
PRO
1
520
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
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