This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "High Level Requirements Categories"
From OWASP
(This is more of a framework of requirements for an overall project than pure Development requirements. Definitely needs work and code-specific requirements should probably be split out from overall r) |
(Cleaned up and resequenced the first stab a little.) |
||
Line 1: | Line 1: | ||
==Intro== | ==Intro== | ||
==Categories of Requirements== | ==Categories of Requirements== | ||
+ | ===Frameworks and stacks=== | ||
+ | #A secure, robust, flexible, easily supportable framework shall be chosen | ||
+ | #A secure, robust, enterprise-worthy platform stack shall be chosen | ||
+ | #Widely recognized and well-documented APIs (such as the [http://www.owasp.org/index.php/ESAPI#tab=Home ESAPI]) shall be leveraged to ensure speed, consistency, and baseline security of the application | ||
+ | #Secure coding practices including security training and reviews shall be incorporated into each phase of development | ||
+ | ===Application Security=== | ||
+ | #NO PASSWORDS EMBEDDED IN CODE! REALLY! | ||
+ | #Input validation | ||
+ | ##Whitelisting when possible | ||
+ | ##Blacklisting by exception | ||
+ | ##Escaping output | ||
+ | #Session controls | ||
+ | #Anti-trojan design considerations | ||
+ | ##Email/SMS/telephone confirmation | ||
+ | ##2-factor authentication | ||
+ | ##Transfer timing controls | ||
+ | ##Number of simultaneous sessions permitted | ||
+ | ##Detection of simultaneous sessions from different continents | ||
+ | ====Authentication considerations==== | ||
+ | =====Application===== | ||
+ | #See [[File:OWASP_Application_Security_Requirements_-_Identification_and_Authorisation_v0.1_(DRAFT).doc]]====== | ||
+ | =====Management and administration tools===== | ||
+ | #2-Factor Authentication | ||
+ | ====Anti-fraud and business logic flaw considerations==== | ||
+ | |||
+ | ===Encryption Requirements=== | ||
+ | ====Encryption of Data at rest==== | ||
+ | ====Encryption of Data in transit==== | ||
+ | ====Encryption of Data while processing==== | ||
+ | ====Encryption and obfuscation of code==== | ||
+ | ====Hash functions==== | ||
+ | #Code signing | ||
+ | #Message Digests | ||
+ | ====Whatever Bruce Schneier says==== | ||
+ | ====Encryption of Remote Administration and Content Management tools==== | ||
+ | |||
===Compliance=== | ===Compliance=== | ||
====PCI DSS==== | ====PCI DSS==== | ||
− | + | #Current requirements | |
− | + | #[http://www.owasp.org/index.php/Top_10 OWASP Top 10] | |
− | + | #WAF Integration considerations | |
− | + | #Ongoing testing considerations | |
====GLBA==== | ====GLBA==== | ||
− | + | #Ain't it embarrassing that you do banking on-line but have NO IDEA what standards your bank is supposed to adhere to for safekeeping of YOUR money?!? | |
− | + | #Go ahead, list some requirements | |
====HIPAA==== | ====HIPAA==== | ||
====Basel II==== | ====Basel II==== | ||
====National Compliance Requirements==== | ====National Compliance Requirements==== | ||
− | + | #Privacy Policy | |
− | + | #Logging and log retention | |
− | + | #Content archiving and retention | |
− | + | #Protection of minors | |
====State/Province Compliance Requirements==== | ====State/Province Compliance Requirements==== | ||
====Municipality Compliance Requirments==== | ====Municipality Compliance Requirments==== | ||
Line 22: | Line 58: | ||
===Auditability=== | ===Auditability=== | ||
====Logging==== | ====Logging==== | ||
− | + | #Application | |
− | + | #OS, Webserver, and Database Logging | |
− | + | #Firewall, WAF, and other security device logging | |
− | + | #Event Triggers | |
− | + | ##Periodic log reviews | |
− | + | ##Event-driven log analysis | |
− | + | ###Employee termination | |
− | + | ###Suspected breach | |
− | + | ###Honeypot trigger | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Additional Security Considerations=== | ===Additional Security Considerations=== | ||
+ | #Decoys, Honeypots, and other devices for detection and delay | ||
+ | #Network, Hardware, Physical, OS, Platform, and Framework Considerations | ||
+ | ##Network Security Considerations | ||
+ | ##Hardware Security Considerations | ||
+ | ##Physical Security Considerations | ||
+ | ##OS Security Considerations | ||
+ | ###Hardening standards | ||
+ | #Platform Security Considerations | ||
+ | ##Hardening standards | ||
+ | ##Configuration management and auditing | ||
+ | ##Patching | ||
+ | ###All components shall be compatible and capable of being fully patched within 30 days of a component security patch release | ||
+ | ##Minimized attack surface | ||
+ | ###Removal of all demo code | ||
+ | ###Changing of all default passwords | ||
+ | ###Robots.txt and passive crawler considerations | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
====Operational Security Considerations==== | ====Operational Security Considerations==== | ||
− | + | #Clean desk policy | |
− | + | #Bonding of outsourced/off-shored Developers | |
− | + | #Need to know | |
− | + | #Trade secrets | |
− | + | #Posting questions to help, support, and user forums | |
− | + | #Customer Service Identification and Authenticaion considerations | |
− | + | ##Distinguishing a legitimate user from a social-engineering scam-artist | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 08:29, 26 February 2011
Intro
Categories of Requirements
Frameworks and stacks
- A secure, robust, flexible, easily supportable framework shall be chosen
- A secure, robust, enterprise-worthy platform stack shall be chosen
- Widely recognized and well-documented APIs (such as the ESAPI) shall be leveraged to ensure speed, consistency, and baseline security of the application
- Secure coding practices including security training and reviews shall be incorporated into each phase of development
Application Security
- NO PASSWORDS EMBEDDED IN CODE! REALLY!
- Input validation
- Whitelisting when possible
- Blacklisting by exception
- Escaping output
- Session controls
- Anti-trojan design considerations
- Email/SMS/telephone confirmation
- 2-factor authentication
- Transfer timing controls
- Number of simultaneous sessions permitted
- Detection of simultaneous sessions from different continents
Authentication considerations
Application
- See File:OWASP Application Security Requirements - Identification and Authorisation v0.1 (DRAFT).doc======
Management and administration tools
- 2-Factor Authentication
Anti-fraud and business logic flaw considerations
Encryption Requirements
Encryption of Data at rest
Encryption of Data in transit
Encryption of Data while processing
Encryption and obfuscation of code
Hash functions
- Code signing
- Message Digests
Whatever Bruce Schneier says
Encryption of Remote Administration and Content Management tools
Compliance
PCI DSS
- Current requirements
- OWASP Top 10
- WAF Integration considerations
- Ongoing testing considerations
GLBA
- Ain't it embarrassing that you do banking on-line but have NO IDEA what standards your bank is supposed to adhere to for safekeeping of YOUR money?!?
- Go ahead, list some requirements
HIPAA
Basel II
National Compliance Requirements
- Privacy Policy
- Logging and log retention
- Content archiving and retention
- Protection of minors
State/Province Compliance Requirements
Municipality Compliance Requirments
Compliance with existing contracts and business obligations
Auditability
Logging
- Application
- OS, Webserver, and Database Logging
- Firewall, WAF, and other security device logging
- Event Triggers
- Periodic log reviews
- Event-driven log analysis
- Employee termination
- Suspected breach
- Honeypot trigger
Additional Security Considerations
- Decoys, Honeypots, and other devices for detection and delay
- Network, Hardware, Physical, OS, Platform, and Framework Considerations
- Network Security Considerations
- Hardware Security Considerations
- Physical Security Considerations
- OS Security Considerations
- Hardening standards
- Platform Security Considerations
- Hardening standards
- Configuration management and auditing
- Patching
- All components shall be compatible and capable of being fully patched within 30 days of a component security patch release
- Minimized attack surface
- Removal of all demo code
- Changing of all default passwords
- Robots.txt and passive crawler considerations
Operational Security Considerations
- Clean desk policy
- Bonding of outsourced/off-shored Developers
- Need to know
- Trade secrets
- Posting questions to help, support, and user forums
- Customer Service Identification and Authenticaion considerations
- Distinguishing a legitimate user from a social-engineering scam-artist