セキュアコーディング とは
安全なコードを書くための実践
セキュアコーディングは、攻撃や脆弱性に耐性のあるコードを書くための実践と原則のセットです。
主要原則
- すべての入力データを検証
- 最小権限の原則
- 多層防御(Defense in Depth)
- セキュアなデフォルト値
- 安全に失敗する
主な脆弱性(OWASP Top 10)
- SQLインジェクション
- クロスサイトスクリプティング(XSS)
- 認証の欠陥
- 機密データの露出
- XML外部エンティティ(XXE)
セキュアコードプラクティス
- パラメータ化されたデータベースクエリ
- 出力エスケープ
- 安全なパスワード保存(bcrypt、Argon2)
- あらゆる場所でHTTPS
- コンテンツセキュリティポリシー(CSP)
ツール
- SAST(静的解析):SonarQube、Checkmarx
- DAST(動的解析):OWASP ZAP、Burp Suite
- 依存関係スキャン:Snyk、Dependabot
- セキュリティ重視のコードレビュー
メリット
- 侵害リスクの低減
- 標準への準拠(PCI DSS、HIPAA)
- 脆弱性修正コストの削減
- 企業評判の保護