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(USENIX ATC'14)の紹介
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.7k
なぜマルウェア解析は自動化できないのか
ntddk
6
4k
Linear Obfuscation to Drive angr Angry
ntddk
4
780
CAPTCHAとボットの共進化
ntddk
2
1k
マルウェアを機械学習する前に
ntddk
3
1.5k
Peeling Onions
ntddk
7
3.4k
仮想化技術を用いたマルウェア解析
ntddk
8
27k
Other Decks in Research
See All in Research
自己教師あり学習による事前学習(CVIMチュートリアル)
naok615
2
1.4k
NeurIPS-23 参加報告 + DPO 解説
akifumi_wachi
4
1.5k
Sosiaalisen median katsaus 02/2024
hponka
0
2.6k
Breaking Tradeoffs: Extremely Scalable Multi-Agent Pathfinding Algorithms
kei18
0
140
一般化ランダムフォレストの理論と統計的因果推論への応用
tomoshige_n
10
1.8k
VAR モデルによる OSS プロジェクト同士が生存性に与える 影響の分析
noppoman
0
130
床面圧力センサ開発における感圧導電シート分離方式の検討 / WISS2023
yumulab
0
270
生成AIを用いたText to SQLの最前線
masatoto
1
2.2k
言語間転移学習で大規模言語モデルを賢くする
ikuyamada
6
2.3k
LLMマルチエージェントを俯瞰する
masatoto
26
16k
Cross-Media Information Spaces and Architectures
signer
PRO
0
120
センサデータを活用した 肌質改善への支援システムに関する研究
comfortdesignlab
0
150
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Unsuck your backbone
ammeep
663
57k
How to Ace a Technical Interview
jacobian
272
22k
Making Projects Easy
brettharned
108
5.5k
Statistics for Hackers
jakevdp
789
220k
Designing for Performance
lara
601
67k
The Pragmatic Product Professional
lauravandoore
25
5.8k
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に導入されるかも