Vulnerabilities / Threats
8/17/2012
01:33 PM
50%
50%

6 Password Security Essentials For Developers

Solving the weak password challenge requires more than having consumers create strong passwords. Many businesses also need to get a clue about what counts as safe, weak, encrypted, or secure.

Does one of the world's largest grocery chains have a clue when it comes to online password security?

That's one obvious question after London-based Web developer Dan Blows tweeted his discovery that grocery and merchandising retailer Tesco--based on its revenue, the fourth-largest retailer in the world--"stores their website passwords unsalted, and emails them unencrypted."

What's wrong with that? In the eyes of information security experts, emailing plaintext passwords to customers undercuts any other password security mechanisms that might be in place. Plaintext passwords can be intercepted by wireless data sniffers, retrieved from PC hard drives, often intercepted using Firesheep, or lifted from hacked email accounts.

Other Tesco website password sins, according to an analysis published by software architect Troy Hunt on his blog, include limiting users to passwords containing only up to 10 characters and not differentiating between upper-case and lower-case letters. In addition, based on the fact that a password-retrieval request returns a password in entirely capital letters, Hunt said it's obvious that the Tesco website doesn't hash passwords, "because that would fail the case sensitivity test," and also means it's extremely unlikely that the website encrypts passwords when stored.

[ People lose passwords. Learn 5 Ways To Solve The Password Reset Problem. ]

An alleged Tesco support email uploaded to Pastebin further suggests that the company doesn't encrypt passwords. "Although the information is not encrypted the level of security surrounding the password means that only the senior technical positions could access the information," reads the email.

But when it comes to password security, Tesco is "the kind of multi-billion dollar brand that should know how to get Web security basics right, particularly when they're providing online shopping services and handling your payment info," said Hunt. Accordingly, what should Tesco--or any other business with password security problems--do better?

Hunt offered these six tips for developers:

1. Always hash passwords. Use a hashing algorithm designed for passwords, and "also use a cryptographically random salt," said Hunt.

2. Prohibit password retrieval. "Password retrieval should never happen," said Hunt, and if hashing has been implemented correctly, retrieving passwords won't be possible. Instead, "always implement a secure password reset process," he said.

3. Don't limit password length or variety. "There should never be restrictions on password entropy," said Hunt. "Don't exclude special characters, don't chop the length at a short, arbitrary limit--if you have to, make it 100 chars or so-and definitely don't implement a system which is case-insensitive."

4. Don't mix HTTP and HTTPS. One common password-related error developers make is to use HTTP content on HTTPS pages, as well as to provide credentials via HTTP. " Credentials--and arguably entire sessions in the wake of Firesheep--should not be transferred over unencrypted networks," said Hunt. "It's just too easy to get hold of them."

5. Keep systems updated. Beyond poor password practices, Hunt also found--via the Fiddler Web debugging proxy--that the Tesco Web server that runs its Web applications rates as very out of date. In particular, it's running IIS 6, which is seven years old and twice--nearly thrice--superseded, as well as ASP.NET 1.1, which Hunt noted is "now nine years old." While such systems were fine in their day, "the security landscape has changed significantly since these technologies were launched and ongoing improvements in newer generations of the breed make continued progress in ensuring a more secure app by default," he said.

6. Educate the customer service team. In response to security experts questioning Tesco's website security prowess, the company's customer care team tweeted, "We know how important Internet security is to customers and the measures we have are robust."

Later, in response to specific criticisms from Hunt, Tesco tweeted, "Let me assure you that all customer passwords are stored securely & in line with industry standards across online retailers." Hunt responded: "Let me assure you that if you are emailing passwords to customers, you are well short of industry standards on a number of fronts."

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Dark Reading Tech Digest, Dec. 19, 2014
Software-defined networking can be a net plus for security. The key: Work with the network team to implement gradually, test as you go, and take the opportunity to overhaul your security strategy.
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-3971
Published: 2014-12-25
The CmdAuthenticate::_authenticateX509 function in db/commands/authentication_commands.cpp in mongod in MongoDB 2.6.x before 2.6.2 allows remote attackers to cause a denial of service (daemon crash) by attempting authentication with an invalid X.509 client certificate.

CVE-2014-7193
Published: 2014-12-25
The Crumb plugin before 3.0.0 for Node.js does not properly restrict token access in situations where a hapi route handler has CORS enabled, which allows remote attackers to obtain sensitive information, and potentially obtain the ability to spoof requests to non-CORS routes, via a crafted web site ...

CVE-2004-2771
Published: 2014-12-24
The expand function in fio.c in Heirloom mailx 12.5 and earlier and BSD mailx 8.1.2 and earlier allows remote attackers to execute arbitrary commands via shell metacharacters in an email address.

CVE-2014-3569
Published: 2014-12-24
The ssl23_get_client_hello function in s23_srvr.c in OpenSSL 1.0.1j does not properly handle attempts to use unsupported protocols, which allows remote attackers to cause a denial of service (NULL pointer dereference and daemon crash) via an unexpected handshake, as demonstrated by an SSLv3 handshak...

CVE-2014-4322
Published: 2014-12-24
drivers/misc/qseecom.c in the QSEECOM driver for the Linux kernel 3.x, as used in Qualcomm Innovation Center (QuIC) Android contributions for MSM devices and other products, does not validate certain offset, length, and base values within an ioctl call, which allows attackers to gain privileges or c...

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Join us Wednesday, Dec. 17 at 1 p.m. Eastern Time to hear what employers are really looking for in a chief information security officer -- it may not be what you think.