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
110
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
510
スライド操作用リモコンを作った話/Making-a-remote-control-for-slide-operation
sou1118
0
330
マイナンバーカードを用いた認証について/Authentication-using-the-My-Number-Card
sou1118
0
710
マイナンバーカードの有効利用法を探る / Finding-ways-to-use-my-number-card
sou1118
0
250
少し幸せになれるスマートなリモコンを作る / Making-a-Smart-remote-controller
sou1118
0
280
Other Decks in Programming
See All in Programming
rtcamp 10 (vk-illuminati)
yumcyawiz
0
130
Quarto Clean Theme
nicetak
0
220
Memory API: Patterns, Use Cases, and Performance
josepaumard
1
180
(Deep|Web) Link support with expo-router
mrtry
0
180
データフレームライブラリ徹底比較
daikikatsuragawa
2
110
Why I Choose NetBeans for Jakarta EE
ivargrimstad
0
290
DevFest Android in Korea 2024 - 안드로이드의 문단속 : 앱을 지키는 암호화 이야기
mdb1217
1
160
Vue :: Better Testing 2024
up1
1
400
2024-10-01 dev2next - Observability for Modern JVM Applications
jonatan_ivanov
0
140
dbt-ga4パッケージを実業務に導入してみた話
t_tokumaru_feedcorp
0
130
[KR] Server Driven Compose With Firebase
skydoves
2
200
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
310
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6k
What the flash - Photography Introduction
edds
67
11k
Building an army of robots
kneath
302
42k
How To Stay Up To Date on Web Technology
chriscoyier
787
250k
A better future with KSS
kneath
237
17k
Design by the Numbers
sachag
278
19k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Unsuck your backbone
ammeep
668
57k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
A Philosophy of Restraint
colly
203
16k
Music & Morning Musume
bryan
46
6.1k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
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