The Open-Source Backdoor That Almost Compromised SSH
2024-4-3 00:0:51 Author: securityboulevard.com(查看原文) 阅读量:1 收藏

Avatar photo

The Open-Source Backdoor That Almost Compromised SSH

Researchers discovered a backdoor in the compression tools xz utils versions 5.6.0 and 5.6.1, targeting SSH authentication in several Linux distributions. Although not affecting production releases,the early detection prevented a potential catastrophe, underscoring the importance of vigilant open-source software monitoring.

Here is a technical review of the supply chain attack attempt by Thomas Roccia:

🤯 The level of sophistication of the XZ attack is very impressive! I tried to make sense of the analysis in a single page (which was quite complicated)!

I hope it helps to make sense of the information out there. Please treat the information "as is" while the analysis… pic.twitter.com/N11klcymeP

— Thomas Roccia 🤘 (@fr0gger_) March 31, 2024

Incident Recap

  1. A malicious backdoor was found in xz utils versions 5.6.0 and 5.6.1.
  2. The backdoor was designed to interfere with SSH authentication, potentially allowing unauthorized remote access.
  3. This vulnerability targeted SSH connections in Linux distributions such as Red Hat, Debian, and Arch Linux.
  4. Homebrew, a package manager for macOS, also incorporated the compromised version but has since reverted to an unaffected version.
  5. Early detection prevented the backdoored versions from being widely deployed, averting widespread impact.

Long Story

In a frankly alarming discovery, researchers have uncovered a malicious backdoor deeply embedded within xz utils, a widely utilized Linux compression tool. This inclusion was found in versions 5.6.0 and 5.6.1 of the tool. The discovery was particularly concerning given the broad usage of xz utils across multiple Linux distributions, including heavyweights like Red Hat and Debian. Even more distressing was the fact that these compromised versions had made their way into beta releases of these distributions, specifically targeting software that manages SSH connections – a backbone of secure remote access.

This backdoor was ingeniously masked and went unnoticed for over a month, posing a critical risk to SSH's encrypted authentication process. Had this backdoor not been discovered early by a vigilant developer, the ramifications could have been dire, potentially allowing unauthorized access to countless systems worldwide

The malicious code was sneakily introduced through updates under the guise of standard improvements. It was later revealed that these changes aimed at tampering with SSH functions, thereby jeopardizing secure remote access. The perpetrator behind these changes was a prominent developer within the project, raising questions about security and trust within the open-source community. This chain of events underscores not just the ever-present risks in software development and distribution but also the importance of early detection and rigorous vetting in the open-source ecosystem.

"As systems grow more interconnected, the impact of a single compromised tool can be exponential. The xz utils case highlights the importance of scrutinizing even seemingly benign updates for potential security implications." said Mackenzie Jackson, Security Advocate.

Thankfully, the quick response from various stakeholders, including the immediate rollback of vulnerable versions and rigorous patching efforts, helped mitigate the potential damage.

Lesson Learned

This incident vividly highlights the critical need for vigilant monitoring of software dependencies. Open-source software, while invaluable, can also serve as a conduit for significant security threats when not properly scrutinized. In this case, the backdoortargeted SSH connections, a cornerstone of secure system management and operations.

"Early detection and constant vigilance are the cornerstones of modern cybersecurity. This incident is a testament to that principle. Trust but verify should be the mantra in open-source software development." said Eric Fourrier, GitGuardian co-founder and CEO.

GitGuardian's Software Composition Analysis (SCA) tool exemplifies how advanced monitoring and early detection can serve as a critical defense against such threats. By scanning dependencies for vulnerabilities and offering actionable remediation guidance, GitGuardian SCA enables a proactive approach to software security.

Recommendations

  • Regularly update and patch software from trusted sources.
  • Employ continuous monitoring solutions to detect and address vulnerabilities promptly.

Supply Chain Attacks: 6 Steps to protect your software supply chain

This article looks at software supply chain attacks, exactly what they are and 6 steps you can follow to protect your software supply chain and limit the impact of a supply chain attack.

The Open-Source Backdoor That Almost Compromised SSHGitGuardian Blog – Code Security for the DevOps generationMackenzie Jackson

The Open-Source Backdoor That Almost Compromised SSH

  • Review and vet contributions to critical software components, especially those with extensive access or privileges.
  • Integrate security early in the software development lifecycle to detect and mitigate threats preemptively.
  • Foster a culture of openness and prompt communication within development communities.
  • Prioritize security when selecting and updating software dependencies.

Engage with the open-source community for collective defense against emerging threats and vulnerabilities.

The Open-Source Backdoor That Almost Compromised SSH

*** This is a Security Bloggers Network syndicated blog from GitGuardian Blog - Code Security for the DevOps generation authored by Thomas Segura. Read the original post at: https://blog.gitguardian.com/the-backdoor-that-almost-compromised-ssh-security/

Avatar photo

Thomas Segura

What You Need to Scale AppSec Thomas Segura - Content Writer @ GitGuardian Author Bio Thomas has worked both as an analyst and as a software engineer consultant for various big French companies. His passion for tech and open source led him to join GitGuardian as technical content writer. He focuses now on clarifying the transformative changes that cybersecurity and software are going through. Website:https://www.gitguardian.com/ Twitter handle: https://twitter.com/GitGuardian Linkedin: https://www.linkedin.com/company/gitguardian Introduction Security is a dilemma for many leaders. On the one hand, it is largely recognized as an essential feature. On the other hand, it does not drive business. Of course, as we mature, security can become a business enabler. But the roadmap is unclear. With the rise of agile practices, DevOps and the cloud, development timeframes have been considerably compressed, but application security remains essentially the same. DevSecOps emerged as an answer to this dilemma. Its promise consists literally in inserting security principles, practices, and tools into the DevOps activity stream, reducing risk without compromising deliverability. Therefore there is a question that many are asking: why isn't DevSecOps already the norm? As we analyzed in our latest report DevSecOps: Protecting the Modern Software Factory, the answer can be summarized as follows: only by enabling new capacities across Dev, Sec and Ops teams can the culture be changed. This post will help provide a high-level overview of the prerequisite steps needed to scale up application security across departments and enable such capabilities. From requirements to expectations Scaling application security is a company-wide project that requires thorough thinking before an y decision is made. A first-hand requirement is to talk to product and engineering teams to understand the current global AppSec maturity. The objective at this point is to be sure to have a comprehensive understanding of how your products are made (the processes, tools, components, and stacks involved). Mapping development tools and practices will require time to have the best visibility possible. They should include product development practices and the perceived risk awareness/appetite from managers. One of your objectives would be to nudge them so they take into account security in every decision they make for their products, and maybe end up thinking like adversaries. You should be able to derive security requirements from the different perceptual risks you are going to encounter. Your job is to consolidate these into a common set for all applications, setting goals to align the different teams collaborating to build your product(s). Communicating transparently with all relevant stakeholders (CISO, technical security, product owner, and development leads) about goals and expectations is essential to create a common ground for improvement. It will be absolutely necessary to ensure alignment throughout the implementation too. Open and accessible guardrails Guardrails are the cornerstone of security requirements. Their nature and implementation are completely up to the needs of your organization and can be potentially very different from one company to the other (if starting from scratch, look no further than the OWASP Top10). What is most important, however, is that these guardrails are open to the ones that need them. A good example of this would be to centralize a common, security-approved library of open-source components that can be pulled from by any team. Keep users' accessibility and useability as a priority. Designing an AppSec program at scale requires asking “how can we build confidence and visibility with trusted tools in our ecosystem?”. For instance, control gates should never be implemented without considering a break-glass option (“what happens if the control is blocking in an emergency situation?”). State-of-the-art security is to have off-the-shelf secure solutions chosen by the developers, approved by security, and maintained by ops. This will be a big leap forward in preventing vulnerabilities from creeping into source code. It will bring security to the masses at a very low cost (low friction). But to truly scale application security, it would be silly not to use the software engineer's best ally: the continuous integration pipeline. Embed controls in the CI/CD AppSec testing across all development pipelines is the implementation step. If your organization has multiple development teams, it is very likely that different CI/CD pipelines configurations exist in parallel. They may use different tools, or simply define different steps in the build process. This is not a problem per se, but to scale application security, centralization and harmonization are needed. As illustrated in the following example CI/CD pipeline, you can have a lot of security control steps: secrets detection, SAST, artifact signing, access controls, but also container or Infrastructure as Code scanning (not shown in the example) (taken from the DevSecOps whitepaper) The idea is that you can progressively activate more and more control steps, fine-tune the existing ones and scale both horizontally and vertically your “AppSec infrastructure”, at one condition: you need to centralize metrics and controls in a stand-alone platform able to handle the load corresponding to your organization’s size. Security processes can only be automated when you have metrics and proper visibility across your development targets, otherwise, it is just more burden on the AppSec team's shoulders. In turn, metrics and visibility help drive change and provide the spark to ignite a cultural change within your organization. Security ownership shifts to every engineer involved in the delivery process, and each one is able to leverage its own deep (yet partial) knowledge of the system to support the effort. This unlocks a world of possibilities: most security flaws can be treated like regular tickets, rule sets can be optimized for each pipeline based on criticality, capabilities or regulatory compliance, and progress can be tracked (saved time, avoided vulnerabilities etc.). In simpler terms, security can finally move at the DevOps speed. Conclusion Security can’t scale if it’s siloed, and slowing down the development process is no longer an option in a world led by DevOps innovation. The design and implementation of security controls are bound to evolve. In this article, we’ve depicted a high-level overview of the steps to be considered to scale AppSec. This starts with establishing a set of security requirements that involve all the departments, in particular product-related ones. From there it becomes possible to design guardrails to make security truly accessible with a mix of hard and soft gates. By carefully selecting automated detection and remediation that provide visibility and control, you will be laying a solid foundation for a real model of shared responsibility for security. Finally, embedding checks in the CI/CD system can be rolled out in multiple phases to progressively scale your security operations. With automated feedback in place, you can start incrementally adjusting your policies. A centralized platform creates a common interface to facilitate the exchange between application security and developer teams while enforcing processes. It is a huge opportunity to automate and propagate best practices across teams. Developers are empowered to develop faster with more ownership. When security is rethought as a partnership between software-building stakeholders, a flywheel effect can take place: reduced friction leads to better communication and visibility, automating of more best practices, easing the work of each other while improving security with fewer defects. This is how application security will finally be able to scale through continuous improvement.

thomas-segura has 47 posts and counting.See all posts by thomas-segura


文章来源: https://securityboulevard.com/2024/04/the-open-source-backdoor-that-almost-compromised-ssh/
如有侵权请联系:admin#unsafe.sh