SecureDev
At the requirement stage in the Secure Software development Life Cycle, it is necessary that the specifications/requirement are collected from a various of sources. These requirements can be collected through brainstorming, group sessions, and interviews. At secure requirement engineering your focus is to provide complete security by utilizing normal security functions, which includes confidentiality, integrity, and availability. Secure Requirement Engineering is offered complete at the first step in the Software Development Life Cycle and the success of this process will further help in creating a better software product. This will also handle security in this process assisting software development companies in saving themselves from reworking and other additional expenses. However Secure Requirement Engineering has be shown to be a difficult component over time. In the process security requirements identification and inception, documentation, elicitation, analysis and negotiation, mapping, verification and validation, prioritization and management, authentication, and authorization are the main focus (Khan, R, 2022).
Defense in depth is a security strategy which include utilizing many layers of security control within your software to protect you from potential threats. One way of doing this is to implement security at all stages of Software Development Life Cycle, this will ensure that if a vulnerability is missed at one there is a chance it will be addressed at another stage. Here are some security feature that can be implemented: network security, Access controls, data encryption, endpoint security, application security, physical security and disaster recovery. Implementing multiple security layers control you reduce the risk of security breach and ensure that an organization is protect from numerous threats.
This is the process for identifying potential threats to a system and evaluating the potential impact of those threats. These are the steps taken when performing threat modelling: define the system, identify assets, identify threats, evaluate impact, determine mitigations, validate the model and finally update the model. Upon completion of the above steps, you will be able to better understand the potential threats and utilize them while developing the Software Developing Life Cycle.
The design process is the most creative step in the Software development Life Cycle, for this very reason it is one of the most essential areas from a security stand point. At the stage is where 50% of software issues are realized and discovered during the design of the Software development Life Cycle (Khan, R, 2022). During the security design architecture specifies design methods are discovered such as a strongly typed programming, least privilege, develop threat modeling, analyze and minimizing possible attack points. Proper consideration must be taking for which best practices should be carried out during the design stage by the developer to achieve appealing and secure system. These are some of the best practices for designing a secure system: develop threat modelling, secure design documentation, follow security design principles for secure software development, secure design review and verification.

The software testing phase is the most time consuming, complicated and costing consuming stage of the Software Development Life Cycle. This stage focus on identifying and fixing any bugs or errors that may occur in the system. This is where the possibility of attacks are examine and the consequence of successful attacks are assess, security tester usually use threat modelling, design document and misuse case. Upon completion of security testing, test document containing all security cases tested and a list of vulnerabilities priority which are derived from automated and manual testing are documented.
