CWE一覧に戻る
CWE-637

保護メカニズムの不必要な複雑さ(「メカニズムの経済性」を利用していない)

Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism')
脆弱性 レビュー中
JA

この製品は必要以上に複雑なメカニズムを使用しているため、メカニズムが正しく理解、モデル化、設定、実装、使用されていない場合、結果として弱点につながる可能性がある。

セキュリティの仕組みはできるだけ単純であるべきである。複雑なセキュリティの仕組みは、部分的な実装や互換性の問題を引き起こし、その結果、仮定と実装されたセキュリティの不一致を引き起こすかもしれない。この原則の帰結として、データ仕様はできるだけ単純であるべきである。なぜなら、複雑なデータ仕様は複雑な検証コードを生むからである。複雑なタスクやシステムは、複雑なセキュリティ・チェックによって保護される必要があるかもしれないので、単純なシステムが好まれるべきである。

EN

The product uses a more complex mechanism than necessary, which could lead to resultant weaknesses when the mechanism is not correctly understood, modeled, configured, implemented, or used.

Security mechanisms should be as simple as possible. Complex security mechanisms may engender partial implementations and compatibility problems, with resulting mismatches in assumptions and implemented security. A corollary of this principle is that data specifications should be as simple as possible, because complex data specifications result in complex validation code. Complex tasks and systems may also need to be guarded by complex security checks, so simple systems should be preferred.

Scope: Other / Impact: Other
Avoid complex security mechanisms when simpler ones would meet requirements. Avoid complex data models, and unnecessarily complex operations. Adopt architectures that provide guarantees, simplify understanding through elegance and abstraction, and that can be implemented similarly. Modularize, isolate and do not trust complex code, and apply other secure programming principles on these modules (e.g., least privilege) to mitigate vulnerabilities.
MITRE公式ページ — CWE-637