In cryptography and computer security, a man-in-the-middle[a] (MITM) attack is a cyberattack where the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other, as the attacker has inserted themselves between the two parties.
One example of a MITM attack is active eavesdropping, in which the attacker makes independent connections with the victims and relays messages between them to make them believe they are talking directly to each other over a private connection, when in fact the entire conversation is controlled by the attacker. In this scenario, the attacker must be able to intercept all relevant messages passing between the two victims and inject new ones. This is straightforward in many circumstances; for example, an attacker within the reception range of an unencrypted Wi-Fi access point could insert themselves as a man-in-the-middle.
As it aims to circumvent mutual authentication, a MITM attack can succeed only when the attacker impersonates each endpoint sufficiently well to satisfy their expectations. Most cryptographic protocols include some form of endpoint authentication specifically to prevent MITM attacks. For example, TLS can authenticate one or both parties using a mutually trusted certificate authority.
Suppose Alice wishes to communicate with Bob. Meanwhile, Mallory wishes to intercept the conversation to eavesdrop (breaking confidentiality) with the option to deliver a false message to Bob under the guise of Alice (breaking non-repudiation). Mallory would perform a man-in-the-middle attack as described in the following sequence of events.
- Alice sends a message to Bob, which is intercepted by Mallory:
- Alice "Hi Bob, it's Alice. Give me your key." → Mallory Bob
- Mallory relays this message to Bob; Bob cannot tell it is not really from Alice:
- Alice Mallory "Hi Bob, it's Alice. Give me your key." → Bob
- Bob responds with his encryption key:
- Alice Mallory ← [Bob's key] Bob
- Mallory replaces Bob's key with her own, and relays this to Alice, claiming that it is Bob's key:
- Alice ← [Mallory's key] Mallory Bob
- Alice encrypts a message with what she believes to be Bob's key, thinking that only Bob can read it:
- Alice "Meet me at the bus stop!" [encrypted with Mallory's key] → Mallory Bob
- However, because it was actually encrypted with Mallory's key, Mallory can decrypt it, read it, modify it (if desired), re-encrypt with Bob's key, and forward it to Bob:
- Alice Mallory "Meet me at the van down by the river!" [encrypted with Bob's key] → Bob
- Bob thinks that this message is a secure communication from Alice.
This example shows the need for Alice and Bob to have a means to ensure that they are truly each using each other's public keys, and not the public key of an attacker. Otherwise, such attacks are generally possible, in principle, against any message sent using public-key technology.
Defense and detection
MITM attacks can be prevented or detected by two means: authentication and tamper detection. Authentication provides some degree of certainty that a given message has come from a legitimate source. Tamper detection merely shows evidence that a message may have been altered.
All cryptographic systems that are secure against MITM attacks provide some method of authentication for messages. Most require an exchange of information (such as public keys) in addition to the message over a secure channel. Such protocols, often using key-agreement protocols, have been developed with different security requirements for the secure channel, though some have attempted to remove the requirement for any secure channel at all.
A public key infrastructure, such as Transport Layer Security, may harden Transmission Control Protocol against MITM attacks. In such structures, clients and servers exchange certificates which are issued and verified by a trusted third party called a certificate authority (CA). If the original key to authenticate this CA has not been itself the subject of a MITM attack, then the certificates issued by the CA may be used to authenticate the messages sent by the owner of that certificate. Use of mutual authentication, in which both the server and the client validate the other's communication, covers both ends of a MITM attack. If the server or client's identity is not verified or deemed as invalid, the session will end. However, the default behavior of most connections is to only authenticate the server, which means mutual authentication is not always employed and MITM attacks can still occur.
Attestments, such as verbal communications of a shared value (as in ZRTP), or recorded attestments such as audio/visual recordings of a public key hash are used to ward off MITM attacks, as visual media is much more difficult and time-consuming to imitate than simple data packet communication. However, these methods require a human in the loop in order to successfully initiate the transaction.
HTTP Public Key Pinning (HPKP), sometimes called "certificate pinning," helps prevent a MITM attack in which the certificate authority itself is compromised, by having the server provide a list of "pinned" public key hashes during the first transaction. Subsequent transactions then require one or more of the keys in the list must be used by the server in order to authenticate that transaction.
Latency examination can potentially detect the attack in certain situations, such as with long calculations that lead into tens of seconds like hash functions. To detect potential attacks, parties check for discrepancies in response times. For example: Say that two parties normally take a certain amount of time to perform a particular transaction. If one transaction, however, were to take an abnormal length of time to reach the other party, this could be indicative of a third party's interference inserting additional latency in the transaction.
Quantum cryptography, in theory, provides tamper-evidence for transactions through the no-cloning theorem. Protocols based on quantum cryptography typically authenticate part or all of their classical communication with an unconditionally secure authentication scheme. As an example Wegman-Carter authentication.
Captured network traffic from what is suspected to be an attack can be analyzed in order to determine whether there was an attack and, if so, determine the source of the attack. Important evidence to analyze when performing network forensics on a suspected attack includes:
- IP address of the server
- DNS name of the server
- X.509 certificate of the server
A Stingray phone tracker is a cellular phone surveillance device that mimics a wireless carrier cell tower in order to force all nearby mobile phones and other cellular data devices to connect to it. The tracker relays all communications back and forth between cellular phones and cell towers.
In 2011, a security breach of the Dutch certificate authority DigiNotar resulted in the fraudulent issuing of certificates. Subsequently, the fraudulent certificates were used to perform MITM attacks.
In 2013, Nokia's Xpress Browser was revealed to be decrypting HTTPS traffic on Nokia's proxy servers, giving the company clear text access to its customers' encrypted browser traffic. Nokia responded by saying that the content was not stored permanently, and that the company had organizational and technical measures to prevent access to private information.
Other notable real-life implementations include the following:
- DSniff – the first public implementation of MITM attacks against SSL and SSHv1
- Fiddler2 HTTP(S) diagnostic tool
- NSA impersonation of Google
- Qaznet Trust Certificate
- Superfish malware
- Forcepoint Content Gateway – used to perform inspection of SSL traffic at the proxy
- 2015 Kazakhstan man-in-the-middle attack
- ARP spoofing – a technique by which an attacker sends Address Resolution Protocol messages onto a local area network
- Aspidistra transmitter – a British radio transmitter used for World War II "intrusion" operations, an early MITM attack.
- Babington Plot – the plot against Elizabeth I of England, where Francis Walsingham intercepted the correspondence.
- Computer security – the design of secure computer systems.
- Cookiemonster attack – a man-in-the-middle exploit.
- Cryptanalysis – the art of deciphering encrypted messages with incomplete knowledge of how they were encrypted.
- Digital signature – a cryptographic guarantee of the authenticity of a text, usually the result of a calculation only the author is expected to be able to perform.
- Evil maid attack – attack used against full disk encryption systems
- Interlock protocol – a specific protocol to circumvent a MITM attack when the keys may have been compromised.
- Key management – how to manage cryptographic keys, including generation, exchange and storage.
- Key-agreement protocol – a cryptographic protocol for establishing a key in which both parties can have confidence.
- Man-in-the-browser – a type of web browser MITM
- Man-on-the-side attack – a similar attack, giving only regular access to a communication channel.
- Mutual authentication – how communicating parties establish confidence in one another's identities.
- Password-authenticated key agreement – a protocol for establishing a key using a password.
- Quantum cryptography – the use of quantum mechanics to provide security in cryptography.
- Secure channel – a way of communicating resistant to interception and tampering.
- Spoofing attack – Cyber attack in which a person or program successfully masquerades as another by falsifying data
- Gabbi Fisher; Luke Valenta (March 18, 2019). "Monsters in the Middleboxes: Introducing Two New Tools for Detecting HTTPS Interception".
- Fassl, Matthias (April 23, 2018). Usable Authentication Ceremonies in Secure Instant Messaging (PDF) (Dipl.-Ing.). Technische Universität Wien.
- "Fact Sheet: Machine-in-the-Middle Attacks". Internet Society. March 24, 2020.
- Poddebniak, Damian; Ising, Fabian; Böck, Hanno; Schinzel, Sebastian (August 13, 2021). Why TLS Is Better Without STARTTLS: A Security Analysis of STARTTLS in the Email Context (PDF). 30th USENIX Security Symposium. p. 4366. ISBN 978-1-939133-24-3.
When a Meddler-in-the-Middle (MitM) attacker removes the STARTTLS capability from the server response, they can easily downgrade the connection to plaintext.
- "Manipulator-in-the-middle attack". OWASP Community Pages. OWASP Foundation. Retrieved August 1, 2022.
- "MitM". MDN Web Docs. Mozilla. July 13, 2022. Retrieved August 1, 2022.
- "Person-in-the-middle". October 11, 2020.
- "From cookie theft to BEC: Attackers use AiTM phishing sites as entry point to further financial fraud". Microsoft. July 12, 2022.
- Elakrat, Mohamed Abdallah; Jung, Jae Cheon (June 1, 2018). "Development of field programmable gate array–based encryption module to mitigate man-in-the-middle attack for nuclear power plant data communication network". Nuclear Engineering and Technology. 50 (5): 780–787. doi:10.1016/j.net.2018.01.018.
- Wang, Le; Wyglinski, Alexander M. (October 1, 2014). "Detection of man-in-the-middle attacks using physical layer wireless security techniques: Man-in-the-middle attacks using physical layer security". Wireless Communications and Mobile Computing. 16 (4): 408–426. doi:10.1002/wcm.2527.
- "Comcast continues to inject its own code into websites you visit". December 11, 2017.
- Callegati, Franco; Cerroni, Walter; Ramilli, Marco (2009). "Man-in-the-Middle Attack to the HTTPS Protocol". IEEE Security & Privacy Magazine. 7: 78–81. doi:10.1109/MSP.2009.12. S2CID 32996015.
- Tanmay Patange (November 10, 2013). "How to defend yourself against MITM or Man-in-the-middle attack". Archived from the original on November 24, 2013. Retrieved November 25, 2014.
- "diffie hellman - MiTM on RSA public key encryption". Cryptography Stack Exchange.
- Merkle, Ralph C (April 1978). "Secure Communications Over Insecure Channels". Communications of the ACM. 21 (4): 294–299. CiteSeerX 10.1.1.364.5157. doi:10.1145/359460.359473. S2CID 6967714.
Received August, 1975; revised September 1977
- Sasikaladevi, N. and D. Malathi. 2019. “Energy Efficient Lightweight Mutual Authentication Protocol (REAP) for MBAN Based on Genus-2 Hyper-Elliptic Curve.” Wireless Personal Communications 109(4):2471–88.
- Heinrich, Stuart (November 28, 2013). "Public Key Infrastructure based on Authentication of Media Attestments". arXiv:1311.7182v1 [cs.CR].
- Aziz, Benjamin; Hamilton, Geoff (2009). "Detecting Man-in-the-Middle Attacks by Precise Timing" (PDF). 2009 Third International Conference on Emerging Security Information, Systems and Technologies. pp. 81–86. doi:10.1109/SECURWARE.2009.20. ISBN 978-0-7695-3668-2. S2CID 18489395.
- Cederlöf, Jörgen. "5. Unconditionally secure authentication". liu.se.
- "Network Forensic Analysis of SSL MITM Attacks". NETRESEC Network Security Blog. March 27, 2011. Retrieved March 27, 2011.
- Zetter, Kim (March 3, 2014). "Florida Cops' Secret Weapon: Warrantless Cellphone Tracking". Wired.com. Retrieved June 23, 2014.
- Zetter, Kim (September 20, 2011). "DigiNotar Files for Bankruptcy in Wake of Devastating Hack". Wired. ISSN 1059-1028. Retrieved March 22, 2019.
- Meyer, David (January 10, 2013). "Nokia: Yes, we decrypt your HTTPS data, but don't worry about it". Gigaom, Inc. Archived from the original on April 8, 2019. Retrieved June 13, 2014.
- Weissman, Cale Guthrie (September 15, 2017). "Here's Why Equifax Yanked Its Apps From Apple And Google Last Week". Fast Company.
- Moyer, Edward (September 12, 2013). "NSA disguised itself as Google to spy, say reports". CNET. Archived from the original on September 15, 2013.
- "Comcast using man-in-the-middle attack to warn subscribers of potential copyright infringement". TechSpot. November 23, 2015.