ITworld.com
  Search  
ITworld Home Page ITworld Webcasts ITworld White Papers ITworld Newsletters ITworld News ITworld Topics Careers ITworld Voices ITwhirled Changing the way you view IT
Expert: Simplicity is Key to Keeping Code Secure
JAVA SECURITY --- 08/23/2002

When it comes to writing secure code, less is more. That was the advice passed down by security expert Paul Kocher, president of Cryptography Research Inc., who told the Usenix Security Symposium that more powerful computer systems and increasingly complex code will be a growing cause of insecure networks. 

On this topic

Huge chunks of software such as Microsoft Corp.'s Windows operating systems that have myriad features built in to take advantage of fast processors will perpetually have more flaws than security experts are able to uncover, he said. For this reason, programmers and companies should keep simplicity in mind when writing applications and only build in tools that appeal to 80 percent or more of users.

"The problem that we have is that we are getting these great performance improvements, which leads to increases in complexity, and I am not getting any smarter," Kocher said. "But it's not just me. I don't think you guys are getting smarter, either." Increasing processor speeds tempt developers to create code that can take advantage of the extra horsepower. This leads to software such as Windows or the Linux operating system growing over time. Every time the number of lines of code is doubled, a company adds four times as many security problems, Kocher said, which makes this trend of bigger, more feature-rich applications daunting to security experts.

Compounding the complexity problem is a lack of trained security professionals able to detect bugs. "There aren't enough people learning security, and it's getting harder to learn it," Kocher said. In addition, the number of computing devices and users connected to the network is escalating rapidly, which leads to more financial transactions being conducted online. A greater number of Internet-based transactions means financial institutions are increasingly dependent on computers, instead of humans, for analysis. Such a reliance on computers only exacerbates the problem of insecure software, he said.

Despite these challenges, there are strategies that companies can use to help secure their software, according to Kocher. Keep development teams small. Fewer programmers leads to more focused and careful planning for an application and places a cap on the number of "cool features" developers want to add in. Make modular applications a top priority. Building software that can be linked together, instead of creating one giant application, allows errors to be isolated and companies to reduce the risk of an entire program being afflicted by a bug. Spend time and money on fixing security early in the software development process. It's not enough to reach the end of a project and begin checking for security holes at that point. Think creatively in your design. Good hackers will try to find new and interesting ways to assault a network. Be humble. Developers need to realize they will make mistakes and need to look out for them instead of blindly trusting their code. Work on educating others. College students, for example, could be encouraged to find ways to attack mock networks.

With these tips in mind, companies should be able to build better, more secure software, but the overall problem of increased complexity poses challenges that Kocher is not sure can be overcome. "Today, nobody has any clue what is running on their computer," he said. "The complexity curve has passed us."

 





Advertisements
Sponsored links
Top 5 Reasons to Combine App Performance and Security
KODAK i1400 Series Scanners stand up to the challenge
Locate Hidden Software on business PCs with this free tool
Bring harmony to your mix of UNIX-Linux-Windows computing environments
 Home   Newsletters  JAVA SECURITY
www.itworld.com    open.itworld.com     security.itworld.com     smallbusiness.itworld.com
storage.itworld.com     utilitycomputing.itworld.com     wireless.itworld.com

 
Contact Us   About Us   Privacy Policy    Terms of Service   Reprints  

CIO   Computerworld   CSO   GamePro   Games.net   Industry Standard   Infoworld   ITworld  
JavaWorld   LinuxWorld  MacUser   Macworld   Network World   PC World   Playlist  

DEMO   IDG Connect   IDG Knowledge Hub   IDG TechNetwork   IDG World Expo  

Copyright © Computerworld, Inc. All rights reserved

Reproduction in whole or in part in any form or medium without express written permission of Computerworld Inc. is prohibited. Computerworld and Computerworld.com and the respective logos are trademarks of International Data Group Inc.