Final week Okta introduced a safety breach that concerned an attacker having access to its supply code hosted in GitHub. That is simply the most recent instance in an extended string of assaults having access to firm supply code in GitHub. Dropbox, Gentoo Linux, and Microsoft have all had their GitHub accounts focused earlier than.
With 90 million energetic customers, GitHub is the preferred supply code administration instrument for each open supply and personal enterprise code repositories. It is a main piece of basic infrastructure and the keeper of a few of the most delicate belongings and knowledge on the planet.
It is no marvel that attackers are more and more going after supply code. In some instances, akin to Okta, they is likely to be making an attempt to realize entry to the supply code. Extra usually, the attackers are in search of delicate info to make use of in a subsequent assault.
An attacker who can achieve entry to personal supply code can look at it for vulnerabilities after which exploit these vulnerabilities in subsequent assaults. Attackers also can harvest hardcoded keys, passwords, and different credentials that is likely to be saved in GitHub to realize entry to cloud providers and databases hosted in AWS, Azure, or GCP. A single stolen repository can yield mental property, legitimate credentials, and a pleasant listing of vulnerabilities in manufacturing software program which can be able to be exploited.
Shiny Hunters, an assault group identified to particularly goal non-public GitHub repositories, has breached tens of corporations utilizing this system, and bought their knowledge throughout numerous Darkish Net marketplaces.
Securing the Group’s GitHub Setting
There isn’t any query that GitHub is a important a part of the group’s infrastructure, however locking it down is a fancy and difficult id safety drawback. The great thing about the GitHub mannequin is that it permits for unfettered collaboration, however that additionally creates one of many largest complications in trendy IT safety.
Simply give it some thought: Anybody remotely technical in 2022 has a GitHub account. And you should use your GitHub account for all the things. We are able to use these accounts for private aspect tasks, open supply contributions, and our work in private and non-private code repositories which can be finally owned by our employers. That’s a variety of heavy lifting for a single id!
You may also use the “Sign up with GitHub” characteristic to make use of your GitHub id in different web sites and providers exterior of simply GitHub itself. And there is extra: GitHub is exclusive in that you do not simply check in to their web site, you additionally pull, push, and clone code from GitHub’s servers all the way down to your native machine through git operations over HTTPS and SSH, which themselves require your GitHub id.
Clearly GitHub picked up on these safety implications when it introduced the deprecation of usernames and passwords for git operations final yr — a step in the best route.
7 Suggestions for Securing Your GitHub
Whereas GitHub offers instruments to lock down the atmosphere, organizations must know easy methods to use them. Sadly, a few of the most vital safety capabilities require GitHub Enterprise. Nonetheless, listed here are seven rules for higher GitHub safety.
- Do not enable private accounts for work. We get it, your organization has a number of public repositories and you may construct your credibility by exhibiting off some public contributions in your subsequent job interview. Your private GitHub account is a part of your model. Sadly, that is additionally one of many largest holes in organizations utilizing GitHub at the moment: They don’t strictly govern using private accounts for work functions. As tempting because it is likely to be, private accounts shouldn’t be used for work. There’s simply no option to management who has entry to that non-public Gmail handle that you just used to create your private GitHub account.
- Require authentication through firm SSO. Sadly, GitHub reveals up prominently on the SSO Wall of Disgrace. That is proper — you might want to pay additional for SSO integration. After you have GitHub Enterprise, you may join GitHub to your organization SSO, akin to Okta or Azure AD or Google Workspace, and you may lock down your group to solely enable authentication through SSO.
- Require 2FA on all accounts. Even in case you implement two-factor authentication (2FA, aka MFA) through your SSO and in addition require SSO authentication, the most secure possibility is to nonetheless implement 2FA for all GitHub customers in your group. Exemption teams and coverage exceptions in your SSO supplier could make SSO MFA simple to bypass.
- Use SSH Keys for git operations. Whereas GitHub has launched fine-grained permissions management with private entry tokens (PATs), they continue to be inclined to phishing as these tokens are sometimes copied round in plaintext. Through the use of SSH keys for authentication for git operations, your group can use considerate PKI to control how SSH keys are provisioned, and also can tie this to your organization’s system administration and your personal certificates authority (CA).
- Prohibit repository member privileges utilizing roles. GitHub gives a number of totally different repository roles that may be assigned based mostly on the precept of least privilege. Base permissions may be managed on the group stage. At all times take care to assign the least privileged function {that a} member must be productive. Do not make everybody an admin.
- Do not enable exterior collaborators. Working with contractors is a standard a part of managing giant software program tasks. Nonetheless, the governance surrounding exterior collaborators in GitHub is inadequate to maintain your group safe. As a substitute, drive exterior collaborators to authenticate through your organization SSO, and don’t enable repository admins to ask them on to your group’s repositories.
- Audit, analyze, and audit once more. No group is ideal; even with the very best insurance policies in place, accounts fall by the cracks and errors are made. Even earlier than locking down your GitHub group, take the time to implement an everyday audit course of to search for dormant accounts that aren’t utilizing their entry and to restrict the variety of privileged roles in your repositories. As soon as your atmosphere is locked down, preserve a watch out for coverage violations, akin to a consumer who’s in some way nonetheless authenticating exterior of your SSO or not utilizing 2FA.
The breach of Okta’s GitHub repository is a strong instance of simply how arduous it’s to guard identities inside enterprises, nevertheless it is not a singular one. Every single day we see what occurs when staff and contractors expertise account takeover. We see the consequences of weak authentication, lax insurance policies for private e-mail accounts, and the ever-expanding measurement of the id assault floor.
Sadly, this newest incident is only one a part of a rising pattern of identity-related breaches to observe for in 2023.