Embodiments describe apparatuses, systems, and methods for analyzing digital certificates. A system may scan the internet to identify all publicly available digital certificates. The system may further determine external information for individual digital certificates that is not found within the digital certificate. The system may store the external information and internal information that is found within the digital certificates. The system may run one or more queries on the stored information to identify one or more vulnerable digital certificates among a set of digital certificates associated with a client. For example, the system may identify differences between the internal information and/or external information among the digital certificates of the set and/or may compare the internal information and/or external information for the digital certificates of the set to expected information. Other embodiments may be described and claimed.

Patent
   10771260
Priority
Jun 16 2015
Filed
Jun 16 2016
Issued
Sep 08 2020
Expiry
Jun 16 2036
Assg.orig
Entity
Small
0
18
currently ok
1. A computer-implemented method comprising:
identifying a plurality of digital certificates, individual digital certificates of the plurality of digital certificates including respective internal information;
determining external information associated with the individual digital certificates, the external information not contained within the respective digital certificate, wherein the external information at least includes a configuration of a server on which an individual digital certificate is installed, and specific data regarding a cipher suite that is used for the individual digital certificates, wherein the external information is determined at different points in time;
storing the internal information and the external information for the plurality of digital certificates in a database;
running a query against the database to identify one or more vulnerable digital certificates associated with a client based on the internal information and the external information, wherein the query is to identify a plurality of servers or locations where a same digital certificate has been installed, and the query includes determining whether the external information has changed between the different points in time; and
generating a removal request to be sent to a certificate authority to request removal of the one or more vulnerable digital certificates.
12. One or more non-transitory computer-readable media having instructions, stored thereon, that when executed by one or more processors of a computing system cause the computing system to:
identify a plurality of digital certificates, individual digital certificates of the plurality of digital certificates including respective internal information;
determine external information associated with the individual digital certificates, the external information not contained within the respective digital certificate, wherein the external information at least includes a configuration of a server on which an individual digital certificate is installed, and specific data regarding a cipher suite that is used for the individual digital certificates, wherein the external information is determined at different points in time;
store the internal information and the external information for the plurality of digital certificates;
identify a set of digital certificates, from the plurality of digital certificates based on the stored internal information or the external information in the database, that are associated with a client;
identify differences in the stored external information between respective individual digital certificates of the set of digital certificates wherein the differences include a determination whether the stored external information has changed between the different points in time;
identify a plurality of servers or locations where a same digital certificate has been installed; and
generate a removal request to be sent to a certificate authority to request removal of one or more vulnerable digital certificates based on the differences in the stored external information.
17. One or more non-transitory computer-readable media having instructions, stored thereon, that when executed by one or more processors of a computing system cause the computing system to:
identify a plurality of digital certificates, individual digital certificates of the plurality of digital certificates including respective internal information;
determine external information associated with the individual digital certificates, the external information not contained within the respective digital certificate, wherein the external information at least includes a configuration of a server on which an individual digital certificate is installed, and specific data regarding a cipher suite that is used for the individual digital certificates, wherein the external information is determined at different points in time;
store the internal information and the external information for the plurality of digital certificates;
identify a set of digital certificates, from the plurality of digital certificates based on the stored internal information or the external information in the database, that are associated with a client;
obtain expected information to indicate expected values for the external information of the set of digital certificates;
compare the expected information to the stored external information to determine whether the expected information is different than the external information for one or more digital certificates of the set of digital certificates wherein differences include a determination whether the external information has changed between the different points in time;
identify a plurality of servers or locations where a same digital certificate has been installed; and
generate a removal request to be sent to a certificate authority to request removal of one or more vulnerable digital certificates based on the differences in the external information.
2. The method of claim 1, further comprising identifying the one or more vulnerable digital certificates based on one or more differences between the external information of different digital certificates among a set of digital certificates that are associated with the client.
3. The method of claim 1, wherein the external information includes one or more of:
geolocation information associated with a physical location where the digital certificate is stored;
a Domain Name system (DNS) name of the host server;
reverse DNS data to indicate an owner of the host server;
an Internet Protocol (IP) address of the host server;
whether the host server allows compression to be used;
a length of a validity period of the digital certificate; or
timing information to indicate a date on which the determining the external information was performed.
4. The method of claim 1, wherein the external information includes geolocation information associated with a physical location where the digital certificate is stored, and wherein the running the query is to identify differences in the physical locations of different digital certificates among a set of digital certificates associated with the client.
5. The method of claim 4, wherein the running the query is to identify digital certificates of the set of digital certificates that are located outside of a geographical boundary to identify the one or more vulnerable digital certificates.
6. The method of claim 4, further comprising generating a map to indicate the physical location of the set of digital certificates.
7. The method of claim 1, wherein the plurality of digital certificates includes all digital certificates that are accessible via addressable IP address space.
8. The method of claim 1, wherein running the query includes identifying one or more digital certificates having an associated company name or domain name that is similar to a respective company name or domain name of the client.
9. The method of claim 1, wherein the internal information includes one or more of:
a company name associated with the digital certificate;
a domain name associated with the digital certificate;
an expiration date of the digital certificate;
a certificate serial number;
a subject key identifier; or
an authority key identifier.
10. The method of claim 1, wherein the one or more vulnerable digital certificates include one or more non-production digital certificates that were not intended to be publicly used.
11. The method of claim 1, further comprising displaying, to a user, the external information associated with a set of digital certificates that are associated with the client.
13. The one or more media of claim 12, wherein the external information includes one or more of:
geolocation information associated with a physical location where the digital certificate is stored;
a Domain Name system (DNS) name of the host server;
reverse DNS data to indicate an owner of the host server;
an Internet Protocol (IP) address of the host server;
whether the host server allows compression to be used;
a length of a validity period of the digital certificate; or
timing information to indicate a date on which the determining the external information was performed.
14. The one or more media of claim 12, wherein the external information includes geolocation information associated with a physical location where the respective digital certificate is stored, and wherein the instructions, when executed, further cause the system to display a map to indicate the physical location of the digital certificates of the set of digital certificates.
15. The one or more media of claim 12, wherein the external information includes geolocation information associated with a physical location where the respective digital certificate is stored, and wherein the instructions, when executed, further cause the system to identify one or more digital certificates of the set of digital certificates that are located outside a predefined geographical boundary.
16. The one or more media of claim 12, wherein the plurality of digital certificates includes all publicly accessible digital certificates.
18. The one or more media of claim 17, wherein the instructions, when executed, further cause the computing system to, if the expected information is different than the external information for one or more digital certificates of the set of digital certificates, identify the one or more digital certificates to the user.
19. The one or more media of claim 17, wherein the expected information includes an expected geographical boundary, and wherein the external information includes geolocation information to indicate a location where the individual digital certificates of the set of digital certificates.
20. The one or more media of claim 17, wherein the external information includes one or more of:
a Domain Name system (DNS) name of the host server;
reverse DNS data to indicate an owner of the host server;
an Internet Protocol (IP) address of the host server; or
whether the host server uses compression.

The present application claims priority to U.S. Provisional Patent Application No. 62/180,479 filed on Jun. 16, 2015, the disclosure of which is hereby incorporated by reference in its entirety for all purposes except for those sections, if any, that are inconsistent with this specification.

Embodiments disclosed herein generally relate to computer security, and more particularly, to digital certificate security.

Digital certificates may include Secure Socket Layer (SSL) certificates, Transport Layer Security (TLS) certificates, and all digital certificates adhering to the X.509 standard, among others. Digital certificates have been used to encrypt data streams between computing systems since the early inception of the public internet. The use of digital certificates is intended to ensure that the data transferred between these systems is secure and safe from external eavesdropping and misuse. The use of certificates has increased dramatically as business and individuals embrace the internet as a way to transact business and share information.

Embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings.

FIG. 1 is a flow diagram illustrating a process of data acquisition and data flow for acquiring and analyzing data associated with digital certificates, in accordance with various embodiments.

FIG. 2 is a pie chart showing the percentage of an organization's digital certificates that are signed by a particular signature algorithm, in accordance with various embodiments.

FIG. 3 is a graph illustrating the amount of time until expiration of digital certificates associated with a client, in accordance with various embodiments.

FIG. 4 is a bar graph that shows the origin of the digital certificates associated with a client, in accordance with various embodiments.

FIG. 5 illustrates a navigation bar that enables a user to filter query results by one or more categories, in accordance with various embodiments.

FIG. 6 is shows a map that may be generated and/or displayed by the system to indicate the geographic locations of digital certificates associated with a client, in accordance with various embodiments.

FIG. 7 shows another map that shows a close up view of a region of the map of FIG. 6 and shows more detailed information on the location of the digital certificates in the region, in accordance with various embodiments.

FIG. 8 illustrates example data, including internal information and external information, that the system may determine for individual digital certificates, in accordance with various embodiments.

FIG. 9 illustrates an example user interface for the system, in accordance with various embodiments.

FIG. 10 illustrates an example map view of the interface of FIG. 9, in accordance with various embodiments.

FIG. 11 illustrates another example map view of the interface of FIG. 9, in accordance with various embodiments.

Disclosed herein are systems and methods for digital certificate security, the use of which may allow companies to safeguard their organization by looking at their corporate security assets from a global perspective. This unique perspective may enable for prompt identification and correction of vulnerabilities and anomalies in various embodiments. When weaknesses are detected by the systems disclosed herein, information on or automatic correction of those flaws may be provided before an attacker can exploit them.

As noted above, the use of certificates has increased dramatically with the growth of the internet. However, malicious activities have simultaneously increased on the internet as a way to steal intellectual property, financial, and personal information, and to disrupt business and government. This problem has been present ever since certificates were introduced in the 1990s; however it has been exacerbated by the explosion in certificate usage over the last few years, estimated at 30% year over year growth.

The rapid expansion of certificate use within an organization has made it hard if not impossible for the organization to monitor and ensure the security of the critical encryption assets. This problem is compounded when products such as firewalls, spam filters, computing hardware and software automatically create “self-signed” certificates without an administrator's knowledge. The proliferation of, and the nearly “invisible” nature of certificates, has created an environment that allows data breaches to go undetected for many months. In particular, administrators typically simply install a certificate on a web server and trust that it will work and there will be no problems with the certificate. Certificates themselves generate no logs, they create no warnings for the administrator, and they do not provide diagnostics when there is a breach or outage. These issues make them nearly “invisible” to the administrator and to the web user alike. Expiration of the certificate may be the only time a certificate becomes visible (e.g., when a system ceases to work or a web browser provides a warning of an unsecured connection). Attackers are also adjusting their approach to take advantage of this disarray in the enterprise. Most organizations have thousands of certificates that they need to manage.

The existence of a certificate management problem often manifests itself in two ways. The first is data breaches. Malware, such as Stuxnet, Duqu, and Flame have been based on digital certificate weaknesses. These are some of the first and most well-known exploits which serve as templates for many of the attacks that are occurring today. Internet cyber-criminals have been taking advantage of these vulnerabilities and have actively exploiting them for monetary gain, embarrassment, or to cripple organizations. The second is system outages. Many corporations become painfully aware of this problem when a system outage is experienced. Expired certificates prevent server to server communication and web browsers provide a security warning to end users if they visit a website with an expired certificate. Studies have shown that most users ignore the warning and click through to access the web site, a behavior that exposes the user, and corporate resources accessed by the user, to attack.

These problems are symptomatic of an organization's inability to properly control and manage its certificates. The challenges continue to compound as certificates are used for typical web traffic, email systems, Wi-Fi, Virtual Private Networks (VPN) and many other uses.

The conventional approach to addressing this problem is to record certificates in a spreadsheet or database. All too often, the collection of this information is fragmented and is not stored in a central repository or is passed on by word-of-mouth. There are innumerable failure points in this process, including the following:

Conventionally, an organization would need to manually check and verify certificates and the servers on which they reside, manually check systems for new vulnerabilities as they are discovered, continually stay abreast of new threats, and determine how to fortify their environment against those exposures.

The manual approach may be inadequate even for small organizations with limited certificates. For example, many of the recent data breaches have been caused by cyber-gangs spoofing certificates. There is no traditional protection from such malicious attack as it doesn't rely on an organization forgetting to manage a certificate, but can be accomplished by a persistent attacker. Certificate spoofs occur when an attacking organization is either able to create a hash collision (for example, the famous MD5 collision that was created using a cluster of gaming systems), attack the server infrastructure and plant their own certificates, or create certificates through legitimate authorities which intrudes on an organization's naming conventions (discussed in further detail below).

Consequently, the manual approach to certificate management includes many failure points, including simple mistakes, lack of knowledge of industry security requirements, internal policy, any regulating governance, or even mistakes in the certificate installation process. Further, humans may purposely generate weak or out-of-compliance certificates to create a backdoor for themselves or others.

Companies that act as a Certificate Authority (CA) are in the business of issuing these digital certificates amidst a very competitive market. Some CAs provide software or services to monitor a company's network, cataloging the discovered certificates issued by all CAs with the objective of receiving certificate renewal revenue when a certificate is due for expiration. They send a renewal notice to the customer of the other CA and offer to renew the certificate, often at a discount, to capture certificate renewal revenue.

Some services purport to enable an organization to have its SSL certificates monitored on identified portions of the organization's internal network, inside the organization's firewall. If a portion of a network is missed, oftentimes because the administrator is unaware of the portion's existence, it will not be monitored by such a service. Such services also fail to provide a perspective on relevant certificate activity outside of an organization's network, as discussed in further detail below. This outside activity may be most relevant to security. For example, a certificate that used to be within an organization's network, but is now outside of an organization's network, may be a weak link. In another example, outside certificates that encroach on an organization's name (as discussed below), may also be a vulnerability. Finding such certificates may be important to preventing a data breach.

Traditional monitoring tools and techniques fail because they focus only on the known digital certificates that may be directly owned by an organization, a view that is too narrow to capture important vulnerabilities. In particular, the traditional approach of looking “inside-out” at security hasn't worked and attackers are taking advantage of this inertia. Attackers don't want an organization's security team to look at its environment the way they do, from an external view of the infrastructure.

Various ones of the systems and methods disclosed herein actively scan, index, and catalog all publicly available certificates, including capturing and aggregating information not previously recognized as relevant to digital certificate security. Publicly available and publicly visible certificates are certificates that are available outside the firewall of the customer organization. Additionally, or alternatively, the systems and methods described herein may be used with respect to certificates that are only available within the organization's firewall.

The systems and methods described herein may isolate weak spots in certificate usage, or analyze data to present human-understandable markers of weak spots in certificate usage. The systems and methods may identify anomalies on a world-wide basis, and provide analytics on an organization's overall security posture. For example, various embodiments disclosed herein may provide a “global” view of any intrusions on a company's naming conventions or encroachment on its domain presence. These encroachments are usually evidenced by certificates which have naming conventions which are aimed at confusing an end-user and masking their true intentions of masquerading as a legitimate organization. Examples are using character substitutions, inserting a 1 (one) instead of an I, or double n's (nn) in the place of an “m.” When these substitutions are displayed in the font-limited browser address bar, they can be frequently overlooked and remain unnoticed; possibly deceiving a user into thinking they are interacting with a trusted site.

Some embodiments of the systems and methods disclosed herein identify vulnerabilities in the system hosting the certificate, a common attack vector of attackers as they create a man-in-the-middle, spoof, or other cyber-attack on areas not identified by traditional certificate monitoring. Some embodiments of the systems and methods disclosed herein may re-focus the scope of certificate monitoring to the entire internet, thereby providing an improved approach to detecting breaches.

Various ones of the embodiments disclosed herein utilize many previously unrecognized data points within the certificate environment that can be leveraged to provide a holistic approach to identifying threats and vulnerabilities. Security practitioners have conventionally looked at the certificate as though it contains all the data required to assess risk, without recognizing that there may be many additional factors that may make a system vulnerable. Additionally, the threat on certificates is an emerging threat that is evolving extremely quickly. Most organizations do not know how to, or simply are not able to react quickly enough to secure their global infrastructure. Since certificates can reside on thousands of systems across an enterprise and only one or two of those may be vulnerable, the isolation of the certificates and their systems which are at risk can be an insurmountable problem for the average enterprise.

The systems and methods disclosed herein may provide unique information and functionality that may reduce the threat of an attack. No one solution can prevent all attacks, since brute-force and luck are always a factor, but the chances of a successful attack are greatly reduced through proper certificate hygiene. The systems and methods disclosed herein may be used to identify and expose the very vulnerabilities attackers are looking to exploit before an attack occurs.

The systems and methods disclosed herein depart dramatically from conventionally approaches, at least because the disclosed systems and methods do not rely exclusively on data contained within a certificate. Rather the systems and methods include the utilization of extensive external data associated with the certificate (e.g., data about the certificate and/or the computing system that hosts the certificate). Various ones of the systems disclosed herein collect and/or store this complementary external data together with the internal data found in the certificate itself. Some of the data collected, stored, and/or analyzed by various embodiments includes:

Some embodiments of the systems disclosed herein include “back-end” systems for scanning the internet, harvesting data, manipulating that data into a usable format, and combining this data with other forms of information to enrich it with value-added details. Some embodiments of the systems disclosed herein include “front-end” systems for providing a user interface that enables the presentation of information to a user (e.g., a system administrator or security professional) and the receipt of commands from the user.

The following paragraphs identify a number of computing system components that may be included in the security systems disclosed herein, and whose operation may be described by the methods disclosed herein.

Internet Security Asset Catalog (ISAC)—

If properly set up, certificates do a good job of encrypting data; however they are not able to protect themselves. The ISAC contains the required information needed to protect certificates and the environment in which they operate. Existing technologies simply do not have features that enable the functionality delivered by ISAC. The ISAC may take the form of a database or other organized data structure system stored on one or more computer readable media (e.g., non-transitory computer readable media, such as any conventional memory device) and/or computer readable instructions stored in a computer readable media such that, when the computer readable instructions are executed by one or more processing devices of a computing device, the computing device may perform any suitable ones of the operations described below using the data stored in the database or other data structure. The ISAC may include the following features designed to protect an organization from or remediate a security weakness or data breach:

Some embodiments may additionally or alternatively use one or more geographical markers to identify non-production certificate. For example, an organization may have its development servers in a first location and its production servers in a second (different) location. The ISAC may identify a non-production certificate based on a geographical marker that indicates the certificate is stored in the first location.

FIG. 1 is a flow diagram illustrating a process 100 of data acquisition and data flow, in accordance with some embodiments. The operations of FIG. 1 may be discussed as performed by “the system,” which may be a computing system including conventional processing, data storage, network interface, and display capabilities that are specially configured to perform the operations discussed herein and to manage data and displays as discussed herein.

At 1 of the process 100, the system initiates a scan of the entire internet.

At 2 of the process 100, this scan queries each IP address on the internet (e.g., IPv4 address space) determining if it will accept a secure (e.g., SSL/TLS handshake) connection. If a secure connection is refused or is otherwise unavailable, the system will disregard that IP address on this particular scan, but will re-query it again on the next scan interval. This scan may be performed on any desired schedule (e.g., weekly) and the time it takes may depend on the available computing resources. For example, this scan may be sped-up as desired by increasing the number of scan nodes to collect the data more rapidly. This process may yield approximately 65 Million records that are then processed through the remainder of the system.

At 3 of the process 100, all data and metadata that can be received during the communication is recorded and saved in a database for processing in the system. The data and metadata may include internal information that is found in the certificate and external information that is associated with the certificate but not directly found in the certificate. For example, a single data record for a digital certificate may be entered into the database on operation 3 with one or more data components, such as: details of the TLS handshake (such as details on the server configuration for the SSL/TLS handshake protocol; specifics on the cipher suite that can be used for the data exchange; details on how the certificate is secured through the communication between the user and the server, including the use of compression, if Online Certificate Status Protocol (OCSP) checking is enabled, if secure renegotiation is used, and if a heartbeat (heartbeat denotes if the server allows a “keep-alive” heartbeat to occur instead of requiring a renegotiation) is used within the connection; and other details on contemporary vulnerabilities (such as “heartbleed” and other attack mechanisms) are collected for use within the system). The data components may also include an actual IP address of the host on which the certificate resides. The data components may also include data on the server configuration to which the secure connection is being made. The data components may also include a receipt of the 64-bit encoded security certificate (e.g., X.509 certificate). The data components may also include the “certificate chain” if available.

At 4 of the process 100, this initial data is then aggregated in the system for additional processing.

At 5, the data that is collected in operation 3 is then enriched with additional external data, such as geospatial data. This geospatial data (e.g., latitude and longitude, textual representation of the country, state, region, city and other physical address locations, or any other suitable encoding) corresponds to the IP address of the host on which the certificate is located. This data is a “snapshot in time” detailing how many certificates were found on a specific date, where they were located, how many belong to each organization, and their relative health (security). An integral component of this data which is not native to the certificate data is the location on the globe where that certificate is found and the date on which that was collected. This data cannot be adjusted as it would obscure the geolocation of the certificate at a specific point in time. To achieve this, the geospatial data may be aggregated with the certificate data as it is processed within the system. Accordingly, the geospatial data from prior scans may be kept in the database when new geospatial data is added. This ensures that even as IP addresses are reassigned to new geographic locations, the system will know where a certificate was located on the globe and for what duration it was in that location. This bitemporal view of the data (reflecting the understanding of what we knew and the date on which we knew that item, and how that data changes with the passage of time) is important in understanding the migration of an organization's certificates over time and across the globe.

A certificate contains static Country, State, and Locale data which is generally used to store the corporate address and not the location where the certificate is installed. The certificate may be tagged in the ISAC with the geospatial data derived from the location of the IP address. If the certificate moves, the tags are updated as of the time that movement of that certificate is detected. Retrieving geospatial certificate data from the ISAC is very fast, enabling real-time mapping of the locations of thousands of certificates. This is achieved due to the pre-computed geospatial data that had been aggregated together with the certificate data.

Further, as that data has been aggregated with the certificate data, it is much more accurate as to the geolocation than if it were performed at a later time when geolocations for the certificate may have changed. Without using the ISAC, mapping would be slower (since the geolocation would have to be ascertained by looking-up the geolocation as it relates to the IP address of the host machine at query time) and less complete (as it would not allow for a query to be initiated by a geographic location (e.g., “show me all certificates that are found in San Diego, Calif., regardless of the company that owns the certificate”)). This approach provides for the first time, internet-wide geospatial analysis on the dispersion of certificates isolating countries or regions that are particularly at risk to certain types of attacks and organizations that may have strengths in one country/region and weaknesses in other countries/regions.

At 6, the 64-bit encoded certificate data is then decoded, making it human readable. This operation may be required to enable users to find relevant certificates, for the system to analyze the entire data set for aggregated information, etc.

At 7, when the data reaches this step, additional enrichment may take place to augment the already rich data with one or more additional data points, such as reverse DNS (rDNS) information, banner grab data, Alexa rankings, and other external information. Having rDNS data enables additional fact checking to determine if a certificate is a possible threat. While rDNS could be retrieved at runtime, response time would degrade if an rDNS call had to be requested for potentially thousands of certificates upon issuance of a query to the system.

At 8, all data is then verified to be correct and is human readable. Additional steps such as parsing the data to identify company names, certificate authorities, identify test and other non-production certificates may occur in this phase.

At 9, all of this data (combination of internal information and external information gathered in operation 3 and then enriched, decoded, and manipulated) is inserted into the ISAC. The ISAC may be a database. The ISAC allows for read/writes to the data so that information can be updated as information is adjusted (a certificate at a particular IP address is changed) or deleted (a certificate on an IP address is removed completely).

At 10, for speed of query execution, the ISAC is then indexed by a search engine that allows users to execute ad-hoc queries against the data set. An example of such a search engine may be SOLR (Apache Software Foundation). The purpose of this is to allow users to search for the criteria they require and see only those certificates that satisfy the components of the query instead of all certificates, or all of their company's certificates.

At 11, the system may have several user interfaces and modes of interacting with the system. The system may run one or more queries against the ISAC based on the internal information and the external information. For example, the system may run a client-specific query against the ISAC to identify one or more vulnerable digital certificates associated with a client based on the internal information and the external information, to identify differences and/or trends in the internal information and/or external information associated with the digital certificates associated with the client, and/or other queries. The queries may be run automatically by the system (e.g., periodically) or at the request/direction of a user. The results of the one or more queries may be displayed to a user of the system.

For example, the system may generate a published report (indicated as 11.1). This report may be sent to the company on a periodic basis containing a reporting of the certificates that have been found on the internet that contain their company name or are distinguished from the general certificate population in general by company identifying characteristics (e.g., IP address ranges, subsidiaries, trademark names, etc.). The report may detail some of the identified risks on their certificate population and suggests steps to correct these risk factors.

In various embodiments, the system may generate and/or display graphs and/or other visual representations to quickly identify general certificate hygiene practices and identify areas of concern (e.g., to identify one or more vulnerable digital certificates). For example, FIG. 2 is a pie chart 200 showing the percentages of an organization's certificates signed by a particular signature algorithm. The signing algorithm is one of the ways an attacker could use to try to compromise a certificate. For example, the MD5 algorithm was deprecated many years ago and is not recommended for use on any contemporary system. SHA1 is now also outdated. Thus, a pie chart like pie chart 200 that shows that only 25% of certificates are utilizing acceptable signature algorithms provides important information to an administrator.

FIG. 3 is a graph 300 to illustrate the amount of time until expiration of digital certificates for the set of digital certificates associated with the client. FIG. 4 is a bar graph 400 that shows the origin of the digital certificates associated with the client (e.g., the CA that issued the certificates and/or whether the digital certificates were self-signed).

Referring again to FIG. 1, the user interfaces and modes provided by the system may also include an interactive portal where users are able to look at the specifics of all reported certificates for their company (indicated as 11.2 in FIG. 1). In some embodiments, a user's view may be limited to only certificates reported for their company, rather than all public-facing certificates for all organizations, so as not to unduly risk the security of other organizations. The user may use the interactive portal to interact with those certificates, including but not limited to marking certificates as valid or as dangerous, making notations on those certificates and setting warning for their organization on when to be notified on vulnerabilities or risks. These modifications are written back into the system and recorded for future reference. Further, this interface may provide historical data on organizational performance over time in reducing the risk of attack over time. These measures are based on the number of certificates which have been found over time, how many of those are in or out of company defined compliance and other risk factors as defined by the company.

In some embodiments, the system may receive expected information that indicates expected values for one or more fields of the internal information and/or external information for digital certificates associated with a client, and may compare the expected values to the internal information and/or external information that was determined for the digital certificates associated with the client (e.g., as stored in the database). For example, the system may be provided with one or more company policies. The system may identify certificates that are exceptions to the company policies. The identified certificates may be flagged as vulnerable certificates and the certificates and/or associated information may be sent to the company for inspection. The company policies may include, for example, the total duration of time a certificate should be available, the hashing algorithm used, approved third party certificate authorities, and/or certificate key strength.

FIG. 5 shows a navigation bar 500 that allows users to filter their results by various categories 502. The categories 502 may include one or more of:

Referring again to FIG. 1, the user interfaces and modes provided by the system may additionally or alternatively include a geographic view (indicated as 11.3). The system may generate and/or display a map to indicate the physical location of digital certificates associated with the client. This interface may allow a user to see the geographic dispersion of certificates over the globe. This enables a company to search not just by keywords, but also to search by geographic region. They are also able to whitelist (approve) or blacklist (deny) certificates that may be found in a specific geographic region. The action of blacklisting a certificate based on geography may initiate a workflow within the system as described in the actions section of this document. Further, these actions will have the effect of ensuring that rogue certificates are eliminated and revoked through CA Certificate Revocation Lists (CRL). Due to the system interacting with the CRL's, browsers will then recognize these rogue certificates as being a security threat and show them as invalid to the user.

To quickly determine on a geographic basis if certificates should be whitelisted or blacklisted, the system may provide a function known as “geo-fencing.” In some embodiments, the system may provide “inclusive” geo-fencing. This indicates that everything within a specific geographic boundary is “safe”. Everything that is found outside of the boundary is automatically marked as a risk. The boundary can be drawn through mouse clicks on a map and can be as large or small as specified by the user. This will be most useful for a company that is regional in nature or only has operations in a relatively constrained area, so the inclusive area is denoting their safe zone.

Additionally, or alternatively, the system may provide “exclusive” geofencing, which means that a user may draw a boundary around a specific region and any digital certificates found in that region are defined to be a risk. Everything else (e.g., all digital certificates found outside the region) is accepted as valid. This is an approach that is particularly useful for a large multinational organization where they have operations in many regions/countries, but they want to mark a specific region or country as a risk. All geographic regions are inherently safe except the one that has been denoted on the map by the user.

The ISAC may also identify and present certificates that exhibit “name encroachment,” e.g., when the certificate includes a name that is substantially similar to the name of the customer organization. The certificates with a name encroachment violation may be identified, for example, by using “fuzzy” searching and character substitution, in accordance with known techniques. This will help identify when an attacking organization is attempting to create a certificate that will be part of a man-in-the-middle or a spoof of the organization in an attempt to steal data, IP, credentials, or other digital material that may cause substantial damage to the company. In some embodiments, the ISAC may present the certificates that are marked as including a name encroachment violation to the organization, and may recommend and/or execute one or more actions, as discussed elsewhere herein, based on the name encroachment violation. Additionally, the system may filter the map view to show only those certificates that have one or more violations or a certain type of violation such as a name encroachment violation.

FIG. 6 shows a map 600 that may be generated and/or displayed by the system in accordance with various embodiments. The map 600 shows the geographic locations of the digital certificates associated with the client. The user may zoom into a region of the map, and the location of the digital certificates within the region may be presented in more detail. For example, FIG. 7 illustrates a map 700 that shows more detailed information on the location of the digital certificates in the European region.

In various embodiments, certificates identified by the system (e.g., as violating one or more rules or exceptions) may be marked with one or more actions and in turn trigger workflow processes to initiate to approve corrective actions. In some embodiments, the system may present the identified vulnerable certificates and information regarding one or more violations associated with the individual identified vulnerable certificates to the user. The user may select from the available actions. The system may receive the user's selection and execute the action with respect to the corresponding certificate. In other embodiments, the system may automatically mark certificates for a particular action based on the type of violation or other data.

The available actions may include any suitable actions. For example, the available actions may include one or more of a “Hide” action, “Ignore” action, “No Action” option, “Reassign” action, “Urgent Action” action, and/or “Fix” action. All the above noted actions (as described in further detail below) may be used within workflow processes to ensure appropriate notifications are provided, validate that systems which may be affected are not impacted at critical times, ensure dual authorization is provided when appropriate for critical systems and provide an audit trail of what may have been transacted within the system when that action was taken and who requested that action to occur.

In some embodiments, the “Hide” action may be used for a certificate that should no longer be presented to the organization as belonging to them. This may occur when an organization divests or closes a portion of their business, and they would no longer like to be warned on security issues related to that closed or divested business unit. This can be accomplished one certificate at a time, or by modifying the entire collection of certificates to remove all that meet certain criteria (a name, geography, etc.). The “Hide” action may be used sparingly since it removes all security warnings on that certificate. While a user may not want to be warned of an issue, the organization may want that warning. Therefore, to mark something as “hidden” the user may need to be an Administrator and/or may need a second person to validate the “Hide” action before it is effectively recorded as such in the system. The system may alert the second user when their action is required and guide them to the location where they will make the decision on this security violation. Further, the user may be required to add information on why they have made the decision to hide the security violation to ensure full audit trail is available for future analysis.

The “Ignore” action may be used when a certificate is in violation of corporate policy, yet the organization has evaluated the risk and conscientiously decided that the risk is acceptable. The certificate will show-up in reports and the user interface, but because of the “Ignore” action, it will no longer trigger policy violation warnings in either the user interface or on system generated reports. As noted above, the user may be required to add information into the system describing why they took the action to ignore the warnings and why they are opting to silence future warnings.

The “No Action” option may defer a decision to a later date, or seek additional information prior to making a full decision on the actions that should be taken. This function effectively defers actions on the certificate but allows all alerts to be shown and provided to users. Again, the user may be required to enter information about their decision to take no action at the current time.

The “Reassign” action may allow a user to send a security violation to another user of the system. The other user will then have the ability to take one or more actions to remediate the issue described in the system. Both users may be required to enter a description of why the violation was reassigned and by the recipient on the actions that they will take to remediate the issue

The “Urgent Action” option may be used, for example, when the system discovers a certificate that is determined to be fraudulent, stolen, or poses other security threats to the organization. The system may take one or more actions based on a certificate being marked as “Urgent Action.” For example, the system may automatically generate a request to the certificate's issuing CA to add the specific certificate to the CA's Certificate Revocation List (CRL). The CRL is the process used within the industry to revoke an already issued certificate. The request may include identifying information associated with the certificate, and supporting information that indicates a reason/basis for why revocation of the certificate is requested. In some embodiments, the system may automatically submit the request to the CA that issued the certificate. In other embodiments, the system may prepare the request and present the request to the user. The user may determine whether to proceed with the request and may initiate submission of the request to the CA through the system. Accordingly, the system may interact with an external system (e.g., the CA's system) to remove bad certificates and ensure they are not accepted as legitimate.

Additionally, or alternatively, when a certificate is marked as “Urgent Action,” the system may identify, record, and/or provide additional information that tracks the certificate to the third party organization associated with the certificate (e.g., in anticipation of legal action against the third party organization). The additional information may include: company information on the certificate in question, the issuing CA, hosting providers providing computer services associated with the certificate, one or more issue dates, one or more keys used in generation of the certificate, and/or DNS names associated with the system. Additionally, or alternatively, the system may alert external CAs that the identified certificate has one or more violations (e.g., was fraudulently created or mistakenly issued) and should be revoked. Additionally, or alternatively, the system may look for additional violations (e.g., with other certificates) of a similar form. The system may modify one or more parameters of the search to identify the other certificates. In some embodiments, the system may make recommendations on policy changes within the organization to reduce the risk of further violations.

The “Fix” action may be used where the user determines that action needs to be taken and they note that they are actively working on that security violation. The user may be required to enter some textual information on what actions they will perform to remediate the issue. They may choose to defer further alerts for a time interval up to the maximum time (e.g., as defined by their company system administrator).

Administrators may provide defined actions to be automatically taken upon the discovery of certain security violations. For example, if the system discovers an item in a geographic area defined by the company as dangerous, an automatic workflow may be initiated requiring certain people to take one of the actions previously described. This may initiate as an automated response to the discovery of this data type without any human intervention thereby allowing remediation to begin immediately.

The actions described above may not be mutually exclusive. For example, a user may determine that urgent action needs to be taken, and may assign that decision on what the next corrective action may be to another user, making notes as to why they feel a decision should be made by another individual. Further, all dates, user names, and comments may be written back to the system for a complete audit trail into who performed (or deferred) actions, when the action was taken or deferred, and the user's description of the action that was taken or to be taken.

The system may integrate with other corporate resources such as email, directory services, ticketing systems, or other computing systems to effectively allow users to receive notifications of pending actions, quickly transact those actions and ensure the system is continuously updated.

The embodiments discussed above may include any of a number of suitable variations. Examples of such further embodiments are given below.

1) Data

Various embodiments disclosed herein may operate in a cloud computing environment and may run on commodity hardware in a highly available and redundant environment. The systems and techniques may be offered to customers using Software as a Service (SaaS) as a deployment model.

FIG. 8 depicts some of the information collected about a certificate and/or displayed to a user by the ISAC. Some values have been substituted or truncated to ensure anonymity. As discussed herein the information may include internal information that is found within the digital certificate and external information that is not found in the digital certificate. As shown in FIG. 8, the information may include certificate information (e.g., certificate version, certificate serial number, certificate signature algorithm, certificate subject, company name, company department, reverse DNS name of certificate host, key algorithm, key strength, CA key identifier, certificate key identifier, whether the certificate is identified as a root certificate, domain name, IP address, and/or subject alternative names), certificate authority information (e.g., certificate issuer, issuing CA, and/or identified CA), validity information related to validity periods of the certificate (e.g., date certificate entered service, data certificate expires, dates of certificate validity, and/or total certificate validity period), certificate usage information (e.g., key usage, certificate extended key usage, and/or Netscape legacy certificate type), geospatial location information (e.g., identified certificate location, certificate longitude, and/or certificate latitude), certificate validation information (e.g., certificate curation information, evaluation information, name of curator, title of curator, company name, curation date, a dangerous marker, a validity marker, a white/black list indicator, and/or a geolocation validation indicator to indicate whether the geolocation information has been validated), and/or server configuration information (e.g., server encryption type, cipher type, server compression indicator to indicate whether server compression is enabled, an OCSP stapling indicator, whether a secure certificate was accepted, whether the server supports secure renegotiation, and/or whether the server has a heartbeat enabled).

Some embodiments may include more, less, or different fields than are shown in FIG. 8. For example, other fields which may be collected and/or displayed may include:

FIG. 9 depicts an example interface 900 demonstrating the results from a query. A search box 902 enables the user to insert search parameters to run the query. A navigation bar 904 on the left may enable the user to isolate certain certificates that have vulnerabilities, and the graphs 906 may help guide the user to quick action. A full list of results may be displayed at the bottom in a results pane 908.

FIG. 10 illustrates an example map view of the interface 900 in accordance with various embodiments. The map view may be selected by the user from the view in FIG. 9. The map view may display a map 1010 to indicate the geographical location of the digital certificates identified by the query (e.g., in place of the graphs 906). The map view may allow the user to look at specific geographical areas that may pose a problem with their certificates.

FIG. 11 depicts another example map view of the interface 900 that may be presented to a user to drill down further into a specific area of the world and look at those certificates that are found in a specific region (e.g., Southeast Asia as shown in FIG. 11). The user may draw a boundary 1112 around the region on the map 1010. The result set (e.g., numbers of results denoted in the results pane 908 and the navigation facets on the navigation bar 904) reflect the refinement the user has taken to identify the questionable certificates.

Various embodiments may include any suitable combination of the above-described embodiments including alternative (or) embodiments of embodiments that are described in conjunctive form (and) above (e.g., the “and” may be “and/or”). Furthermore, some embodiments may include one or more articles of manufacture (e.g., non-transitory computer-readable media) having instructions, stored thereon, that when executed result in actions of any of the above-described embodiments. Moreover, some embodiments may include apparatuses or systems having any suitable means for carrying out the various operations of the above-described embodiments.

The above description of illustrated implementations, including what is described in the Abstract, is not intended to be exhaustive or to limit the embodiments of the present disclosure to the precise forms disclosed. While specific implementations and examples are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the present disclosure, as those skilled in the relevant art will recognize.

These modifications may be made to embodiments of the present disclosure in light of the above detailed description. The terms used in the following claims should not be construed to limit various embodiments of the present disclosure to the specific implementations disclosed in the specification and the claims. Rather, the scope is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.

Shearer, Seth Martin, Shearer, Spencer Vernon

Patent Priority Assignee Title
Patent Priority Assignee Title
8719908, Dec 21 2012 Disney Enterprises, Inc. Digital certificate management
9338012, Oct 04 2013 CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS SUCCESSOR AGENT Systems and methods for identifying code signing certificate misuse
9374244, Feb 27 2012 Amazon Technologies, Inc. Remote browsing session management
9614833, Oct 31 2014 CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS SUCCESSOR AGENT Automated certificate management for a website associated with multiple certificates
9692640, Sep 05 2014 CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS SUCCESSOR AGENT Dynamic updates to a network server
9742758, Aug 13 2013 Amazon Technologies, Inc.; Amazon Technologies, Inc Techniques for network site validation
20060095923,
20090070290,
20130013918,
20130117558,
20140095866,
20140283054,
20140344937,
20150256345,
20150271171,
20150341353,
20160173286,
20160277193,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 16 2016Vellitas LLC(assignment on the face of the patent)
Aug 16 2016SHEARER, SPENCER VERNONVellitas LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0394790579 pdf
Aug 18 2016SHEARER, SETH MARTINVellitas LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0394790579 pdf
Date Maintenance Fee Events
Oct 30 2023M2551: Payment of Maintenance Fee, 4th Yr, Small Entity.


Date Maintenance Schedule
Sep 08 20234 years fee payment window open
Mar 08 20246 months grace period start (w surcharge)
Sep 08 2024patent expiry (for year 4)
Sep 08 20262 years to revive unintentionally abandoned end. (for year 4)
Sep 08 20278 years fee payment window open
Mar 08 20286 months grace period start (w surcharge)
Sep 08 2028patent expiry (for year 8)
Sep 08 20302 years to revive unintentionally abandoned end. (for year 8)
Sep 08 203112 years fee payment window open
Mar 08 20326 months grace period start (w surcharge)
Sep 08 2032patent expiry (for year 12)
Sep 08 20342 years to revive unintentionally abandoned end. (for year 12)