Question
Model Answer
To translate secure design into code that resists vulnerabilities and maintains confidentiality, integrity, and availability.
Declarative (security in configuration/deployment) and Imperative (security embedded directly in code).
It allows flexible configuration changes without altering code and supports central management by operations teams.
It provides greater control and granularity over security decisions within the application logic.
Writing software that prevents, detects, and mitigates vulnerabilities, following best practices and standards like OWASP or CWE.
Injection, buffer overflow, cross-site scripting, insecure deserialization, broken authentication, and insecure direct object references.
A list of the ten most critical web application security risks published by OWASP, updated periodically.
A community-developed list of common software security weaknesses for awareness, testing, and mitigation guidance.
It ensures that only properly formatted, expected data is accepted, preventing attacks such as injection and XSS.
Transforming output data to prevent unintended code execution or data leakage when displayed or transmitted.
When a program writes more data to a buffer than it can hold, potentially overwriting memory and enabling code execution.
Replacing sensitive data with non-sensitive tokens, reducing exposure of actual values during processing or storage.
Automatic memory management, type safety, and sandboxing reduce common implementation vulnerabilities.
Manual memory handling can lead to buffer overflows, memory leaks, and pointer manipulation vulnerabilities.
The ability to change cryptographic algorithms or parameters without modifying source code, ensuring adaptability to new standards.
Proper handling of errors prevents the system from failing in an insecure state or leaking sensitive information.
Sensitive data such as passwords, encryption keys, or PII should never be logged in plaintext.
Isolating code execution in a restricted environment to prevent untrusted or malicious code from affecting the system.
To enforce code safety options such as stack protection, exception handling, and memory safety during build time.
Identifies logic errors, security flaws, and ensures adherence to secure coding standards before release.
Static Application Security Testing (SAST) analyzes source code; Dynamic Application Security Testing (DAST) tests running applications.
Interactive Application Security Testing combines SAST and DAST insights during runtime to detect vulnerabilities more accurately.
Controlling and protecting code, dependencies, and environment configurations to prevent unauthorized changes.