Kosli raises $3.1 M USD in seed funding backed by Heavybit - Read more
Do you struggle to track Terraform changes? In a constant battle against drift? - Learn how to track Terraform with Kosli 1pm GMT 8/2/24
Kosli devops change management Ensure Software Provenance. Just like Google.

How to Ensure Software Provenance. Just like Google.

Mike Long
Author Mike Long
Published February 23, 2021 in technology
clock icon 4 min read

Google has always been a leader when it comes to security culture and their approach to managing a secure development lifecycle is no exception. This article introduces Google’s Binary Authorization for Borg (BAB), and will show you how you can implement the same binary authorization system to ensure that production software and configuration deployed in your organization is properly reviewed and authorized.

What is Binary Authorization for Borg (BAB)?

As with any security-centered culture, Google understands that insider risk represents a significant threat to the security of user data, and that the only way to ensure compliance is by employing a zero-trust model. BAB is Google’s internal technology for ensuring their secure development process is being followed.

“At Google, we want to do as much as we can to minimize the potential for Google personnel to use their organizational knowledge or access to user data in an unauthorized waythis includes running an unauthorized job”

At its heart, BAB is a pre-deployment check that production software and configuration deployed at Google is properly reviewed and authorized. The way it works is to require all services to define a BAB policy which is then automatically checked as part of the DevOps pipeline.

software production process

Some of the checks that can be automated in BAB include:

  • Is the binary built from checked in code?
  • Is the binary built verifiably?
  • Has the binary passed all test and qualification steps?
  • Is the binary built from code intended to be used in the deployment?

By incorporating these basic checks into the development pipeline, Google ensures that all production jobs automatically comply with security requirements.

Benefits of BAB

Adopting BAB has helped Google:

  • reduce overall insider risk
  • support uniformity of production systems
  • dictate a common language for data protection
  • programmatically track compliance requirements

These benefits can be realized in unexpected ways, as described by Google itself:

BAB simplified what were previously manual compliance tasks. Certain processes at Google require tighter controls on how they deal with data. For example, our financial reporting systems must comply with the Sarbanes-Oxley Act (SOX). Prior to BAB, we had a system that helped us manually perform verifications to ensure our compliance. Post BAB, many of these checks were automated based on the services’ BAB Policies. Automating these checks enabled the compliance team to increase both the scope of services covered and the adoption of appropriate controls on these services.

How to implement BAB with Kosli

The good news is that you don’t need to work at Google to get the advantages of compliance automation. Kosli provides the necessary primitives for tracking binary compliance data and automating change processes in exactly the same manner as Google’s BAB – without changing any of your existing tools or processes.

There are three basic steps to implementing BAB in your own projects:

  1. Identify security policies that you wish to enforce on production binaries
  2. Instrument your existing DevOps pipelines to collect necessary compliance data
  3. Add gatekeeping step to your release process to verify compliance with your policy

This is what the result would look like in a typical DevOps pipeline:

Kosli DevOps Change Management

Advanced Security Scenarios

As with BAB, once you have basic compliance automation with Kosli you can start to look at more advanced policies and scenarios. At Google, they have specified three interesting approaches, each with increasing security:

  • Deploy-time audit: auditing but not enforcing policy at deployment
  • Deploy-time enforcement: enforcing policy at deployment by gatekeeping
  • Continuous verification: checking running production systems are compliant

Having a ramped approach like this allows teams a lightweight way to get started, while offering a clear path towards continuous compliance.

In Summary

With BAB, Google has implemented a tech-savvy approach to security compliance automation. Adopting BAB has allowed Google to reduce insider risk, prevent possible attacks, and also support the uniformity of production systems.

At Kosli we use Artifact Binary Provenance as the foundation of our audit trails. It allows us to identify what’s running in production, and how it got there, to achieve Continuous Compliance.


ABOUT THIS ARTICLE

Published February 23, 2021, in technology

AUTHOR

Stay in the loop with the Kosli newsletter

Get the latest updates, tutorials, news and more, delivered right to your inbox
Kosli is committed to protecting and respecting your privacy. By submitting this newsletter request, I consent to Kosli sending me marketing communications via email. I may opt out at any time. For information about our privacy practices, please visit Kosli's privacy policy.
Kosli team reading the newsletter

Got a question about Kosli?

We’re here to help, our customers range from larges fintechs, medtechs and regulated business all looking to streamline their DevOps audit trails

Contact us
Developers using Kosli