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-3051
Published: 2014-10-29
The Internet Service Monitor (ISM) agent in IBM Tivoli Composite Application Manager (ITCAM) for Transactions 7.1 and 7.2 before 7.2.0.3 IF28, 7.3 before 7.3.0.1 IF30, and 7.4 before 7.4.0.0 IF18 does not verify X.509 certificates from SSL servers, which allows man-in-the-middle attackers to spoof s...

CVE-2014-3668
Published: 2014-10-29
Buffer overflow in the date_from_ISO8601 function in the mkgmtime implementation in libxmlrpc/xmlrpc.c in the XMLRPC extension in PHP before 5.4.34, 5.5.x before 5.5.18, and 5.6.x before 5.6.2 allows remote attackers to cause a denial of service (application crash) via (1) a crafted first argument t...

CVE-2014-3669
Published: 2014-10-29
Integer overflow in the object_custom function in ext/standard/var_unserializer.c in PHP before 5.4.34, 5.5.x before 5.5.18, and 5.6.x before 5.6.2 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via an argument to the unserialize function ...

CVE-2014-3670
Published: 2014-10-29
The exif_ifd_make_value function in exif.c in the EXIF extension in PHP before 5.4.34, 5.5.x before 5.5.18, and 5.6.x before 5.6.2 operates on floating-point arrays incorrectly, which allows remote attackers to cause a denial of service (heap memory corruption and application crash) or possibly exec...

CVE-2014-3694
Published: 2014-10-29
The (1) bundled GnuTLS SSL/TLS plugin and the (2) bundled OpenSSL SSL/TLS plugin in libpurple in Pidgin before 2.10.10 do not properly consider the Basic Constraints extension during verification of X.509 certificates from SSL servers, which allows man-in-the-middle attackers to spoof servers and ob...

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.