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
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
119-多機能ファイルシステムBtrfs_のコピー.pdf
sat
PRO
1
57
Linuxカーネルの インタフェースは変わりうる?
sat
PRO
1
81
あなたの知らないバージョン命名規則
sat
PRO
3
880
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
63
Machine Check Exception
sat
PRO
2
61
バイナリダンプの模様を読む
sat
PRO
0
86
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
82
114-ファイルのshallow_copy.pdf
sat
PRO
2
53
113-Btrfsのスナップショット.pdf
sat
PRO
0
39
Other Decks in Technology
See All in Technology
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.4k
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
220
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
320
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
0
520
APIセキュリティを組織で実現するには~注力する点と設計・実装に入れたい対策~
riiimparm
3
830
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
110
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
150
Sony-DroidKaigi2026
sony
0
160
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
560
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.1k
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
350
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
430
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
590
BBQ
matthewcrist
89
10k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
We Have a Design System, Now What?
morganepeng
55
8.3k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
490
Design in an AI World
tapps
1
290
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Facilitating Awesome Meetings
lara
57
7.1k
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