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
開発視点でAWS Signerを考えてみよう!! ~コード署名のその先へ~
Search
モブエンジニア
April 13, 2025
Technology
3
170
開発視点でAWS Signerを考えてみよう!! ~コード署名のその先へ~
2025.04.14に登壇したJAWS-UG朝会 #68で登壇した資料です。
connpass:
https://jawsug-asa.connpass.com/event/338579/
モブエンジニア
April 13, 2025
Tweet
Share
More Decks by モブエンジニア
See All by モブエンジニア
技術者としてのアクセシビリティ対策~Azureサービスから考える~
masakiokuda
0
31
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
210
SDNの可能性を考える ~Cisco Catalyst SD-WANをテーマに~
masakiokuda
1
85
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
5
6.4k
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
270
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
260
30代エンジニアが考える、エンジニア生存戦略~~セキュリティを添えて~~
masakiokuda
4
2.4k
Webブラウザのセキュリティ対策に役立つぞ!!~DevToolsの使い方~
masakiokuda
0
210
ネットワークエンジニアの安息地~ジョークRFCの紹介~
masakiokuda
0
83
Other Decks in Technology
See All in Technology
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
4
2.3k
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
730
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
120
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
250
「経験の点」の位置を意識したキャリア形成 / Career development with an awareness of the “point of experience” position
pauli
4
110
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
150
【Λ(らむだ)】最近のアプデ情報 / RPALT20250422
lambda
0
120
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
3
480
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
290
バックオフィス向け toB SaaS バクラクにおけるレコメンド技術活用 / recommender-systems-in-layerx-bakuraku
yuya4
6
560
Would you THINK such a demonstration interesting ?
shumpei3
1
230
YOLOv10~v12
tenten0727
4
970
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A Tale of Four Properties
chriscoyier
158
23k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
530
Designing for humans not robots
tammielis
252
25k
BBQ
matthewcrist
88
9.6k
A designer walks into a library…
pauljervisheath
205
24k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Transcript
開発視点でAWS Signerを 考えてみよう!! ~コード署名のその先へ~ 2025.04.14(月) JAWS-UG 朝会 モブエンジニア(@mob_engineer) JAWS-UG朝会 #68
LTのねらい・対象者 • LTのねらい • コード署名の重要性について「ざっくり」理解してもらう • AWS Signerを通じて実現できることを「ざっくり」理解してもらう • 開発視点でコード署名の「うれしい」ポイントをざっくり理解してもらう
• 対象者 • コード署名についてこれからキャッチアップしていこうと思っている方 • AWS Signerについてこれからキャッチアップしていこうと思っている方 • 開発視点でコード署名のうれしいポイントを知りたいと思っている方 2 JAWS-UG朝会 #68
お話しすること・しないこと • お話しすること • コード署名に関する概要 • AWS Signerの概要・Lambdaでの検証 • 開発視点でのうれしいポイント
• お話ししないこと • コード署名で用いられている暗号化技術 • ECSでの検証、実務での活用事例 • その他関連すること 3
自己紹介 • ペンネーム:モブエンジニア • 所属企業:ソフトハウス企業 • ロール:開発よりインフラエンジニア • AWS歴:1年半(現在は個人で触っている) •
好きなサービス:Amazon Workspaces • JAWS-UG 彩の国埼玉支部 運営 • 保有資格: 4 JAWS-UG朝会 #68 プレーリーカード
お品書き • 今回登壇したモチベーション • コード署名とは何か • AWS Signerについて • AWS
Signerを試してみた • 開発者視点でAWS Signerを考えてみよう 5 JAWS-UG朝会 #68
今回登壇したモチベーション 6 JAWS-UG朝会 #68
AWSを用いた開発を行うなかで・・・ •Lambdaなどでコードを執筆する中で、「このコー ドって安全なのだろうか?」といった疑問を持ちはじ めました。 7 JAWS-UG朝会 #68
安全性を考えてみた • クライアント側・サーバ側については秘密鍵などで暗号化 されているから安全そうだ。 • サービス間通信に関してもVPCを通じて保護されている から安全だろう。 • ビジネスの根幹である「ソースコードは改ざんされないよう な仕組みはあるのか?」が気になりました。
8 JAWS-UG朝会 #68
探す中で見つけた一つの解 • ソースコードの改ざん防止として「AWS Signer」という サービスを見つけたました。 • そのうえで、「このサービスは開発視点で大きなインパクト があるかもしれない」と思い、セッションでお話ししようと思 いました。 9
JAWS-UG朝会 #68
コード署名とは何か 10 JAWS-UG朝会 #68
コード署名(コードサイニング証明書)とは •コードサイニング証明書は、ソフトウェアにデジタル署 名を行う電子署名用の証明書です。 •ソフトウェアの配布元を認証し、「なりすましや内容 の改ざんなどがされていないこと」を保証し、ユーザの 手元に責任をもってソフトウェアを届けることができま す。 https://jp.globalsign.com/codesigning/knowledge/ 11 JAWS-UG朝会
#68
コード署名 イメージ 12 JAWS-UG朝会 #68 https://www.digicert.com/jp/faq/code-signing-trust/what-is-code-signing
(例)配送倉庫から自宅まで荷物を配送する 配送工場 自宅 13 JAWS-UG朝会 #68
(例)配送倉庫から自宅まで荷物を配送する 配送工場 自宅 14 JAWS-UG朝会 #68
悪意のある第三者(泥棒)にすり替えられたら 配送工場 自宅 15 JAWS-UG朝会 #68
悪意のある第三者(泥棒)にすり替えられたら 配送工場 自宅 16 JAWS-UG朝会 #68
悪意のある第三者(泥棒)にすり替えられたら 配送工場 自宅 17 JAWS-UG朝会 #68
盾となるような存在(改ざん検知)できれば 配送工場 自宅 18 JAWS-UG朝会 #68
盾となるような存在(改ざん検知)できれば 配送工場 自宅 19 JAWS-UG朝会 #68
コード署名のメリット • 大きく3つあると考えられます。 •なりすまし防止 •改ざんソフトウェアの被害防止 •正規の配布元の証明 20 JAWS-UG朝会 #68
コード署名をざっくり言うと・・ •ソースコードを守るゴールキーパー のような存在 21 JAWS-UG朝会 #68
AWS Signerについて 22 JAWS-UG朝会 #68
AWS Signer(サイナー)とは • 開発者ガイドには次のように示されていました。 https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html 23 JAWS-UG朝会 #68
利用可能なリージョン • 米国 (バージニア北部) • 米国 (オハイオ) • 米国 (北カリフォルニア)
• 米国 (オレゴン) • アフリカ (ケープタウン) • アジアパシフィック (香港) • アジアパシフィック (ムンバイ) • アジアパシフィック (ソウル) • アジアパシフィック (シンガポール) • アジアパシフィック (シドニー) • アジアパシフィック (東京) • カナダ (中部) • 欧州 (フランクフルト) • 欧州 (アイルランド) • 欧州 (ロンドン) • 欧州 (ミラノ) • 欧州 (パリ) • 欧州 (ストックホルム) • 中東 (バーレーン) • 南米 (サンパウロ) 24 JAWS-UG朝会 #68
AWS Signerを利用できるサービス 25 JAWS-UG朝会 #68
ちなみに、利用料金は • Signer自体に利用料金はかかりません!! JAWS-UG朝会 #68
(余談)AWS Signerのアップデート情報 JAWS-UG朝会 #68
AWS Signerを試してみた JAWS-UG朝会 #68
とりあえずAWS Signerを触ってみた •多くの方が触るLambdaでAWS Signerの挙動 について確認しました。 https://aws.amazon.com/jp/blogs/aws/new-code-signing-a-trust-and-integrity-control-for-aws-lambda/ 29 JAWS-UG朝会 #68
構成イメージ •構成イメージとして次のようなイメージです。 30 JAWS-UG朝会 #68
AWS Signer署名 事前準備 •バージョニング設定されたS3でないと機能しないと 示されています。 31 JAWS-UG朝会 #68
AWS Signer署名 事前準備 •バージョニング設定を有効にしたS3を作成しました。 32 JAWS-UG朝会 #68
AWS Signer署名 署名設定 •AWS Signerサービス画面へ署名設定ができます。 33 JAWS-UG朝会 #68
AWS Signer署名 署名設定 •プラットフォーム、名前、期間とタグを選択するシンプ ルな設定で実装できます。 34 JAWS-UG朝会 #68
AWS Signer署名 Lambda設定 •作成した関数ごとにコード署名の設定が必要です。 (少しめんどくさい) 35 JAWS-UG朝会 #68
AWS Signer署名 Lambda設定 •作成したLambda関数をS3バケットにアップロード しておきましょう。 36 JAWS-UG朝会 #68
AWS Signer署名 ジョブ設定 •AWS Signer>ジョブ設定からジョブ署名設定を 行っておきましょう。 37 JAWS-UG朝会 #68
AWS Signer署名 設定確認 •送信先S3に署名済みLambda関数が入っていま した。 38 JAWS-UG朝会 #68
AWS Signer署名 設定確認 •AWS Signer側でも署名されていることが確認で きました。 39 JAWS-UG朝会 #68
開発視点でAWS Signerを 考えてみよう 40 JAWS-UG朝会 #68
開発視点でよいところ •コード改ざんに対して対策を講じることができる •無料で利用できるため、サードパーティのサービスを 利用する必要がない •ジョブ単位で管理できるため、コード署名を Lambdaごとに管理できる 41 JAWS-UG朝会 #68
留意しなくてはいけないところ •リージョンをまたいだコード署名は行えない(≒リー ジョン単位で設定が必要) •手数がそこそこ多いため、CDKなどを用いて運用自 動化する必要がある •マネージドサービスのため署名方法を自分で選択で きない(≒オリジナル署名ができない) •GitHubなどからコード署名ができない? 42 JAWS-UG朝会
#68
まとめ •コード署名を行うことで「コード改ざん」などのリスクに 対処することができる •AWS Signerを利用すればLambdaで設定して いるコードを保護することができる •手動対応だと手数が多いため、CDK・Step Functionなどのツールを利用する必要がある •多くのプロダクトで利用できる可能性が・・・ 43
JAWS-UG朝会 #68
参考サイト • https://speakerdeck.com/atsuw0/aws- signertekotoshu-ming-nituitematometemita • https://speakerdeck.com/ozawa/ecs-x-aws- signer-woshi-tutaimesishu-ming-wakuhurowoshi- sitemita • https://qiita.com/atw0_0w/items/80e04e36d40a
baacff50 • https://dev.classmethod.jp/articles/lambda- support-verify-code-sign/ 44 JAWS-UG朝会 #68
宣伝させてください!!! • 2025/04/17(木)19:00にJAWS-UG 彩の国 埼玉支部キックオフが開催します!! 45 JAWS-UG朝会 #68
宣伝させてください!!! • 彩の国埼玉支部 Xアカウントも運用しているのでフォ ローをお願いいたします!! 46 JAWS-UG朝会 #68
47 JAWS-UG朝会 #68