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
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel ...
Search
y_taka_23
March 20, 2026
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
Kernel/VM 探検隊@つくば No3 で使用したスライドです。
y_taka_23
March 20, 2026
More Decks by y_taka_23
See All by y_taka_23
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
4
1.5k
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
1
1.1k
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
1.1k
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
17
8.6k
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
3
940
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
2.6k
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
12
6.8k
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
3
1.3k
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
15
6.3k
Other Decks in Technology
See All in Technology
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
170
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
310
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
1
280
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
200
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
150
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
0
130
[2026 Oracle Technical Deep Dive] Apache Iceberg × Oracle AI Database -Oracle Autonomous AI Lakehouseが実現するAI時代のデータ基盤- (2026年9月17日開催)
oracle4engineer
PRO
0
120
FinTech 1-2 : Overview of FinTech
ks91
PRO
0
150
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
How to Talk to Developers About Accessibility
jct
2
560
Site-Speed That Sticks
csswizardry
13
1.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
Code Review Best Practice
trishagee
74
20k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Side Projects
sachag
456
43k
Thoughts on Productivity
jonyablonski
76
5.4k
Prompt Engineering for Job Search
mfonobong
0
480
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
310
Transcript
形式手法特論 SMTソルバで解く 認可ポリシの静的解析 #kernelvm チェシャ猫 (@y_taka_23) Kernel/VM 探検隊@つくば No3 (20th
Mar. 2026)
卒業式といえば SMT ソルバ
我々は「幼年期の終り」にいる
生成 AI 時代の仕様記述 • 仕様を「記述すること」への重心の移動 ◦ AI はそれらしい実装を高速・大量に生成できる ◦ 明示されたコンテキスト外の事情は汲んでくれない
• 今後は仕様の「検証可能性」がより問われる時代に ◦ まずい実装を機械的に弾ける、白黒が決まる仕様 ◦ リッチな型システムや静的解析の利用
理解は全てに先立つ そして理解とは記述である
Cedar Policy Language https://github.com/cedar-policy
認可エンジン Cedar • AWS 製の認可判定エンジン ◦ Principal / Action /
Resource + α でポリシを記述 ◦ リクエストに対し許可 or 拒否を返す • いわばジェネリック IAM 的な立ち位置 ◦ Rust で実装され、OSS として公開されている ◦ マネージド版の Amazon Verified Permissions も
None
持ち主が操作主
持ち主が操作主 拡張子が .png private でない
閲覧操作 持ち主が操作主 拡張子が .png 許可 private でない
構造化・リファクタリングも可能
None
持ち主が操作主 拡張子が .png private なら拒否
「リファクタリング」?
リファクタリングとは 観測可能な挙動を保つ変更のこと!
Cedar Analysis による解析 • 複雑なポリシは最終的な結果が分かりづらい ◦ デプロイ前に「検証可能性」が欲しい • Cedar では静的解析ツールが提供されている
◦ ふたつのポリシ間に強弱の違いがあるか? ◦ 自明・冗長なポリシがないか? ◦ 許可を拒否で上書きして潰していないか?
None
一つ目の方が許可範囲が広い
Cedar Analysis の特徴 • リクエストを与えずとも、ポリシのみで検査 ◦ 単体テストと違い具体的なテストケースが不要 ◦ 真に「任意のリクエスト」を検査する全称形の仕様 •
内部では SMT ソルバが使用されている ◦ 比較するポリシを SMT エンコード ◦ 一方で Allow、他方で Deny となるリクエストを探索
None
最終的な assert 条件は 「t10 と t12 が等しくない」
最終的な assert 条件は 「t10 と t12 が等しくない」 t10 は「t4 または
t9」
最終的な assert 条件は 「t10 と t12 が等しくない」 t10 は「t4 または
t9」 t4 は「t0 と t3 が等しい」
最終的な assert 条件は 「t10 と t12 が等しくない」 t10 は「t4 または
t9」 t4 は「t0 と t3 が等しい」 t3 は t2 の owner (R1_a1)
最終的な assert 条件は 「t10 と t12 が等しくない」 t10 は「t4 または
t9」 t4 は「t0 と t3 が等しい」 t0 はリクエストの principal t3 は t2 の owner (R1_a1) t2 はリクエストの resource
t4
Cedar: A new language for expressive, fast, safe, and analyzable
authorization J. W. Cutler et al. (OOPSLA 2024) https://doi.org/10.1145/3649835
Cedar 式から Option 付き SMT 式への コンパイル規則
地味に厄介な in 演算子 • リソースの包含関係は in で記述できる ◦ 未解釈関数として SMT
エンコード • 推移性・非巡回性を制約として SMT に伝えたい ◦ しかし全称量化を許すと SMT の決定性が失われる • 判定問題に対して必要十分な有限制約集合を生成 ◦ このエンコードの健全性・完全性が論文の貢献
None
操作対象が term フォルダに含まれる term フォルダが shared フォルダに含まれる shared フォルダが 操作主アカウントに含まれる
None
t24は team が shared に含まれるなら shared の祖先は team の祖先でもある
(人間の仕事じゃねぇ〜)
だからこそ機械が理解する形で 仕様が定式化される意味がある
本日のまとめ • 仕様記述の「検証可能性」の重要性 • 認可エンジン Cedar ◦ IAM と同様、Principal /
Action / Resource で指定 • Cedar Analysis ◦ ポリシの意味を静的に検査できる ◦ 内部では SMT ソルバで充足可能性を検査
Solve Smart Policies With SMT Solvers! Presented By チェシャ猫 (@y_taka_23)