Perimeter
3/13/2012
00:48 AM
Vincent Liu
Vincent Liu
Commentary
Connect Directly
RSS
E-Mail
50%
50%

Ron Was Wrong, Whit Is Right, And What You Need To Know

Clarifying the technical findings on a weakness in RSA crypto keys and some recommendations on how to prepare and protect your assets from the next inevitable crypto weakness discovery

Note: The credit for this post goes entirely to my colleagues at Stach & Liu. In particular, the initial draft of this entry was written by Carl Livitt and further updated by Rob Ragan. I felt it was a great summary that held a lot of value for those of us who are trying to understand and respond to the complex and often nuanced topic of cryptography.

For those who are new to PKI (Public Key Infrastructure) or want a quick refresher, the following video is a great explanation and metaphor based on colors and clocks. Whether the problem is influenced more by Moore’s Law or Murphy’s Law, history tells us that every so often there is a publicly disclosed key-generation flaw in a popular encryption algorithm. For example:

In most cases we see issues with random number generation rather than the core design of SSL security.

SSL Is Not The Problem
At the heart of much confusion around the topic is a concern that SSL encryption itself is flawed; it is not, and the research paper "Ron was wrong, Whit is right" does not describe any inherent weaknesses in SSL or other methods of encryption. The security of SSL and other asymmetric cryptographic systems relies on secrets that are difficult to calculate or guess. The secrets take the form of extremely large prime numbers that are generated once per cryptographic certificate. Any failure in the confidentiality of a certificate’s secret prime number(s) will result in the certificate being compromised, rendering it useless for the purposes of encryption and signing. As long as a certificate’s secrets remain secret, SSL remains strong.

The Root Cause
The actual issue under discussion in the research paper is the way in which cryptographic keys (and the associated prime numbers) are generated. What the researchers found is that a number of real-world SSL certificates have been generated with the same prime numbers. Researchers determined that the massive primes were not random. In fact, there was a great deal of repetition among certificates belonging to unrelated people, companies, and systems. Because of the lack of randomness, the researchers were able to use simple algorithms dating from Euclid’s era to quickly and easily calculate the secrets belonging to a quarter-million SSL certificates from systems all around the world. The underlying cause of the issue is not yet known, although tentative suggestions are pointing toward a broken key-generation implementation that is shared among several types of embedded devices.

What Type of Crypto Systems Are Affected?
As far as we know, the scope of the problem is limited to SSL certificates that use 1024-bit RSA keys. Not all 1024-bit RSA keys are affected. For now it is reasonable to assume the most widely affected systems will be HTTPS Web servers. The research indicates that only small subsets of RSA keys were generated insecurely. While the origin of each affected RSA key is not yet known, there are strong indicators that the keys were created on embedded systems, such as routers and firewalls.

What Systems Are NOT Affected?
All indicators from the current research (Q1–2012) suggest that only SSL certificates are affected. Other systems, such as PGP keys, RSA tokens, and other RSA-based keys, are either not affected or there is insufficient data to draw solid conclusions. It should be kept in mind that it is RSA key generation that is affected; the applications and systems that rely on RSA keys are not the culprit.

The Impact
If an adversary were able to calculate the secrets for an SSL certificate, he would be able to create a duplicate of that certificate. With a duplicate it would be possible to achieve these goals: decrypt any data that was encrypted using the compromised certificates, impersonate any system that used the certificate as a form of authentication, tamper with encrypted data in transit, or modify encrypted data at rest.

The Likelihood Of Successful Attacks
Practical real-world attacks are hard. This is because an adversary must not only exploit RSA key-generation weaknesses, but must also be in a position to intercept encrypted network traffic, steal encrypted data from a server, or somehow insert himself between two users in the middle of an SSL-encrypted conversation. As such, targets that are easiest to exploit will be internal network systems as opposed to external (Internet-facing) systems. This is because it is much easier for a malicious user to disrupt, redirect, or intercept traffic on a corporate LAN than it is on the Internet. A sufficiently knowledgeable person with access to a compromised key and an internal corporate network connection may be able to exploit the RSA weaknesses to intercept, decrypt, and modify SSL-encrypted network data. The likelihood of an adversary performing the same attack against, for example, an Internet-facing HTTPS server is far less likely. Such an attack is hampered by the difficulty of intercepting network communications between a Web server and its users. It should be noted, however, that certain nation states and ISPs do have the capability to monitor and intercept the connection between a user and a service.

Next Steps
It is almost inevitable that tools will be released to exploit this situation. For example, weaknesses in Windows password-hashing algorithms led to the release of L0phtcrack; similarly, weaknesses in Wi-Fi WEP encryption led to the release of AirCrack, NetStumbler, and many other cracking tools. It would be prudent to anticipate such tools and attacks, and prepare systems in advance. The following steps are highly recommended:

  • Establish a plan and policy to regularly review critical crypto systems, specifically for following key management best practices. See the Transport Layer Protection Cheat Sheet on OWASP for details on best practices.

  • Perform scans against all known corporate SSL-encrypted assets, such as HTTPS Web servers, email servers, SSL VPNs, etc. The scans should check for the presence of 1024-bit RSA certificates. See SSLScan for more technical details on how to perform such analysis.

  • Revoke certificates affected by the 1024-bit RSA vulnerability and those that do not follow NIST standards for recommended key length. The private key used to generate the cipher key must be sufficiently strong for the anticipated lifetime of the private key and corresponding certificate. The current best practice is to select a key size of at least 2048. Keys of length 1024 are considered obsolete as of the beginning of 2010.

  • Regenerate all such certificates with sufficiently strong keys and deploy them to the affected servers.

Additional Resources
For a more detailed but very accessible analysis of the issue, we strongly recommend taking a look at Dan Kaminsky's write-up on the topic, "Primal Fear: Demuddling The Broken Moduli Bug." Kudos to Dan for doing a fantastic job of explaining the issue so well.

Vincent Liu, CISSP, is a Managing Partner at Stach & Liu, a security consulting firm providing IT security services to the Fortune 1000 and global financial institutions, as well as U.S. and foreign governments. He has coauthored several books including Hacking Exposed Wireless, 1st and 2nd editions, Hacking Exposed Web Applications, 3rd edition, and the upcoming Web Application Security, A Beginner's Guide. He can be reached on Twitter @vinnieliu. Vincent Liu (CISSP) is a Managing Partner at Stach & Liu, a security consulting firm providing services to the Fortune 500, global financial institutions, and high-tech startups. In this role, he oversees firm strategy, practice development, and client matters. Vincent is ... View Full Bio

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
Partner Perspectives
What's This?
In a digital world inundated with advanced security threats, Intel Security seeks to transform how we live and work to keep our information secure. Through hardware and software development, Intel Security delivers robust solutions that integrate security into every layer of every digital device. In combining the security expertise of McAfee with the innovation, performance, and trust of Intel, this vision becomes a reality.

As we rely on technology to enhance our everyday and business life, we must too consider the security of the intellectual property and confidential data that is housed on these devices. As we increase the number of devices we use, we increase the number of gateways and opportunity for security threats. Intel Security takes the “security connected” approach to ensure that every device is secure, and that all security solutions are seamlessly integrated.
Featured Writers
White Papers
Cartoon
Current Issue
Dark Reading's October Tech Digest
Fast data analysis can stymie attacks and strengthen enterprise security. Does your team have the data smarts?
Flash Poll
Title Partner’s Role in Perimeter Security
Title Partner’s Role in Perimeter Security
Considering how prevalent third-party attacks are, we need to ask hard questions about how partners and suppliers are safeguarding systems and data.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2012-2413
Published: 2014-10-20
Cross-site scripting (XSS) vulnerability in the ja_purity template for Joomla! 1.5.26 and earlier allows remote attackers to inject arbitrary web script or HTML via the Mod* cookie parameter to html/modules.php.

CVE-2012-5244
Published: 2014-10-20
Multiple SQL injection vulnerabilities in Banana Dance B.2.6 and earlier allow remote attackers to execute arbitrary SQL commands via the (1) return, (2) display, (3) table, or (4) search parameter to functions/suggest.php; (5) the id parameter to functions/widgets.php, (6) the category parameter to...

CVE-2012-5694
Published: 2014-10-20
Multiple SQL injection vulnerabilities in Bulb Security Smartphone Pentest Framework (SPF) before 0.1.3 allow remote attackers to execute arbitrary SQL commands via the (1) agentPhNo, (2) controlPhNo, (3) agentURLPath, (4) agentControlKey, or (5) platformDD1 parameter to frameworkgui/attach2Agents.p...

CVE-2012-5695
Published: 2014-10-20
Multiple cross-site request forgery (CSRF) vulnerabilities in Bulb Security Smartphone Pentest Framework (SPF) 0.1.2 through 0.1.4 allow remote attackers to hijack the authentication of administrators for requests that conduct (1) shell metacharacter or (2) SQL injection attacks or (3) send an SMS m...

CVE-2012-5696
Published: 2014-10-20
Bulb Security Smartphone Pentest Framework (SPF) before 0.1.3 does not properly restrict access to frameworkgui/config, which allows remote attackers to obtain the plaintext database password via a direct request.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Follow Dark Reading editors into the field as they talk with noted experts from the security world.