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
Satoru Takeuchi
PRO
January 08, 2022
Technology
330
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
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
48
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
1
55
ファイルシステムの整合性を回復するfsck
sat
PRO
1
56
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
4.7k
ファイルシステムの不整合
sat
PRO
2
150
書籍執筆での生成AIの活用
sat
PRO
2
500
ChatGPTに従って体調管理2026
sat
PRO
0
180
eBPF
sat
PRO
1
150
waruiBPF
sat
PRO
0
140
Other Decks in Technology
See All in Technology
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
940
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
8.1k
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
370
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
560
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
950
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.8k
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
17
16k
React、まだ楽しくて草
uhyo
7
3.7k
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
200
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
160
食べログのサーキットブレーカー導入を振り返って
atpons
1
160
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
The SEO Collaboration Effect
kristinabergwall1
1
470
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
AI: The stuff that nobody shows you
jnunemaker
PRO
7
670
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Designing for humans not robots
tammielis
254
26k
How to Talk to Developers About Accessibility
jct
2
210
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
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