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
MiniBox: A Two-Way Sandbox for x86 Native Code(...
Search
Yuma Kurogome
August 07, 2014
Research
1
26k
MiniBox: A Two-Way Sandbox for x86 Native Code(USENIX ATC'14)の紹介
https://atnd.org/events/54159
で話した資料です。
Yuma Kurogome
August 07, 2014
Tweet
Share
More Decks by Yuma Kurogome
See All by Yuma Kurogome
The Art of De-obfuscation
ntddk
16
27k
死にゆくアンチウイルスへの祈り
ntddk
55
38k
Windows Subsystem for Linux Internals
ntddk
10
2.9k
なぜマルウェア解析は自動化できないのか
ntddk
6
4k
Linear Obfuscation to Drive angr Angry
ntddk
4
810
CAPTCHAとボットの共進化
ntddk
2
1.1k
マルウェアを機械学習する前に
ntddk
3
1.5k
Peeling Onions
ntddk
7
3.5k
仮想化技術を用いたマルウェア解析
ntddk
8
27k
Other Decks in Research
See All in Research
【ICASSP2024】音声変換に関する全論文まとめ【Parakeet株式会社】
supikiti
0
700
LLM based AI Agents Overview -What, Why, How-
masatoto
1
300
MIRU2024チュートリアル「様々なセンサやモダリティを用いたシーン状態推定」
miso2024
3
1.9k
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
180
LINEチャットボット「全力肯定彼氏くん(LuC4)」の 1年を振り返る
o_ob
0
1.3k
独立成分分析を用いた埋め込み表現の視覚的な理解
momoseoyama
4
880
この先生きのこるには
verypluming
4
4.7k
論文紹介/Expectations over Unspoken Alternatives Predict Pragmatic Inferences
chemical_tree
1
220
ブラックボックス機械学習モデルの判断根拠を説明する技術
yuyay
0
180
Weekly AI Agents News! 7月号 論文のアーカイブ
masatoto
1
150
Generative Predictive Model for Autonomous Driving 第61回 コンピュータビジョン勉強会@関東 (後編)
kentosasaki
0
160
DiscordにおけるキャラクターIPを活用したUGCコンテンツ生成サービスの ラピッドプロトタイピング ~国際ハッカソンでの事例研究
o_ob
0
210
Featured
See All Featured
A better future with KSS
kneath
235
17k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
4 Signs Your Business is Dying
shpigford
179
21k
Being A Developer After 40
akosma
82
580k
Testing 201, or: Great Expectations
jmmastey
35
6.9k
How to Think Like a Performance Engineer
csswizardry
15
920
Writing Fast Ruby
sferik
623
60k
Scaling GitHub
holman
458
140k
We Have a Design System, Now What?
morganepeng
48
7.1k
The Mythical Team-Month
searls
218
43k
Clear Off the Table
cherdarchuk
90
320k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Transcript
論文紹介: MiniBox: A Two-Way Sandbox for x86 Native Code[Yanlin Li
et al., USENIX ATC'14] 2014/08/06 システム系論文輪読会 @ntddk ※図表はUSENIXでのスライドより
背景 • PaaS(Platform as a Service) – クラウドコンピューティングサービスが提供するソ フトウェアの構築・実行基盤 •
サンドボックス – アプリケーションからOSを守るために配備されて いる – OSからアプリケーションを守る仕組みがない • ユーザーの資産はOSではなくアプリケーション • サービス提供者の意図しない悪性コードがOSで動いてい たら
関連研究 • NaCl • TrustVisor
NaCl Native Client: A Sandbox for Portable, Untrusted x86 Native
Code[Bennet Yee et al., Oakland'09] • One-way sandbox • Webブラウザ内部でネイティブコードを実行 – x86, ARMに対応 – イメージは「Chromeで動くセキュアなCygwin」 • Software Fault Isolation – 信頼できないコードをフォールトドメインに隔離 • jmpの飛び先を32byte境界に制限 • メモリ読み書き位置の制限
TrustVisor TrustVisor: Efficient TCB Reduction and Attestation[Jonathan M. McCune et
al., OAKLAND'10] • Two-way memory isolation mechanism • Pieces of Application Logic(PAL)という単位 – self-contained security-sensitive codeblocksを守 るのがTrustVisorの目的 • ハイパーバイザを用いてPALを保護 – legacy OS and DMA-capable devicesから – Nested pagesをもとにPALを隔離 – µTPMを用いてPALを検証
関連研究 • NaCl(Google) – ブラウザ内部でネイティブコードを実行するone- way sandbox • TrustVisor(CMU CyLab)
– ハイパーバイザとTPMを用いてOSからsecurity- sensitiveなコードを分割するtwo-way memory isolation mechanism
Isolationの問題点 • アプリケーションのPALのみを保護 • Intel SGX – ハードウェアベースのtwo-way isolation •
TrustVisor – ハイパーバイザベースのtwo-way isolation
Sandboxの問題点 • サンドボックスはnon-isolatedなPALも実行し てしまう – Sensitive PALとnon-sensistive PALのどちらもサン ドボックスに押し込んでしまっている •
開発者はアプリケーションの分割(実質的な移 植)を必要とする
問題点 Iago Attacks: Why the system call API is a
bad untrusted RPC interface[Stephen Checkoway et al, ASPLOS 2013] • 悪意のOSカーネルからサンドボックス内のプ ロセスを攻撃する手法
提案手法 • One-way sandboxとtwo-way memory isolation mechanismの両立 – アプリケーションとOSどちらも保護する •
インターフェイスのセキュア化 • Iago attacksに対するアプリケーションの保護
実装 • TrustVisor v0.2.1 ベース • NaCl • Intel, AMDのマルチコアプロセッサをサポート
• ゲストOSはUbuntu 10.04 • Debugging modeではハイパーバイザによる isolationを無効化する代わりにアプリケーショ ンをgdbでデバッグすることが可能
None
実装 • LDTを辿ってTLSの整合性を保つ • Iago attacks対策としてLibOSによるsensitive callsのisolation – Dynamic memory
management – Thread local storage management – Multi-thread management – Secure file I/O
評価 • Non-sensitive system callsにおけるオー バーヘッド
まとめ • 既存のサンドボックスはPALを分割せずに保護 する点で問題があった • ハイパーバイザと連携してPALを分割した上で サンドボックスでアプリケーションを保護する 手法が提案された • NaClとGolangの連携が推し進められているの
で、そのうちGAEに導入されるかも