Risk
6/14/2010
04:47 PM
Connect Directly
Google+
Twitter
RSS
E-Mail
50%
50%

Kaminsky Issues Developer Tool To Kill Injection Bugs

Researcher's new startup offers up new approach to preventing common SQL injection, XSS vulnerabilities in software

Renowned security researcher Dan Kaminsky today went public with the launch of a new venture as well as its first deliverable -- a tool for application developers that helps prevent pervasive string injection-type attacks, such as SQL injection and cross-site scripting (XSS).

Kaminsky says his New York-based startup, Recursion Ventures, will productize research that breaks new ground in both security and technology, in general. His first deliverable is Interpolique, a tool that offloads much of the security responsibility from the developer, which he considers crucial to yielding more secure applications. "Security development tends not to care how inconvenient it is for developers," Kaminsky says. "[This is] about meeting developers halfway."

The trouble with today's model for writing more secure code and sidestepping known injection attacks, Kaminsky says, is it makes development much more difficult and requires more work for developers. The result: Developers often don't bother adopting these practices at all, resulting in insecure code, he says. "A lot of advice we give in security tells people to write things in a way that makes code hard to work with and use ... I think that's unnecessary," he says. "Our hope is to make an easier way to write code that's also the most secure."

Interpolique -- which was released for security experts and IT to poke around at and analyze, but not to use operationally -- is basically a framework that lets developers continue to write code the way they always have, but with a tool that helps prevent them from inadvertently leaving string injection flaws in their code. It requires developers to use different prefixes that describe variables of the strings, without requiring any major changes to their coding style, he says. And the resulting code is automatically formatted in such a way that can't be easily abused by the bad guys.

"Our system makes it very clear what is data and what is code without asking the developer to jump through hoops to make that expression" as with existing secure coding options for string-injection prevention, Kaminsky says. The tool establishes a boundary between data and code and then translates it for the destination coding language -- be it SQL or JavaScript, for example, he says.

Kaminsky is offering up the technology for open-community review and plans to reveal his findings from the feedback at Black Hat USA in Las Vegas next month. "Our ultimate goal is to minimize vulnerabilities in software," he says. "I'm putting this out for review to see if it works. It looks good -- it has held up to a lot of attacks."

But Interpolique's potential wild cards could be databases and browsers, he notes. There's a chance it might not work with all types of browsers or databases, he says.

And if Kaminsky's new approach for developing more secure code does fly after the research and security community gets a crack at it, then it requires adoption by developers -- something security experts say won't be so easy.

"Dan's new venture looks interesting," says Robert "RSnake" Hansen, founder of SecTheory. "Dan is clearly a very smart guy and has a lot of unique experience. My only negative comment is, like any solution, getting developers to adopt new frameworks is tedious and can take forever.

"It might work well for new applications, but for this to have real impact it needs to be integrated directly into IDEs like Visual Studio. I have no doubt Dan has some magic up his sleeves, but there are some large hurdles to overcome to get the kind of adoption necessary to make a difference."

Hansen says developers aren't paid to write secure code, so they basically take the simplest route. "It's fair to assume that developers will latch onto any technology that makes their lives easier, though, so if this can accomplish that goal without adding too many unnecessary steps, then it could work. But that's a big 'if.'"

Jeremiah Grossman, CTO and co-founder of White Hat Security, says Kaminsky's approach looks promising on paper. "But it has to pass on to the implementation phase," Grossman says. "As far as deployment, [it's unclear] how might it work with DB2 and Oracle ... and XSS on the browser."

Kaminsky says he's open to feedback on his Interpolique research. But the bottom line is string-injection flaws are endemic to the Web, cross all languages, and can result in major financial fallout for organizations. His hope is that the proposed approach for developers helps wipe out most of these flaws.

"Life is too short to defend broken code," he says.

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.

Kelly Jackson Higgins is Senior Editor at DarkReading.com. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise Magazine, ... View Full Bio

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Flash Poll
Current Issue
Cartoon
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-1544
Published: 2014-07-23
Use-after-free vulnerability in the CERT_DestroyCertificate function in libnss3.so in Mozilla Network Security Services (NSS) 3.x, as used in Firefox before 31.0, Firefox ESR 24.x before 24.7, and Thunderbird before 24.7, allows remote attackers to execute arbitrary code via vectors that trigger cer...

CVE-2014-1547
Published: 2014-07-23
Multiple unspecified vulnerabilities in the browser engine in Mozilla Firefox before 31.0, Firefox ESR 24.x before 24.7, and Thunderbird before 24.7 allow remote attackers to cause a denial of service (memory corruption and application crash) or possibly execute arbitrary code via unknown vectors.

CVE-2014-1548
Published: 2014-07-23
Multiple unspecified vulnerabilities in the browser engine in Mozilla Firefox before 31.0 and Thunderbird before 31.0 allow remote attackers to cause a denial of service (memory corruption and application crash) or possibly execute arbitrary code via unknown vectors.

CVE-2014-1549
Published: 2014-07-23
The mozilla::dom::AudioBufferSourceNodeEngine::CopyFromInputBuffer function in Mozilla Firefox before 31.0 and Thunderbird before 31.0 does not properly allocate Web Audio buffer memory, which allows remote attackers to execute arbitrary code or cause a denial of service (buffer overflow and applica...

CVE-2014-1550
Published: 2014-07-23
Use-after-free vulnerability in the MediaInputPort class in Mozilla Firefox before 31.0 and Thunderbird before 31.0 allows remote attackers to execute arbitrary code or cause a denial of service (heap memory corruption) by leveraging incorrect Web Audio control-message ordering.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Sara Peters hosts a conversation on Botnets and those who fight them.