11 March 2010

Compliance

Posts relating to the information security principle "Compliance" are listed below.

11 March 2010

Input Validation and Output Encoding

Input validation and output encoding are key aspects of web application security. This morning I've just been using a data search on a website and came across this when no results were found:

Partial screen capture from a website's data search form with 'escape(escape())' appearing adjacent to one of the search criteria labels

I imagine "escape(escape())" is some attempt at preventing cross-site scripting (XSS), but implemented correctly. Interestingly, when search results are found there are several "-->" appearing. Another indicator of output encoding problems.

Partial screen capture from a website's data search form with several '-->' displayed beside the search criteria details

It doesn't have to be difficult - read the OWASP XSS Prevention Cheat Sheet.

Posted on: 11 March 2010 at 11:00 hrs

Comments Comments (0) | Permalink | Send Send

09 March 2010

Software Insecurity Analysis

The first report on the state of software security has been published by Veracode who provide a cloud-based application risk management service.

Partial image from the cover of Veracode's 'State of Software Security Report, The Intractable Problem of Insecure Software, 1 March 2010'

The data presented in State of Software Security Report - The Intractable Problem of Insecure Software are interesting, it relates to both web application (40%) and non-web application (60%) software but spans in-house developed, commercial, open source and outsourced, developed in .NET, C/C++ and Java. But don't get bogged down in the data. I'd recommend that everyone responsible for web development, or who commissions or operates a web site, read the executive summary. I was quite surprised that backdoors (a method of bypassing normal authentication) are still a significant issue: "Open Source projects have ... fewer potential backdoors than commercial or outsourced software". This is why "V13 Malicious Code Search Verification Requirements" appears in the Application Security Verification Standard.

There are seven recommendations, which are in summary:

  • Implement a comprehensive, risk-based, application security programme.
  • Implement security acceptance criteria for third-party suppliers.
  • Test code from outsourced, commercial and open source suppliers as rigorously as internally developed code.
  • Verification of C/C++ code must not be ignored and it is likely to be present in many applications.
  • Implement specific developer training on security.
  • Learn from organisations in higher-risk sectors such as finance and government.
  • Ensure security requirements are built into outsourced software development.

Some good advice there. The report provides a fuller description and gives the background to these recommendations.

I guess there must be much more detailed data available to Veracode than is presented in this "Volume 1". Perhaps Volume 2 will look at trends over time, but I'd also like to see:

  • Breakdown of root causes (e.g. unvalidated user input).
  • Breakdown of how the vulnerabilities had been fixed when the software was re-tested (e.g. parameterized queries implemented).
  • What proportion of faulty code was identical — found in more than one application (i.e. copied/duplicated from elsewhere).
  • Details of any secure development lifecycle in use by suppliers and their level of maturity with these.

Hopefully this type of aggregated data can be shared under Veracode's terms of service and agreements with individual customers. The software suppliers included in Veracode's analysis are likely to exclude customer organisations who do not have the knowledge or resources to have their code analysed. It would be an interesting research project to test a selection of applications developed by other suppliers to see how they compare.

Posted on: 09 March 2010 at 08:49 hrs

Comments Comments (0) | Permalink | Send Send

05 March 2010

Security Incident Sharing Framework

It's encouraging to see commercial information security organisations sharing their experience, knowledge and data, such as in the OWASP Security Spending Benchmarks Project. Last week Verizon also published details of its Incident Sharing Framework.

Part of a page describing external threat agents from the 'Verizon Incident Sharing Framework'

The framework (beta, 1st March 2010) is used in Verizon's internal security metrics gathering processes and to produce its public data breach investigation reports. The framework provides details of how various security incidents should be classified and recorded, including what is done to remedy the situation and further actions taken, such as education. By publishing the framework, Verizon hope that other organisations might collect similar data and ultimately share it to improve common knowledge.

Some other related frameworks and initiatives are listed at:

These frameworks may be too complex to consider for some organisations, but even so, they provide a good guide to the kind of things you should be considering in security and privacy incident management policies and procedures. They are also useful standalone references for classifying various types of attacks and accidents.

Posted on: 05 March 2010 at 08:52 hrs

Comments Comments (0) | Permalink | Send Send

03 March 2010

The Privacy Dividend

Today the UK Information Commissioner's Office (ICO) announced the publication of its report on the business case for investing in proactive privacy protection, which it is launching at the Data Protection Officer Conference in Manchester.

Partial view of the front cover from the ICO's report 'The Privacy Dividend - the business case for investing in proactive privacy protection' March 2010

The aim of the research and report defined in the tendering brief was to create a soundly argued business case for expending money on privacy friendly systems and business processes. John Leach of John Leach Information Security Ltd and myself working for Watson Hall Ltd submitted a proposal to undertake the project for the ICO. We were awarded the contract in August 2009.

We began the project by producing a public discussion document and initiated conversations with a number of experts. Our research was complemented by interviews with a cross-section of data processors and discussions held with an expert panel. We were particularly concerned about producing a report that would be relevant across all UK business sectors and size of organisation. Our draft report was reviewed by a small number of senior business leaders, and modified based on their experience and knowledge of justifying investments and practical experiences of implementing privacy protection measures.

The result? Well I'd like your opinions after reading the report. The Privacy Dividend is comprised of two volumes:

  • Volume 1 - The Business Case (20 pages)
  • Volume 2 - Supporting Materials (71 pages)

I hope you find "The Privacy Dividend" a useful resource. Additional updates and references are included on the Business Case for Investing in Proactive Privacy Protection project microsite.

Posted on: 03 March 2010 at 09:42 hrs

Comments Comments (0) | Permalink | Send Send

02 March 2010

Security and Design

Last week I visited the London Design Museum on South Bank. One of the current exhibitions is about Dieter Rams—not someone I was aware of previously—who is head of design at Braun, the German consumer electronics manufacturer. The exhibition included scores of examples of products he has designed over 40 years; with many on loan from Braun's own archives.

Photograph of the exhibition signage at the Design Museum saying 'Less and More: The Design Ethos of Dieter Rams'

Ten Principles of Good Design

But Rams' ten most important principles of good design caught my eye since it seemed they might apply more widely. I wondered how they might be applied to good security. Of course the ten most important security principles would actually be something else, but let's just look at Rams' ones.

Good design security is innovative

Technological developments offer new opportunities for innovative security. Security practitioners must innovate to meet new threats.

Good design security makes a product useful

Interesting in the security context. I believe that good usability includes good security and vice versa. Good security won't always make a web application useful, but equally good design can never truly make up for fundamental shortcomings of a product. Good security should enhance the application, not detract from it.

Good design security is aesthetic

I don't expect aesthetic quality to be mentioned any time soon in the ISO 27000 series of standards, but if we can achieve beauty, that should be preferred. For example, ugliness in user interfaces inevitably introduces errors in data selection and entry, and these may have a security impact.

Good design security makes a product understandable

Self-explanatory security? Yes, the inclusion of security measures should aid the user's understanding. Security measures should complement the software and make sense.

Good design security is unobtrusive

Security should not get in the way of the other functionality and where it is visible, its reason and method of use should be obvious.

Good design security is honest

Cut out the fear, uncertainty and doubt (FUD). For example, don't include claims about security (and privacy) that are not true or cannot be substantiated.

Good design security is long-lasting

Repeated changes to software are prone to introducing faults and should require a carefully controlled change management processes. By getting it right first, and not having to change security measures later, this makes better security.

Good design security is thorough down to the last detail

Building security in at an early stage by assessing the risks and requirements reduces the chance of having to make arbitrary decisions later or security implementation being left to chance.

Good design security is environmentally friendly

This one is harder, but perhaps good security uses resources more efficiently? It is certainly more expensive to fix faults later, so there could be an environmental benefit.

Good design security is as little design as possible

Purity? Simplicity? Architectural and programming code complexity leads to faults that may be security vulnerabilities. It is also difficult to maintain. Yes, keep it as simple as possible to achieve the security requirements.

Maybe in time we'll have security celebrities who adorn software packaging and interfaces with their signatures, like sportsman on clothing or chefs on saucepans. I don't think Dieter Rams would ever want his signature on one of his designs—they are enough of an inspiration without adding un-necessary branding.

Top Ten Most Critical Web Application Security Risks

There's a different "ten" being presented and discussed at OWASP London this Thursday: the OWASP Top Ten 2010 RC1. Web application developers should find the new document and associated cheat sheets a great help but it's very important for organisation subject to Payment Card Industry Data Security Standard (PCIDSS). As usual all meetings are free and open to anyone, but prior registration is required. The meetings are very popular, so register now if you haven't already.

Posted on: 02 March 2010 at 09:37 hrs

Comments Comments (0) | Permalink | Send Send

26 February 2010

Identifiability and Traceability Online

Last month I described the ability to track users sessions with browser data. A recent posting on IT Law in Ireland highlighted a series of blog posts elsewhere that give further insight into what is possible.

Photograph of the exhibit 'L-E-D-LED-L-ED' by Dilight at the London Design Museum, consisting of hundreds of bead-shaped light emitting diodes (LEDs) that can slide back and forth along a series of horizontal wires

Well, I just got round to reading them properly. The posts on Freedom to Tinker by David Robinson and Harlan Yu are:

The conclusion? It is possible to trace and identify individuals easier than you may think. We are dropping evidence like dead skin cells as we traverse the internet. Fact or fiction? Well the US Defense Advanced Research Projects Agency (DARPA) are taking it seriously with a recent call for research into cyber genetics, cyber anthropology and cyber physiology in its Cyber Genome Program. DARPA hopes to develop advanced methods to fingerprint or identify the origins of a cyber attacks by examining digital artifacts, and presumably other criminal activities utilising computer technology.

Getting a bit more down to earth, web site owners need to consider what information is being gathered and why, ensure this is legal, check that consent is implied or has been explicitly given for the purposes and what monitoring and analysis is performed on the data. It could be easy for system developers to carried away with tracking and tagging. Contracts with third parties should state clearly what the expectations are about the security and privacy of information, to protect web site users (employees, customers, clients, citizens) and the business.

Posted on: 26 February 2010 at 09:06 hrs

Comments Comments (0) | Permalink | Send Send

25 February 2010

Application Security Spending

It seems we are spending about ten times as much on infrastructure security as application security.

Photograph of signal cabling bundles passing through a wall a Baker Street underground station in London, UK

This is the conclusion of Jeremiah Grossman in his post on Infrastructure vs. Application Security Spending using some broad calculations and estimates from the available information. Have a look at the referenced sources and comments, and keep an eye open for the next web application security spending benchmark report.

What is your organisation spending on these two aspects?

Posted on: 25 February 2010 at 15:08 hrs

Comments Comments (0) | Permalink | Send Send

19 February 2010

Website Pre-Launch Security Review Checklist

The review of safety at BP's Texas Refinery following investigation and report on the explosion in 2005 which killed 15 people, injured 180 and caused substantial property damage, included a recommendation to use pre-startup safety reviews (PSSRs).

We can all learn lessons from unfortunate incidents like this in other disciplines (e.g. also the sinking of the MV Herald of Free Enterprise in 1987). Do web site developers and designers have an equivalent pre-launch security review (PLSR)?

I remember once reading an email press release about a new web site, only to visit it and find out that within a few link clicks you ended up in some sort of CMS admin area; we stopped browsing immediately and contacted the site's owner. In the past I have also been asked to make a web site live on Friday afternoon at 4pm; the answer has to be "no".

What should a PLSR include for a new or revised web site? If you don't already have a security policy, standards and procedures, here is a checklist of suggestions:

Part Item Check
Documentation Launch/release approval by project owner
Licences, permits, notifications, contracts, agreements and insurances in place/updated
User, operator, systems and administrative manuals
Full web site build documentation (from bare servers to fully operational web site) including platform definition and an inventory log
Detailed launch procedure, with a clearly defined launch initiation step, identification of dependencies, definition of duties, list of responsibilities, estimate of timescales, possible issues and roll-back plan (approved by the project owner, installation/launch checked on a clean test system and checked against other recent web site launches)
Post launch checklist (updated subsequently following a review of the launch, documentation of issues and how they were resolved what was changed in the launch procedure)
Change management procedures
Vulnerability reporting procedure and response plan
Security incident response plan
Disaster recovery plan
Data retention, archival and disposal plan
Defects Previously identified defects and vulnerabilities (security faults) corrected and re-tested, or accepted by the project owner
Code smoke/regression tested
Changes to threats and compliance requirements checked
Pre-launch vulnerability network and web application assessment (looking especially for configuration issues)
Changes made since the previous project security review checked and approved
Resources Project team availability (including client team)
Server and network resource capacity and availability checked for launch, typical and peak usage (bandwidth, memory, processor and disk space)
Operational staff trained
Post-launch review meeting scheduled
Related systems Effect on related projects and initiatives determined
Related information systems and business processes ready
Third party services enabled/activated/ready
Integrity Test accounts and test data removed
Test, old, backup pages and other files removed
Temporary, debug, seeded defects and test code removed
Data revalidated
Source code reviewed for hard-coded configurations, test code and malicious code (e.g. back doors, bypasses, time bombs, other unauthorised functionality)
Source code repository updated
Installed code, scripts and other files checked against the approved release code and consistency checked
Electronic media (e.g. hard disks) and memory scanned for malware
Indexing systems configured correctly, the resultant collection/catalogue/index fully populated and do not include incorrect resources
Data imports, scheduled processes and data population routines executed (after consideration of the consequences/side-effects on other systems and processes)
Metrics information reset/zeroed/cleared
Backup Backup and archival plans implemented and tested
Backups of servers, web site assets and data immediately prior to launch
Backup protection
Source code protection, access and escrow arrangements in place
Configuration Only the required software and services installed or enabled on the server(s)
Operating system, services (e.g. web server, mail server) and other software (e.g. database, administrative interfaces) hardened and checked against standards and good practice guides
Accounts used by services and other software checked
File system permissions checked
Server operating system, services and other software patched
Anti malware (anti-virus), intrusion detection (IDS) and intrusion protection systems (IPS) enabled and updated
Launch configuration information set (e.g. IP address restrictions and exceptions, storage locations, SSL/TLS, session management settings, error handling, HTTP methods and headers, caching, robots exclusion, domain name(s), DNS, web server configuration, email addresses, authentication credentials for third party services, registry entries, firewall settings, alert recipients, security event detection settings, audit settings)
Logging, alerting and other monitoring facilities enabled (e.g. audit trail, intrusion detection, file system monitoring, third party services)
URL aliasing and redirects configured
Access to the server(s) locked down (e.g. physical access, ports closed, IP address restrictions imposed, un-necessary accounts removed/disabled, passwords changed)

Not all these checks will be needed for your project but the order in which they are done is important. For a small web site with little functionality, this doesn't have to be complicated. For example, the build documentation and disaster recovery plan could mean having a full set of source files (pages, scripts, images, etc), each night's full backup of any changing data (e.g. database and generated files), login credentials, some notes on the server's configuration and contact details for the domain name registrar, design agency and hosting company.

For any project, try to discuss launch as early as possible in its lifecycle—preferably at the bidding/tender stage, but if not, immediately on project initiation. Define the launch/release criteria well in advance. Find out what the client and project owner's expectations are and who will be responsible for what. A good launch takes time, so make sure the team have enough time to complete the launch and subsequent checks without it running into abnormal hours of the day. Your web site project's failings might not lead to people's deaths, but that doesn't mean sloppy configuration, launch and operation are acceptable. What standards do you have?

Please let me know if you think anything should be added to or altered in this launch checklist.

PS if you are looking for a launch checklist that addresses wider website issues, I'd recommend the The Ultimate Website Launch Checklist.

Posted on: 19 February 2010 at 10:23 hrs

Comments Comments (0) | Permalink | Send Send

12 February 2010

Cost of UK Personal Data Losses

The Ponemon Institute has realeased its latest survey of UK data losses.

Partial view of a page from the Ponemon Institute's report '2009 Annual Study: Cost of a UK Data Breach'

The findings of the 2009 Annual Study: Cost of a UK Data Breach indicate that personal data losses ("breaches") are still increasing in cost (per record). The report discusses the growth of data breaches due to malicious attacks and botnets, how prevalent these are compared with other losses and the relative costs. The report also presents comparitive data for losses involving third parties, and for organisations who have experienced their first data loss.

Although we hear a lot about lost or stolen devices (laptops, USB sticks, mobile phones, etc) and malicious/criminal attacks, the most common primary cause for the losses was negligence.

The recent news that the German government is considering buying stolen personal data of its citizens who it suspects of tax evasion is worrying. This sort of activity may fuel personal data theft by leavers and disgruntled employees.

The report is available in PDF format.

Posted on: 12 February 2010 at 12:51 hrs

Comments Comments (0) | Permalink | Send Send

09 February 2010

All About Web Application Security Programmes

Today I thought I'd share some of my favourite blog posts about building software securely by implementing web application security programmes.

Photograph as dusk approaches of three construction cranes over the south London skyline

The excellent blog posts about building a software security assurance programme are:

Can you recommend any others?

As a reminder, the main software security maturity models and process models are:

Last week Microsoft also released a short document describing how to implement a simplified version of their SDL.

Which should you choose? It's what works in your own organisation that matters. Ask your software suppliers (e.g. web developers) what they use before you buy.

Posted on: 09 February 2010 at 17:36 hrs

Comments Comments (0) | Permalink | Send Send

More Entries

Compliance Security Principle : Web Security, Usability and Design
http://www.clerkendweller.com/Compliance
ISO/IEC 18004:2006 QR code for http://clerkendweller.com

Page http://www.clerkendweller.com/Compliance
Requested by 38.107.191.116 on Friday, 12 March 2010 at 21:53 hrs (London date/time)

Please read our terms of use and obtain professional advice before undertaking any actions based on the opinions, suggestions and generic guidance presented here. Your organisation's situation will be unique and all practices and controls need to be assessed with consideration of your own business context.

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