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
プロセッサエミュレータQEMUを用いた組込み機器へのROP攻撃のデモンストレーション / CS...
Search
yumulab
October 26, 2022
Research
560
0
Share
プロセッサエミュレータQEMUを用いた組込み機器へのROP攻撃のデモンストレーション / CSS2022
CSS2022デモンストレーションセッションの発表資料
https://dl.yumulab.org/papers/28
yumulab
October 26, 2022
More Decks by yumulab
See All by yumulab
非試合日の野球場を楽しむためのARホームランボールキャッチ体験システムの開発 / EC79-miyazaki
yumulab
0
130
Bluetooth Low Energyの海に潜る / Dive to Bluetooth Low Energy
yumulab
0
120
湯村研究室の紹介2025 / yumulab2025
yumulab
0
340
Proposal of an Information Delivery Method for Electronic Paper Signage Using Human Mobility as the Communication Medium / ICCE-Asia 2025
yumulab
0
270
研究室から社会へ 〜 情報科学でつなぐ科学技術コミュニケーション実践 / #CoSTEP20th
yumulab
0
120
A Proposal of an Information Delivery Method using Human Movement as a Communication Medium for Electronic Paper Signage / ICEC2025
yumulab
0
110
メタバース空間で対話相⼿に向かって⾃律移動するAIアバター『ノア』の開発 / EC2025-Oyamada
yumulab
0
250
足位置の視覚的提示による電子オルガンのペダル鍵盤演奏学習支援システムの提案 / EC2025-Hokin
yumulab
0
220
電子ペーパーサイネージにおける人の移動を通信媒介とした情報配送手法の提案 / EC2025-Akiba
yumulab
0
150
Other Decks in Research
See All in Research
ブレグマン距離最小化に基づくリース表現量推定:バイアス除去学習の統一理論
masakat0
0
230
明日から使える!研究効率化ツール入門
matsui_528
11
6.1k
COFFEE-Japan PROJECT Impact Report(海ノ向こうコーヒー)
ontheslope
0
1.3k
第二言語習得研究における 明示的・暗示的知識の再検討:この分類は何に役に立つか,何に役に立たないか
tam07pb915
0
3.2k
それ、チームの改善になってますか?ー「チームとは?」から始めた組織の実験ー
hirakawa51
0
1.1k
[Devfest Incheon 2025] 모두를 위한 친절한 언어모델(LLM) 학습 가이드
beomi
2
1.5k
ペットのかわいい瞬間を撮影する オートシャッターAIアプリへの スマートラベリングの適用
mssmkmr
0
460
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
ScoreMatchingRiesz for Automatic Debiased Machine Learning and Policy Path Estimation with an Application to Japanese Monetary Policy Evaluation
masakat0
0
240
Can We Teach Logical Reasoning to LLMs? – An Approach Using Synthetic Corpora (AAAI 2026 bridge keynote)
morishtr
1
200
競合や要望に流されない─B2B SaaSでミニマム要件を決めるリアルな取り組み / Don't be swayed by competitors or requests - A real effort to determine minimum requirements for B2B SaaS
kaminashi
0
1.3k
Any-Optical-Model: A Universal Foundation Model for Optical Remote Sensing
satai
3
420
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
290
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
GitHub's CSS Performance
jonrohan
1032
470k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Design in an AI World
tapps
0
190
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
220
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
Practical Orchestrator
shlominoach
191
11k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
170
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Transcript
プロセッサエミュレータQEMUを用いた組込み機器への ROP攻撃のデモンストレーション 多⽊ 優⾺1, 福光 正幸2, 湯村 翼1 1)北海道情報⼤学 2)⻑崎県⽴⼤学
Computer Security Symposium 2022 デモンストレーション 本稿では、i686で動作するCentOS6と、ARM Cortex-A53で稼働するRaspberryPi OSでのROP検証を⾏った。 今後は、ARM Cortex-M0で動作するRIOT OSで脆弱なテストプログラムを動作させ、そこへROP攻撃を試す。 さらに、ROP攻撃対策を考案し、必要であればセキュリティ機構の実装も⾏う。 Arm Cortex-A53・RaspberryPi OS OSのバージョン確認コマンド“lsb_release -a”を ホスト環境から実⾏し、攻撃の成功を確認した。 i686・CentOS6 OSのバージョン確認コマンド“cat /etc/redhat-release”を ホスト環境から実⾏し、攻撃の成功を確認した。 ・エクスプロイトコードを組込み機器を模した環境に送信し、ROP攻撃検証を⾏った。 ・組込み環境はQEMUを⽤いて構築した。 ・組み込み環境はQEMUの設定により、ホスト以外との通信を遮断している。 〇⽬的: OSとプロセッサの組み合わせによるROP攻撃の可能性を 調査するため、様々な組込み機器に対してROP攻撃検証を⾏う。 最終的にはデモ環境へROP対策を施す 〇背景: IoT機器の普及によって組込み機器の需要が増加している。 ⼀⽅で、ROP攻撃の研究が進んでいる。 このROP攻撃は組込み機器に対しても有効なため、 ROP対策が施されていない可能性のある、 低スペックな組込み機器の調査を⾏う。 研究概要 ・プログラムの命令⽚(アセンブリコード)を繋ぎ合わせて 任意の処理を⾏わせる攻撃。 ・様々なアーキテクチャに応⽤することも可能。 ROP攻撃とは? ROP攻撃検証 両環境のセキュリティ機構実装状況: NX bit 有効 / SSP 無効 / ASLR 無効 / CFI 無効 おわりに レジスタ 0x400100: pop rdi 0x400102: ret : アセンブリコード buf (0x10) rsp saved rbp リターンアドレス スタック領域 ・ ・ ・ rbp system(/bin/sh)を実⾏して制御を奪う例 レジスタ rdi: 第1引数を格納 rip: 次に実行する命令の アドレスを格納 rbp: スタックベースの アドレスを格納 rsp: スタックトップの アドレスを格納 0x400100: pop rdi 0x400102: ret : アセンブリコード スタック領域 ROPチェーン送信後 レジスタ rdi: /bin/shのアドレス rip: 0x400102 rbp: 0x41414141… rsp: スタックトップの アドレスを格納 0x400100: pop rdi 0x400102: ret : アセンブリコード スタック領域 leave命令(関数終了処理)後、0x400100に遷移してpop rdiを⾏う レジスタ rdi: /bin/shのアドレス rip: systemのアドレス rbp: 0x41414141… rsp: スタックトップの アドレスを格納 0x400100: pop rdi 0x400102: ret : アセンブリコード スタック領域 0x40102に遷移してret命令を⾏う rdi: 第1引数を格納 rip: 次に実行する命令の アドレスを格納 rbp: スタックベースの アドレスを格納 rsp: スタックトップの アドレスを格納 AAAAAAAA… rsp AAAAAAAA 0x400100 rbp /bin/shのアドレス systemのアドレス AAAAAAAA… rsp AAAAAAAA 0x400100 /bin/shのアドレス systemのアドレス AAAAAAAA… rsp AAAAAAAA 0x400100 /bin/shのアドレス systemのアドレス ※pop rdi: rspが指す値をrdiに格納する。 ※ret: rspが指す値をripに格納する。 ROP攻撃例(x86_64環境の場合)