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
202312_キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
Search
kidapan
December 15, 2023
Technology
0
780
202312_キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
kidapan
December 15, 2023
Tweet
Share
More Decks by kidapan
See All by kidapan
20231026_GitLabで実現_効率的な開発環境を
kidapan
0
710
[Snyk]デベロッパーセキュリティ強化! ~シフトレフトで安全な開発を~
kidapan
0
580
202307_GitLab入門 ~特徴的な機能にふれるワークショップ~
kidapan
0
1k
AIと一緒に音楽を作ろう ~作曲体験セッション~
kidapan
1
640
2023/05/11_GitLabの活用
kidapan
0
1.3k
comfortable_video_creation_THEOplayer.pdf
kidapan
0
530
Terraformを使ってMackerelをもっと便利に
kidapan
1
1k
Other Decks in Technology
See All in Technology
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
15k
ニューモーフィズムってどうなの
toridori_dev
0
110
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
360
AWS re:Invent 2024 re:Cap CloudFront編
yoshimi0227
0
320
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
1
230
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
150
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
160
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
3
400
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
4
1.7k
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
110
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
170
GPTsで模擬問題生成して資格対策してみる
hsg_alf
2
120
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.3k
BBQ
matthewcrist
85
9.4k
Building an army of robots
kneath
302
44k
Producing Creativity
orderedlist
PRO
341
39k
Done Done
chrislema
181
16k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
270
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Docker and Python
trallard
41
3.1k
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/