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
GitLabを活用したクラウドネイティブ アプリケーションセキュリティ
Search
k1nakayama
October 25, 2023
Technology
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitLabを活用したクラウドネイティブ アプリケーションセキュリティ
k1nakayama
October 25, 2023
More Decks by k1nakayama
See All by k1nakayama
AIが書いたコードの中身、 把握できていますか? ― CRA対応をGitLabで
k1nakayama
1
18
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
7
4.1k
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
420
GitLab Duo with Amazon Q の機能実装を試してみた
k1nakayama
0
200
GitLab Ultimateを用いたDevSecOps実践事例
k1nakayama
0
260
GitLabを活用したDevSecOps
k1nakayama
1
500
サーバーレス開発を円滑に進めるための実践DevSecOps
k1nakayama
1
580
大容量データをDynamoDBで扱う際のMomento導入検討
k1nakayama
0
960
Deep Dive on DevOps for Serverless Applications
k1nakayama
0
390
Other Decks in Technology
See All in Technology
Incremental HTTP
kazuho
5
2.1k
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
230
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
150
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.1k
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
560
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
0
200
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
170
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
大阪オフィスに Unitree Go2 がやってきたので Physical AI やってみた
dafujii
0
320
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
0
200
[2026 Oracle Technical Deep Dive] OCI AI Resilience -OCIのセキュリティ対策機能をきちんと使いこなす- (2026年9月17日開催)
oracle4engineer
PRO
0
130
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
540
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Exploring anti-patterns in Rails
aemeredith
4
520
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Embracing the Ebb and Flow
colly
88
5.2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Un-Boring Meetings
codingconduct
0
440
Transcript
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLabを活用したクラウドネイティブ アプリケーションセキュリティ 〜IaCからAIまでモダンな開発手法の実践〜
Keiichi Nakayama Vice General Manager Cloud Partner Group CHARA-WEB Co., Ltd.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 自己紹介 • 中山
桂一 ( @k1nakayama ) • 株式会社キャラウェブ クラウドパートナーグループ 副部長 • クラウドインテグレーション事業をリード • AWS Community Builders (Serverless) • AWS x Serverless / GitLab / DevSecOps
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 会社概要 ISO/IEC 27001:2013
& JIS Q 27001:2014 クラウドに関するコンサルティング、設計、 構築、運用、管理 における認証
© 2023, CHARA-WEB Co.,Ltd. All rights reserved.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 企業が抱える課題 クラウドを活用した開発内製化を進める
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 開発内製化を進める上での課題 Ø 社内のエンジニアリソースが限られる
Ø クラウドを活用できるだけの専門的な知見を持っていない Ø 少人数で継続的な開発・運用を行うことは難しい サーバーレス等のクラウドネイティブアプリケーションで構築 GitLabを活用したDevSecOpsを導入する
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. なぜサーバーレス(≒クラウドネイティブ)か AWS Lambda
の セキュリティの概要 アプリケーション自体や関連する設定等における責任範囲に限定 されており、アプリケーション開発・運用に集中することができる 責任共有モデル
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. なぜGitLabを活用したDevSecOpsか AI-powered DevSecOps
Platform GitLabはDevSecOpsのプラットフォームであり、ソフトウェア開発 ライフサイクル(SDLC)全体を通じて一気通貫で管理が行える
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 既にセキュリ ティテストは やってるから
OK? DevSecOpsっ てDevOpsと 何が違うの? GitLabで どうやって セキュリティ 担保するの? セ キ ュ リテ ィ の 専 門 家 居 な い か ら 無 理 じゃ ね ?
© 2023, CHARA-WEB Co.,Ltd. All rights reserved.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. DevSecOpsとは セキュリティへの取り組みを早い段階に組み込み(シフトレフト)、 手戻りを最小限に抑える
セキュリティ診断 セキュリ ティ診断
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. シフトレフトによる効果の具体例 Ø ストレージの暗号化をせずデプロイし、公開してしまったが、リ
リース後の監査により、社内のセキュリティポリシーに違反して いることが判明 u既にデータが入り始めており、過去データのマイグレーション と、暗号化設定済みのストレージに移行することになり、本来 必要なかった作業が大幅に発生 ü IaCスキャンを設計後の早い段階などで実施していたら、 暗号化設定を追加するだけで済んでいた
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. シフトレフトによる効果の具体例 Ø 自社のSaaSサービスに対して、AGPLライセンスを使用してい
る疑いがある旨の問い合わせと、その場合にサービス全体の コード開示を要求する指摘が入った u1つの依存ライブラリのライセンスを管理できていなかったこ とで、ビジネスにおいて致命的な問題に発展した ü テスト段階において、依存関係スキャンや依存ライブラリに おけるライセンスチェックを行っていたら、公開前に他のラ イブラリに差し替えることが出来ていた
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLabを使ったセキュリティテスト uSAST(Static Application
Security Testing) ソースコードを解析し、脆弱性を検出する 25種類もの言語やフレームワークに対応 uDependency Scanning パッケージマネージャーの依存関係から、既存のライブラリの脆 弱性を検出する 併せて、各パッケージのライセンスをチェックする uSecret Detection ソースコード内のシークレット等の秘匿情報漏えいをチェックする
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLabを使ったセキュリティテスト uContainer Scanning
Dockerベースのアプリケーションについて、イメージや使用され ているライブラリ等についての脆弱性を検出します uInfrastructure as Code Scanning(IaC Scan) CloudFormationテンプレートやTerraform、OpenAPI、 Dockerfileなど、IaCを解析し、ベストプラクティスに沿っていない 点を検出します AWS CDKやServerless Framework等もCloud Formationテン プレートとして出力することで解析可能
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLabを使ったセキュリティテスト uDAST(Dynamic Application
Security Testing) URLに対しWebアプリをクローリングし、動的に様々なリクエスト を実際に行うことで、脆弱性を検出する uAPI Fuzz Testing OpenAPIドキュメントに沿って、実際にランダムなリクエストを APIに行うことで、脆弱性を検出する
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLabを使ったその他のテスト uCode Quality
ソースコードを解析し、ソースコードの保守性やスタイル等のコー ド品質をチェックします uBrowser Performance Testing Webサイトのレンダリングパフォーマンスを測定します
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLabでのセキュリティテスト実施設定 GitLabのCIの設定を記述する 「.gitlab-ci.yml」に、右記のよう
なGitLabが提供するテンプレー トの読み込み設定を追加するだ けで、各種セキュリティテストが 有効化され、実施される ※ DAST、Browser Performance Testな どは、CIの中でアプリケーションをデプロイ し、結果のURLを渡す必要がある stages: - build - test - deploy - dast - performance - cleanup include: - template: Code-Quality.gitlab-ci.yml - template: Jobs/SAST.latest.gitlab-ci.yml - template: Jobs/Secret-Detection.latest.gitlab-ci.yml - template: Jobs/SAST-IaC.latest.gitlab-ci.yml - template: Jobs/Dependency-Scanning.gitlab-ci.yml - template: DAST.latest.gitlab-ci.yml - template: Verify/Browser-Performance.gitlab-ci.yml 上記は、Code Quality、SAST、Secret Detection、IaC Scanning、Dependency Scanning、DAST、Browser Performance Testingを実施する場合の設定
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. マージ前にテスト結果を確認し判断 フィーチャーブランチで変更を行 い、マージリクエスト
(MR,GitHub等でいうところのプ ルリクエスト)を行う画面上で、 それぞれのセキュリティテストの 結果を確認でき、このままマー ジを承認してよいかを判断する ことができる
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. セキュリティポリシー、コンプライアンス テスト結果に応じて、特定のライ センスが使用されていることが
検出された場合や、脆弱性が検 出された場合などに、特定の人 や一定のロールを持つ人の承 認を一定数得られなければマー ジできない、といったルールを設 定できます。 また、特定のテストを実行してい なければマージ出来ないという ポリシーも設定できます。
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. マージ後も継続的に脆弱性を一元管理 マージ後にプロジェクトに残され た脆弱性について、脆弱性ダッ
シュボードにて一元管理でき、 それぞれの脆弱性について、ト リアージして管理することが可 能。 必要に応じてワンクリックで Issue化することもできる。
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. AIを活用した脆弱性対応 脆弱性として検出される内容は 多種多様なものがあり、セキュ
リティの専門家であっても、その 脆弱性についての説明や対応 方法を全て提示することは難し いです。 GitLabは、AIを活用し、ボタン1 つで脆弱性の説明、脅威の内 容、対応策を説明します • レビュアーの提案 • コードの提案(Visual Studio Code等 のIDE上で、コード提案を受けながら コーディングを進められる) • コードの説明(選択したコード部分が 何をしているコードかを説明する) • GitLab Chat • マージリクエストのサマリー • マージリクエストに対するレビューの サマリー • マージリクエスト時のコードに対する テストコードの生成 • イシューのディスカッションについて のサマリー
© 2023, CHARA-WEB Co.,Ltd. All rights reserved.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. デプロイまでの基本フロー コードプッシュ毎に セキュリティテストの実行
マージ後も再度 セキュリティテストの実行 コードプッシュ毎にReviewAppを デプロイし、実際のアプリを対象 にDAST等も行える ※マージしたら ReviewAppやフィー チャーブランチは自動的 に削除する まずはマージリクエストを作成し、 同時にフィーチャーブランチ作成
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 設計段階の成果物としてIaC Ø IaCでインフラのセキュリティを固める
クラウド上でのイベントフローなどを設計した上で、全体的なアー キテクチャを設計したら、AWS CDKやTerraform等で全体的な コンポーネントを定義し、APIについてもOpenAPIドキュメント (Swagger)を作成しIaCスキャンにかける ü アプリケーション構築前から、足回りのセキュリティを考慮して おくことで、アプリケーション開発時に実装するべき内容が明 確になり、セキュリティ対応に掛ける時間が短縮できる
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. ReviewAppを必ずデプロイ Ø 実際にデプロイすると網羅的にチェックできる
マージリクエスト時に変更されたコードだけ見ても、本当に意図し た通り動くかを正確に見極めることは難しく、マージした後で実 際にデプロイしたら動かないだと、全体的な手戻りが発生する ü 実際のデプロイされた環境があれば、コードと併せて実際の 意図した動きをするかを確認できるだけでなく、ReviewAppに 対するDASTやPerformance Test、Fuzz Testなどを実行する ことができる ü クラウド上の各種サービスに対する権限設定が正しいかも、 実際の動きをみて確認できる
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. WAF等での対応策も検討 Ø 全部の脆弱性を潰してからリリースは非現実的
プロジェクトの規模感によっては、最初からDevSecOpsを実践し、 初期段階からセキュリティテストをしていても、大量の脆弱性の 指摘がでることも ü 全部対応することが絶対ではなく、市場への価値提供のリー ドタイムを優先するべき状況もあり得る ü AIによる脆弱性の説明機能を活用し、脅威や攻撃手法の把 握を行い、必要に応じてWAF等で軽減処置を行うことも検討 するべき
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. まずはセキュリティテストから始めてみる
© 2023, CHARA-WEB Co.,Ltd. All rights reserved.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 導入効果 Ø コード品質が向上
脆弱性対応を進めやすくするためにも、コード品質を上げてコー ド修正がしやすい形に変えていこうとするため、コード品質が向 上する Ø スキル向上 脆弱性対応を進めるために、自分たちが持っていない知識を調 べて対応するため、広い範囲での知識が身につきやすい Ø 手戻りが少なくなる 早い段階で網羅的にテストするため、手戻りが少なくなり生産性 向上していく?
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 導入効果 Ø マージ時の心理的ハードルが下がる
ReviewAppにより実際に動くことをマージ前に確認できることや、 様々なテストの結果、指摘がない状態でレビュー依頼ができると、 レビューイ側も自信をもってリクエストできる。 レビュアー側も同様に、自分の確認漏れによるマージ後の問題 を気にすることが少なくなり、スムーズにレビューが行える Ø クラウドのベストプラクティスに対応できる IaCスキャンの結果に対応していくことで、必然とクラウドのベス トプラクティスに対応していくことができる
© 2023, CHARA-WEB Co.,Ltd. All rights reserved.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. まとめ Ø変化の早いマーケットに対し、柔軟に対応するためには、クラウド ネイティブなアプリケーションを、内製で開発するべき
Øセキュリティ対応を含めてスムーズに開発を進めるためには、 DevSecOpsを導入する ØDevSecOpsの実践には、GitLabを使うことで一気通貫で解決 ØIaCにより、クラウドのベストプラクティスに対応 ØAIの活用で、セキュリティ専門家不在でも内製で対応可能
© 2023, CHARA-WEB Co.,Ltd. All rights reserved.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLab導入支援 • GitLabを活用したCI/CDの構築支援
• GitLab Self-Managed版 環境構築 (AWS上での構築) • GitLab Runner(Specific Runner)構築(AWS上での構築) • GitLab活用についてのコンサルティング • ラベル運用の自動化支援 • AWSとのインテグレーション支援
Accelerate your business with the cloud.