Secure Development Lifecycle
Comprehensive guidance and best practices for developing software with a strong focus on security, compliance, and resilience. We take pride in implementing security seamlessly throughout our software development process, ensuring that the application is not only functional but also robust in the face of today's cyber threats.
A comprehensive approach that integrates security into every phase of software development to proactively identify and mitigate vulnerabilities. SSDLC resources empower us to build and maintain software that prioritizes security and quality.
Introduction
A Secure Software Development Life Cycle (SSDLC) refers to a systematic standard security process model that is used by organizations to develop a secure application from inception to release. From designing to deployment, it seamlessly integrates in all stages of the product lifecycle. We have created our own framework using the standard SSDLC guideline as a base to account for our unique needs. It consists of numerous meticulous security measures encompassing software development practices, procedures, and tools. Our SSDLC comprises well-defined, reproducible processes aimed at assisting our development teams in integrating security into our products and services. Furthermore, it constantly adapts to combine the most recent industry-leading practices and real-life product security incident feedback. It undergoes continuous enhancements to remain up to date in response to shifts in technology, evolving security standards, and the ever-changing threat landscape. This framework applies to all software development activities within the organization, including in-house development and third-party collaborations.
Objective
The primary objective is to use security practices and considerations at every stage of our software development process. This approach aims to create applications that are inherently secure, robust, and resistant to various forms of cyber threats and attacks. The overarching goals of our SSDLC include:
- Early vulnerability identification and mitigation.
- Reduced security risks and breaches.
- Integrate security practices throughout the SSDLC to identify and address vulnerabilities.
- Ensure compliance with relevant industry standards and regulations.
- Foster a culture of security awareness and collaboration among development teams.
Environments
In our Secure Software Development Lifecycle (SSDLC) process, we utilize four distinct environments - Development, Sandbox, Staging, and Production - hosted on separate servers and machines to maintain isolation and integrity. Each environment serves unique purpose, ensuring that the software functions correctly and securely throughout its development.
Development Environment
- Purpose: This environment is where developers create, test, and debug their code. It represents the initial stage in the SSDLC.
- Characteristics:
- Configured within the office infrastructure.
- Highly flexible and dynamic, allowing for frequent updates and changes.
- Equipped with debugging tools and configurations for troubleshooting
- Comprehensive logging is enabled, providing detailed information for debugging.
- Data: Uses mock or synthetic data to prevent exposure of sensitive information.
Sandbox Environment
- Purpose: This environment is used for isolated testing of new features, configurations, or integrations. It allows developers and QA teams to experiment without affecting other environments.
- Characteristics:
- Utilizes a separate database from the development environment.
- Isolated from other environments and can often be reset to a clean state.
- Commonly used for user acceptance testing (UAT) or client demonstrations.
- Comprehensive logging is enabled, providing detailed information for debugging.
- Data: Uses mock or synthetic data to prevent exposure of sensitive information.
Staging Environment
- Purpose: This environment serves as the final testing ground before deploying changes for public release or General Availability (GA).
- Characteristics:
- Mirrors the production environment in terms of hardware, software, configurations, and database.
- Used for Closed User Group (CUG) testing, Alpha and Beta Testing as well as performance & security testing.
- More stringent security and data protection measures
- Provides additional logging capabilities compared to the production environment..
- Data: Uses a copy of the production data to ensure accurate testing.
Production Environment
- Purpose: The production environment is the Public Release or General Availability (GA) environment where the software is available to end users.
- Characteristics:
- Highly stable, with rigorous change control processes.
- Meets stringent security, compliance, and performance requirements.
- Monitoring and alerting systems are in place to track the application's health and performance.
- Data: Contains real user data, making it the most sensitive and critical environment.
6 Stages
Our SSDLC comprises 6 distinct stages i.e., requirement and planning, product design and architecture, secure coding, continuous build, integration and testing, delivery and deployment, and maintaining the application.
Throughout our SSDLC we emphasize on collaborative efforts of multidisciplinary teams, involving developers, security professionals, testers, project managers, and stakeholders. The objective is to foster a culture where security is everyone's responsibility, breaking down the traditional silos between development and security teams. This integrated approach encourages open communication, knowledge sharing, and a shared commitment to delivering application that meets high standards of security and functionality.
We leverage best-in-class development protocols by deploying tools like DevOps and CodeVerse to ensure seamless development cycles. DevOps allows us to maintain complete accountability at all stages, ensuring no testing or security protocol reviews are missed. CodeVerse allows for faster development and clear coding checks while helping minimize the human risks of code loss. The next few sections detail our process further.
Fig 1: Our SSDLC Framework
Risk Mitigation
Shared with all partners prior to any release with key highlights
How long does an SSDLC at OneBanc last?
Timelines of a complete development lifecycle are tough to determine and it depends on the scope of a project. An SSDLC can last from 15 days to 90 days.
How does the SSDLC impact Partners?
Depending on the scope of development, different partners could be impacted. In order, to make the process smooth we conduct a detailed Partner impact analysis at the Planning stage and then communicate and get a sign-off from them. Prior, to commencement of development we share all details including, branding, language, operational and technical risk details with Partners and give them a 7-day window for sign-off. Further, at the end of development an APK/IPA is shared with all partners for review. Sign-off from all impacted partners is mandated while non-impacted partners are kept updated.
How do you account for new updates in regulation or compliances?
Whilst our internal Legal and Product teams continuously monitor for updates on regulation and compliance we actively liaise with our Partners to keep updated on the same. Further, anyone could share such updates with us at compliance@onebanc.ai and the same will be addressed within 48 hrs.
Which stage of the SSDLC allows Partners to test the product and share feedback?
We incorporate Partner inputs from the Planning Stage and share all branding, content and operational risk-related material for sign-off from Partners during the Product Design stage. Finally, the APK/IPA is shared with the team prior to deployment for testing and sign-off. All Partner-provided resources are continuously evaluated during the Testing stage.
How do you account for customer feedback on development?
New developments account for feedback compiled by our Growth and Experience team that interact with customers. In case of any specific feedback customers are free to contact our Experience team or write to us at hi@onebanc.ai or compliance@onebanc.ai . All feedback is documented and reviewed in the fortnightly product review.
How do you resolve errors made in localisation or redress any negative affect to customer sentiments?
OneBanc strives to create a personalized experiential banking platform that resonates at a deeper level with each user. In this endeavor we take every step to ensure at no point are being offensive or hurting sentiments of anybody. However, to err is human and we aggressively seek out any and all feedback from our Partners, Corporate Clients and Customers. Anyone, can report such an issue to compliance@onebanc.ai and will receive a response in 48 hrs. Our content locatlisation is handled by a designated Content team that works with several external partners to ensure our content is accurate and fun for customers.