How to build more secure software: all platforms have vulerabilities including the Apple Mac Air and LINUX systems

Reading Engaget's article about a hacking competition @ CanSecWest where a Mac Air was compromised in just a few moments reminded me of recent conversations with some Apple Mac enthusiasts many were realistic, a few still believed that their systems were immune from security problems. Personally I really like the design philosophy of the Apple hardware - clean flowing lines, minimalist, nice. I am not familiar with the Apple software as it's quite different to what I'm used to. I spent a day using a Mac just to see what the experience was like.

BTW: Prior to joining Microsoft five (and a half) years ago I used LINUX every day for the previous ten years. I actively engage with LINUX user groups and have respect for many of the Open Source developers I've met.

All software developers make mistakes in design, architecture and implementation. IT Professionals make mistakes implementing software. We are human. Improvements to the training of developers, the processes by which they consider and review security and the guidance given to IT Professionals & users are critical to improve the security of information systems. Microsoft are on a journey to continue to improve the inherent security of our products.

We have made great progress since commencing the Trustworthy Computing Initiative. The number of security vulnerabilities and their severity have dropped significantly over the last five years. Our Security Development Lifecycle (SDL) is a fundamental part of how we build software. We are working with other vendors and the open source community to help improve the quality of software across the industry. We are learning from one another. We advocate using powerful techniques including threat modelling where information trust boundaries are clearly defined together with threat trees where the impace of a notional vulnerability can be modelled on the rest of the system.

No one produces software that is totally impervious to security vulnerabilities.

The threat landscape changes over time too hence over time new ways are found to attack software so even if it was possible to ship perfectly secure software over time it would cease to be so.

The Microsoft Security Response Centre (MSRC) team provide around the clock every day of the year response to investigate security vulnerabilities and ensure the speedy resolution of problems. We do root cause analysis of vulnerabilities to identify both other instances of similar problems and to find out which area of people, process and technology needs to be improved to prevent future occurences. We are always learning and constantly drive to produce more secure software.

It is naiive to think that changing from one vendor to another will free you of security concerns. A single security vulnerability (whether in the code or the implementation/configuration) can cause chaos for customers hence it is not the time to rest on laurels nor to think "we're secure".

Software developers and architects need to provide sufficient guidance to help IT Professionals implement their products in the best way to suit their balance between information security and ease of use as determined by both their appetite for risk and security policy.