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
0
470
プロセッサエミュレータQEMUを用いた組込み機器へのROP攻撃のデモンストレーション / CSS2022
CSS2022デモンストレーションセッションの発表資料
https://dl.yumulab.org/papers/28
yumulab
October 26, 2022
Tweet
Share
More Decks by yumulab
See All by yumulab
ASSADS:ASMR動画に合わせて撫でられる感覚を提示するシステムの開発と評価 / ec75-shimizu
yumulab
1
390
ウッドスタックチャン:木材を用いた小型エージェントロボットの開発と印象評価 / ec75-sato
yumulab
1
420
MGDSS:慣性式モーションキャプチャを用いたジェスチャによるドローンの操作 / ec75-yamauchi
yumulab
0
250
チャッドローン:LLMによる画像認識を用いた自律型ドローンシステムの開発と実験 / ec75-morisaki
yumulab
1
470
NOVVS:北海道情報大学図書館における滞在人数可視化システムの開発と検証 / i2025-minami
yumulab
0
87
CHaserWeb:ブラウザ上で動作する対戦型プログラミング学習環境の提案と評価 / i2025-inoue
yumulab
0
230
CARMUI-NET:自動運転車遠隔監視のためのバーチャル都市プラットフォームにおける通信品質変動機能の開発と評価 / UBI85
yumulab
0
250
待機電力を削減したネットワーク更新型電子ペーパーサイネージの研究開発 / UBISympo2025
yumulab
0
110
デジタルファブリケーションの未来を北海道・札幌から考える / SIAF School 2025
yumulab
0
110
Other Decks in Research
See All in Research
NLP Colloquium
junokim
1
160
RapidPen: AIエージェントによるペネトレーションテスト 初期侵入全自動化の研究
laysakura
0
1.5k
90 分で学ぶ P 対 NP 問題
e869120
17
7.5k
近似動的計画入門
mickey_kubo
4
980
A multimodal data fusion model for accurate and interpretable urban land use mapping with uncertainty analysis
satai
3
220
定性データ、どう活かす? 〜定性データのための分析基盤、はじめました〜 / How to utilize qualitative data? ~We have launched an analysis platform for qualitative data~
kaminashi
6
1k
SkySense : A Multi-Modal Remote Sensing Foundation Model Towards Universal Interpretation for Earth Observation Imagery
satai
3
250
Agentic AIとMCPを利用したサービス作成入門
mickey_kubo
0
270
EarthMarker: A Visual Prompting Multimodal Large Language Model for Remote Sensing
satai
3
340
Towards a More Efficient Reasoning LLM: AIMO2 Solution Summary and Introduction to Fast-Math Models
analokmaus
2
230
When Submarine Cables Go Dark: Examining the Web Services Resilience Amid Global Internet Disruptions
irvin
0
220
Vision And Languageモデルにおける異なるドメインでの継続事前学習が性能に与える影響の検証 / YANS2024
sansan_randd
1
110
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
680
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Visualization
eitanlees
146
16k
Designing for Performance
lara
610
69k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
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環境の場合)