The real third wheel, Man In The Middle Attack
WHAT IS A MITM ATTACK
A man in the middle (MITM) attack is a general term for
when a perpetrator positions himself in a conversation between a user and an
application—either to eavesdrop (eve) or to impersonate one of the parties,
making it appear as if a normal exchange of information is underway.
The goal of an attack is to steal personal information,
such as login credentials, account details and credit card numbers. Targets are
typically the users of financial applications, SaaS businesses, e-commerce sites
and other websites where logging in is required.
Information obtained during an attack could be used for
many purposes, including identity theft, unapproved fund transfers or an
illicit password change.
Additionally, it can be used to gain a foothold inside a
secured perimeter during the infiltration stage of an advanced persistent
threat (APT) assault.
In other words, a MITM attack is the equivalent of a
mailman opening your bank statement, writing down your account details and then
resealing the envelope and delivering it to your door.
MITM ATTACK PROGRESSION
Successful MITM execution has two distinct phases:
interception and decryption.
INTERCEPTION
The first step intercepts user traffic through the
attacker’s network before it reaches its intended destination.
The most common (and simplest) way of doing this is a
passive attack in which an attacker makes free, malicious WiFi hotspots
available to the public. Typically named in a way that corresponds to their
location, they aren’t password protected. Once a victim connects to such a
hotspot, the attacker gains full visibility to any online data exchange.
Attackers wishing to take a more active approach to
interception may launch one of the following attacks:
- IP spoofing involves an attacker disguising himself as an
application by altering packet headers in an IP address. As a result,
users attempting to access a URL connected to the application are sent to
the attacker’s website.
- ARP spoofing is the process of linking an attacker’s MAC
address with the IP address of a legitimate user on a local area network
using fake ARP messages. As a result, data sent by the user to the host IP
address is instead transmitted to the attacker.
- DNS spoofing, also known as DNS cache poisoning, involves
infiltrating a DNS server and altering a website’s address record. As a
result, users attempting to access the site are sent by the altered DNS
record to the attacker’s site.
DECRYPTION
After interception, any two-way SSL traffic needs to be
decrypted without alerting the user or application. A number of methods exist
to achieve this:
- HTTPS spoofing sends a phony certificate to the victim’s
browser once the initial connection request to a secure site is made. It
holds a digital thumbprint associated with the compromised application,
which the browser verifies according to an existing list of trusted sites.
The attacker is then able to access any data entered by the victim before
it’s passed to the application.
- SSL BEAST (browser exploit against SSL/TLS) targets a TLS
version 1.0 vulnerability in SSL. Here, the victim’s computer is infected
with malicious JavaScript that intercepts encrypted cookies sent by a web
application. Then the app’s cipher block chaining (CBC) is compromised so
as to decrypt its cookies and authentication tokens.
- SSL hijacking occurs when an attacker passes forged
authentication keys to both the user and application during a TCP handshake.
This sets up what appears to be a secure connection when, in fact, the man
in the middle controls the entire session.
- SSL stripping downgrades a HTTPS connection to HTTP by intercepting the TLS authentication sent from the application to the user. The attacker sends an unencrypted version of the application's site to the user while maintaining the secured session with the application. Meanwhile, the user’s entire session is visible to the attacker.
MAN IN THE MIDDLE ATTACK
PREVENTION
Blocking MITM attacks requires several practical steps on
the part of users, as well as a combination of encryption and verification
methods for applications.
For users, this means:
- Avoiding WiFi connections that aren’t password protected.
- Paying attention to browser notifications reporting a website
as being unsecured.
- Immediately logging out of a secure application when it’s not
in use.
- Not using public networks (e.g., coffee shops, hotels) when
conducting sensitive transactions.
For website operators, secure communication protocols,
including TLS and HTTPS, help mitigate spoofing attacks by
robustly encrypting and authenticating transmitted data. Doing so prevents the
interception of site traffic and blocks the decryption of sensitive data, such
as authentication tokens.
It is considered best practice for applications to use SSL/TLS
to secure every page of their site and not just the pages that require users to
log in. Doing so helps decreases the chance of an attacker stealing session
cookies from a user browsing on an unsecured section of a website while logged
in.
Tamper detection
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.
Authentication
All
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 use 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.
Comments
Post a Comment