V1.1.7 Secure Software Development Lifecycle
Requirement:#
Verify availability of a secure coding checklist, security requirements, guideline, or policy to all developers and testers.
Explanation:#
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π°Π»ΠΈΡΠΈΡ:
- Secure coding checklist
- Security requirements
- Guidelines or Policies
- Secure Coding Checklist:
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π»ΡΡΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ, ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π½Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠ°ΠΊ SQL-injection, cross-site scripting (XSS) ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
- Security Requirements:
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΈΡΠΊΠΎΠ², ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ², Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ.
- Guidelines, or Policies:
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π° Π² ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ. Π ΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΡΠ΄ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°ΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Ρ.Π΄.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
- Consistency. ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ½ΠΈΠΆΠ°Ρ ΡΠΈΡΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈΠ·-Π·Π° ΠΈΡ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ.
- Education and Awareness. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π±ΡΡΡ Π² ΠΊΡΡΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
- Efficiency. ΠΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
- Compliance. ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ ΠΈ Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
Remediation:#
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ secure coding checklist, security requirements, guidelines, policies Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- Document Security Resources:
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ secure coding checklist, security requirements, guidelines, policies, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ.
- Centralized Repository:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, wiki, knowledge base ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ), Π³Π΄Π΅ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΡΠΈ ΡΠ΅ΡΡΡΡΡ.
- Access Permissions:
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
- Integration into SDLC:
ΠΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠΈ ΡΠ΅ΡΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ SDLC Π²Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠΈ ΡΠ΅ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- Training and Awareness:
ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².
- Regular Updates:
Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ secure coding checklist, security requirements, guidelines, policies, ΠΎΡΡΠ°ΠΆΠ°ΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ³ΡΠΎΠ·Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ.
- Communication:
ΠΡΠΎΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².