シフトレフトによる改善
前回のリリースでは,リリース直前に実施した第三者によるペネトレーションテストで,設計に起因する認可の不備が多数見つかり,大規模な手戻りが発生した。次の開発でシフトレフトの考え方に基づいて行う改善策として,最も適切なものはどれか。
- アリリース直前のペネトレーションテストの範囲を広げ,実施回数を 2 回に増やして,不備の検出漏れを減らす。
- イリリース後に WAF を導入し,認可の不備を突く攻撃を運用段階で検知して遮断できるようにする。
- ウ開発者に本番環境への変更権限を与え,運用段階で見つかった不備を開発者が直ちに修正できるようにする。
- エ要件定義や設計の段階で脅威モデリングを行い,認可に関するセキュリティ要件と設計を定めてレビューする。
正解と解説を見る
正解 エ
この問題の基礎知識
- シフトレフトは,テストやセキュリティの活動を開発ライフサイクルの早い工程に移し,欠陥を作り込んだ工程の近くで発見・防止する考え方である。
- 欠陥は発見が遅れるほど手戻りの範囲が広がり,修正のコストが増える。設計に起因する欠陥は,実装後に見つかると設計からやり直すことになる。
- 脅威モデリングは,設計段階でシステムの構成やデータの流れを基に脅威を洗い出し,対策をセキュリティ要件や設計に反映する活動である。WAF などの運用段階の対策は緩和策であり,欠陥そのものは残る。
アリリース直前のペネトレーションテストの範囲を広げ,実施回数を 2 回に増やして,不備の検出漏れを減らす。
検出の網羅性は上がるが,不備を見つける時期はリリース直前のままなので,設計に起因する不備による大規模な手戻りは減らない。活動を早い工程に移すシフトレフトの考え方ではない。
イリリース後に WAF を導入し,認可の不備を突く攻撃を運用段階で検知して遮断できるようにする。
運用段階の緩和策であり,設計上の不備そのものは残る。また,認可の不備を突くリクエストは正常なリクエストと区別しにくく,WAF で防げるとは限らない。
ウ開発者に本番環境への変更権限を与え,運用段階で見つかった不備を開発者が直ちに修正できるようにする。
修正の反映を速めるだけで,不備を早い工程で作り込まないようにするものではない。開発者に本番環境の変更権限を与えることは,職務の分離の観点からも問題がある。
エ要件定義や設計の段階で脅威モデリングを行い,認可に関するセキュリティ要件と設計を定めてレビューする。正解
セキュリティの活動を開発ライフサイクルの早い段階に移すのがシフトレフトである。NIST SP 800-218 も,設計段階で脅威モデリングなどによってリスクを評価することを示しており,設計に起因する不備の作込みを防げる。
検証用の出典出典照合済み
NIST SP 800-218 Secure Software Development Framework (SSDF)照合の根拠(3 件)
- エ(正解): セキュリティを SDLC の早い段階で扱うのがシフトレフト。ア・イ・ウ(誤り): いずれもリリース直前・運用段階の対策であり早い工程に移すものではない
Most aspects of security can be addressed multiple times within an SDLC, but in general, the earlier in the SDLC that security is addressed, the less effort and cost is ultimately required to achieve the same level of security. This principle, known as shifting left, is critically important regardless of the SDLC model.
NIST SP 800-218 · Section 1(新しいタブで開きます) - エ(正解): 設計段階(PW.1: Design Software to Meet Security Requirements)で脅威モデリングなどのリスクモデリングを行う
PW.1.1: Use forms of risk modeling – such as threat
NIST SP 800-218 · Table 1 PW.1.1(新しいタブで開きます) - エ(正解): シフトレフトで,初期の欠陥を開発後期や本番後に直す手戻りを減らせる
Shifting left minimizes any technical debt that would require remediating early security flaws late in development or after the software is in production.
NIST SP 800-218 · Section 1(新しいタブで開きます)
設計に起因する認可の不備がリリース直前に見つかって手戻りが生じたので,要件定義・設計段階に脅威モデリングとレビューを移すのがシフトレフトに当たる。PW.1.1 は表組みのため連続して引用できる範囲が短い。