DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • The SDLC After AI
  • You Don’t Need To Be a Manager To Lead: Why Leadership Matters for Software Engineers
  • Stop Using the ATM-Didn’t-Kill-Jobs Story to Reassure Developers About AI
  • The 7 Pillars of Meeting Design: Transforming Expensive Conversations into Decision Assets

Trending

  • Stop Writing Database Migration Scripts: Declarative Schema Sync for Java
  • Taming Parameter Sniffing in SQL Server 2022 With PSP Optimization
  • PWA on iOS, Part 2: HTTPS, Manifest and Service Worker
  • Two Engines, One Query: DuckDB Inside Neo4j

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

  1. DZone
  2. Software Design and Architecture
  3. Security
  4. SSDLC 101: What Is the Secure Software Development Life Cycle?

SSDLC 101: What Is the Secure Software Development Life Cycle?

In this article, we discuss the basics of this DevSecOps process, how teams can implement it, and how it can be worked into your development cycle.

By 
Ernest Mougoue
·
Jul. 25, 17 · Analysis
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
111.3K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

Most organizations have a well-oiled machine with the sole purpose to create, release, and maintain functional software. However, the increasing concerns and business risks associated with insecure software have brought increased attention to the need to integrate security into the development process. Implementing a proper Secure Software Development Life Cycle (SDLC) is important now more than ever.

Secure SDLC: What Is it and Why Should I Care?

A Software Development Life Cycle (SDLC) is a framework that defines the process used by organizations to build an application from its inception to its decommission. Over the years, multiple standard SDLC models have been proposed (Waterfall, Iterative, Agile, etc.) and used in various ways to fit individual circumstances. It is, however, safe to say that in general, SDLCs include the following phases:

  • Planning and requirements.
  • Architecture and design.
  • Test planning.
  • Coding.
  • Testing and results.
  • Release and maintenance.

In the past, it was common practice to perform security-related activities only as part of testing. This after-the-fact technique usually resulted in a high number of issues discovered too late (or not discovered at all). It is a far better practice to integrate activities across the SDLC to help discover and reduce vulnerabilities early, effectively building security in.

It is in this spirit that the concept of Secure SDLC arises. A Secure SDLC process ensures that security assurance activities such as penetration testing, code review, and architecture analysis are an integral part of the development effort. The primary advantages of pursuing a Secure SDLC approach are:

  • More secure software as security is a continuous concern.
  • Awareness of security considerations by stakeholders.
  • Early detection of flaws in the system.
  • Cost reduction as a result of early detection and resolution of issues.
  • Overall reduction of intrinsic business risks for the organization.

How Does it Work?

Generally speaking, a Secure SDLC is set up by adding security-related activities to an existing development process. For example, writing security requirements alongside the collection of functional requirements, or performing an architecture risk analysis during the design phase of the SDLC.

Many Secure SDLC models have been proposed. Here are a few of them:

  • MS Security Development Lifecycle (MS SDL): One of the first of its kind, the MS SDL was proposed by Microsoft in association with the phases of a classic SDLC.
  • NIST 800-64: Provides security considerations within the SDLC. Standards were developed by the National Institute of Standards and Technology to be observed by US federal agencies.
  • OWASP CLASP (Comprehensive, Lightweight Application Security Process): Simple to implement and based on the MS SDL. It also maps the security activities to roles in an organization.

How Do I Get Started?

If you are a developer or tester, there are definitely some actions that can be taken in your day-to-day activities to improve the security posture of your organization, including:

  • Educate yourself and co-workers on the best secure coding practices and available frameworks for security.
  • Consider security when building/planning for test cases.
  • Use code scanning tools such as SecureAssist, Coverity, and AppScan Source.

However, management must be involved in devising a strategic approach for a more significant impact. As a decision maker interested in implementing a complete SSDLC from scratch, here’s how to get started:

  • Perform a gap analysis to determine what activities/policies currently exist in the organization and their effectiveness.
  • Set up a Software Security Initiative (SSI) by establishing realistic and achievable goals with defined metrics for success. Processes for security activities should be formalized during SSI setup.
  • Invest in hiring and training of employees as well as appropriate tools.
  • Use outside help as needed.

Are You Thinking “I am Way Ahead of You, What’s Next?”

Your organization already has a Secure SDLC implemented? Fantastic, well done! There is always room for improvement. One way to determine your standing is by comparing it with how other organizations built their security program and what activities they perform. The BSIMM (Building Security In Maturity Model) can help with just that.

Software development

Published at DZone with permission of Ernest Mougoue. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • The SDLC After AI
  • You Don’t Need To Be a Manager To Lead: Why Leadership Matters for Software Engineers
  • Stop Using the ATM-Didn’t-Kill-Jobs Story to Reassure Developers About AI
  • The 7 Pillars of Meeting Design: Transforming Expensive Conversations into Decision Assets

Partner Resources

×

Comments

Loading comments

The comments didn't load

Please try again in a moment.

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook