1/38
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
SAMM (Software Assurance Maturity Model)
A model that provides a roadmap for improving software security practices through self-assessment.
BSIMM (Building Security In Maturity Model)
A model that measures and compares an organization's software security practices against industry norms.
Purpose of SAMM
To provide a roadmap for improving software security practices through self-assessment.
Purpose of BSIMM
To measure and compare an organization's software security practices against industry norms.
Focus of SAMM
Customizable and adaptable to the specific needs of an organization.
Focus of BSIMM
Emphasizes benchmarking against industry peers and collecting data from real-world security initiatives.
Approach of SAMM
Proactive - encourages continuous improvement and integration of security practices.
Approach of BSIMM
Reactive - analyzes existing practices and suggests improvements based on industry data.
Assessment of SAMM
Involves both qualitative and quantitative analysis, with a focus on defining a maturity level.
Assessment of BSIMM
Primarily qualitative, based on observations and interviews, to identify common practices.
Applicability of SAMM
Suitable for organizations of all sizes looking to create or enhance their software security programs.
Applicability of BSIMM
Best suited for large organizations that want to benchmark their security practices against others.
Real-World Example of SAMM
A small tech startup may choose to implement SAMM because it offers a flexible approach that can be tailored to their growth and development stages.
Real-World Example of BSIMM
A very big organization may need to use BSIMM to benchmark its security practices with the rest of the organization in its financial industry.
Security Development Lifecycle (SDL)
A process of creating more secure software with security checks implemented in every phase of software development.
Fundamental Goal: Reduction of Security Risks
SDL proposes making security practices take a central place right from the development phase to reduce the possibility of creating vulnerable products.
Fundamental Goal: Compliance with Standards
SDL helps in developing software with security standards of the industries and legal frameworks, minimizing chances of legal problems or security break-ins.
Fundamental Goal: Continuous Improvement
SDL involves continuous evaluation and improvement of security measures in response to threat changes and technology advancement.
Stage: Requirements
The stage where security objectives are identified and security requirements are defined, along with conducting risk assessments.
Key Goal of Requirements Stage
Identify security objectives.
Activities Involved in Requirements Stage
Define security requirements, conduct risk assessments.
Incorporate security into the architecture
Threat modeling, security design reviews. Implementation
Write secure code
Code reviews, static analysis. Verification
Validate security
Penetration testing, dynamic analysis. Release
Secure deployment
Security sign-off, post-release monitoring. Response
Address security incidents
Incident response planning, patch management.
Real-World Example of SDL
An e-commerce company might adopt SDL to ensure that customer data is securely handled, from the design phase (where encryption methods are planned) to the release phase (where the software is tested for vulnerabilities before deployment).
Agile Project Management
Iterative and incremental approach with high client involvement and faster time to market.
Waterfall Project Management
Linear and sequential approach with low client involvement and slower time to market.
Flexibility in Agile vs. Waterfall
Agile is highly flexible - changes can be made throughout the project; Waterfall is less flexible - changes are costly and difficult to implement after the project starts.
Client Involvement in Agile vs. Waterfall
Agile has high client involvement - clients can provide feedback after each iteration; Waterfall has low client involvement - clients typically review the product only after completion.
Project Phases in Agile vs. Waterfall
Agile has overlapping phases - design, development, and testing happen simultaneously; Waterfall has distinct phases - each phase is completed before the next one begins.
Time to Market in Agile vs. Waterfall
Agile allows for faster time to market with early delivery of functional components; Waterfall is slower with full product delivered at the end of the project.
Real-World Example of Agile vs. Waterfall
A tech company developing a mobile app might choose Agile to quickly release and iterate on new features based on user feedback, while a government contractor building a mission-critical system might opt for Waterfall to ensure that all specifications are meticulously followed.
Threat Modeling Frameworks
STRIDE, DREAD, and PASTA are three popular frameworks used in threat modeling.
STRIDE Framework
Focuses on identifying threat types: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege.
DREAD Framework
Focuses on assessing threat impact: Damage Potential, Reproducibility, Exploitability, Affected Users, Discoverability.
PASTA Framework
Risk-based threat modeling process for Attack Simulation and Threat Analysis - focuses on identifying risks from a business perspective.
Real-World Example of Threat Modeling
A banking application development team will utilize STRIDE to determine individual threats such as data disclosure and DoS, evaluate them using DREAD, and rank them based on their potential level of threat.