System and Web Security Agent Method for Certificate Authority Reputation Enforcement

Abstract
Network security administrators are enabled with their customizable certificate authority reputation policy store which is informed by an independent certificate authority reputation server. The custom policy store overrides trusted root certificate stores accessible to an operating system web networking layer or to a third party browser. Importing revocation lists or updating browsers or operating system is made redundant. Proactive remediation is enabled to delete or disable root certificates in trusted operating system root certificate stores or in trusted browser root certificate stores by a web security agent installed at distributed endpoints. This removes the need for additional hardware or synchronous remote access over the protected endpoints.
Description
RELATED APPLICATIONS

Proxy Apparatus for Certificate Authority Reputation Enforcement in the Middle Z-PTNTR201122 ______ filed ______


BACKGROUND
Conventional Transport Level Security

Transport Layer Security (TLS) is the most widely deployed protocol for securing communications in a non-secure environment, such as on the World Wide Web. The TLS protocol is used by most E-commerce and financial web sites, and is signified by the security lock icon that appears at the bottom of a web browser whenever TLS is activated. TLS guarantees privacy and authenticity of information exchanged between a web server and a web browser.



FIG. 1 is a block diagram that shows two standard network architectures 100a and 100b, a web server 104, a plurality of client web browsers 106, and a network 108. In some cases the architecture includes a Proxy 102 which may include content processing capabilities, such as the content filters, web caches and content transformation engines described. Although proxy 102 is depicted as including the content processing capabilities, it will be appreciated by those of ordinary skill in the art that such processing may occur in separate modules or devices such as the client endpoints which contain each client browser. Browsers may be built-in components of operating systems or third party software components.


When using the TLS protocol, a TLS session between a web server and a web browser occurs in two phases, an initial handshake phase and an application data phase. Regarding the initial handshake phase, when a web browser first connects to a web server using TLS, the browser and server execute the TLS handshake protocol. This execution generates TLS session keys, including a TLS session encryption key and a TLS session integrity key. These keys are known to the web server and the web browser, but are not known to any other devices or systems.


Once TLS session keys are established, the browser and server begin exchanging data in the application data phase. The data is encrypted using the TLS session encryption key and protected from tampering using the TLS session integrity key. When the browser and server are done exchanging data, the connection between them is closed.


The steps of the TLS initial handshake protocol between a client and a server provide context for the present invention, and are briefly described next. In describing the main steps of the initial handshake protocol, as an example, suppose the client is issuing a TLS request for the URL: https://www.xyz.com/first.html. The TLS handshake protocol begins with the client sending the server a client-hello message. The server then responds with a server-hello message. The client-hello and server-hello are used to establish the security capabilities between the client and server. If the server is to be authenticated, as it is for the present invention, the server then sends its public key server certificate. The server certificate binds the server's public-key to the server name. For example, when accessing the URL http://www.xyz.com/first.html, the server sends a certificate that identifies the server as www.xyz.com. The server certificate contains information that identifies the certificate format and name of the Certificate Authority (CA) issuing the certificate, and also contains two fields of particular interest: the server's public-key; and, the server's common name. The common name is set to the domain name of the server, which is www.xyz.com. When the client receives the server certificate it verifies (using a trusted root certificate store of the operating system or of the browser) that: the certificate is properly signed by a known Certificate Authority (such as VeriSign); and, the common name inside the certificate matches the domain name in the URL requested by the client. When requesting the URL http://www.xyz.com/first.html, the client verifies that the common name inside the certificate is www.xyz.com. If either of these tests fails, the client presents an error message to the user. The server may also request that the client be authenticated, in which case the client sends its public key client certificate. Once the client has the server's certificate (and if requested, the server has the client's certificate) the server and browser carry out a key exchange to establish the session encryption key and session integrity key. The TLS specification is documented in more detail in RFC 2246, “The TLS Protocol, Version 1.0”.


It is known that at least one fraudulent digital certificate has been issued from a root certificate authority. This was undetected for nearly two months.


Even though it is possible to revoke such a digital certificate, it still potentially affects Internet users attempting to access websites belonging to the legitimate certificate owner. A fraudulent certificate may be used to spoof Web content, perform phishing attacks, or perform man-in-the-middle attacks against end users.


Unfortunately, these trusted certificate authorities can get hacked in the modern day and the response requires removing a trusted root certificate from the list of trusted root certificates and rereleasing of operating systems updates, browsers, and other applications and further requires instant installation by every user. All too often however, users do not know what to do when they encounter warnings and bypass them.


Although MSFT etc have started to remove a revoked certificate or a deprecated certificate authority, they can not do so automatically for all of their products. For example Win XP and prior OS will require an update.


But of course users of archaic products are by definition reluctant to install updates. The revoked certificate serial numbers are published in a Certificate Revocation List (CRL), which can be manually imported and consumed on most platforms; on Windows via certmgr.msc, on OSX via KeyChain, or directly into some browsers, like Firefox.


Enabling certificate revocation checking in each browser has in the past been suggested to users to benefit from past and future revocation information. But, as installed by updates or received from the manufacturer, neither Internet Explorer 8 nor Firefox have certificate revocation options set to safe defaults. Internet Explorer 8 has server certificate revocation checking off by default and Firefox only has Online Certificate Status Protocol (OCSP) revocation enabled. Microsoft has changed the default in Internet Explorer 9 to have server certificate revocation checking enabled by default. This leaves many systems vulnerable.


What is needed is a better, easier, and more proactive method to protect our clients from uncontrolled trusted certificates and to more quickly respond to hacks on certificate authorities than conventional best practices.





BRIEF DESCRIPTION OF FIGURES

The appended claims set forth the features of the invention with particularity. The invention, together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:



FIG. 1 shows a block diagram of typical network architectures;



FIG. 2 is a block diagram of a hardware architecture providing structural elements;



FIG. 3 is a block diagram of interconnected circuits of an exemplary embodiment of an apparatus;



FIG. 4 is a block diagram of interconnected circuits of an other exemplary embodiment of the apparatus; and



FIG. 5 is a flow diagram of a method.





SUMMARY OF THE INVENTION

The inventors have devised a method to respond quickly to hacks on certificate authorities in order to protect a plurality of service clients.


The concept is that we, at Barracuda Central, will maintain our own reputation databases on public Certificate Authorities. We will also expose to customers to specify custom policy based on their own trust of public Certificate Authorities and even their own private certificate servers, such as their Microsoft Certificate Servers or other third party products. The resulting policy stores are accessible to either a proxy or to a Web Security Agent installed at each endpoint.


DETAILED DISCLOSURE OF EMBODIMENTS OF THE INVENTION

An aspect of the invention is an apparatus disposed between a website having a certificate signed by a certificate authority and an endpoint which requests a TLS connection to the website. The apparatus is comprised of circuits which may be embodied as one or more processors configured by software program products encoded in a non-transitory computer readable medium. An aspect of the invention is the computer executed method steps for receiving, transforming, and transmitting electronic signals in a network attached apparatus.


One aspect of this invention is an apparatus to enforce trust policy for certificate authorities comprising:

    • a (Barracuda) certificate authority reputation server;
    • a certificate authority reputation custom policy store coupled to the ca reputation server, and a web security agent circuit
    • the web security agent circuit is coupled to the custom policy store and further coupled to a operating system web networking layer circuit within an endpoint; wherein the apparatus is communicatively disposed between a browser and a website which presents a certificate signed by a certificate authority in response to a request from the endpoint.



FIG. 2 is a block diagram of a suitable hardware architecture for supporting the web security agent, in accordance with one aspect of the present invention. The hardware architecture 900 includes a central processing unit (CPU) 972, a persistent storage device 974 such as a hard disk, a transient storage device 976 such as random access memory (RAM), a network I/O device 978, and a certificate authority reputation policy store 980 all bi-directionally coupled via a databus 982. It is understood that a web security agent circuit may be tangibly embodied as a processor configured by a software program product encoded on non-transitory storage and installed at a level of privileged access to other resources.



FIG. 4 illustrates one exemplary network environment within which the claimed system and method operates. Included are the things that are “hackable.” These include the CA 210, the OS trusted root certificate store 230 and the browser trusted root certificate store 250. Also suggested at the top is an exemplary destination website 310 which presents a certificate signed by the CA 210.


What we are putting between the destination website 310 and the browsers 440450 and other applications 460 is a multi-tiered security system 600, including a web security agent 620, a mechanism for customers to set their own custom policy for certificate authorities 620 and a Barracuda CA reputation layer 610. The operating system web networking layer circuit 420 of an endpoint 400 is further coupled to an operating system root certificate store 230, and at least one of an operating system browser 440 and an other application 460 using port 80, 443. The web security agent protects the endpoint from a fraudulent certificate presented by a website 310 even when no certificate revocation list has been received and before the OS trusted root certificate store as been amended with an operating system update. A certificate authority reputation server 610 receives a notification of certificate revocation or a lost of confidence in a specified certificate authority. The server amends a certificate authority reputation custom policy store 620 with this notification which is immediately available to the web security agent 650.


When the web security agent determines that a certificate authority is no longer acceptable to the custom policy store it deletes or disables the root certificate for that certificate authority whereever it has permission or requests permission from the operator administrator to “clean” the certificate store.


When the web security agent determines that a connection is being made with a website whose certificate or certificate authority has a reputation issue it can take one or more of the following proactive actions.


In an embodiment the Security Agent circuit is further coupled to a operating system web networking layer circuit 420 of an endpoint 400 wherein the operating system web networking layer circuit may be further coupled to an operating system root certificate store 230, and at least one of an operating system browser 440 and an other application 460 using port 80, 443.


In an embodiment the Security Agent circuit is further coupled to a third party browser circuit 450 of an endpoint wherein the third party browser circuit is further coupled to browser trusted root certificate store 250.


In an embodiment, a Security Agent circuit may be a processor within the endpoint configured to read a trusted root certificate store, read a certificate authority reputation custom policy store, and determine that certificate may not be acceptable. In an embodiment, a Security Agent circuit, with sufficient privileges, may delete or disable a certificate from the operating system root certificate store. In an embodiment, a properly authorized Security Agent may delete or disable a browser trusted root certificate store. This can be describe as cleaning a trusted root certificate store. In an embodiment the Security Agent requires an affirmative permission from a user or administrator to “clean” a trusted root certificate store. In an embodiment the Security Agent is installed in the endpoint with sufficient privileges to read and write in the operating system web networking layer. Thus the Security Agent is logically within a secure zone with the certificate authority reputation server and the certificate authority reputation custom policy store even though physically it is separate and located within each endpoint apparatus.


An other aspect of the invention is a method for operating a (barracuda web) Security Agent circuit coupled to an operating system web networking layer comprising:

    • reading a certificate authority reputation custom policy store, and
    • cleaning at least one local trusted root certificate store.


An other aspect of the invention is a method for operating a (barracuda web) Security Agent circuit coupled to a third party browser comprising:

    • reading a certificate authority reputation custom policy store, and
    • cleaning at least one local trusted root certificate store.


An other aspect of the invention is a method for operating a (barracuda web) Security Agent circuit coupled to an endpoint comprising:

    • receiving certificate authority signed certificate presented by a website,
    • reading a certificate authority reputation custom policy store and providing a message to an endpoint without completing the connection to the website. In an embodiment, the method is redirecting the browser to a webpage that states a policy or provides an explanation for the redirection away from the desired website.


In an embodiment, the message is a block message and further requests to or responses from the website are blocked.


In an embodiment, the message is a warning message and further requests to or responses from the website are enabled after affirmative override. In an embodiment, the webpages are rewritten before they are delivered to the browser. This may include adding a background layer with additional warning. This may include disabling form fields that relate to a phishing attack. This may include displaying the content within a window accompanied by additional cautionary messages. Content may be permitted in only one direction from or to a website presenting a questionable certificate. Binary files and scripts may be rewritten to not be executable within the endpoint. The TLS connection may be replaced with a man-in-the-middle tandem connection which allows filtering and rewriting of content uploaded to or downloaded from a website with a certificate reputation issue.


An other aspect of the invention is a method 800 in FIG. 5 for operating a system and web security agent method for Certificate Authority Reputation Enforcement comprising:

    • receiving an update to a certificate authority reputation server of fraudulent certificate generation at a certificate authority 810,
    • configuring a certificate authority reputation custom policy store with revised policies 820,
    • receiving a certificate presented by a website 830;
    • determining 840 that the certificate presented by the website is signed by a certificate authority has been deprecated in the custom policy store;
    • cleaning a trusted root CA store for an operating system or a browser 850, and
    • manipulating a TLS connection to the website 870. Manipulating may mean simply blocking the connection, decrypting and reencrypting after processing the content, redirecting to a different uri, removing or inserting additional content, scrambling user information that may subject to a phishing attack, or rewriting the upload or download before delivery.


Through our own suite of products, we can enforce an even more restrictive set of reputation as is natively supported by their own endpoints (e.g., Windows operating system and Internet Explorer, Mac OS X and Safari, Mozilla Firefox, Google Chrome, etc.), as well as any applications or application frameworks (such as Java, PHP or any other framework that utilizes its own SSL handling) that rely on the operating system's network services layers.


We can do this at multiple levels, including through:

    • CA reputation server 610;
    • Custom Policy Store 620 adapted to each network's requirements; and
    • Client agent 650. (Barracuda Web Security Agent.) With this client agent, we can enforce policy at the client, independent of browser or OS, at the network level and simply block, log, redirect, or rewrite traffic independent of the what the browser or OS trust. We can also mitigate out-of-date entries on the client that might otherwise require proper access to certificate revocation lists or even updates from the OS or browser vendor.


Of course, this technology not only protects against hacks on certificate authorities. It can also protect against hacks on the endpoints that corrupt the trusted root certificate store, such as malware that might add entries to the trusted root certificates list, to facilitate trust relationships with invalid stores.


MEANS, EMBODIMENTS, AND STRUCTURES

Embodiments of the present invention may be practiced with various computer system configurations including hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.


With the above embodiments in mind, it should be understood that the invention can employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated.


Any of the operations described herein that form part of the invention are useful machine operations. The invention also related to a device or an apparatus for performing these operations. The apparatus can be specially constructed for the required purpose, or the apparatus can be a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general-purpose machines can be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.


The invention can also be embodied as computer readable code on a non-transitory computer readable medium. The computer readable medium is any data storage device that can store data, which can thereafter be read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes, and other optical and non-optical data storage devices. The computer readable medium can also be distributed over a network-coupled computer system so that the computer readable code is stored and executed in a distributed fashion. Within this application, references to a computer readable medium mean any of well-known non-transitory tangible media.


Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications can be practiced within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.


CONCLUSION

The invention is easily distinguished from conventional systems because of the following.


The security agent can enforce trust policy by rewriting, redirecting, blocking or logging traffic before it even hits the browser or OS Web networking layer.


The advantage of a local agent is that it also has the capability of mitigating problems in hacked or outdated OS or browser root certificate stores.


Again, the advantage here is fast response times, independent of the ability to launch certificate revocation lists or waiting for OS or browser updates. Policies can take effect immediately for all Web traffic on any platforms protected by the proxy or with the Web agent installed. There are also a number of limitations that provide additional local control to management, including the ability for organizations to set policy without rolling out their own certificate authorities, locked down desktops, etc.

Claims
  • 1. An apparatus to enforce trust policy for certificate authorities comprising: a certificate authority reputation server;a certificate authority reputation custom policy store coupled to the ca reputation server, anda web security agent circuit
  • 2. The apparatus of claim 2 wherein the Security Agent circuit is further coupled to a operating system web networking layer circuit of an endpoint wherein the operating system web networking layer circuit may be further coupled to an operating system root certificate store, and at least one of an operating system browser and an other application using port 80, 443.
  • 3. The apparatus of claim 2 wherein the Security Agent circuit is further coupled to a third party browser circuit of and endpoint wherein the third party browser circuit is further coupled to browser trusted root certificate store.
  • 4. A method for operating a (barracuda web) Security Agent circuit coupled to an operating system web networking layer comprising: reading a certificate authority reputation custom policy store, andcleaning at least one local trusted root certificate store.
  • 5. A method for operating a (barracuda web) Security Agent circuit coupled to a third party browser comprising: reading a certificate authority reputation custom policy store, andcleaning at least one local trusted root certificate store.
  • 6. A method for operating a (barracuda web) Security Agent circuit coupled to an endpoint comprising: receiving certificate authority signed certificate presented by a website,reading a certificate authority reputation custom policy store andproviding a message to an endpoint without completing the connection to the website.
  • 7. The method of claim 6 wherein the message is a block message and further requests to or responses from the website are blocked.
  • 8. The method of claim 6 wherein the message is a warning message and further requests to or responses from the website are enabled after affirmative override.
  • 9. A method for operating a Certificate Authority Reputation Enforcement apparatus comprising receiving an update to a barracuda certificate authority reputation server of fraudulent certificate generation at a certificate authority,configuring a certificate authority reputation custom policy store with revised policies,receiving a request for TLS connection to a website from an endpoint wherein the endpoint is coupled to an operating system trusted root certificate store or to a browser trusted root certificate store;determining that the certificate presented by the website has been revoked or that the certificate authority has been deprecated in the custom policy store; andblocking a TLS connection to the website.