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
39k
Windows Subsystem for Linux Internals
ntddk
10
3k
なぜマルウェア解析は自動化できないのか
ntddk
6
4.2k
Linear Obfuscation to Drive angr Angry
ntddk
4
850
CAPTCHAとボットの共進化
ntddk
2
1.2k
マルウェアを機械学習する前に
ntddk
3
1.6k
Peeling Onions
ntddk
7
3.7k
仮想化技術を用いたマルウェア解析
ntddk
8
27k
Other Decks in Research
See All in Research
数理最適化に基づく制御
mickey_kubo
5
680
[輪講] SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features
nk35jk
2
560
数理最適化と機械学習の融合
mickey_kubo
15
8.9k
Transparency to sustain open science infrastructure - Printemps Couperin
mlarrieu
1
190
作業記憶の発達的特性が言語獲得の臨界期を形成する(NLP2025)
chemical_tree
2
610
Adaptive Experimental Design for Efficient Average Treatment Effect Estimation and Treatment Choice
masakat0
0
130
業界横断 副業・兼業者の実態調査
fkske
0
190
在庫管理のための機械学習と最適化の融合
mickey_kubo
3
1.1k
【緊急警告】日本の未来設計図 ~沈没か、再生か。国民と断行するラストチャンス~
yuutakasan
0
140
Generative Models 2025
takahashihiroshi
21
12k
SSII2025 [TS1] 光学・物理原理に基づく深層画像生成
ssii
PRO
4
3.7k
引力・斥力を制御可能なランダム部分集合の確率分布
wasyro
0
180
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Site-Speed That Sticks
csswizardry
10
690
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Writing Fast Ruby
sferik
628
62k
Docker and Python
trallard
44
3.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Designing Experiences People Love
moore
142
24k
Git: the NoSQL Database
bkeepers
PRO
430
65k
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に導入されるかも