Eran Orzel
Aug 17 · 4 min read
Source code is the most original and full description of a software program. It is the basic building blocks of software that reveals its internals, dependencies, and components down to the smallest detail. In a world where organizations compete on software, source code is to be guarded like money in the bank. Unfortunately, there have been numerous incidents of the source code of high profile companies being leaked.
Here are some reasons any organization should worry about a source code leak:
Company reputation: A company that is unable to protect its most valued data such as source code is hard to trust.
User data misuse: User data such as email IDs, and credit card data is sold on the dark web and is misused, causing end users much loss.
Intellectual property theft: Unreleased product features, incubating ideas and complete working processes of teams get revealed. A company can lose its competitive edge due to this.
Access to core systems: Starting with a single repository or server, an attacker can find ways to get to the very core of a system including its databases, and core servers.
Infects customer servers: As in the SolarWinds attack, hackers can target customers resulting in a ripple effect that can last years after the start.
Mercedes uses an OLU (onboard logic unit) that sits between the hardware and software of their smart vans. This software was found by a security engineer who was browsing through GitHub repositories using specific Google search queries. The developer was able to download 580 Git repositories from the server which he made publicly available until Mercedes contacted him to take them down. The developer has found many of such repositories, and has openly talked about how outrageous it is that companies pay such little attention to the security of their source code.
As in many industries, the gaming industry is all about protecting their copyright. Within this industry, Nintendo is known to be strong-handed at using the law to crack down on theft of its intellectual property. Yet, this past year, a mammoth collection of files and source code was leaked from Nintendo servers that revealed in deep detail the exact development process of many games such as Super Mario and Pokemon. This was a treasure trove for fans, but many also were unsure how to handle such confidential information that had become exposed. Once exposed, there is no turning back – the only half-measure is for Nintendo to threaten to sue those who publicly share the information. The source code leak was so large, it was code named the “gigaleak.”
Windows XP and Windows Server 2003 are old operating systems, but they are still used by some, and are still sold by Microsoft. This past year, the almost complete source code of both these operating systems was leaked. This isn’t the first time that the source code of Microsoft products has been leaked. Previously, source code for Windows 10 and Xbox had also been leaked. While these operating systems are older and of lesser consequence, it shows that even the biggest tech companies suffer from the problem of source code leaks.
Another automaker in the source code leaks news was Nissan. This leak involved many of Nissan’s mobile apps, marketing and sales tools, website information, and connected car services. This was found when Nissan sloppily misconfigured one of their Git servers with the username and password as admin/admin. This is an example of how one oversight with access credentials can expose entire systems.
EA games is one of the top game developers in the world and is the latest victim in a series of source code leaks. This time about 780 GB of EA’s game data was leaked online. This included code for popular games such as FIFA, Battlefield, and Starwars. Using this data hackers can create cheats for the EA games, and even get a glimpse into hidden and unreleased game features. While the details of the leak are scarce, EA has confirmed a network intrusion as the cause.
To prevent source code leaks it takes more than a security best practices doc, or a one-time security audit. It requires continuous security protocols that are enforced at every level, every user, and every component of the system. Here are some measures that can be implemented with a modern security solution like Argon:
Git repo config: You can check the config for your Git repos to ensure only the right ones are made public.
Run code checks: Within public repos you need to check for accidental or intentional inclusion of confidential and sensitive information.
Strong access credentials: Automatically check for weak passwords and ensure two-factor authentication is set up.
Access controls: Git repos and other parts of the system should be access controlled so that users (both human and machine) can see only what they need to for their purposes.
User behavior tracking: There should be a baseline setup for what normal user behavior looks like, and any anomaly should be alerted immediately.
Privilege escalation: Bad actors will try to escalate their privileges. Any such attempt should be tracked and alerted system-wide.
Though source code leaks are difficult to prevent, the stakes are so high that it should be on every organization’s top priority list. Rather than relying on outdated, static security processes, leverage a security solution like Argon for dynamic, and timely protection of your source code from end-to-end.
DevOps has evolved into a standard practice of software development. According to…
Logging in to websites to access your accounts isn’t as secure as…
Today’s businesses and enterprises are heavily dependent on software and applications for…
Cookie | Duration | Description |
---|---|---|
__hssrc | session | This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session. |
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
elementor | never | This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time. |
JSESSIONID | session | Used by sites written in JSP. General purpose platform session cookies that are used to maintain users' state across page requests. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duration | Description |
---|---|---|
__cf_bm | 30 minutes | This cookie, set by Cloudflare, is used to support Cloudflare Bot Management. |
__hssc | 30 minutes | HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie. |
bcookie | 2 years | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID. |
lang | session | This cookie is used to store the language preferences of a user to serve up content in that stored language the next time user visit the website. |
lidc | 1 day | LinkedIn sets the lidc cookie to facilitate data center selection. |
messagesUtk | 1 year 24 days | This cookie is set by hubspot. This cookie is used to recognize the user who have chatted using the messages tool. This cookies is stored if the user leaves before they are added as a contact. If the returning user visits again with this cookie on the browser, the chat history with the user will be loaded. |
Cookie | Duration | Description |
---|---|---|
__hstc | 1 year 24 days | This is the main cookie set by Hubspot, for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session). |
_ga | 2 years | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors. |
_ga_1HW5JYG3DC | 2 years | This cookie is installed by Google Analytics. |
_gat_UA-191589358-1 | 1 minute | A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to. |
_gcl_au | 3 months | Provided by Google Tag Manager to experiment advertisement efficiency of websites using their services. |
_gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
hubspotutk | 1 year 24 days | This cookie is used by HubSpot to keep track of the visitors to the website. This cookie is passed to Hubspot on form submission and used when deduplicating contacts. |
Cookie | Duration | Description |
---|---|---|
bscookie | 2 years | This cookie is a browser ID cookie set by Linked share Buttons and ad tags. |
test_cookie | 15 minutes | The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies. |
Cookie | Duration | Description |
---|---|---|
AnalyticsSyncHistory | 1 month | No description |
li_gc | 2 years | No description |
UserMatchHistory | 1 month | Linkedin - Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. |