Security services provider Cloudflare on Monday announced the release of two new tools related to HTTPS interception detection.
Occurring at times when the TLS connection between a browser and a server is not direct, but goes through a proxy or middlebox, HTTPS interception can result in third-parties accessing the transmitted encrypted content.
There are several types of known HTTPS interception, including TLS-terminating forward proxies (to forward and possibly modify traffic), antivirus and corporate proxies (to detect inappropriate content, malware, and data breaches), malicious forward proxies (to insert or exfiltrate data), leaky proxies (any proxy can expose data), and reverse proxies (legitimate, aim to improve performance).
Detecting HTTPS interception, Clourflare says, can help a server identify suspicious or potentially vulnerable clients that connect to the network and notify users on compromised or degraded security.
The presence of a content inspection system only weakens the security of TLS connections, and can also hinder the adoption of new innovations and improvements to TLS, the security firm says.
“HTTPS interception also increases the attack surface area of the system, and presents an attractive target for attackers to gain access to sensitive connection data,” Cloudflare says.
To detect HTTPS interception instances, Cloudflare introduced MITMEngine, an open-source Golang library that “ingests User Agents and TLS Client Hello fingerprints, then returns the likelihood of HTTPS interception and the factors used to identify interception.”
Adding support for new browsers or updating existing browser signatures is easy with this tool, which also provides flexibility (signatures capable of capturing a wide variety of TLS client behavior without being overly broad) and performance (cheap detections and a system that can be deployed at scale).
MITMEngine, Cloudflare says, works by comparing the values in an observed TLS Client Hello to a set of known browser Client Hellos, including TLS version, cipher suites, extensions and their values, supported elliptic curve groups, and elliptic curve point formats.
The tool can detect the differences between the given Client Hello and the one expected from the User Agent and can also tell which software was used to intercept the HTTPS connection.
MITMEngine, however, depends on fingerprints of MITM software and browser TLS Client Hellos to detect HTTPS interception, and Cloudflare encourages those interested in bringing such contributions to the tool.
Also on Monday, the security provider announced MALCOLM, a dashboard to apply MITMEngine to a sample of Cloudflare’s overall traffic and observe HTTPS interception.
This tool has already revealed that the number of HTTPS interceptions has increased over the past couple of years, but also that Chrome is the most targeted and that most interceptions occur on Android.
“Using MITMEngine and MALCOLM, we’ve been able to continuously track the state of HTTPS interception on over 10% of Internet traffic. It’s imperative that we track the status of HTTPS interception to give us foresight when deploying new security measures and detecting breaking changes in security protocols. Tracking HTTPS interception also helps us contribute to our broader mission of “helping to build a better Internet” by keeping tabs on software that possibly weakens good security practices,” Cloudflare says.
Related: Cloudflare Raises $150 Million
Related: Cloudflare Encrypts SNI Across Its Network