Final week Okta introduced a safety breach that concerned an attacker having access to its supply code hosted in GitHub. That is simply the newest instance in a protracted 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 most well-liked supply code administration software for each open supply and personal enterprise code repositories. It is a main piece of elementary infrastructure and the keeper of among the most delicate belongings and information on this planet.
It is no marvel that attackers are more and more going after supply code. In some circumstances, comparable to Okta, they is likely to be making an attempt to realize entry to the supply code. Extra typically, the attackers are in search of delicate data to make use of in a subsequent assault.
An attacker who can acquire entry to non-public supply code can look at it for vulnerabilities after which exploit these vulnerabilities in subsequent assaults. Attackers may also 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 checklist of vulnerabilities in manufacturing software program which might be able to be exploited.
Shiny Hunters, an assault group identified to particularly goal personal GitHub repositories, has breached tens of corporations utilizing this method, and bought their information throughout numerous Darkish Internet marketplaces.
Securing the Group’s GitHub Atmosphere
There isn’t a query that GitHub is a crucial a part of the group’s infrastructure, however locking it down is a posh and difficult id safety downside. The great thing about the GitHub mannequin is that it permits for unfettered collaboration, however that additionally creates one of many greatest complications in fashionable IT safety.
Simply give it some thought: Anybody remotely technical in 2022 has a GitHub account. And you should use your GitHub account for every thing. We will use these accounts for private aspect initiatives, open supply contributions, and our work in private and non-private code repositories which might be finally owned by our employers. That’s loads of heavy lifting for a single id!
You too can use the “Sign up with GitHub” function to make use of your GitHub id in different web sites and providers outdoors 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 fitting course.
7 Ideas for Securing Your GitHub
Whereas GitHub supplies instruments to lock down the setting, organizations have to know methods to use them. Sadly, among the most essential safety capabilities require GitHub Enterprise. Nonetheless, listed here are seven rules for higher GitHub safety.
- Do not permit private accounts for work. We get it, your organization has a number of public repositories and you may construct your credibility by displaying 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 greatest holes in organizations utilizing GitHub at present: 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 technique to management who has entry to that non-public Gmail tackle that you just used to create your private GitHub account.
- Require authentication through firm SSO. Sadly, GitHub exhibits up prominently on the SSO Wall of Disgrace. That is proper — you have to pay additional for SSO integration. After getting GitHub Enterprise, you’ll be able to join GitHub to your organization SSO, comparable to Okta or Azure AD or Google Workspace, and you may lock down your group to solely permit authentication through SSO.
- Require 2FA on all accounts. Even should 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 vulnerable to phishing as these tokens are sometimes copied round in plaintext. By utilizing SSH keys for authentication for git operations, your group can use considerate PKI to control how SSH keys are provisioned, and may also tie this to your organization’s system administration and your personal certificates authority (CA).
- Limit repository member privileges utilizing roles. GitHub affords a number of totally different repository roles that may be assigned based mostly on the precept of least privilege. Base permissions will be managed on the group stage. All the time take care to assign the least privileged position {that a} member must be productive. Do not make everybody an admin.
- Do not permit outdoors collaborators. Working with contractors is a traditional a part of managing giant software program initiatives. Nonetheless, the governance surrounding outdoors collaborators in GitHub is inadequate to maintain your group safe. As a substitute, drive outdoors collaborators to authenticate through your organization SSO, and don’t permit repository admins to ask them on to your group’s repositories.
- Audit, analyze, and audit once more. No group is ideal; even with one of the 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 a daily 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 setting is locked down, preserve an eye fixed out for coverage violations, comparable to a consumer who’s by some means nonetheless authenticating outdoors of your SSO or not utilizing 2FA.
The breach of Okta’s GitHub repository is a strong instance of simply how laborious it’s to guard identities inside enterprises, nevertheless it is not a singular one. Each day we see what occurs when workers and contractors expertise account takeover. We see the consequences of weak authentication, lax insurance policies for private electronic mail accounts, and the ever-expanding dimension of the id assault floor.
Sadly, this newest incident is only one a part of a rising development of identity-related breaches to look at for in 2023.