



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
D487 Secure Software Development Study Plan
Typology: Summaries
1 / 7
This page cannot be seen from the preview
Don't miss anything!




D487 Secure Software Development Study Plan
detailed design, Application coding and reviews, Testing steps, and Development Steps. The chapter also described the Threat classification strategy and Threat ranking strategy developed by Microsoft (TRIDE and DREAD).
This chapter outlined the importance of application security, resilience principles, and best practices as essential tools in developing solutions. It also provides details on critical concepts related to Web application security. It outlines 10 principles and practices that can be used to help design high-quality systems and to educate others in their pursuit of secure and resilient application software. These Principles include: Apply defense in depth, use a positive security model, fail securely, run with least privilege, avoid security by obscurity, keep security simple, detect intrusions, don’t trust infrastructure, don’t trust services, and establish secure defaults.
This chapter details how to design applications to help meet non-functional requirements and design patterns for security and resilience. It also offered several recommendations and tools for software design to help meet NFRs related to security and resilience. It provides valuable tips on conducting risk analysis, its process steps, and tools for conducting threat analysis and modeling. The chapter emphasizes the importance of performing threat modelling in the design stage of the SDLC, as it ensures that necessary security controls and countermeasures are defined in the development phase of the software.
This Chapter offers considerable guidance and examples of 10 secure programming practices that improve software quality while enhancing its resilience features: Validate input, Heed compiler warnings, Architect and design for policy enforcement, keep it simple, Default denies, adhere to the principle of least privilege, sanitize data sent to other systems, Practice defense in depth, use effective quality assurance techniques, and adopt a secure coding standard. The chapter also explores the Open Web Application Security Project (OWASP), the top 10 most severe web security issues, the OWASP Enterprise Security API, and some examples of how to avoid these coding problems. OWASP TOP 10 (2010) OWASP ESAPI
A1: Injection ESAPI Encoder API ESAPI Input Validation API A2: Cross-site scripting ESAPI Encoder API ESAPI Input Validation API A3: Broken authentication and session management ESAPI Authenticator API ESAPI User API A4: Insecure direct object references ESAPI Access Reference Map API ESAPI Access Control API A5: Cross-site request forgery ESAPI HTTPUtilitiesClass with AntiCSRFTokens A6: Security misconfiguration N/A A7: Failure to restrict URL access ESAPI Access Control API A8: Unvalidated redirects and for- wards A8: Unvalidated redirects and for- wards A9: Insecure cryptographic storage ESAPI EncryptorAPI A10: Insufficient transport layer protection
Finally, the chapter examined some of the most pernicious programming issues- such as SQL injection and cross-site scripting- and recommended defensive programming techniques to protect applications from those attacks.
This chapter discussed how the threat landscape and security considerations for specialized software differ from those for general-purpose computer software. It also outlines some best practices for specialized software such as distributed/cloud applications, embedded software, and mobile applications The chapter also points out two crucial facts to users:
activities to roles, Re-engineering your SDLC with CLASP, and CLASP implementation roadmaps. Chapter Eleven Summary This chapter examines two measurement and metrics models intended to help developers determine the baseline maturity of the secure development integration into their software development life cycle (SDLC) and determine the pathways to improve the maturity of their program further. It also looks at two leading software security maturity models, OWASP’s Open Software Assurance Maturity Model (OpenSAMM) and the Building Security in Maturity Model (BSIMM) The OpenSAMM framework consists of core activities that should be present in any organization that develops software: Governance, Construction, Verification, and Deployment. The BSIMM Software Security Framework is divided into 12 and falls under the following categories: Governance, Intelligence, Software security development life cycle (SSDL) touchpoints, and Deployment.
This chapter provides access to resources that help users advance their software development skills. It also includes information about software security courses and certifications to enable users to get the relevant knowledge and certifications applicable to the industry.