Home WiFi networking has exploded in popularity and prominence in the last five years. Early devices were completely open, allowing the user to specify a Service Set Identifier (SSID) as well as the means of encrypting data as it flowed over the air, along with necessary passwords.
Yet, many consumers, used to the plug-in-and-it-works method of most whitegoods and consumer entertainment devices, did not take any steps to secure the WiFi emanating about their household.
This led to much wailing and gnashing of teeth when neighbours discovered they could leech off each other’s Internet, especially so in dense residential areas.
Realising the average consumer needed help in securing their own connection certain ISPs and hardware vendors took steps to pre-secure the devices being deployed.
In the case of BigPond, the Thomson Speedtouch – whether installed by a Telstra technician or purchased in-store in the form of a self-installation kit – gives the illusion of security through a device-specific SSID and WPA key.
This information is printed on a plastic credit-card sized reminder which also states, “This card contains the Wi-Fi network security details for your ADSL gateway. You should keep this card in a safe and secure place.”
Consequently, the average punter sees their device as secure, with a cryptic WPA key to match. They can plug it in and forget about it, pulling out this card only if they happen to connect another computer to their network.
Yet, it turns out the BigPond device is only marginally more secure than if it had no encryption at all, because the information given in the publicly-viewable SSID can be used to determine the WPA password.
This is because the SSID name (eg BigPondCAD097) contains hexadecimal digits which are hashed from the unit’s serial number. The WPA key is also hashed from the serial number. That is, two key pieces of data are both derived from the one initial key value – and one of those two pieces, the SSID, is public.
It thus becomes a matter of time to deduce likely candidates for the WPA password based on the hex digits in the SSID.
In fact, the more hex digits listed in the SSID – in BigPond’s case, six – the easier it is to home in on the WPA password. Six hex digits is enough information to calculate a mere two possible passwords. Try one, if it doesn’t work, try the other.
Had the number of hex digits been four instead of six then an average of 80 possible keys would need to be tested, and this number increasing as the amount of hex digits given away for free reduces.
If you wish to test this for yourself on your own BigPond network please read on.
The magic behind this is in the publication of the algorithm that Thomson use, reverse-engineered by “security researchers.”
Rather than try to crack the working of the hardware itself, a researcher named Kevin Devine discovered the Thomson algorithm by targeting the setup utility provided on the CD accompanying the device.
He found that a hashed version of the router’s serial number is generated, which then derives both the default SSID and the default encryption key.
Devine gave a high-level overview of the algorithm within the source code of his program stkeys:
Take as example: “CP0615JT109 (53)”
Remove the CC and PP values: CP0615109
Convert the “xxx” values to hexadecimal: CP0615313039
Process with SHA-1: 742da831d2b657fa53d347301ec610e1ebf8a3d0
The last 3 bytes are converted to 6 byte string, and appended to the word “Bigond” which becomes the default SSID: BigPondF8A3D0
The first 5 bytes are converted to a 10 byte string which becomes the default WEP/WPA key: 742DA831D2
It then becomes a matter of effort to brute-force possible serial numbers to find possible passwords for a given default SSID. This is what Devine’s stkeys tool does.
For a unit shipped to hundreds of thousands of homes within the country, the ability to narrow down the number of possible WPA keys to only two with just a matter of time is disturbing and remarkable.
Another security researcher has made tools based on stkeys to speed up the process using a pre-generated table of SSID to keys, meaning the crack becomes merely a lookup rather than a brute-force process. His tool also automatically applies each key to the WiFi network until the valid password is identified.
Although he declined to publish his code it is easy to imagine the possible harm if a fast and completely automated Speedtouch cracking tool were to become available to all and sundry.
Of course, you can still test your own network, just for informational purposes you understand, by using Devine’s stkeys or this dead simple Python script by Stavros aka Poromenos.
What’s the lesson? Never be lulled into a false sense of security when it comes to your home network. Just because a shiny card comes with your box that says “keep this card safe” you absolutely must set your own SSID and WPA key.