Developers 'should be accountable' for security holes

Security expert Howard Schmidt wants coders to be held responsible for vulnerabilities in their code, but others say their employers should be held to account

Software developers should be held personally accountable for the security of the code they write, said Howard Schmidt, former White House cybersecurity advisor, on Tuesday.

Speaking at Secure London 2005, Schmidt, who is now the president and chief executive of R&H Security Consulting, also called for better training for software developers, many of who he believes don't have the skills needed to write secure code.

"In software development, we need to have personal quality assurances from developers that the code they write is secure," said Schmidt, who cited the example of some developers he recently met who had created a Web application to talk to a back-end database using SSL.

"They had strong authentication, strong passwords, an encrypted tunnel. The stored data was encrypted. But, when that data was sent to the purchasing office, it was sent as a plain text file. This was not an end-to-end solution. We need individual accountability from developers for end-to-end solutions so we can go to them and say: 'Is this completely secure?'," Schmidt said.

Schmidt also referred to a recent survey from Microsoft which found that 64 percent of software developers were not confident they could write secure applications. For him, better training is the way forward.

"Most university courses traditionally focused on usability, scalability, and manageability, not security. Now a lot of universities are focusing on information assurance and security, but traditionally Web application development has been measured in mouse clicks — how to make users click through," said Schmidt.

Companies that develop software also have a role to play, said Schmidt, by checking that prospective employees have relevant security qualifications before hiring them.

The British Computing Society (BCS) agreed that there should be accountability in software development, but argued that companies should be held responsible for the security of the code written by their employees, rather than the employees themselves.

"Howard has gone to an extreme by saying software developers should be held personally responsible for the security of the code they write, but we broadly agree with the direction he's taking. I know a lot of developers who would be very uncomfortable with that level of accountability, especially if that were legal accountability. It is a company's responsibility to make sure the security features of its software are tested with rigour," a security spokesperson for the BCS told ZDNet UK.

"There is also the point that code isn't static — once purchased it can be modified," the spokesperson added, pointing out this would reduce individual accountability.

In addition, many security attacks succeed because users have not installed the latest patches, or installed a system incorrectly.

Businesses themselves should accept some responsibility for the security of the software they purchase, according to the BCS.

"There is an element of 'caveat emptor' — buyer beware. Before buying any software an enterprise should check whether a vendor uses their own security software. They should also be accredited with a CMM [Capability Maturity Model] standard — it's like a kitemark. CMM level three, four or five is an indication the software has been developed by quality developers," the BCS spokesperson said.

"The software has to be shown to be fit for purpose. This is essential for producing a trustworthy online environment."

Do you agree with Schmidt's views? You can have your say by voting in this poll.