Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PDFを巡る冒険
Search
RussianBlue25
March 23, 2024
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PDFを巡る冒険
2024/3/23 LCL-Tokyo 2024 Spring
RussianBlue25
March 23, 2024
Other Decks in Technology
See All in Technology
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
490
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
170
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
継続的なAIコスト最適化
bgpat
1
340
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
190
USB PDを使ってスマホを労わりたい
raspython3
0
180
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
大型犬好きによるPugの紹介
yamanoku
1
160
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
890
Deep Space Network (abreviated)
tonyrice
0
370
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Balancing Empowerment & Direction
lara
6
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
First, design no harm
axbom
PRO
2
1.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Building an army of robots
kneath
307
47k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Transcript
PDFを巡る冒険 Natsumi FURUKAWA 脆弱性診断関連の業務に従事する犬派 LCL-Tokyo 2024/3/23
$ whoami ・Natsumi FURUKAWA ・某セキュリティベンダで脆弱性診断やったりPMやったり ・今回は業務関係ない、趣味の話です ・最近やらかしたこと ・今日、メインの財布を忘れてきた (楽天Payヘビーユーザ)
MalDoc in PDF ・悪意のあるWordファイルを PDFに埋め込む ・PDFの構造だがWordで開くこと ができる ・PDFと認識される ・検出システムの回避 https://blogs.jpcert.or.jp/ja/2023/08/maldocinpdf.html
What is PDF? ・汎用性の高い文書フォーマット ・Adobeによる開発、ISOで標準化 ・元のレイアウト通りに表示・印刷できる ・圧縮、しおり、リンク、注釈、フォーム機能など多様な機能
PDFの変わった機能 ・音声、動画、3Dデータなどリッチコンテンツの埋め込み ・地図情報の埋め込み 実は私も見たことがないのでよく知らない AdobeのYoutubeチャンネル@AdobeDocumentCloudJPが詳しい
テキストエディタで開いてみる ・HTMLのような構造
PDF解析ツール ・更新が途絶えているものも多い ・RUPS ・https://github.com/itext/i7j-rups https://github.com/itext/i7j-rups/releases/tag/7.2.5
RUPSで開いてみる ・木構造 ・CreationDate、Createrなど メタデータの存在 ・Dictionary、Pagesなど 繰り返し登場する単語
PDFの基本構造 ・ヘッダ バージョンが記載 ・ボディ インダイレクトオブジェクトの羅列 (後述) ・クロスリファレンステーブル インダイレクトオブジェクトの位置 PDFが途中のページからでも瞬時に読み込めるのはこれのおかげ ・トレーラー
クロスリファレンステーブルと特殊なオブジェクトを 素早く読み込むためのもの
PDFはオブジェクトの集合体(1) • Boolean • Number • String • Name •
Array • Dictionary • Stream …データが圧縮されている • The null object なんとなく言語の変数の型っぽい
PDFはオブジェクトの集合体(2) ・オブジェクトは複数のオブジェクトを含むことができる
インダイレクトオブジェクト ・他のオブジェクトから参照される、ラベルづけされたオブジェクト ・6 0 obj〜endobj までがインダイレクトオブジェクト ・先頭の「6」がオブジェクトの番号 ・このオブジェクトは番号7, 8のインダイレクトオブジェクトを参照
余談:PDFマルウェアの検知手法 ・表層解析 ・動的解析 ・静的解析 ・PDFの構造の解析 ・インダイレクトオブジェクトの参照構造等に破綻がある ・オブジェクトに疑わしいURLが挿入されている など...
もっと詳しく知りたい人向け ・Adobeの出しているPDF reference ・ただし1310ページある ・書籍「PDF構造解説」 ・https://www.amazon.co.jp/dp/4873115493 ・ただし10年以上前 ・とはいえ、PDFの仕様はそこまで変化はない
まとめ ・PDFは様々なオブジェクトからなる 木構造をとっている ・PDFは実は色々なことができる ・脆弱性の原因にも... ・PDFの仕様は人類には難しい 今日の内容の元ネタの 登壇者ブログ記事です