Software Software Engineering

1. What are the three principles of the CIA Triad?

Confidentiality, Integrity, Availability

2. What is the main goal of Secure Software Engineering?

To develop software that is reliable, scalable, and resistant to attacks.

3. What are the key security considerations in the SDLC?

Requirement Analysis: Identify security needs early.

Design: Use secure architecture & threat modeling.

Implementation: Follow secure coding practices (OWASP Top 10).

Testing: Conduct penetration testing, static analysis.

Deployment & Maintenance: Apply security patches regularly.

4. What is the main weakness of the Waterfall Model in security?

Security is considered late in development, making it harder to fix vulnerabilities.

5. Why is the V-Model good for security?

Security verification and validation are done at every phase, making it effective for safety-critical systems.

6. What is DevSecOps?

DevSecOps integrates security practices into the development and operations process to ensure continuous security testing.

7. How does Agile development handle security?

Security must be integrated into each sprint, with automated testing, threat modeling, and security reviews as part of development.

8. What is the difference between Use Cases and Misuse Cases?

Use Case: Describes how a system should function normally.

Misuse Case: Describes how an attacker could exploit vulnerabilities.

9. What is the best way to prevent SQL Injection?

Use prepared statements and input validation to sanitize database queries.

10. What is Multi-Factor Authentication (MFA)?

A security measure that requires multiple forms of verification (e.g., password + fingerprint).

11. What are common software security threats?

SQL Injection – Use input validation & prepared statements.

XSS (Cross-Site Scripting) – Sanitize user inputs & use CSP.

DoS Attack – Implement rate limiting & firewalls.

Phishing – Train users & enforce MFA.

Buffer Overflow – Use safe coding practices.

12. What are the benefits of Security Testing?

Identifies vulnerabilities before attackers do.

Ensures compliance with security policies (e.g., GDPR, HIPAA).

Reduces the cost of fixing security flaws later in development.

13. What is Kanban?

A visual workflow management method that focuses on continuous delivery and work-in-progress limits.

14. How does Kanban compare to Scrum?

15. What are the key security practices in Kanban?

Security Tasks Always Visible – Create a security-focused column.

Continuous Security Testing – Regular penetration testing.

Prioritize Security Fixes – Address high-risk vulnerabilities first.

Security Reviews – Conduct regular audits.

16. What is the biggest lesson from the Equifax Data Breach?

Unpatched vulnerabilities led to 147 million records being leaked, proving the importance of regular software updates.

17. What are some security testing methods?

Static Code Analysis – Scans source code for security flaws.

Penetration Testing – Simulates hacker attacks.

Fuzz Testing – Sends random inputs to check for crashes.

Access Control Testing – Ensures unauthorized users cannot access sensitive data.

18. What is Role-Based Access Control (RBAC)?

A security model where access permissions are assigned based on a user’s role in the organization.

19. Why is Patch Management important?

Patching software regularly fixes known vulnerabilities before attackers exploit them.

20. What is the "Principle of Least Privilege"?

Users and applications should only have access to the minimum necessary data and permissions to perform their tasks.