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
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Software Design and Architecture
  3. Security
  4. 4 Steps to Ensure Your OSS Security Program Doesn't Flop

4 Steps to Ensure Your OSS Security Program Doesn't Flop

Since open source software is the bedrock of many source codes, it's more urgent than ever to ensure that your OSS is secure.

Joe Coletta user avatar by
Joe Coletta
·
Sep. 26, 18 · Analysis
Like (3)
Save
Tweet
Share
2.69K Views

Join the DZone community and get the full member experience.

Join For Free

It should come as a surprise to absolutely no one that works in software that open source software (OSS) is ubiquitous in most Agile development shops. While it would be foolish to omit the benefits of integrating open source libraries into your applications, it would also be downright irresponsible to omit the potential risk. That’s not to say that open source is more insecure than proprietary code, but you can’t ignore that software is not always built with security in mind. Couple that with the fact that many open source libraries integrated into production never see any sort of patching or updates, and you have a recipe for a breach once a new vulnerability is disclosed. We’ve talked about the tools you need to test for OSS vulnerabilities, but that’s only half the battle. You need dedicated processes and people to build a programmatic approach to getting a handle on open source risk.

1. Understand Your Applications’ Bill of Materials

Having a bill of materials for your application portfolio is the first order of business to understanding your open source risk. If you can’t remember if your application uses Apache Commons Collection v. 3.2.1, don’t worry, you’re not the only one. Software Composition Analysis is the most obvious method to understand what open source libraries you have deployed, the version being used, and whether that version has any known vulnerabilities. Maintaining a master repository of open source components is never a bad idea either. Should a zero-day vulnerability be disclosed, it’s good practice to have a single source of truth to cross-check if you have that particular library deployed, and who the application owners are so you have a clear incident response plan.

2. Establish a Sustainable OSS Security Policy

Draconian application security policies have proven to be ineffective as it slows down delivery and can sometimes cause rifts between the development and security teams. Yet, without internal governance, your open source security program could quickly become an afterthought. A comprehensive and enforceable security policy can help establish the rules of engagement for implementing open source, without alienating your developers. A good example would be disallowing any open source vulnerability that surpasses a certain CVSS (Common Vulnerability Scoring System) score which is usually graded on a scale of “low” severity to “critical” severity. This is where keeping an inventory of your open source components comes into play as it gives visibility into risky components that are eligible for blacklisting. For software vendors, having a policy in place to dictate how far back you are going to patch should a vulnerability be discovered is an important factor to keep in mind for customers who may be using legacy versions of your product.

3. Foster Security Champions from Within

As the DevSecOps movement becomes more mainstream, having someone who can “speak developer” will be paramount to ensure that there’s a mutual understanding between Security and Development when it comes to implementing open source. Security Champions are a new concept within the world of software development but designating an internal champion within your development organization can help foster collaboration between your Security and Dev teams. Security Champions serve as the standard bearer for secure code development and can be a critical resource for empowering your dev team with training, mentorship as well as serve as an ambassador to the security organization. With regards to open source, Security Champions are your point person in your incident response plan. Should a vulnerability be disclosed, your Champion can take point on identifying the risky component(s), flagging any compromised applications, patching, and ongoing training for the rest of the development team.

4. Integrate Security Into the SDLC from Day One

At this point, most would agree that automating security into the development process is an industry best practice, but it should also be known that there are significant cost savings to integrating security from Day 1. A 2017 study from the IBM System Science Institute revealed that the cost to fix a security flaw found in the implementation phase is around 6 times more expensive than fixing one in the design phase. This principle extends to open source as we’ve seen what the potential costs of neglecting to check for open source vulnerabilities can be. We often associate security automation to proprietary code but open source security can, and should, be baked into the development process as soon as coding starts. Even simple patches to open source components can prove costly post-deployment as updating to a new version can have impacts on the overall architecture of the application. This can be avoided by ensuring that risky components aren’t being introduced into your environment from day one of development.

As Much as It’s About Technology, It’s More About People

An open source security program is only as good as the processes that govern it and the people who are willing to take accountability for its success. Taking the steps to empower your team to take ownership of open source security while also fostering a culture of collaboration will catapult your program to new heights.

Application security Open source Software development Vulnerability agile

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How To Choose the Right Streaming Database
  • Building the Next-Generation Data Lakehouse: 10X Performance
  • How To Create a Failover Client Using the Hazelcast Viridian Serverless
  • Running Databases on Kubernetes

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: