[レポート]セキュリティとアジャイル開発のいい関係について考える

2021.01.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、かみとです。2021年1月6日~9日の日程で開催中のReagional Scrum Gathering Tokyo 2021の参加レポートです。

このエントリは、セキュリティとアジャイル開発のいい関係について考えるのレポートです。

スライド

登壇者

  • 井口 誠さん
    • Kii株式会社
    • スクラムマスター
    • セキュリティアーキテクト
    • ISMS内部監査責任者

セッションレポート

セキュリティとアジャイル開発の関係は、いいに越したことはない

  • セキュリティはDevOpsやアジャイル開発にブレーキをかけるのか

セキュリティとアジャイル開発のいい関係を実現するためのコツ

実際のところ、セキュリティの中の人と開発者との関係はどうなのか?

  • 2020/1/6に発表された日本セキュリティ監査協会のアンケート結果
    • 10位「安易なアジャイル開発による脆弱なシステムの氾濫」

  • 目標はセキュリティ担当も開発者も同じはず
    • 「より良いプロダクト」

何が問題なのか??

  • チェックリストを上から目線で言われる
  • しかもこれは日本だけではないらしい

チェックリストは絶対的なのか??

  • 盲目的に従うべき??
    • そんなわけない
    • 現状と照らし合わせて活用するべき

実際、経産省による情報セキュリティ管理基準(平成28年改正版)でもそうなっている

  • 『必要に応じて本管理基準の趣旨及び体型に則って、本管理基準の項目等を取捨選択、追加または統合することにより、該当の関係機関において独自の管理基準を策定し活用することが望ましい』
  • あくまで参照するべきもの

いい関係へのコツ

  • 絶対的思考
    • 仕様・線表至上主義
    • 人月見積もり
  • 相対的思考
    • スプリント単位で優先順位見直し
    • ストーリーポイント
  • シフトレフト
    • 設計—>実装—>運用保守
    • できるだけ左側(設計)でセキュリティ対応するのが良し
    • 設計段階でセキュリティ対応がんばる
  • STRIDEによる脅威分析
    • 6つの観点からセキュリティリスクをあぶり出す
      • Spoofing(なりすまし)
      • Tampering(改ざん)
      • Repudiation(否認)
      • Information Disclosure(情報漏えい)
      • Denial of Service(サービス拒否)
      • Elevation of Privillege(権限昇格)
    • STRIDE分析カードゲーム
      • githubで公開
      • 日本語版作ってみた

  • セキュリティリスクをスプリントバックログに正しく積む
    • これがけっこう難しい
      • 後回しになっちゃう問題・・
    • 量ではなく価値を高めるタスクから積む
      • 価値があるなら積むよね
      • じゃあセキュリティタスクが積まれないのはなぜ??
  • セキュリティリスクは爆弾のようなもの
    • 爆弾を処理するタスクは、それ自体はプロダクトの価値を高めない
      • 爆発しなかったらしなかったでOK
      • かといってやらなくていいわけではない
      • 爆発したら木っ端微塵
  • 爆発しそうなやつから処理していく

爆弾のヤバさは相対的

  • 例)車両に「ブレーキがない」という脆弱性
    • キックボード:やばくない
    • 自転車:そろそろやばい
    • オートバイ・車:完全にアウト
  • 定期的に爆弾処理の優先順位をリファインメントすることで対応

感想

アジャイル開発とセキュリティリスクのアセスメントをわかりやすい例で説明されていて、とても理解しやすいセッションでした。アジャイル開発のアジリティを損なわずにセキュリティリスクいかに回収するかのバランスのとり方のコツがわかった気がします。

STRIDE分析カードゲームについては初見だったので、ぜひ試してみたいと思いました。