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
570
GitLabで快適な開発環境を! 〜GitLab Duo with Amazon Qのご紹介〜
kidapan
0
930
GitLab_Duo_with_Amazon_Q__1_.pdf
kidapan
0
470
20231026_GitLabで実現_効率的な開発環境を
kidapan
0
1k
[Snyk]デベロッパーセキュリティ強化! ~シフトレフトで安全な開発を~
kidapan
0
910
202307_GitLab入門 ~特徴的な機能にふれるワークショップ~
kidapan
0
1.5k
AIと一緒に音楽を作ろう ~作曲体験セッション~
kidapan
1
1k
2023/05/11_GitLabの活用
kidapan
0
2k
comfortable_video_creation_THEOplayer.pdf
kidapan
0
810
Other Decks in Technology
See All in Technology
Lint の層を組み直した話
bengo4com
3
320
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
640
生き様としてのSRE
hokkai7go
1
170
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
生成AI時代のIAMのマニアックな話
takuros
6
2.6k
HQ駆動開発で最高のAI-Contextを作ろう
sansantech
PRO
1
110
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
180
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
780
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
0
360
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.7k
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
200
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
150
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
390
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
HDC tutorial
michielstock
2
1k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
680
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.6k
WCS-LA-2024
lcolladotor
0
980
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
420
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
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/