Nvidia's security team advocates shifting away from C/C++ due to its susceptibility to memory-related vulnerabilities, which account for a significant portion of their reported security issues. They propose embracing memory-safe languages like Rust, Go, and Java to improve the security posture of their products and reduce the time and resources spent on vulnerability remediation. While acknowledging the performance benefits often associated with C/C++, they argue that modern memory-safe languages offer comparable performance while significantly mitigating security risks. This shift requires overcoming challenges like retraining engineers and integrating new tools, but Nvidia believes the long-term security gains outweigh the transitional costs.
A newly released U.S. government report reveals that 39 zero-day vulnerabilities were disclosed in 2023. This marks the first time the Cybersecurity and Infrastructure Security Agency (CISA) has publicly shared this data, which is gathered through its Vulnerability Disclosure Policy (VDP). The report covers vulnerabilities affecting a range of vendors, including Google, Apple, and Microsoft, and provides insights into the types of vulnerabilities reported, though specific details are withheld to prevent exploitation. The goal of this increased transparency is to improve vulnerability remediation efforts and bolster overall cybersecurity.
Hacker News users discussed the implications of the US government's first-ever report on zero-day vulnerability disclosures. Some questioned the low number of 39 vulnerabilities, speculating it represents only a small fraction of those actually discovered, with many likely being kept secret for offensive purposes. Others pointed out the inherent limitations in expecting complete transparency from intelligence agencies. Several comments highlighted the report's ambiguity regarding the definition of "zero-day," and whether it includes vulnerabilities actively exploited in the wild. There was also discussion around the value of such disclosures, with some arguing it benefits adversaries more than defenders. Finally, some commenters expressed concern about the potential for the government to hoard vulnerabilities for offensive capabilities, rather than prioritizing patching and defense.
Summary of Comments ( 148 )
https://news.ycombinator.com/item?id=42998383
Hacker News commenters largely agree with the AdaCore blog post's premise that C is a major source of vulnerabilities. Many point to Rust as a viable alternative, highlighting its memory safety features and performance. Some discuss the practical challenges of transitioning away from C, citing legacy codebases, tooling, and the existing expertise surrounding C. Others explore alternative approaches like formal verification or stricter coding standards for C. A few commenters push back on the idea of abandoning C entirely, arguing that its performance benefits and low-level control are still necessary for certain applications, and that focusing on better developer training and tools might be a more effective solution. The trade-offs between safety and performance are a recurring theme.
The Hacker News post titled "Nvidia Security Team: “What if we just stopped using C?” (2022)" has generated a lively discussion with numerous comments. Many commenters agree with the premise that C is inherently unsafe and contributes significantly to software vulnerabilities. Several suggest Rust as a strong contender for replacing C, citing its memory safety features and performance characteristics.
A recurring theme is the inertia within organizations and the perceived cost and effort of transitioning away from C. Some commenters express skepticism about the feasibility of such a move, particularly in large, established codebases. Others counter this by arguing that the long-term benefits of improved security and reduced maintenance outweigh the initial investment.
Several compelling comments delve deeper into specific aspects:
The comments overall reflect a general sentiment that while moving away from C is a significant undertaking, it is a necessary step towards building more secure and reliable software. The discussion acknowledges the complexities and challenges involved but also expresses optimism about the potential benefits and the growing momentum behind safer alternatives like Rust.