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
Address Space Layout Randomization(ASLR)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Satoru Takeuchi
PRO
January 08, 2022
Technology
320
1
Share
Address Space Layout Randomization(ASLR)
以下動画のテキストです
https://youtu.be/iCCNEoCKdHE
Satoru Takeuchi
PRO
January 08, 2022
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
3.4k
ファイルシステムの不整合
sat
PRO
2
130
書籍執筆での生成AIの活用
sat
PRO
2
440
ChatGPTに従って体調管理2026
sat
PRO
0
170
eBPF
sat
PRO
1
140
waruiBPF
sat
PRO
0
120
eBPFとwaruiBPF
sat
PRO
5
4.4k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
110
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
220
Other Decks in Technology
See All in Technology
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
130
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
160
最大のアウトプット術は問題を作ること
ryoaccount
0
210
FastMCP OAuth Proxy with Cognito
hironobuiga
3
230
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
120
MIX AUDIO EN BROADCAST
ralpherick
0
140
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
490
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
210
Move Fast and Break Things: 10 in 20
ramimac
0
110
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
3
1.1k
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
New Earth Scene 8
popppiees
2
1.9k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
It's Worth the Effort
3n
188
29k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Faster Mobile Websites
deanohume
310
31k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
94
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
The browser strikes back
jonoalderson
0
860
Transcript
Address Space Location Randomization (ASLR) Jan. 8th, 2022 Satoru Takeuchi
twitter: satoru_takeuchi, EnSatoru 1
前回までのあらすじ • Executable and Linking Format(ELF)というフォーマット • 実行ファイルのコードやデータはメモリ上にマップされる • どこのオフセットのデータをどこにマップするるか実行ファイルに書いてる
2 test(実行ファイル) メモリ コード データ コード データ マップ
そうでないこともある • 例: Ubuntu20.04の/bin/sleepコマンド • 演習 ◦ sleepコマンドのreadelf -Sを見てみる ◦
“sleep infinity”実行中のメモリマップを /proc/<pid>/mapsで見てみる 3
そうでないこともある • 例: Ubuntu20.04の/bin/sleepコマンド • 演習 ◦ sleepコマンドのreadelf -Sを見てみる ◦
“sleep infinity”実行中のメモリマップを /proc/<pid>/mapsで見てみる • 違い ◦ 実行ファイルのセクションに書いてあるマップ先アドレスと実際の値が違う 4
演習 • “sleep infinity”をもう一度実行した後にメモリマップを確認 5
演習 • “sleep infinity”をもう一度実行した後にメモリマップを確認 • 結果 ◦ さっきとアドレスが違う! 6
理由 • sleepコマンドは実行するたびにセクションのマップ先アドレスがランダムに変わる ◦ これがAddress Space Location Randomization(ASLR) ◦ ASLRが機能するように実行ファイルが
Position Independent Executable(PIE)になっている • 目的 ◦ 特定アドレスのコードを実行するようなセキュリティ攻撃を避ける • どんなプログラムがPIE? ◦ Ubuntuだと昔はsshなどの一部重要プログラムだけだった ◦ 17.04以降はすべて(例外があるかも?よく知らない) 7