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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yumulab
October 26, 2022
Research
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロセッサエミュレータQEMUを用いた組込み機器へのROP攻撃のデモンストレーション / CSS2022
CSS2022デモンストレーションセッションの発表資料
https://dl.yumulab.org/papers/28
yumulab
October 26, 2022
More Decks by yumulab
See All by yumulab
オープンキャンパス模擬講義 Webカメラを使ったインタラクティブWebアプリの開発 / oc2026
yumulab
0
58
非試合日の野球場を楽しむためのARホームランボールキャッチ体験システムの開発 / EC79-miyazaki
yumulab
0
420
MR流体を用いたセルフセンシング可能な触覚デバイスの提案 / haptics36-kamimura
yumulab
0
120
歌詞駆動パーティクルライブ制作支援ツールの提案 / wiss2025-kamimura
yumulab
0
14
人の移動を通信媒介とする電子ペーパーサイネージのための圧電素子を用いた近接駆動方式の提案 / wiss2025-akiba
yumulab
0
14
ASMR耳かき動画のための音と触覚の同時提示システムの提案 / wiss2025-shimizu
yumulab
0
13
地産地消型センシングに向けた植物の葉への電子回路形成の検討 / wiss2025-yumura
yumulab
0
15
Bluetooth Low Energyの海に潜る / Dive to Bluetooth Low Energy
yumulab
0
150
湯村研究室の紹介2025 / yumulab2025
yumulab
0
380
Other Decks in Research
See All in Research
コーディングエージェントとABNを再考
hf149
2
860
RS-Agent: Automating Remote Sensing Tasks through Intelligent Agent
satai
3
530
typst の使い方:言語学を研究する学生のために
gitomochang
0
580
CVPR2026論文紹介_VLMにとって良いvision encoderとは何か?Rethinking Model Selection in VLM Through the Lens of Gromov-Wasserstein Distance
kobayashi31
1
210
Harness Engineering and Al Agent
kzinmr
3
2k
[ACL 2026 Demo] Fast-MIA: Efficient and Scalable Membership Inference for LLMs
upura
0
110
最先端NLP勉強会2026 論文紹介:Reasoning with Sampling: Your Base Model is Smarter Than You Think (ICLR 2026 paper)
kogoro
4
590
Sleuthcon Keynote - How Cybercriminals (ab)use AI
fr0gger
0
320
全国町字単位空き家率推定データver1.0データ仕様
microbaseinc
0
220
Source Code Diff Revolution
tsantalis
0
130
J-STAGEの現況と全文XML登載必須化について
xspa2012
0
200
長時間動画QAにおけるマルチエージェント推論 ・SVAgent: Storyline-Guided Long Video Understanding via Cross-Modal Multi-Agent Collaboration
murakawatakuya
1
200
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Bash Introduction
62gerente
615
220k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Discover your Explorer Soul
emna__ayadi
2
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Making the Leap to Tech Lead
cromwellryan
135
10k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
580
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Scaling GitHub
holman
464
140k
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環境の場合)