Secure by design とは

ソフトウェアエンジニアリングで設計された安全は、ソフトウェアが根本から安全に設計されていることを意味します。悪意のある行為は当然とられており、セキュリティ上の脆弱性が発見された場合やユーザーの入力が無効である場合の影響を最小限に抑えるよう注意が払われています
一般的に、うまく動作するデザインは秘密に依存しません。必須ではありませんが、適切なセキュリティは、通常、誰もが安全であるために設計を知って理解することを許可されています。これは、多くの人々がコンピュータコードを見ているという利点があり、欠陥が早期に発見される可能性が高まります(Linusの法律を参照)。攻撃者はコードを入手することもでき、脆弱性を見つけやすくなります。
また、すべての権限が可能な限り少ない権限で動作することも重要です(最小権限の原則を参照)。たとえば、管理ユーザー(「root」または管理者)として実行されるWebサーバーには、属していないファイルやユーザーを削除する権限を付与できます。このようなプログラムの脆弱性は、システム全体を危険にさらす可能性がありますが、隔離された環境内で実行され、必要なネットワークおよびファイルシステム機能の権限しか持たないWebサーバーは、周囲のセキュリティが存在しない限り、それ自体にも欠陥があります。