Later today, Joshua Wright will release an upgraded version of his ultra-high speed password cracking tool called ASLEAP . For those of you already familiar with ASLEAP, you might be wondering what this has to do with Microsoft's PPTP VPN protocol since ASLEAP is a LEAP authentication dictionary attack tool. Well that was then and this is now. ASLEAP just added PPTP authentication support so that it can crack PPTP VPN authentication sessions just as easily as it could with LEAP Wireless LAN authentication. The end result is that we have yet another authentication protocol that has outlived its lifespan and just goes to show that Bill Gates wasn't kidding when he declared the password dead.
Three months ago, I was trying to explain the difference between PPTP and L2TP VPN to a friend while working on a breaking story on SP2 where Windows XP SP2 broke NAT-T operation in L2TP VPN by default. As I was trying to explain the differences, I noticed how similar PPTP authentication was to LEAP authentication where both relied solely on MSCHAPv2 to protect the user's password. I sent word to Joshua Wright and he immediately said that it would be possible to modify ASLEAP to work on PPTP just as it did on LEAP authentication. Three months later, the code is fully operational and I've had a chance to verify its effectiveness.
ASLEAP was created in 2003 by Joshua Wright to prove that a password based authentication system like Cisco LEAP is not a secure because of one glaring weakness, it relies on humans to memorize strong passwords. Eight months later in mid 2004 after Cisco had a chance to release an updated protocol to LEAP, Joshua released ASLEAP on to SourceForge. PPTP is a Microsoft VPN protocol published as an RFC in 1999 for secure remote access. In recent years, it has grown to be used in many Microsoft based networks, firewall appliances, and even pure Linux and Open Source environments. Strictly speaking, there never was anything technically wrong with the LEAP or PPTP MSCHAPv2 authentication protocol since they both worked as advertised. Both Cisco and Microsoft warned from the very beginning that strong passwords must be employed when using password based authentication schemes. Unfortunately, strong passwords (or even strong pass phrases) are simply incompatible with most Homo sapiens and if you force the issue, they will go out of their way to make it easy by writing passwords down on a sticky note and taping it to their monitor. Since strong passwords are rarely implemented in practice, you have a situation where the product simply isn't safe enough to protect us from ourselves. As Bruce Schneier likes to say, "any password you can reasonably expect a user to remember can be brute forced or guessed". ASLEAP just happens to make that point abundantly clear since it had the ability to scan through a 4 GB pre-computed password hash table at a rate of 45 million passwords a second using a common desktop computer. This new version of ASLEAP not only adds PPTP compatibility, but also extends maximum database size to 4 Terabytes and the ability to scan live off the air using a Wireless LAN card and a regular sniffer in Microsoft Windows. As a result, Wireless LAN hotspots have just became deadly to PPTP authentication and those who use PPTP to substitute for real Datalink layer Wireless LAN security aren't spared either and are wide open to password cracking.
When Joshua Wright reported this to Microsoft's official security response team, Microsoft gave this official response.
Here is my assessment and recommendations on this advice:
Unrelated to Microsoft, there are many firewall appliances and Open Source projects that use PPTP with MSCHAPv2 authentication. For those organizations that fit in to this category, the recommendation is the same and they should switch to an L2TP/IPSEC VPN solution. Fortunately for them, L2TP and Digital Certificates are fully supported by Open Source. You can get some good information on Open Source L2TP implementations here.