Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「開発者とセキュリティのお付き合い」5パターン

 「開発者とセキュリティのお付き合い」5パターン

90c64c1f906bb9b1e3a163f92b145d26?s=128

Toshi Aizawa

June 23, 2022
Tweet

More Decks by Toshi Aizawa

Other Decks in Technology

Transcript

  1. Develop fast. Stay secure.

  2. 「開発者とセキュリティのお付き合い」5パターン Qiita Conference 2022 2022-06-23 Snyk ソリューションエンジニア 相澤俊幸

  3. @ToshiAizawa • Back from Tel Aviv • First seminar in

    a while • Solutions Engineer, Snyk
  4. アジェンダ まとめ 開発者とセキュリティのお付き合い #1〜#5 Snyk

  5. Snyk

  6. Snyk の創業理念「開発者が セキュリティに携わるべきである」 Snyk intro ca. 2018

  7. Cloud

  8. DevOps Dev Ops

  9. Dev Security 4.19M global cybersecurity staff; 2.7M staff shortage Source:

    (ISC)2 Cybersecurity Workforce Study, 2021 Dev vs Security 32M global developers Understanding the Significance of the Worldwide Developer Forecast, 2020–2025: Part-Time Application Developers Lead Growth
  10. “ It’s Developer Security. Security has to be built into

    developer’s daily work. We need to build a developer tooling company, not a security company. “ Guy Podjarny Snyk President / Founder Developer Security が必要だ。セキュリティは、開発者の日々の仕事に組み込 まれなくてはならない。だから私たちは、 セキュリティ企業ではなく、開発者用 ツールを提供する企業になる のだ。
  11. 開発者とセキュリティのお付き合い #1〜#5

  12. Case 1: CTFer

  13. CTF=Capture The Flag (旗取りゲーム)

  14. Mike • フルスタック開発者 (Python 他、経験5年) → セキュリティ • おすすめの第一歩: CTF

    に参加する、HackTheBox、TryHackMe • なぜ CTF が好き? 「Detective Chess (Windows 3.1/95 時代のパズル) のように面白いから」 • その他のおすすめ ◦ ミートアップへの参加などコミュニティ活動 ◦ ブログ等での情報発信 ◦ Daniel Miesslerのブログ記事 “How to Build a Cybersecurity Career”
  15. Case 2: Pentester

  16. Penetration Test (ペネトレーションテスト)

  17. Elliot • 大学ではComputer Science専攻。在学中にインターンシップでC++開発 (経験1年)。その後、セキュリティコンサルタントとしてペネトレーションテストに 従事 • おすすめのリソース: pentesterlab.com、PortSwigger Academy

    • 推薦する書籍: 「The Tangled Web: A Guide to Securing Modern Web Applications」by Michal Zalewski • 推薦する書籍: 「The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws」by Dafydd Stuttard 他
  18. Case 3: Vulnerability hunter

  19. 脆弱性を発見する仕事

  20. Alessio • Java 開発者 経験2年 → Pentester 経験1年 → 脆弱性発見に取り組む

    • Alessio の第一歩: HackerOne (Node.js third-party modules) • おすすめのリソース: バグバウンティ・プログラム (HackerOne、Bugcrowd、Snyk) • おすすめの第一歩 ◦ 基本的な脆弱性 (例: XSS) について学ぶ、実際のコードを調べる ◦ 脆弱性報告を読んでみる ◦ 自分の得意な言語・フレームワーク上で脆弱性を再現してみる ◦ オープンソースプロジェクトを対象に脆弱性を探してみる (特定の言語や脆弱性の種類に特化して取り組むのもおすすめ)
  21. Case 4: Security engineer

  22. セキュリティ担当者

  23. Raul • 組み込み C++ 開発 (経験6年) • その後にセキュリティエンジニアとして組織内のソフトウェアとインフラのセキュリ ティを統括 (公共分野、等)

    • マインドセット「もし〜だったら」「特殊なインプットを与えてみたら」 • ハンズオン!なんでも試してみる。 • 推薦する書籍「Hacking: The Art of Exploitation」by Jon Erickson • 推薦する書籍「The IDA Pro Book」by Chris Eagle
  24. ところで、英語力について...

  25. Case 5: The rest of us

  26. Snyk Code Snyk Open Source Snyk Container Snyk IaC エンパワメント

    幅広い領域をカバー ガバナンス アプリケーションの知見 セキュリティの知見 Developer Experience 開発者向け Security Platform
  27. • コードベースのうち 80-90%がオープンソース • 脆弱性の80% は間接的な依存関係で見つかる • 数百の Linux パッケージが含まれる

    • 秒単位の短時間でビルド、デプロイ、スケール可能 • クラウドでの脆弱性発生原因 第1位は設定ミス [米国 NSA] • ネットワーク、ストレージ、サーバー - コードを通じて素早く設定 • 頻繁にデプロイされるソフトウェア - ウォーターフォールでは追い つけない。スキャンに何時間もかけられない • カスタムコードが全体の 10-20% - DX 推進で、もっと多くの機能 を、より短い時間で開発することが求められる Code Open Source Containers Infrastructure as Code クラウド時代のアプリケーション リスクの潜む場所
  28. CI/CD Git repository Traditional/PaaS Serverless Production Snyk 実行例 Registry deploy

    Security gate Code Test & fix Test, fix, monitor Kubernetes Monitor & more... Test, fix, monitor コードのチェックイン・マージ: 脆弱性とライセンスのポリシー違反の発見。 ポリ シーに基づいて PR をブロック。新たな脆弱性につい て JIRA Issue の自動作成 自動修正: Fix PR (修正プルリクエスト) により修正、パッチ適用、 アップグレード。あとはマージするだけ ビルド: CI に組み込まれた脆弱性とライセンス 違反の自動テスト。テスト失敗時にはポ リシーに従いビルドをブロック 新しい脆弱性の検出時には アラート発出・ JIRA Issueの自動作成
  29. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. VS Code IntelliJ Azure Repos GitLab Bitbucket Cloud Bitbucket Server Concourse Jenkins Azure Pipelines TeamCity Cloud Foundry VMWare Tanzu Heroku Artifactory micro focus Coding Source Control CI/CD Runtime Snyk CLI AWS Code Pipeline Kubernetes Snyk API Issue Management Eclipse Docker Hub Docker Amazon ECS Registries Slack Jira IBM Cloud BitBucket Pipelines CircleCI Snyk API GitHub GitHub Enterprise npm Enterprise Private Registry PyCharm WebStorm PhpStorm GoLand RubyMine Visual Studio 2019 Docker buildah Harbor Quay Amazon ECR Azure Container Registry Google Container Registry Red Hat Openshift RiskSense Kenna Security Nucleus Security Vulcan Brinqua Fortify SSC Amazon EKS AWS Fargate AWS Lambda AWS CodeCommit 数多くの開発ツールと連携
  30. まとめ

  31. まとめ • 開発者不足だが、セキュリティ人材はもっと不足! • 第一歩を踏み出すのに CTF への参加 おすすめ • 開発スキルにフォーカスし続けるのもアリ

    • 英語は二の次?やりたいことをやろう
  32. 告知 • Qiita Engineer Festa 2022 開催中 (〜7月18日) • Snykを使って開発者セキュリティに関する記事を投稿!

    • 「オープンソース開発者大賞」 1名、「Toshi Aizawa大賞」2名様へ 豪華賞品プレゼント → 詳しくはこの参加ページより
  33. Thank you! Enjoy hacking. Stay secure.