19 December 2008

Availability

Posts relating to the category tag "availability" are listed below.

19 December 2008

New OWASP Testing Guide

Version 3 of the Open Web Application Security Project (OWASP) Testing Guide has been released after a 6-month period of addition, enhancement and review.

The OWASP Testing Guide is an ideal reference for both developers and testers—version 2 was fantastic, and this new version is even better. The testing framework now covers 66 controls and, like in the previous version, each control has a brief summary and is described in detail followed by black box (no additional knowledge) and grey/gray box (partial knowledge) testing methods and examples where appropriate.

Partial view of a page from the OWASP Testing Guide V3.0 showing 'Brief summary', 'Description of issue' and 'Black box testing and examples' headings for a control.

The controls and testing methods are fully referenced to provide additional guidance and explanation.

Partial view of a page from the OWASP Testing Guide V3.0 showing 'References - whitepapers' and 'References - tools' headings for a control.

The controls are grouped into ten categories, including new separate categories "Authorization" and "Configuration Management". I'm especially pleased to see the latter broken out on its own, since even a perfectly coded application can have vulnerabilities introduced during deployment and changes to the application.

The OWASP Testing Guide now also includes a "best practice" penetration testing framework and a "low level" penetration testing guide that describes techniques for testing most common web application and web service security issues. More information is available on the Testing Project pages.

Posted on: 19 December 2008 at 09:43 hrs

Comments Comments (0) | Permalink | Send Send 

18 November 2008

Craft Unsubscribe Functions Carefully

Functions to unsubscribe, be removed, cancel or opt out from newsletters, mailings and email alerts can be used to undermine web site security.

Many techniques are used to unsubscribe including:

  • Email message to a particular address, possibly with a keyword like "unsubscribe" in the subject or body
  • One click opt out unsubscribe hyperlinks
  • Hyperlink to a form with additional validation
  • Log into an account management area to make a change to communication preferences
  • Pre-paid response postcard
  • Telephone call to a helpdesk.

Some examples from email alerts are shown below:

Partial screen capture of an example unsubscribe link in a rich text email message - the text says 'this is an automated operation' but is not explained further Partial screen capture of another example unsubscribe link in a rich text email message - there is also a link to change preferences, as well as a unsubscribe from this correspondence link Partial screen capture of another example unsubscribe link in a rich text email message - beside the unsubscribe hyperlink is a suggestion to subscribe to the RSS feed instead Partial screen capture of another example unsubscribe link in a text email message - the long URL has wrapped onto two lines

It is important to make it simple for people to opt-out of such services, but there are a number of problems that can get built into such systems:

  • Hyperlinks that only pass an email address as a parameter can be used to find whether particular addresses (such as known individuals) are registered/subscribers - this could be used for user name enumeration if there is a separate log in area and the user names are email addresses
  • Hyperlinks with only predictable identifiers can be guessed
  • Systems could be used maliciously to unsubscribe other people's accounts
  • Hyperlink options could automatically log people in to their accounts - this should not occur since the links could be accidentally forwarded on to other people
  • Any validation (authentication) systems must be at least as secure as other functions such as log in to access account details, so that the unsubscribe facility cannot be used to obtain log in credentials (e.g. limit the number of attempts possible, log failed attempts, lock accounts, add delays to failed attempts, etc)
  • Unsubscribe by hyperlink or email must have the same level of checks (not more or less) as non-electronic means (telephone call, written, etc) otherwise the weakest method could be used by a malicious person
  • Text-only versions either not including or not rendering the unsubscribe hyperlinks correctly (e.g. wrapping the link), so that only rich-text email users can see and use the links
  • Anything sent by email is normally not considered secure
  • Do not give away any other sensitive information on either successful, or unsuccessful completion (e.g. "Thank you Margot Dyson, we will send a letter to your address in Hastings to confirm this request")
  • Clearly distinguish between opting out of particular correspondence, types of contact (e.g. direct marketing), all correspondence and closing accounts altogether - you may have to contact the person for some other valid reason.

In all cases, the completion of unsubscribing should be accompanied by a message to the person informing them of the change of status (by email or some other method). Where this hasn't closed their account, and they can log on to undertake other processes, the event should also be recorded for them to see in a list of recent actions.

Posted on: 18 November 2008 at 12:25 hrs

Comments Comments (0) | Permalink | Send Send 

30 September 2008

Availability is a Usability Issue

If a web site is unavailable, this will affect everyone who tries to use it. Availability is a usability issue.

A web site being "down" can have the same effect as if someone cannot do what they want, it takes them too long, it leaves them frustrated or it is prone to the introduction of errors.

There are sometimes good reasons for downtime. The servers may be having software updates applied (patching). Depending on the requirements, some organisations may close a web application down during backing up, during a data update or during a change to the application.

Unavailability may also be due to excessive server loading, network connectivity problems, equipment failure or due to an attack by malicious users. If you have to take a site down for repair, your users are being denied use of the service.

Where possible try to minimise planned (scheduled) downtime and monitor the uptime semi-continuously (checking for text on some web pages or important transactions every 5 minutes, from more than one external location). For planned outages, I recommend you inform users well in advance and provide a meaningful message screen - not just a default error page.

Posted on: 30 September 2008 at 11:45 hrs

Comments Comments (0) | Permalink | Send Send 

Availability : Web Security, Usability and Design
http://www.clerkendweller.com/availability

Page http://www.clerkendweller.com/availability
Requested by 38.103.63.60 on Wednesday, 7 January 2009 at 11:54 hrs (London date/time)

Terms of use http://www.clerkendweller.com/page/terms
Privacy statement http://www.clerkendweller.com/page/privacy
© 2008-2009 clerkendweller.com