Unit
Unit
REQUIREMENT ENGINEERING
Definition: Systematic process of gathering, analyzing, documenting, validating, and managing
requirements.
Objective: Deliver software that satisfies business goals and user expectations.
Key Steps
2. Types of Requirements
Structure of SRS
4. Requirement Validation
5. Requirement Management
Conclusion
Requirements form the backbone of software engineering.
A clear, validated, and well-managed requirements process ensures project success.
The SRS (Software Requirements Specification) document is the key deliverable that
guides design, coding, and testing.
Note
Functional Requirements
Define what the system should do (features, services, behaviors). They describe the
functionality from the user's perspective.
Examples:
Examples:
Key Difference
Goal: Reduce security risks, ensure software is reliable, and integrate security into project
requirements from the beginning.
4. Benefits of SQUARE
Integrates security early in the Software Development Life Cycle (SDLC).
Helps avoid costly fixes later.
Encourages collaboration between stakeholders and developers.
Produces structured, traceable security requirements.
Conclusion
SQUARE is a structured framework that embeds security into requirements
engineering, helping organizations identify, prioritize, and validate security requirements
early in the software development process.
By following its 9-step process, organizations can build secure, cost-effective, and
trustworthy systems.
It ensures that security is not an afterthought but a core part of software development.
REQUIREMENTS ELICITATION AND
PRIORITIZATION
Importance of Requirements Elicitation & Prioritization
(Secure Software Design)
Ensures the system meets stakeholder needs and security requirements.
Focuses development on the most critical aspects.
Security adds extra complexity (risks, compliance, vulnerabilities).
Requirements Elicitation
Definition:
The process of gathering and defining what stakeholders need from the system, including
functional, non-functional, and security requirements.
Key Steps
Requirements Prioritization
Definition:
Deciding which requirements are most important and must be implemented first.
Criteria for Prioritization
Techniques
MoSCoW Method
Other Considerations
Incorporate stakeholder feedback.
Meet compliance deadlines.
Factor in threat models and risk assessments.
Summary
Elicitation: Gather and define stakeholder and security requirements.
Prioritization: Rank requirements based on risk, value, compliance, and cost.
Together, they ensure secure, compliant, and effective software design.
ISOLATING THE EFFECTS OF
UNTRUSTED EXECUTABLE CONTENT
Secure software engineering relies on security isolation techniques (e.g., sandboxing) to build
robust and resilient software.
Definition:
A security technique that runs untrusted code in a restricted, controlled environment to prevent
it from interacting with or modifying sensitive parts of the system.
Untrusted executables (e.g., user uploads, third-party code, external services) can introduce risks
such as:
Goal: Contain potential damage and prevent unauthorized access, even if malicious code is
executed.
Technique /
Purpose How It Works Examples / Tools Protection Scope
Approach
chroot, Windows
Run applications Sandbox, Docker, Prevents malicious
Isolate untrusted
Sandboxing in controlled Virtual Machines code from escaping
code
environments (VMs), Browser into the host system
Sandboxes
Code Execution Reduces attacker
Restrict seccomp, SELinux,
Limitations Minimize damage control even if the
application AppArmor, ACLs,
(Least potential application is
permissions Non-privileged users
Privilege) compromised
Defends against
Memory Protect memory
Prevent memory buffer overflow,
Isolation & layout and ASLR, DEP/NX, CFI
exploits code injection,
Control execution
ROP/JOP attacks
Scan and audit Clang Analyzer,
Code Review & Stops vulnerabilities
Detect flaws early code before Coverity, SonarQube,
Static Analysis before deployment
execution Manual audits
Runtime Monitor Blocks attacks
Taint analysis,
Application Real-time runtime application during execution
Intrusion detection,
Self-Protection defense behavior (e.g., injection,
Anomaly monitoring
(RASP) internally abnormal behavior)
Technique /
Purpose How It Works Examples / Tools Protection Scope
Approach
Prevents
Network Restrict and Firewalls, VPNs, API
Control unauthorized data
Isolation & monitor network Gateways, Rate-
communications exfiltration or lateral
Access Control traffic limiting
movement
File type validation, Prevents malware,
Validate,
File & Data Safely process File Sandboxing, malicious payloads,
sanitize, and
Handling untrusted files Content Disarm and or injections through
rebuild data
Reconstruction (CDR) files
Conclusion