# US 8,544,100 B2 · Detecting secure or encrypted tunneling in a computer network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,544,100 B2
- Document ID: US8544100B2
- Status: Granted
- Kind: B2
- Application number: 12/829,882
- Filed: 2010-07-02
- Published: 2011-10-20
- Granted: 2013-09-24
- Earliest claimed: 2010-04-16
- Assignees: Bank of America Corporation
- Applicants: Ronald Ramcharran
- Inventors: Ronald Ramcharran
- Web page: https://patentgrep.com/patent/US8544100B2

## CPC

- H04L 63/1433: {Vulnerability analysis}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/168: {above the transport layer}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Aspects of the present disclosure relate to a computer assisted method for detecting encrypted tunneling or proxy avoidance which may include electronically receiving information from a proxy server, extracting information regarding a CONNECT function of Hyper Text Transport Protocol (HTTP) from the electronically received information, determining at least one destination to which the extracted information regarding the CONNECT function of HTTP corresponds and attempting to negotiate a standard HTTPS session with each of the at least one destination. Further, the computer assisted method may further include, for each of the at least one destination, determining whether the destination is hosting an encrypted tunneling or proxy avoidance application, wherein such a determining may be based on characteristics of an Secure Socket Layer (SSL) certificate associated with the destination or a response received from the destination over a TCP/IP connection.

## Claims

### Claim 1

A computer assisted method for detecting encrypted tunneling comprising:
electronically receiving information from a proxy server;
extracting information regarding a CONNECT function of Hyper Text Transport Protocol (HTTP) from the electronically received information;
determining at least one destination to which the extracted information regarding the CONNECT function of HTTP corresponds;
attempting to negotiate a standard Hyper Text Transport Protocol Secure (HTTPS) session with each of the at least one destination; and
for each of the at least one destination,
determining if a Secure Socket Layer (SSL) certificate associated with the destination has been issued by a trusted certificate authority;
determining whether the destination is hosting an encrypted tunneling application, wherein the determining is based on characteristics of the SSL certificate;
in response to a determination that it is unable to be determined whether the destination is hosting an encrypted tunneling application based on characteristics of the SSL certificate, determining whether the destination is hosting an encrypted tunneling application based on characteristics of a response received from the destination over a transmission control protocol/Internet protocol (TCP/IP) connection; and
generating a security alert in response to a determination that the destination is hosting an encrypted tunneling application.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the at least one destination is at least one Internet Protocol (IP) address or at least one IP address in combination with at least one port number.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising: determining if a destination, of the at least one destination to which the extracted information regarding the CONNECT function of HTTP corresponds, is a destination that has been previously identified by the method as a destination hosting an encrypted tunneling or proxy avoidance application by comparing the destination with a database of previously identified destinations.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
for each destination of the at least one destination,
comparing the destination with a database of previously identified destinations identified as hosting an encrypted tunneling application; and
determining if the destination, is a previously identified destination.

### Claim 5 (depends on 4)

The method according to claim 4, further comprising:
upon determining the destination is hosting an encrypted tunneling application, recording the destination in a database of previously identified destinations identified as hosting an encrypted tunneling application.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the determining whether the destination is hosting an encrypted tunneling application includes determining whether the SSL certificate is self signed.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the determining whether the destination is hosting an encrypted tunneling application includes determining a name of a website associated with the SSL certificate.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the determining whether the destination is hosting an encrypted tunneling application based on characteristics of the response includes determining a service being operated at the destination.

### Claim 9 (depends on 8)

The method according to claim 8, wherein the response received from the destination over the transmission control protocol/Internet protocol (TCP/IP) connection includes at least one of: capabilities of the service, a version of the service, and an operating system on which the service is running.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the determining whether the destination is hosting an encrypted tunneling application includes determining at least one of: a port or channel hopping patterns of a service being operated at the destination and a length of traffic of a service being operated at the destination.

### Claim 11 (depends on 1)

The method according to claim 1, wherein the extracting information regarding a CONNECT function of HTTP from the electronically received information and the determining at least one destination to which the extracted information regarding the CONNECT function of HTTP corresponds occur immediately upon the electronically received information from the proxy server being received.

### Claim 12

An encrypted tunneling detecting apparatus comprising:
at least one processor; and
at least one memory storing computer executable instructions that cause the at least one processor to perform a method for detecting encrypted tunneling comprising:
electronically receiving information from a proxy server;
extracting information regarding a CONNECT function of Hypertext Transfer Protocol (HTTP) from the electronically received information;
determining at least one destination to which the extracted information regarding the CONNECT function of HTTP corresponds;
attempting to negotiate a standard Hypertext Transfer Protocol Secure (HTTPS) session with each of the at least one destination; and
for each of the at least one destination,
determining if a Secure Socket Layer (SSL) certificate associated with the destination has been issued by a trusted certificate authority,
determining whether the destination is hosting an encrypted tunneling application, wherein the determining is based on characteristics of the SSL certificate or a response received from the destination over a Transmission Control Protocol/Internet Protocol (TCP/IP) connection;
in response to a determination that it is unable to be determined whether the destination is hosting an encrypted tunneling application based on characteristics of the SSL certificate, determining whether the destination is hosting an encrypted tunneling application based on characteristics of a response received from the destination over a TCP/IP connection; and
generating a security alert in response to a determination that the destination is hosting an encrypted tunneling application.

### Claim 13 (depends on 12)

The apparatus according to claim 12, further comprising: determining if a destination, of the at least one destination to which the extracted information regarding the CONNECT function of HTTP corresponds, is a destination that has been previously identified by the method as a destination hosting an encrypted tunneling or proxy avoidance application by comparing the destination with a database of previously identified destinations.

### Claim 14 (depends on 12)

The apparatus according to claim 12, further comprising:
for each destination of the at least one destination,
comparing the destination with a database of previously identified destinations identified as hosting an encrypted tunneling application; and
determining if the destination, is a previously identified destination.

### Claim 15 (depends on 14)

The apparatus according to claim 14, further comprising:
upon determining the destination is hosting an encrypted tunneling application, recording the destination in a database of previously identified destinations identified as hosting an encrypted tunneling application.

### Claim 16 (depends on 12)

The apparatus according to claim 12, wherein the determining whether the destination is hosting an encrypted tunneling application includes determining whether the SSL certificate is self signed.

### Claim 17 (depends on 12)

The apparatus according to claim 12, wherein the determining whether the destination is hosting an encrypted tunneling application based on characteristics of the response includes determining a service being operated at the destination.
