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-8142
Published: 2014-12-20
Use-after-free vulnerability in the process_nested_data function in ext/standard/var_unserializer.re in PHP before 5.4.36, 5.5.x before 5.5.20, and 5.6.x before 5.6.4 allows remote attackers to execute arbitrary code via a crafted unserialize call that leverages improper handling of duplicate keys w...

CVE-2013-4440
Published: 2014-12-19
Password Generator (aka Pwgen) before 2.07 generates weak non-tty passwords, which makes it easier for context-dependent attackers to guess the password via a brute-force attack.

CVE-2013-4442
Published: 2014-12-19
Password Generator (aka Pwgen) before 2.07 uses weak pseudo generated numbers when /dev/urandom is unavailable, which makes it easier for context-dependent attackers to guess the numbers.

CVE-2013-7401
Published: 2014-12-19
The parse_request function in request.c in c-icap 0.2.x allows remote attackers to cause a denial of service (crash) via a URI without a " " or "?" character in an ICAP request, as demonstrated by use of the OPTIONS method.

CVE-2014-2026
Published: 2014-12-19
Cross-site scripting (XSS) vulnerability in the search functionality in United Planet Intrexx Professional before 5.2 Online Update 0905 and 6.x before 6.0 Online Update 10 allows remote attackers to inject arbitrary web script or HTML via the request parameter.

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.