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
202312_キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
Search
kidapan
December 15, 2023
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
202312_キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
kidapan
December 15, 2023
More Decks by kidapan
See All by kidapan
[AI音楽セッション] 奇跡の1曲をあなたに。
kidapan
0
530
GitLabで快適な開発環境を! 〜GitLab Duo with Amazon Qのご紹介〜
kidapan
0
870
GitLab_Duo_with_Amazon_Q__1_.pdf
kidapan
0
420
20231026_GitLabで実現_効率的な開発環境を
kidapan
0
1k
[Snyk]デベロッパーセキュリティ強化! ~シフトレフトで安全な開発を~
kidapan
0
890
202307_GitLab入門 ~特徴的な機能にふれるワークショップ~
kidapan
0
1.4k
AIと一緒に音楽を作ろう ~作曲体験セッション~
kidapan
1
970
2023/05/11_GitLabの活用
kidapan
0
2k
comfortable_video_creation_THEOplayer.pdf
kidapan
0
780
Other Decks in Technology
See All in Technology
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
200
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
110
Minecraft JavaのMODをSwiftで作る
1mash0
0
190
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
260
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
120
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
cscengineer
PRO
0
130
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
320
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
410
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.8k
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.1k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
970
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
Building an army of robots
kneath
307
46k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
How STYLIGHT went responsive
nonsquared
100
6.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Test your architecture with Archunit
thirion
2
2.4k
Transcript
キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~ 1 クラスメソッド株式会社 アライアンス事業部 木田雅伊子/きだぱん
魔法使いになりたい... そう思ったことはありませんか。
None
自己紹介 4 4 https://dev.classmethod.jp/author/kidapan/ 木田 雅伊子 /きだぱん クラスメソッド株式会社 アライアンス事業部 エンジニアグループ
担当:DevOps製品 フェレット (1歳) ハム太郎 (1歳10ヶ月)
AWS活用を支援するアライアンスパートナー製品 クラスメソッドはユーザー企業様の創造活動を支援するために、さまざまな企業とビジネスパートナー契約を締結し、 外部サービスのライセンス販売や導入支援を行っています。 5 脆弱性診断サービス ログ管理分析SaaS セキュリティ Webアプリケーション保護 次世代統合型認証基盤サービス
カスタマーサービスプラットフォーム サービス グローバルネットワークのエッジサービス データ準備・分析 データプラットフォーム クラウドデータウェアハウス データ活用 クラウドデータパイプライン アンチマルウェア製品 DevOps Observability CI / CDプラットフォーム セキュリティプラットフォーム Infrastructure as Code(IaC) マーテックソリューション DevOpsプラットフォーム
IaCとは Infrastructure as Code(IaC) • AWS環境やOSなどのインフラを構成する要素 をコード化し、構築や管理をサービス・ツール で自動化する手法 • モダンなシステム開発・管理においては必須
要件として設定されるケースも増えている
構築 土台を作る 設定 仕上げる 試験 品質を担保 コード管理
IaCの価値 • コスト(削減) • スピード(実行の高速化) • リスク(エラーとセキュリティ違反の除去)
魔法使いになりたい... そう思ったことはありませんか。
キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~ 人間の力ではなしえない不思議なことを行う術。魔術。
キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~ SaaS製品たち
None
IaCがもたらす大きな責任 もし、IaCファイルにセキュリティ上の問題があったら 例)タイプミスのために誤ったパーミッションが設定されるな ど → セキュリティ問題のほとんどがスキャンされるか、 実行時に発見される流れに沿って実行していくこと になる
CI/CD Continuous Integration/ Continuous Delivery 継続的インテグレーション/ 継続的デリバリー CI/CDは、何か特定の技術を指すものではなく、ソフトウェアの変 更を常にテストし、自動で本番環境に適用できるような状態にし ておく開発手法
None
たぬきのアイコンが目印。 実はキツネではない。 以前より、丸くなりました。
GitLabを使用するメリット • バージョン管理ができる • 変更履歴も残り、レビュー可能 • 手順書や環境定義書が不要になり、それらに 起因するヒューマンエラーを防げる • 雛形を作っておくことで、様々なプロジェクトで
それを使い回せる
None
None
21 リリース前のテスト段階で脆弱性が確認された。大規模なソースコードの変更が必要となり、納期 に間に合わせることが難しくなった・・・ リリースの延長によって機会損失を招き、ビジネス的にも大きな影響を及ぼした。 原因 • セキュア開発導入に手を回す余裕がなかった • セキュア開発を実施できる人員が少なかった •
セキュリティ検査をする時間的余裕がなかった • セキュアな開発といっても何から始めればよいか分からない
22 システム開発に求められること 開発スピード セキュリティ • ソフトウェア製品やウェブサイトの 脆弱性は毎年多数報告 • セキュア開発の重要性の高まり
23 脆弱性の増加 企業や利用者をサイバー攻撃から守るためにも開発段階で セキュリティを組み込むことの重要性が高まっている IPA:ソフトウェア等の脆弱性関連情報に関する届出状況 [2022年第4四半期(10月~12月) ソフトウェア製品や ウェブサイトの脆弱性は 毎年多数報告されている
24 脆弱性にはどんなものがあるの?
25 コードレベルでのSQL Injection対策例 サニタイジング • 入力画面でのバリデーションチェック ◦ データベース接続前に入力すべきでない文字が 含まれていないかどうかのチェック •
エスケープ処理 ◦ 特別な機能を持つ文字を別の文字列に変える • プリペアドステートメント ◦ SQL文を最初に用意しておき、クエリ内のパラ メータの値だけを変更してクエリを実行 できる機能
26 コードの脆弱性を悪用された例 クレジットカード決済基盤を提供する企業が不正アクセスを受け最大46万件のカード番号 やセキュリティコード流出してしまった事件。約半年にわたり攻撃を受けており、不正利用 懸念の連絡を受けてからも、原因特定が出来ず対応に時間がかかってしまった。 要因1:管理画面のクロスサイト・スクリ プティングに関する 脆弱性を悪用 要因2:アプリケケーションに存在した SQL
インジェクション脆弱性の悪用 要因3:バックドアプログラムの 設置及び攻撃 脆弱性が放置された理由 • ソースコードレビューを実施することが社内規定で定められていなかった • 決済システム以外の脆弱性対策は必要ないとの認識があった
27 今までの手法 企画 リリース ・運用 テスト 実装 設計 案件定義 開発ライフサイクルの下流工程(右側)でテストを行いリリース
• ここで脆弱性が発見された場合はソースコードへの修正が発生(手戻り) • リリース時にセキュリティに関する考慮事項が増え、リリースに影響することも • エンジニアの負担増
28 なんとかスピードを 落とさずセキュリティも担保 出来ないかな・・
29 Shift-Left 企画 リリース ・運用 テスト 実装 設計 案件定義 開発ライフサイクルの上流工程(左側)でテストを行う
• ソースコードの修正は早期に実装するほど対策コストがかからない • 早期に脆弱性の検知を行うことでリリーススピードの向上が見込める • 開発チームのセキュリティ意識向上 Shift Left
30 セキュリティの考慮事項と開発ライフサイクル AWS:Security For Developers – 開発者のためのセキュリティ これまでの手法 • テストの段階からセキュリティについて
考慮し始める • リリースのころに考慮事項が一番増え る • 考慮漏れや手戻りの発生 • リリース への影響 シフトレフト • 構築段階で一番考慮事項が増える • リリースのころにはセキュリティについて考 慮することは減少している
31 ソースコードの検証とセキュリティレビュー PR しました! レビューお願いします。 コード OK LGTM ! 次の issue
アサイン! 脆弱性もなし LGTM ! すべてを人力でこなすのは負担も大きいし時間もかかる • コードに論理的なミスはないか • 利便性、分かりやすさなど、運用しやすいコード か • issue の要件を満たしているか • ライブラリに脆弱性が無いか • コードレベルのセキュリティ対策 • 最新の脆弱性に関してのセキュリティ対策 • オープンソースの脆弱性がないか Security Engineer シニア Developer
32 脆弱性を自動で見つけて 修正出来るような製品ないかな・・・?
None
34 https://snyk.io/ So, Now You Know Snykは、安全な開発を迅速に行うことを支援。 • 多くの言語・開発フレームワークに対応 •
コーディング段階で脆弱性をチェック • IaC・コンテナに対応 • 依存しているOSSの脆弱性チェック • CI/CD連携・IDE連携 • 3大クラウドプラットフォームと連携
Snykで何ができる
36 DevSecOps Dev Sec Ops Development 開発 Security セキュリティ Operations
運用
37 Shift-Left 企画 リリース ・運用 テスト 実装 設計 案件定義 開発ライフサイクルの上流工程(左側)でテストを行う
• ソースコードの修正は早期に実装するほど対策コストがかからない • 早期に脆弱性の検知を行うことでリリーススピードの向上が見込める • 開発チームのセキュリティ意識向上 Shift Left
Snykプロダクト Snyk Code ソースコードをリアルタイムに静的解析 (SAST) Snyk Open Source オープンソースソフトウェアの依存関係解析 (SCA)
Snyk Container コンテナ/k8sワークロードを継続的に脆弱性から保護 Snyk IaC 脆弱なIaCコードを検知し指摘 Snyk IaC + クラウド実行環境の構成チェック (CSPM) https://snyk.io/
None
実際に見ていきましょう
まとめ • IaC導入には 開発のスピード+セキュリティ管理も重要 ◦ CI/CD、シフトレフト、コードの脆弱性スキャン →SaaS製品を使い倒して安心安全なIaCライフを! →これであなたも魔法使い
None
43 参考情報
44 脆弱性に関する情報 CVE NIST JVN IPA:安全なウェブサイトの作り方 • 資料を参考に新しい脆弱性に関しての 情報をリサーチ •
どういった攻撃にどのような対策が有効 なのかを学ぶ
次世代脆弱性診断ツール https://snyk.co/ufLKa
46 Snyk × AWS AWS CodePipeline との連携
47 脆弱性に関する情報 CVE NIST JVN IPA:安全なウェブサイトの作り方 • 資料を参考に新しい脆弱性に関しての 情報をリサーチ •
どういった攻撃にどのような対策が有効 なのかを学ぶ
48 よくあるセキュリティリスクの概要と対策 https://owasp.org/www-project-top-ten/ • クロスサイト・スクリプティング • ゼロデイアタック • サーバーサイドリクエストフォージェリ •
ハードコードされたパスワードの使用 • 不適切な暗号化アルゴリズム • 適切に保護されていないクレデンシャル • 保護されていない認証情報の保存 / 不適切な認証 • セッションの固定化 • ログファイルへの不適切な出力 etc.. https://owasp.org/Top10/ja/