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
390
プロセッサエミュレータQEMUを用いた組込み機器へのROP攻撃のデモンストレーション / CSS2022
CSS2022デモンストレーションセッションの発表資料
https://dl.yumulab.org/papers/28
yumulab
October 26, 2022
Tweet
Share
More Decks by yumulab
See All by yumulab
湯村研究室の紹介2024 / yumulab2024
yumulab
0
280
ASMR動画に合わせて撫でられる感覚を提示するシステムの検討
yumulab
0
4
SoundTimes:音のインスタレーション作品制作・展示プロジェクトの実施報告 / SoundTimes-EC2024
yumulab
0
3
床面圧力センサによる靴の識別モデルの開発と評価 / shoes-EC2024
yumulab
0
4
北海道情報大学図書館における滞在人数可視化システムの開発 / NOVVS-EC2024
yumulab
0
6
BADUI探訪 / BADUI Exploration
yumulab
0
34
情報の世界 2024年度 第12回「個人のデータ」 #情報の世界 / Data of Individual 2024
yumulab
0
92
情報の世界 2024年度 第11回「都市のデータ」 #情報の世界 / Data of City 2024
yumulab
0
140
情報の世界 2024年度 第10回「データとセンシングの概要」 #情報の世界 / Data and Sensing 2024
yumulab
0
230
Other Decks in Research
See All in Research
2024/10/30 産総研AIセミナー発表資料
keisuke198619
1
330
VisFocus: Prompt-Guided Vision Encoders for OCR-Free Dense Document Understanding
sansan_randd
1
250
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
500
機械学習でヒトの行動を変える
hiromu1996
1
310
MIRU2024_招待講演_RALF_in_CVPR2024
udonda
1
330
Weekly AI Agents News!
masatoto
25
24k
テキストマイニングことはじめー基本的な考え方からメディアディスコース研究への応用まで
langstat
1
120
いしかわ暮らしセミナー~移住にまつわるお金の話~
matyuda
0
150
尺度開発における質的研究アプローチ(自主企画シンポジウム7:認知行動療法における尺度開発のこれから)
litalicolab
0
350
[ECCV2024読み会] 衛星画像からの地上画像生成
elith
1
690
Zipf 白色化:タイプとトークンの区別がもたらす良質な埋め込み空間と損失関数
eumesy
PRO
6
710
Matching 2D Images in 3D: Metric Relative Pose from Metric Correspondences
sgk
1
320
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Writing Fast Ruby
sferik
627
61k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
How to Ace a Technical Interview
jacobian
276
23k
GitHub's CSS Performance
jonrohan
1030
460k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
A Philosophy of Restraint
colly
203
16k
4 Signs Your Business is Dying
shpigford
180
21k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
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環境の場合)