Want secure code? Give devs the right tools

With the appropriate tools and environments, developers can take the first step forward in safeguarding app security

The Internet has serious security problems that need to be fixed. Despite many calls to action over the years for the industry to band together and work on solutions, progress has been mild. What’s needed isn’t necessarily more security technology. What’s needed are better tools for developers so that they can improve the security of their code.

In his keynote at Black Hat in Las Vegas, Dan Kaminsky, chief scientist and co-founder of White Ops, advocated for environments and coding frameworks that make it easier for developers to implement security without compromising usability or stifling creativity. His keynote, “The Hidden Architecture of Our Time: Why This Internet Worked, How We Could Lose It, and the Role Hackers Play,” called on the security industry to think about how new programming environments could have basic functionality and security features built in and turned on by default.

“I worry about the ability of developers to innovate without being smothered by security concerns,” Kaminsky told attendees.

I caught up with Kaminsky after the keynote to discuss what developers need to continue innovating and developing. During his speech, he said, “We have to figure out what people want to do and help them to do it safely.” In our discussion, he explained how that meant looking at programming languages, working with containers such as Docker, and sharing code.

There is so much innovation and so much technology now that “everyday developers can do massive things,” Kaminsky told me. “If they don't have a way to build these technologies securely, all of [developers’] thought is going to leave 'How do we build what users want' and go to 'How do we survive the real world.' It's a drain on people's thought.”

The answer isn’t more standards or theory, but “real-world experimentation,” Kaminsky says. “No more ‘If you really care about security, program in this language.’”

It’s one thing to create new tools -- say, programming languages like Rust that stamp out a whole class of vulnerabilities by enforcing memory safety-- but it’s another to see how developers use it. If they aren’t able to do what they need to accomplish with the new tool, they'll figure out a workaround.

For example, it’s easy to say stop coding in C because of the chances of introducing memory-related vulnerabilities. However, if the developer needs to embed code, then Python as the “safer” language is not an option. It has to be C. By looking at actual use cases, at how developers are working, we learn about these roadblocks and can start figuring out solutions to address them.

“I am not a fan of obtuse, difficult-to-use, theoretically correct but operationally difficult solutions only considerable because they are mathematically correct,” Kaminsky said during his speech. There needs to be people focusing on operational questions to figure out how things really work and come up with practical answers.

“We didn’t stop our cities from burning by making fire illegal or heal the ill by making sickness a crime. We actually studied the problems and learned to deliver safety,” Kaminsky said in his speech. "If we want to make security better, give people environments that are easy to work with and still secure.”

Developers in organizations are fixing bugs in their applications every day, but because they are not releasing the fixes, everyone else encountering the same bug has to fix it themselves. It’s common developer practice to search Google or poke around GitHub for code samples to common programming problems. Right now, there’s no way to tell if something is done well or if it’s poorly written. The best way to make sure everyone gets the best fixes is to publish the code so that it's available to all.

“Managers, you should be letting your engineers share solutions to many of your internal security problems. You’re solving them anyway,” Kaminsky said during his speech. “Someday, someone’s going to have your problem again.”

If that fix is the first result for a Google search, then more people will use the better code rather than a broken hack they found elsewhere.

“There are a million reasons why technology doesn’t work outside of security. What matters is, it doesn’t work. So the game really is, let’s figure out, what really does,” Kaminsky told me.

Join the PC World newsletter!

Error: Please check your email address.

Our Back to Business guide highlights the best products for you to boost your productivity at home, on the road, at the office, or in the classroom.

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Fahmida Y. Rashid

Show Comments

Most Popular Reviews

Latest News Articles


GGG Evaluation Team

Kathy Cassidy


First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.

Anthony Grifoni


For work use, Microsoft Word and Excel programs pre-installed on the device are adequate for preparing short documents.

Steph Mundell


The Fujitsu LifeBook UH574 allowed for great mobility without being obnoxiously heavy or clunky. Its twelve hours of battery life did not disappoint.

Andrew Mitsi


The screen was particularly good. It is bright and visible from most angles, however heat is an issue, particularly around the Windows button on the front, and on the back where the battery housing is located.

Simon Harriott


My first impression after unboxing the Q702 is that it is a nice looking unit. Styling is somewhat minimalist but very effective. The tablet part, once detached, has a nice weight, and no buttons or switches are located in awkward or intrusive positions.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?