Vulnerabilities / Threats
8/17/2012
01:33 PM
Connect Directly
RSS
E-Mail
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
Partner Perspectives
What's This?
In a digital world inundated with advanced security threats, Intel Security seeks to transform how we live and work to keep our information secure. Through hardware and software development, Intel Security delivers robust solutions that integrate security into every layer of every digital device. In combining the security expertise of McAfee with the innovation, performance, and trust of Intel, this vision becomes a reality.

As we rely on technology to enhance our everyday and business life, we must too consider the security of the intellectual property and confidential data that is housed on these devices. As we increase the number of devices we use, we increase the number of gateways and opportunity for security threats. Intel Security takes the “security connected” approach to ensure that every device is secure, and that all security solutions are seamlessly integrated.
Featured Writers
White Papers
Cartoon
Current Issue
Dark Reading's October Tech Digest
Fast data analysis can stymie attacks and strengthen enterprise security. Does your team have the data smarts?
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-1927
Published: 2014-10-25
The shell_quote function in python-gnupg 0.3.5 does not properly quote strings, which allows context-dependent attackers to execute arbitrary code via shell metacharacters in unspecified vectors, as demonstrated using "$(" command-substitution sequences, a different vulnerability than CVE-2014-1928....

CVE-2014-1928
Published: 2014-10-25
The shell_quote function in python-gnupg 0.3.5 does not properly escape characters, which allows context-dependent attackers to execute arbitrary code via shell metacharacters in unspecified vectors, as demonstrated using "\" (backslash) characters to form multi-command sequences, a different vulner...

CVE-2014-1929
Published: 2014-10-25
python-gnupg 0.3.5 and 0.3.6 allows context-dependent attackers to have an unspecified impact via vectors related to "option injection through positional arguments." NOTE: this vulnerability exists because of an incomplete fix for CVE-2013-7323.

CVE-2014-3409
Published: 2014-10-25
The Ethernet Connectivity Fault Management (CFM) handling feature in Cisco IOS 12.2(33)SRE9a and earlier and IOS XE 3.13S and earlier allows remote attackers to cause a denial of service (device reload) via malformed CFM packets, aka Bug ID CSCuq93406.

CVE-2014-3636
Published: 2014-10-25
D-Bus 1.3.0 through 1.6.x before 1.6.24 and 1.8.x before 1.8.8 allows local users to (1) cause a denial of service (prevention of new connections and connection drop) by queuing the maximum number of file descriptors or (2) cause a denial of service (disconnect) via multiple messages that combine to...

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Follow Dark Reading editors into the field as they talk with noted experts from the security world.