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
セキュアに デプロイしょう / Ship securely
Search
kanamsasa
February 12, 2023
Technology
6
2.2k
セキュアに デプロイしょう / Ship securely
とあるAWS SAとSecurity-JAWS#01 ~ほんと、退屈しないわねこのセキュリティは!~
https://s-jaws.doorkeeper.jp/events/149297
の資料です
kanamsasa
February 12, 2023
Tweet
Share
More Decks by kanamsasa
See All by kanamsasa
How to accelerate DDD practice using Amazon Q Developer
kanamasa
2
150
[NIKKEI Tech Talk]Bias for Action!! 実践から学ぶための仕組とコミュニティ / Community for Practice and Learning
kanamasa
1
930
ミニステージ: Feature Flag、その後に / After Feature Flag
kanamasa
0
150
Spring と AWS サービスを活用して実現する安全なデプロイメント / How to launch safely using Spring and AWS services
kanamasa
5
510
はこだてデベロッパーカンファレンス 開発者のためのAWS の始め方 / how to start AWS for developer
kanamasa
0
570
Amazon CodeCatalyst のサーバーレス Blueprint 探訪 / Serverless Blueprint in Amazon CodeCatalyst
kanamasa
0
420
カオスエンジニアリングはじめの一歩のためのAWS FIS入門@Chaos Night / AWS FIS for starting chaos engineering
kanamasa
0
310
Java アプリとAWS の良い関係 - AWS でJava アプリを実行する一番簡単な方法教えます / AWS for Javarista
kanamasa
3
6.1k
Other Decks in Technology
See All in Technology
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
170
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
130
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
3.2k
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
420
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
0
280
LIFF CLIとngrokを使ったLIFF/LINEミニアプリのお手軽実機確認
diggymo
0
220
Gemini in Android Studio - Google I/O Bangkok '25
akexorcist
0
180
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
3
1.1k
反脆弱性(アンチフラジャイル)とデータ基盤構築
cuebic9bic
2
150
dipにおけるSRE変革の軌跡
dip_tech
PRO
1
200
AI によるドキュメント処理を加速するためのOCR 結果の永続化と再利用戦略
tomoaki25
0
350
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
150
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Navigating Team Friction
lara
188
15k
The Language of Interfaces
destraynor
158
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Being A Developer After 40
akosma
90
590k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
How GitHub (no longer) Works
holman
314
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
790
Transcript
© 2023, Amazon Web Services, Inc. or its affiliates. ©
2023, Amazon Web Services, Inc. or its affiliates. Masao Kanamori Solutions Architect, DevAx Amazon Web Services Japan G.K セキュアにデプロイしよう 開発者のためのセキュリティテスト自動化
© 2023, Amazon Web Services, Inc. or its affiliates. 自己紹介
• 金森 政雄 Ø 所属/役職 : DevAx(Developer Acceleration) チーム ソリューションアーキテクト Ø 好きなサービス Amazon Elastic Container Service AWS Step Functions AWS Fault Injection Simulator
© 2023, Amazon Web Services, Inc. or its affiliates. シフトレフトとは...
セキュリティへの関⼼をソフトウェア開発ライフサイクルの 可能な限り早い段階に移すこと
© 2023, Amazon Web Services, Inc. or its affiliates. セキュリティに対する注意のタイミング
© 2023, Amazon Web Services, Inc. or its affiliates. シフトレフトは開発者の仕事
を増やすのでは? • セキュリティ問題の早期解消は 運用メンバーのストレスを減少させる • 早期に修正するほどコストは安い [1] • 市場投入までの時間を短縮し、 ターンアラウンドタイムを短縮する • 多くのプロセスは自動化できる 1 https://ntrs.nasa.gov/citations/20100036670
© 2023, Amazon Web Services, Inc. or its affiliates. ©
2023, Amazon Web Services, Inc. or its affiliates. シフトレフトは どのように実装されるか
© 2023, Amazon Web Services, Inc. or its affiliates. シークレット検出
漏洩防止 セキュアなコーディングプラクティス 動的コード解析 脆弱性テスト ペネトレーションテスト 静的コード解析 使用するライブラリの コンプライアンス コンプライアンスチェック 環境設定 秘匿情報と鍵の管理 セキュアなネットワーク設計 Well-Architected アーキテクチャのガードレール コンプライアンス 脆弱性評価 シークレット管理 セキュリティ監視の有効化 コンプライアンスチェックの 有効化 脆弱性評価 ペネトレーションテスト コンプライアンスチェック 行動異常 脅威モデリング
© 2023, Amazon Web Services, Inc. or its affiliates. シークレット検出
漏洩防止 セキュアなコーディングプラクティス 動的コード解析 脆弱性テスト ペネトレーションテスト 静的コード解析 使用するライブラリの コンプライアンス コンプライアンスチェック 環境設定 秘匿情報と鍵の管理 セキュアなネットワーク設計 Well-Architected アーキテクチャのガードレール コンプライアンス 脆弱性評価 シークレット管理 セキュリティ監視の有効化 コンプライアンスチェックの 有効化 脆弱性評価 ペネトレーションテスト コンプライアンスチェック 行動異常 脅威モデリング
© 2023, Amazon Web Services, Inc. or its affiliates. シフトレフト
̶ リリースパイプラインとの統合 開発 (IDE) コミット ビルド テスト デプロイ (ステージン グ) デプロイ (Prod) 監視 AWS Cloud9 AWS IDE Toolkits セキュリティ テスト一式 AWS CodeCommit AWS CodeBuild AWS CodeBuild + サードパーティ AWS CodeDeploy AWS CodeDeploy AWS X-Ray Amazon CloudWatch AWS CodePipeline
© 2023, Amazon Web Services, Inc. or its affiliates. 開発
(IDE) コミット ビルド前 (SCA、 SAST) ビルド ビルド後 (DAST) テスト デプロイ (ステージン グ) デプロイ (Prod) 監視 AWS Cloud9 AWS IDE ツールキット AWS CodeCommit AWS CodeBuild AWS CodeBuild + サードパーティ AWS CodeDeploy AWS CodeDeploy AWS X-Ray Amazon CloudWatch AWS CodePipeline AWS CodeBuild AWS CodeBuild AWS codeGuru OWASP ZAP Talisman Amazon Detective AWS Config インフラ スキャン コンプラ イアンス スキャン WAF 承認 ・Pre-commit フック ・IDE セキュリティ プラグイン シフトレフト ̶ リリースパイプラインとの統合
© 2023, Amazon Web Services, Inc. or its affiliates. 今日作るもの:
自動化されたセキュリティテスト AWS CodePipeline Staging Environment CI/CD Application Security Infra AWS CodeBuild (SAST) AWS CodeCommit (Source Repository) AWS ECS (Staging Deployment) Amazon ECR (Image Repository) Amazon EC2 (OWASP ZAP) AWS CodeBuild (License Analysis) AWS CodeBuild (SCA) AWS CodeBuild (Docker build) AWS CodeBuild (DAST) 1b 1a 1c 3 Amazon ECS (SonarQube) 2 4 5 6 7 8
© 2023, Amazon Web Services, Inc. or its affiliates. ©
2023, Amazon Web Services, Inc. or its affiliates. 開発者のための セキュリティプロセスとツール紹介 12
© 2023, Amazon Web Services, Inc. or its affiliates. 脅威モデリング
PLAN ステージ
© 2023, Amazon Web Services, Inc. or its affiliates. 脅威モデリングとは
• コードを記述する前に、潜在的なセキュリティ問題をある程度特定するための 設計時のアクティビティです • 以下のような情報を定義します[2] : • アセット、アクター、エントリポイント、コンポーネント、 および信頼レベル • 脅威のリスト • 脅威ごとの軽減策 • リスクマトリックスの作成と確認 • これは、データフロー図、マインドマップ、または単に表形式で表現できます • また、よりターゲットを絞ったセキュリティテストを実施するために 専⾨家 (テスターやセキュリティエンジニア) がアプリケーションを 理解するのにも役⽴ちます https://aws.amazon.com/jp/blogs/news/how-to-approach-threat-modeling/
© 2023, Amazon Web Services, Inc. or its affiliates. 脅威モデリングとは
(続き) https://en.wikipedia.org/wiki/STRIDE_%28security%29 https://catalog.workshops.aws/threatmodel 脅威モデリングには多くの⽅法がありますが、最も成熟した⽅法の1つは STRIDE[3] [4]です。 ⽬的は、開発前にセキュリティ要件を特定するために、脅威と緩和策をリストにまとめることです。 脅威 ID アセット エントリポイント 攻撃サマリー テクニック TR-01 ユーザーアカ ウント ログインペー ジ 誰かのアカウントをハイジャックし、悪意 のある活動を行うことができること。 ブルートフォース攻撃 パスワードダンプ セッションハイジャック フィッシング 脅威 ID 予防的/発見的コントロール TR-01 • 多要素認証 • パスワードのライフサイクルとルール • セッション ID の安全な生成 • セッションライフサイクル • セッションクッキーの安全なストレージ • 顧客への定期的なセキュリティリマインダー
© 2023, Amazon Web Services, Inc. or its affiliates. 機密データ検出
漏洩防止 セキュアなコーディングプラクティス CODE ステージ
© 2023, Amazon Web Services, Inc. or its affiliates. IDE
セキュリティプラグイン • IDE プラグインは、開発者へ迅速に実行可能な対応策を提供します • コーディングの段階から潜在的リスクを防止するのに便利です • 通常、正規表現ベースのアプローチが用いられます • 迅速なフィードバックのために設計されており、他のフェーズでのアプローチと組 み合わせて利用する必要があります。
© 2023, Amazon Web Services, Inc. or its affiliates. ソースコントロールでのセキュリティ-
Git Hook • アクセスキー、アクセストークン、SSH キーなどの機密情報は、 偶発的な git コミットにより誤って漏洩することがよくあります • Pre-Commit フックは、開発者のマシンまたはクラウド IDE に インストールし、機密データをフィルタリングします • 通常、正規表現ベースのアプローチが⽤いられます Talisman GitHound
© 2023, Amazon Web Services, Inc. or its affiliates. 認証情報の安全な格納と使⽤
• 設定ファイルに認証情報を格納せず安全なツールを使⽤してください • 漏洩は、システム悪⽤、情報漏洩、特権の昇格などの原因となります • 認証情報のローテーションも設定できます AWS Secrets Manager
© 2023, Amazon Web Services, Inc. or its affiliates. 静的コード解析
使用するライブラリのコンプ ライアンス BUILD ステージ
© 2023, Amazon Web Services, Inc. or its affiliates. 静的アプリケーションセキュリティテスト
(SAST) • 開発したコードにおけるセキュリティの脆弱性を分析します • 典型的な例 ̶ SQLインジェクション、XSS、不安全なライブラリなど • 誤検知の管理には⼈⼿での監視が必要になります Amazon CodeGuru
© 2023, Amazon Web Services, Inc. or its affiliates. ソフトウェア構成解析
(SCA) • ソフトウェアの⼤部分はサードパーティのライブラリであり、多くのセ キュリティ脆弱性の由来となっています [5] • OSS ライブラリの⼊⼿は⾮常に簡単なものの、継続的な更新が必要です • pip、npm、bundler、go get、composer など • Software Composition Analysis (SCA) では、脆弱なサードパーティラ イブラリを識別するためのチェックを⾏います https://www.veracode.com/state-of-software-security-report
© 2023, Amazon Web Services, Inc. or its affiliates. ライセンスチェック
• 組織によっては、会社の知的財産を保護するために特定のライブラリを 使⽤しないよう求められる場合があります • GNU (General Public License) のようなコピーレフトライセンスを⽤ いる場合、アプリケーションも同ライセンスで配布する必要があります
© 2023, Amazon Web Services, Inc. or its affiliates. 動的アプリケーションセキュリティテスト
(DAST) • ⾃動化ツールを使⽤したブラック/グレーボックスの セキュリティテスト • SAST だけでは結合的な結果を得られない場合があります • DAST は、デプロイメント固有の問題の特定に役⽴ちます • SAST と DAST の結果を⽐較して、誤検出を除外します OWASP ZAP
© 2023, Amazon Web Services, Inc. or its affiliates. ©
2023, Amazon Web Services, Inc. or its affiliates. ワークショップコンテンツはこちら https://catalog.workshops.aws/sec4devs/ja-JP 25