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

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

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

Toshi Aizawa

June 23, 2022
Tweet

More Decks by Toshi Aizawa

Other Decks in Technology

Transcript

  1. Develop fast.
    Stay secure.

    View Slide

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

    View Slide

  3. @ToshiAizawa
    ● Back from Tel Aviv
    ● First seminar in a while
    ● Solutions Engineer, Snyk

    View Slide

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

    View Slide

  5. Snyk

    View Slide

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

    View Slide

  7. Cloud

    View Slide

  8. DevOps
    Dev Ops

    View Slide

  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

    View Slide


  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 が必要だ。セキュリティは、開発者の日々の仕事に組み込
    まれなくてはならない。だから私たちは、 セキュリティ企業ではなく、開発者用
    ツールを提供する企業になる のだ。

    View Slide

  11. 開発者とセキュリティのお付き合い
    #1〜#5

    View Slide

  12. Case 1: CTFer

    View Slide

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

    View Slide

  14. Mike
    ● フルスタック開発者 (Python 他、経験5年) → セキュリティ
    ● おすすめの第一歩: CTF に参加する、HackTheBox、TryHackMe
    ● なぜ CTF が好き? 「Detective Chess (Windows 3.1/95 時代のパズル)
    のように面白いから」
    ● その他のおすすめ
    ○ ミートアップへの参加などコミュニティ活動
    ○ ブログ等での情報発信
    ○ Daniel Miesslerのブログ記事 “How to Build a Cybersecurity
    Career”

    View Slide

  15. Case 2: Pentester

    View Slide

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

    View Slide

  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 他

    View Slide

  18. Case 3: Vulnerability hunter

    View Slide

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

    View Slide

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

    View Slide

  21. Case 4: Security engineer

    View Slide

  22. セキュリティ担当者

    View Slide

  23. Raul
    ● 組み込み C++ 開発 (経験6年)
    ● その後にセキュリティエンジニアとして組織内のソフトウェアとインフラのセキュリ
    ティを統括 (公共分野、等)
    ● マインドセット「もし〜だったら」「特殊なインプットを与えてみたら」
    ● ハンズオン!なんでも試してみる。
    ● 推薦する書籍「Hacking: The Art of Exploitation」by Jon Erickson
    ● 推薦する書籍「The IDA Pro Book」by Chris Eagle

    View Slide

  24. ところで、英語力について...

    View Slide

  25. Case 5: The rest of us

    View Slide

  26. Snyk Code Snyk Open Source Snyk Container Snyk IaC
    エンパワメント 幅広い領域をカバー ガバナンス
    アプリケーションの知見 セキュリティの知見
    Developer Experience
    開発者向け Security Platform

    View Slide

  27. ● コードベースのうち 80-90%がオープンソース
    ● 脆弱性の80% は間接的な依存関係で見つかる
    ● 数百の Linux パッケージが含まれる
    ● 秒単位の短時間でビルド、デプロイ、スケール可能
    ● クラウドでの脆弱性発生原因 第1位は設定ミス [米国 NSA]
    ● ネットワーク、ストレージ、サーバー - コードを通じて素早く設定
    ● 頻繁にデプロイされるソフトウェア - ウォーターフォールでは追い
    つけない。スキャンに何時間もかけられない
    ● カスタムコードが全体の 10-20% - DX 推進で、もっと多くの機能
    を、より短い時間で開発することが求められる
    Code
    Open Source
    Containers
    Infrastructure
    as Code
    クラウド時代のアプリケーション
    リスクの潜む場所

    View Slide

  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の自動作成

    View Slide

  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
    数多くの開発ツールと連携

    View Slide

  30. まとめ

    View Slide

  31. まとめ
    ● 開発者不足だが、セキュリティ人材はもっと不足!
    ● 第一歩を踏み出すのに CTF への参加 おすすめ
    ● 開発スキルにフォーカスし続けるのもアリ
    ● 英語は二の次?やりたいことをやろう

    View Slide

  32. 告知
    ● Qiita Engineer Festa 2022 開催中 (〜7月18日)
    ● Snykを使って開発者セキュリティに関する記事を投稿!
    ● 「オープンソース開発者大賞」 1名、「Toshi Aizawa大賞」2名様へ
    豪華賞品プレゼント
    → 詳しくはこの参加ページより

    View Slide

  33. Thank you!
    Enjoy hacking.
    Stay secure.

    View Slide