Put Your Code in the SWAMP: DHS Sponsors Online Open Source Code Testing 67
cold fjord (826450) writes with an excerpt from ZDNet At OSCon, The Department of Homeland Security (DHS) ... quietly announced that they're now offering a service for checking out your open-source code for security holes and bugs: the Software Assurance Marketplace (SWAMP). ... Patrick Beyer, SWAMP's Project Manager at Morgridge Institute for Research, the project's prime contractor, explained, "With open source's popularity, more and more government branches are using open-source code. Some are grabbing code from here, there, and everywhere." Understandably, "there's more and more concern about the safety and quality of this code. We're the one place you can go to check into the code" ... funded by a $23.4 million grant from the Department of Homeland Security Science & Technology Directorate (DHS S&T), SWAMP is designed by researchers from the Morgridge Institute, the University of Illinois-Champaign/Urbana, Indiana University, and the University of Wisconsin-Madison. Each brings broad experience in software assurance, security, open source software development, national distributed facilities and identity management to the project. ... SWAMP opened its services to the community in February of 2014 offering five open-source static analysis tools that analyze source code for possible security defects without having to execute the program. ... In addition, SWAMP hosts almost 400 open source software packages to enable tool developers to add enhancements in both the precision and scope of their tools. On top of that the SWAMP provides developers with software packages from the National Institute for Standards and Technology's (NIST) Juliet Test Suite. I got a chance to talk with Beyer at OSCON, and he emphasized that anyone's code is eligible — and that there's no cost to participants, while the center is covered by a grant.
Re:No thanks. (Score:4, Insightful)
Re: (Score:2)
No thanks (Score:1, Troll)
The NSA is already proactively doing this for me.
how about no (Score:1)
I trust the DHS as much as I trust the NSA.
Looks good to me (Score:4, Insightful)
Re: (Score:2, Insightful)
What a shame they have no credibility with the people that would benefit from this.
Re: (Score:2)
Or with anyone not benefiting directly from their vendor base's campaign contributions to your congresscritters.
Oh, and the FNC audience.
Re: (Score:3)
Re: (Score:3)
CERT had some pretty big credibility.
FTFY
Re: (Score:3)
Actually, my first thought is why isn't the NSA doing this?
Securing our nation's information infrastructure is one of their core missions(along with spying on OTHER nations, which I also think they should be doing, instead of spying on US). They have the talent to be able to do it effectively.
Re: (Score:2)
Actually, my first thought was that they are, and that they're calling their initiative SWAMP Thing. Perhaps you missed the stories of agencies performing the tasks that others cannot and then "sharing" their data?
Re: (Score:2)
I had a feeling someone would say something like this...
According to TFS, the program is for open source code. You know, the code that is already open and scannable by a web crawler. If the NSA wanted to do this for nefarious purposes(and I'm sure they do), they would have(and probably have) started their own program years ago. They don't need you to upload your open source project for them.
I'm willing to bet the NSA has all the closed-source software source they want as well. I doubt my company's shitt
Re: (Score:2)
Have you ever tried to write a Webcrawler that will crawl the internet and differentiate code from everything else there,
Re: (Score:2)
Because "be able to attack others" always winds up being a higher priority than "keep others from attacking us" in a dual-mission agency. It goes along with "the best defense is a good offense" and such mindsets, and it sounds cooler when you're selling your budget to the oversight committee.
Re: (Score:2)
I almost don't feel sorry for the people stupid enough to fall for this scam.
Re: (Score:3)
The knee jerk reaction, of course, is to look for a catch in anything Homeland Security is doing. However, this seems like a really good idea. Finally, they are contributing in a positive way to public safety.
Barely. If you look at what they're offering [continuousassurance.org] it's FindBugs, clang, gcc, and cppcheck. Completely bog-standard tools that anyone should be using anyway, but they're being paid $23M taxpayer dollars for it. Shee-it, I could do the same thing with $10K to cover the cost of renting some EC2 space, and I'll spend the remaining $22.99M on coke and hookers (seriously, how can they have spent $23M on this? One person could set it up in a few hours, the only constraint is how many VMs you need to spin up if lots
Re: (Score:1)
It saves the government money to consolidate the checking to one place. Otherwise every department would need to do the checking themselves.
By doing this continuously you end up with releases which are free of known errors.
Re: (Score:2)
By doing this continuously you end up with releases which are free of known errors.
Weeellll... you end up with something that's been run through gcc -wall, which is a long way from "free of known errors". Now admittedly "free of known errors" is a nice circular definition meaning "free of things gcc warns about", but even then it's not necessarily the case, there's plenty of code that ships with avalanches of warnings when you build it, but no-one's bothered fixing it up.
At best, you get something that doesn't produce warnings in gcc and clang. At worst you get code that hasn't been chan
Re: (Score:1)
Actually you get something that has passed several different analyses.
Silencing "gcc -Wall" is a good thing. Modern gcc versions catch lots of errors. Add to that clang static analysis and others you get pretty reasonable error detection which is what they are aiming for.
No Windows or C# support yet (Score:3)
It's a neat project covering C, C++, and Java and a little Objective C and Javascript, but it doesn't cover C# or Windows yet. (https://continuousassurance.org/tool-selection/)
Unfortunately, in my world C#/Windows is where a lot of the business-facing open source action is, especially with the advent of NuGet.
For widely used open source, great. I'll use it. (Score:3)
When I write open source software in C, and expect it to be widely distributed, I may use the service.
I wouldn't submit PROPRIETARY software, probably, but code I submit to Apache or something like that isn't exactly. If NSA or someone reacts to analyze the Apache source, they'll do that without me submitting it. By running static analysis on my code, I can learn about potential issues and fix them.
typos (Score:1)
When I write open source software in C, and expect it to be widely distributed, I may use the service.
I wouldn't submit PROPRIETARY software, probably, but code I submit to Apache or something like that isn't exactly secret. If NSA or someone wants to analyze the Apache source, they'll do that without me submitting it. By running static analysis on my code, I can learn about potential issues and fix them.
Re: (Score:2)
I think it's probably a good idea to do this to your code even if you don't play on widely distributing it. It can help identify errors in your coding style/skillset. And you know what they say about a stitch in time...
For widely used open source, great. I'll use it. (Score:1)
WTF? (Score:4, Insightful)
Do the DHS seriously believe they have any credibility in this area?
At this point, I assume if they find any exploits they'll keep them secret and use them themselves.
Sorry guys, but once you became the enforcement arm for copyright, you lost all credibility.
Re: (Score:1)
At this point, I assume if they find any exploits they'll keep them secret and use them themselves.
Huh? If it is about open source, they can just download any project and still do that. As a matter of fact, harvesting open source software for vulnerabilities is something which agencies like NSA do all the time.
Re: (Score:2)
I'm not sure why you're conflating your understandable disgust over the current state of copyright litigation in the US with issues related to code integrity. There's not exactly a lot of common ground there.
Now if you had mentioned DHS' cozy relationship with the NSA - an organization that most of us expect is actively subverting both code and the standards we rely on - that would make more sense.
Really! (Score:1)
Soon it will be illegal to use open source unless it is verified by DHS.
What they're not telling you (Score:3)
What DHS isn't telling you is that they're secretly submitting anything given to them via SWAMP to a secret NSA partner program known as SHREK (Security Holes for Recapturing Encryption Keys) and the FBI's version of the same program, known as DONKEY (Domestic Onion-Router Key Capture) which will attempt to overthrow the TOR project.
The real question is, what is anyone doing putting their code in the SWAMP?
Re: (Score:2)
That would be DONKEY Capture, actually.
QA (Score:4)
Re: (Score:2)
I agree. I try to help out by reporting issues that I run into, but I can't do this fulltime since I already have a paying SQA job. ;)
QA (Score:1)
Coverity (Score:4, Interesting)
Re: (Score:2)
1) Create a program, and call it SWAMP
2) Look for problems in the code that is sure to be buggy, as competent developers would never submit code
3) Announce that OMFG, Open Source is full of holes!
4) Watch more people stay with Windows due to the misinformation
5) Power Profit
Look Ma! No ???? step!
What exactly stops them from gathering their own FOSS software? See step 2.
Re: (Score:1)
This is just another tool like Coverity, funded by the .gov. There's nothing wrong with it. And competent developers *will* submit code, because competent developers realize that no matter how competent you are and how much you focus on writing correct code, mistakes are inevitable and static analysis tools help mitigate the risk of those mistakes. Competent developers are already using Coverity, and they'll probably sign up for this as well in hopes that there is some non-overlap in the bugs the two sit
Re: (Score:2)
Sorry to break it to you, but Coverity's free-open source scanning was originally funded by the DHS [coverity.com]. :-)
After the DHS grant expired in 2009, Coverity continued the service pro bono.
This new program seems like a step back, though. Now, if the DHS was instead investing in improving the open-source tools, it would make sense.
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
what a gift! (Score:1)
Made by humans for humans. (Score:2)
Re:Made by humans for humans. (Score:4, Insightful)
Why are the tools being run remotely, as opposed to, for instance, being all nicely packaged into an image I can download and boot from locally. I understand the benefits of keeping statistics as code improves, etc. but it seems that a "paranoid developer" mode would fit nicely with the mission of improving code security. Esp. since those developers tend to do a lot more NIH of basic parts.
Additionally, and more relevantly, some of my work is done on a laptop as I move around, and being able to do some Q/A work when away from the Internet would be useful.
Re: (Score:1)
Made by humans for humans. (Score:1)
DHS is many different agencies - Coast Guard, FEMA (Score:2)
> Seems the left hand doesn't know what the right hand is doing, or wants!
DHS includes a LOT of hands that don't know what the others are doing. This is a high-level overview of a few of the major sections within DHS:
http://www.dhs.gov/xlibrary/as... [dhs.gov]
You'll notice it includes agencies as diverse as the Coast Guard, FEMA, health stuff ...
The $60 billion budget for all of the different agencies within DHS is 10% of the total non-defense operational budget of the entire government. So anything the governme
Okay (Score:2)
DHS sucks balls (Score:2)
No new tools. Low-budget operation (Score:4, Informative)
All they're offering are some existing tools [continuousassurance.org], ones you can get for free. The main ones are the Clang static analyzer [llvm.org] and Cppcheck [sourceforge.net]. They're not offering free access to some of the better, and expensive, commercial tools.
Cppcheck is basically a list of common errors, expressed as rules with regular expressions. Clang is a little more advanced, but it's still looking for a short list of local bugs. [llvm.org] Neither will detect all, or even most, buffer overflows. They'll detect the use of "strcpy", but not a wrong size to "strncpy".
No new tools. Low-budget operation (Score:1)
Metadata (Score:1)
Maybe A Different Tactic? (Score:2)