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
770
202312_キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
kidapan
December 15, 2023
Tweet
Share
More Decks by kidapan
See All by kidapan
20231026_GitLabで実現_効率的な開発環境を
kidapan
0
700
[Snyk]デベロッパーセキュリティ強化! ~シフトレフトで安全な開発を~
kidapan
0
570
202307_GitLab入門 ~特徴的な機能にふれるワークショップ~
kidapan
0
1k
AIと一緒に音楽を作ろう ~作曲体験セッション~
kidapan
1
620
2023/05/11_GitLabの活用
kidapan
0
1.2k
comfortable_video_creation_THEOplayer.pdf
kidapan
0
510
Terraformを使ってMackerelをもっと便利に
kidapan
1
980
Other Decks in Technology
See All in Technology
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
2
1.1k
mikroBus HAT を用いた簡易ベアメタル開発
tarotene
0
330
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
430
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
130
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
270
Deno+JSRでパッケージを作って公開する
askua
0
120
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
150
The Role of Developer Relations in AI Product Success.
giftojabu1
0
110
地理情報データをデータベースに格納しよう~ GPUを活用した爆速データベース PG-Stromの紹介 ~
sakaik
1
130
エンジニアが一生困らない ドキュメント作成の基本
naohiro_nakata
2
160
第23回Ques_タイミーにおけるQAチームの在り方 / QA Team in Timee
takeyaqa
0
260
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
130
Featured
See All Featured
It's Worth the Effort
3n
183
27k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
For a Future-Friendly Web
brad_frost
175
9.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Ruby is Unlike a Banana
tanoku
96
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Adopting Sorbet at Scale
ufuk
73
9.1k
Typedesign – Prime Four
hannesfritz
40
2.4k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
A designer walks into a library…
pauljervisheath
202
24k
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/