By Jake Edge
March 23, 2011
Certificate authorities (CAs) exist to issue certificates that protect
users' encrypted traffic
when they use SSL/TLS (i.e. HTTPS) for web browsing—at least
ostensibly—but
the CA system has been
a source of general unhappiness for quite some time. The discovery of fraudulent certificates in the
wild can only lead to more calls for changes to the CA model, and for some,
that model is irretrievably broken.
A Tor
project blog posting by Jacob Appelbaum (aka ioerror) has the most
detailed look at this particular incident. Basically, sometime around March
15, a CA (evidently
UserTrust, which is part
of Comodo) noticed that there were
certificates signed by the CA, but not properly issued by that CA, floating
around the internet. On March 15, the CA issued
certificate revocations for nine different certificates.
Man in the middle
Part of the problem, though, is that certificate
revocation doesn't really work, as browsers are generally not checking
the revocation status of certificates. [Update: As pointed out in the comments, browsers do check the revocation status, but if that check fails, most do not give the user any indication of that.] In addition, many browsers do not
keep track of the certificates that they have received and alert users when
they change. So, a fraudulent, but correctly signed, certificate offered
by a man-in-the-middle (MITM)
attacker will be accepted by most browsers with no indication to the user
of any problem.
MITM attacks have traditionally been considered difficult to pull off
because they require control of some intermediate node in the path between
the user and the web site. The pervasiveness of wireless networking has
reduced that barrier considerably. Any access point, even one using
encrypted communications (e.g. WPA), could be subverted—or
intentionally configured—to perform MITM attacks. Public WiFi
hotspots would be a perfect location for an attacker to set up a fraudulent
certificate for, say, Paypal, and sniff the credentials of any user that
connected to the service. Offering "Free Public
WiFi" in crowded places like airports might be another route to setting
up an MITM attack.
So far, only addons.mozilla.org
(the site for Firefox extensions) has been identified as a victim site, one
for which a fraudulent certificate has been issued. According to Appelbaum,
there are seven uniquely named certificates floating around (one of which
is issued to an invalid hostname: "global trustee"). He
speculates that "Facebook, Skype, Google, Microsoft, Mozilla, and
others are worthy of targeting". But Comodo has not released any
information about which hostnames were targeted, at least yet. It was
Mozilla who disclosed that addons.mozilla.org was a target.
As pointed out by LWN reader sumC,
Microsoft has put out an advisory
that lists the affected domains: login.live.com, mail.google.com,
www.google.com, login.yahoo.com (3 certificates), login.skype.com, and
addons.mozilla.org.
Alerted by browser code changes
Since browsers do not generally check the revocation status of
certificates, some other mechanism must be used to reject these bad
certificates. A change
to the Chromium browser code on March 16 is how Appelbaum was first
alerted to the problem. That change added
a new X509Certificate::IsBlacklisted() function for Chromium,
which listed the serial numbers for multiple certificates any of which
would cause the function to return "true". Some twelve hours later, Google
issued
a Chrome update that "blacklists a small number of HTTPS
certificates".
At around the same time, Mozilla also patched
Firefox with a similar, but not exactly the same, list of serial
numbers. This was clearly an indication that major browser vendors had been
alerted to a problem. Appelbaum started digging further, looking at the
published certificate revocation lists (CRLs) using his crlwatch program. Crlwatch
used the EFF's SSL
Observatory to find a canonical list of CRLs, then fetched them to look
for a match to any of the serial numbers blacklisted by Chromium or Mozilla.
He found matches for all but the two test certificates that were listed,
all pointing back to UserTrust. In addition, the Mozilla patch also points
to UserTrust as the compromised CA. It means that somehow an attacker was
able to get certificates issued by UserTrust for domain names that should
not have been issued. That could happen if the signing key were
compromised or UserTrust was somehow tricked into issuing those
certificates. So far, there are no details as to how the fraudulent
certificates were created.
Disclosure issues
As Appelbaum points out, it is clear that at least some browser makers were
alerted to the problem, but certainly not all. Tor releases a "Tor Browser
Bundle" and was not advised of the problem, so the project is left
scrambling to update its browsers (though, one would guess Appelbaum's
alertness in spotting the issue will have given the project a head start).
Other, smaller browsers are likely affected by the problem as well, but are just
now hearing about it.
Appelbaum agreed to an embargo on releasing information about the problem
until the Firefox 4
release on March 22. That embargo was extended to March 23 to ensure that
Microsoft could release an IE update, but Mozilla put out its posting
on the issue on March 22, at which point Appelbaum considered the
embargo lifted and posted his own information.
The embargo is very troubling since these certificates were evidently already
out there potentially causing trouble for users; hiding their existence
doesn't help users at all. Also worrisome is that
both Google and Mozilla told Appelbaum that the CA "had done
something quite remarkable by disclosing this compromise". It seems
that other CAs may have fallen prey to the same kinds of attacks and not
disclosed that fact. So it is possible that there are other known
fraudulent certificates in the wild, presumably just listed on CRLs without
any special browser blacklisting. An attacker holding one of those
certificates must be cackling with glee.
Even for the certificates that UserTrust/Comodo alerted about, it took some
time for browsers to be updated and will take even more time before users
get and install those updates. Since we don't know how the
certificate-issuing process was subverted, we have to hope that the CA is
taking proper steps to either invalidate the signing key if it was
compromised, or to change its process so things like this can't happen
again. It would also be good if UserTrust itself disclosed exactly which domain
names were affected, though we may already have that information via
Microsoft's advisory.
Browser certificate handling
It's easy to see that there is a problem with certificate handling in
browsers, but it is less clear what the proper solution is. Keeping track
of the certificate that is sent when a domain is first encountered and
comparing it on subsequent visits would be useful, but the browser makers
are likely to be uncomfortable with how they present any changes to users.
Certificates expire and are changed for other legitimate reasons, so it may
be difficult for users to distinguish a legitimate certificate change from
one that may be happening due to an MITM attack.
The browsers could also default to using the CRL or online certificate
status protocol (OCSP) queries to ensure that the certificates are
still valid. That requires that the CA be available to answer those
queries every time a certificate is sent by a site, as any downtime will
result in web sites becoming unavailable. Adam Langley offers the idea of
short-lived certificates in his "Revocation doesn't work" blog posting that
was linked above. There are other possible solutions as well, some of
which Appelbaum mentions toward the end of his post.
The real problem, though, may be that the CA model doesn't work well on a
(largely) decentralized network like the internet. The problems range from
incidents like this one to worries about possibly rogue CAs. There are other ideas
for handling certificates in a non-CA world (or one where CAs have much
reduced authority), but there is a rather large stumbling block to changing
the current system: the enormous economic interest that the CAs have in
keeping things more or less as they are. CAs derive a huge amount of money
from their semi-monopoly on the issuing of certificates, and one could
expect that any threat to that income stream would be met with strong
resistance. But cases like this one may start to make it clear that changes
are required.
(
Log in to post comments)