I am trying to untangle a number of concepts (all of which i am unfamiliar with) in this question, but they all point to a seemingly basic question;
With modern tunneling protocols, SSL ciphers and key exchange methods, are VPNs (which implement them, correctly) more resistant to average* MITM attacks compared to years ago?
*When I say average, I mean for example connecting to a potentially compromised 'public' Wifi router in an airport rather than using telecommunications infrastructure in general owned by ISPs or state actors.
From reading an answer from years ago, the implication I gather from it is that the initial key exchange was one of the more difficult issues. The main point in that answer was that 'there is (was) no standard protocol' that VPNs used to exchange keys securely.
From other reading, I saw an article mention the following;
Nowadays, capable VPNs use a feature called PFS (perfect forward secrecy). It ensures that the VPN client and server use unique symmetric keys. These keys are independently generated on either side and are never exchanged.
I see that some newer SSL ciphers implement PFS, such as DHE
and ECDHE
. Firstly, this seems to imply that there recently is some sort of standardisation available for key exchange, should a VPN choose to implement it. I understand though that this only helps for previous and future VPN sessions, not the current session.
Secondly, the article quoted above seems to imply that PFS may occur without an initial handshake/sharing of private keys via the VPN server; "These keys are independently generated on either side and are never exchanged".
Is that assessment accurate? I thought that description describes asymmetric encryption.
Further articles seem to suggest that MITM attacks happen after the traffic exits the VPN gateway, which makes more sense to me. Others suggest that older tunneling protocols had security issues (PPTP, SSTP, L2TP) so the encryption could be broken. Another article comments that the login portal exposes an attack vector for a brief period. From my own knowledge, I also assume that DNS and IP leaks from poorly configured / implemented VPNs may be intercepted from a compromised public Wifi point, and modified via MITM attacks (packet injection).
However there are lots of comments which seem to suggest that VPNs are more about marketing than truly helping against some MITM attacks, hense this question about modern VPNs.
For example, there is a comment here which talks about using Let's Encrypt to have a certificate signed by a trusted CA to intercept the VPN connection before it reaches the VPN gateway. Another comment here states that even with a VPN, any HTTP site is vulnerable to MITM attack - but I assume this is after a users traffic exists the VPN gateway?
Overall, from reading these various articles and others I have the following take-aways;
- In general, connecting to public Wifi with a VPN will protect the average user to most MITM attacks up until the traffic leaves the VPN gateway (packet injection, session hijacking, ssl stripping, HTTPS spoofing)
- After a users traffic leaves the VPN gateway, particularly when accessing any site not using HTTPS, MITM attacks have more chance to succeed
- Even after a users traffic leaves a VPN gateway, the IP is still somewhat anonymized, unless the IP leaks from a poor VPN implementation
Are these observations mostly correct?
Still, I have one more question. If an attacker is using a device to imitate public wifi, which instead of forwarding traffic, serves a sort of intranet with malicious login pages for a bunch of popular websites, would a VPN connection (with a kill switch) be fooled by this?