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 device for each open supply and personal enterprise code repositories. It is a main piece of basic infrastructure and the keeper of among the most delicate belongings and information on the earth.
It is no surprise that attackers are more and more going after supply code. In some instances, reminiscent of Okta, they is likely to be attempting to realize entry to the supply code. Extra typically, the attackers are on the lookout for delicate data to make use of in a subsequent assault.
An attacker who can acquire entry to personal supply code can look at it for vulnerabilities after which exploit these vulnerabilities in subsequent assaults. Attackers can even 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 can be able to be exploited.
Shiny Hunters, an assault group identified to particularly goal personal GitHub repositories, has breached tens of firms utilizing this method, and bought their information throughout varied Darkish Internet marketplaces.
Securing the Group’s GitHub Setting
There isn’t a query that GitHub is a essential a part of the group’s infrastructure, however locking it down is a posh and difficult identification safety downside. The fantastic thing about the GitHub mannequin is that it permits for unfettered collaboration, however that additionally creates one of many greatest complications in trendy IT safety.
Simply give it some thought: Anybody remotely technical in 2022 has a GitHub account. And you need to use your GitHub account for all the things. We will 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 plenty of heavy lifting for a single identification!
You can even use the “Sign up with GitHub” function to make use of your GitHub identification in different web sites and providers outdoors of simply GitHub itself. And there is extra: GitHub is exclusive in that you do not simply register to their web site, you additionally pull, push, and clone code from GitHub’s servers right down to your native machine by way of git operations over HTTPS and SSH, which themselves require your GitHub identification.
Clearly GitHub picked up on these safety implications when it introduced the deprecation of usernames and passwords for git operations final 12 months — a step in the proper route.
7 Ideas for Securing Your GitHub
Whereas GitHub offers instruments to lock down the setting, organizations have to know how you can use them. Sadly, among the most essential safety capabilities require GitHub Enterprise. Nonetheless, listed below are seven rules for higher GitHub safety.
- Do not enable private accounts for work. We get it, your organization has a couple of public repositories and you’ll 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 greatest holes in organizations utilizing GitHub in the present day: 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 method to management who has entry to that non-public Gmail handle that you just used to create your private GitHub account.
- Require authentication by way of firm SSO. Sadly, GitHub exhibits up prominently on the SSO Wall of Disgrace. That is proper — it’s essential pay additional for SSO integration. After you have GitHub Enterprise, you possibly can join GitHub to your organization SSO, reminiscent of Okta or Azure AD or Google Workspace, and you’ll lock down your group to solely enable authentication by way of SSO.
- Require 2FA on all accounts. Even should you implement two-factor authentication (2FA, aka MFA) by way of your SSO and likewise 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. Through the use of SSH keys for authentication for git operations, your group can use considerate PKI to manipulate how SSH keys are provisioned, and can even tie this to your organization’s gadget administration and your personal certificates authority (CA).
- Prohibit repository member privileges utilizing roles. GitHub provides a number of totally different repository roles that may be assigned based mostly on the precept of least privilege. Base permissions might 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 enable outdoors collaborators. Working with contractors is a standard a part of managing massive software program tasks. Nonetheless, the governance surrounding outdoors collaborators in GitHub is inadequate to maintain your group safe. As an alternative, drive outdoors collaborators to authenticate by way of 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 most effective 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 setting is locked down, preserve a watch out for coverage violations, reminiscent of a consumer who’s someway nonetheless authenticating outdoors of your SSO or not utilizing 2FA.
The breach of Okta’s GitHub repository is a strong instance of simply how exhausting it’s to guard identities inside enterprises, but it surely is not a singular one. Day by 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 identification assault floor.
Sadly, this newest incident is only one a part of a rising pattern of identity-related breaches to observe for in 2023.