DoD team nears Security Validation of OpenSSL
tadelste writes "An important DoD program took a page from Open Source and Do-It-Yourself-IT (DIYIT) and applied for their own Security Validation. In this article Steve Marquess says:as a taxpayer, I felt very annoyed. But it made me realize a couple of things. First, if OpenSSL had been validated, then it was possible for us to do it again. Secondly, if we could do it we could save a lot of money for the program."
- Government pays directly for certifying open source products
- Private companies "use" the open source product in their own commercial (very expensive) offerings, pay for the certification, then sell the (largely open source) products at a substantial markup to the government
You save a few pennies in the first option by no longer having the government pay for certification, but you lose many times over in the markup"dope will get you through times of no money better than money will get you through times of no dope"
Since they are having to revalidate the same code others have already validated (albeit with some modifications) but its still a good thing to see DoD at least attempting to use my tax dollars smarter, by spending the time to formally validate open source software instead of buying proprietary software for hundreds of thousands of dollars, that contains basically the same code.
Any time the Govt. decides to use Free software instead of MS stuff, I also sleep better at night, for several reasons.
Tequila: It's not just for breakfast anymore!
Maybe a couple of people in the gov't. The gov't is HUGE and full of all sorts of different people. Basically a microcosm of the American public, really. :)
More than likely someone open minded enough to try and save money on his budget, or even an idealist
This guy is way out there
BTW, this shows some of the GPL-camp fears: Too-free (as in BSD) code packaged into propietary apps... some people will not realize they can get the exact same code for free.
(the debate on "in licensing from private outfit you are paying for support of that free code" is left to the reader ;)
That summary is potentially misleading because it leaves out the reason why he was annoyed. Here is the whole paragraph:
Because OpenSSL has a BSD-style license, many vendors simply grabbed the source code and incorporated it into their proprietary products. Those vendors wanted literally hundreds of thousands of dollars in licensing fees. As Steve attests, "as a taxpayer, I felt very annoyed. But it made me realize a couple of things. First, if OpenSSL had been validated, then it was possible for us to do it again. Secondly, if we could do it we could save a lot of money for the program."
So he was annoyed at vendors who he thought were ripping the governent off, not at the wastefullness of the government auditing OpenSSL as I read the summary to say.
In a lot of cases, when software is been written to do X thing, the DoD will goto lengths to write it from top to bottom.
OpenSSL has proven itself worthy on the battle field of the internet.
If by using OpenSSL, the DoD can design better systems faster that allow our troops to be more efficient (i.e. deadlier) and it costs us less money and the DoD returns any bugs it finds to the community, I don't see how this is a bad thing.
Yes Francis, the world has gone crazy.
With OpenSSL being validated by the government as secure, it makes me wonder when SELinux will have it's own distro (something a bit thinner than fedore). this kind of stuff is great, i love it.
yeah until its on 90% of desktops...then we'll see how secure it is
You miss the point entirely. OpenSSL have already been validated, and the source has been seen by thousands of other people. THAT is what makes it more secure. Its proven and open. OpenSSL isn't a "desktop", its a library for encryption. Its released under a BSD license, so Microsoft could include it in every copy of XP if it so chose to. Its not platform dependent.
And to further blow your smug theory away, any Unix like operating system will always be more secure than the current Windows systems by design. Its not an opinion, its a design choice that makes the software somewhat more difficult to use but gaining security. You CAN make a Unix like OS as insecure as a standard Windows install (hello Lindows) but you have to really try.
It would be nice if the "yea, wait until more people use Linux" had a clue what they were talking about, especially since has exactly NOTHING to do with Linux. Linus, to my knowledge, has not contributed to OpenSSL and it OpenSSL will work just fine with no need for Linux.
Tequila: It's not just for breakfast anymore!
He is working on saving the US government money. Wish there were more guys like him in the US gov. For non-US readers : The US government has issues of spending bloat. They spend way too much on stuff. Us taxpayers don't like that. X_X
/b
|f(x)dx = F(b) - F(a)
They knew that OpenSSL had already been validated by several commercial vendors. So validating OpenSSL by itself should be a slam-dunk after they'd already done it N times. But suggesting that they just use OpenSSL for free rather than paying a commercial supplier for it is an "out of the box move" that "took guts"? As Dick Cheney might ask, WTF?
.mil sites.
...
Furthermore, it would be a big surprise if other parts of the military didn't have copies of OpenSSL lying about on a few thousand machines already, so they wouldn't even have to go through the motion of downloading and verifying the public version. I'd bet that it's already mirrored on any number of
How can this idiocy be explained, other than by the theory that they shouldn't get something for free if they can spend money for the same thing and support a campaign contributor?
It does sorta go along with the old stories of the Navy using Windows NT to control their hardware
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
Remember, he spent 18 months getting just the OpenSSL libraries accredidated. If a company had two people assigned to the task of accrediting both product and the incorporated OpenSSL for a year; and if we assume 50K/year per person--that's a hundred-thousand before the company makes any profit. (And we're skipping the overhead of the manager, their office space, etc.)
The fault here is in the government not having a pre-approved solution for the vendors to use.
And to further blow your smug theory away, any Unix like operating system will always be more secure than the current Windows systems by design
I have to disagree on this point. Windows XP/2000 has a fairly sophisticated system of permissions even though programmers and users alike tend to misuse or fail to use them. I think the major windows security problem is poor choice of default access control settings, not a lack of capability to make and enforce settings. That's something that Microsoft can (and probably will) fix over time without rewriting the entire OS.
Just to be sure I'm not missing anything, can you give an example of a by-design security feature that Unix has but Windows doesn't?
It would be nice if the "yea, wait until more people use Linux" had a clue what they were talking about, especially since has exactly NOTHING to do with Linux.
Look, I'm a die-hard Linux user (that even boarders on Zealot). I've been using "Linux" for 7 or so years now (RH 5.1 is the first "Linux" I tried). THe "yea, wait until more people use Linux" people are right.
Sure, OK, all teh source code to everthing on this machine is out there (well, except for the nVidia module, but...), but if only something like 10% of all teh computer users on this even use "Linux", that would leave a tiny percent of people that actually understand the ccode enough to validate it.
Again, I've been using this OS for a good few years, and I can honestly say I'm no coder. OK, I can hammer out some really simple "Hello World" programs in a few languages, but that doesn't mean I can validate the Kernel...
I'm not a prophet or a stone-age man,
I'm just a mortal with potential of a super man.
After spending much effort scaring developers in the US out of working on open source crypto with its munitions export laws the DoD is now "importing" and spending money certifying munitions grade encryption from abroad. Same for the NSA with OpenBSD.
What happens when OpenSSL makes a code fix? Does it all have to be re-validated? Do they supply a signed MD5 hash that says: "These sources are authorized for compiling a FIPS-140 compliant binary"?
There was a comment here on slashdot in the past few months (can't find it now) about if you want to create trustworthy code, you first need to trust every layer below it, and every tool used to create it. Did this team use a validated build of gcc to create their OpenSSL binaries?
Chip H.
I really hate to get pedantic, but OpenSSL is Free Software. According to the Free Software Foundation, the OpenSSL license is a Free Software license incompatible with the GPL.
What you should have said is that the Free Software Foundation recommends developers use the GNU TLS library, but using OpenSSL in non-GPL projects is perfectly okay. Remember, GPL licensed software is only a subset of Free Software.
The preceding comments reflect the author's personal opinion and are public domain, unless explicitly stated otherwise.
'What happens when OpenSSL makes a code fix? Does it all have to be re-validated? Do they supply a signed MD5 hash that says: "These sources are authorized for compiling a FIPS-140 compliant binary"?' and this is different from a proprietary product how?
My other OS is also FreeBSD
Probably same thing as when a commercial vendor has to amend their library; you either stick with what you had (if the change is non-critical), revalidate or ignore the issue.
"Usually with FIPS 140 validation the vendor supplies binary code that is validated as if it were distributed to customers. FIPS 140 requires a runtime integrity check of the binary code. But open-source software is distributed in source code form. The trick here, then, was to produce a mechanism by which cryptographic fingerprints could be chained from the original source code all the way to the final runtime executable."
This sounds a very useful technique for any software that's verified in source form but deployed in binary form : voting machines and Formula 1 ECUs come to mind. Anybody know if there are more details of how they solved it ?
The article made it sound like they selected a few critical files(but not all or even most) -- "...sequester the critical parts of the source code so they would not be modified in the course of routine maintenance." .
It also sounds like the used MD5 or SHA1 to validate what exactly must not change -- "...produce a mechanism by which cryptographic fingerprints could be chained from the original source code all the way to the final runtime executable.".
And nope they did not test gcc or validate that the code had unspecified or undefined behavior spots in it that could even legitimately cause a compiler to generate binaries that produce different results.
Most of this is just "red-tape".
But technically the interesting point of the certification id that they managed to get the source code certified. There is at least one other open souce product Crypto++ that is also FIPS 140.2 validated (Certificate #343). But they only managed to get a compiled package validated, which does help me to trust the code but not really to "sell" the library to PHBs. The article doesn't really go into how they did get NIST to validate the source code. Anybody know more details?
k. Use of "shareware" or "freeware" is prohibited unless specifically approved through IA personnel and by the DAA for a specific operational mission requirement and length of time when no approved IA product exists. Notify NETCOM RCIOs and the supporting RCERT/TNOSC of local software use approval.
Thus, unless the local designating approving authority (DAA) is willing to accept the risk of the software, and it is a mission requirement when no approved software exists (which SSL does), the DA won't be using it anytime soon. The biggest problem will be that the DAA's will not want to accept local risk when another product that will do the job, and is approved will work.
This regulation, while good intentioned, is really difficult to live with. Try finding a good non-freeware spyware remover. It's not easy.
Tim
Linux is used in millions of embedded products. Embedded products probably outnumber desktop use by at least 100 to 1. The reason for its popularity in embedded products is the networking stack, the security layers, the routing, the filtering and to a lesser extent, the multi tasking and all these embedded developers are looking critically at Linux security, since nobody wants to buy an embedded product that hangs up every couple of hours.
Linux security is multi layered. It doesn't matter much if some gee wizz seldom used desktop app has a security hole - the attacker has to get through the TCP/IP stack, iptables, tcpwrappers and portsentry/snort first. That is where the security of Linux lies.
The difference with MS Windows is that it doesn't have the equivalent of iptables, tcpwrappers or portsentry and it also has a tightly built in browser with more holes than a swiss cheese.
The result is that it doesn't matter how good the underlying Windows kernel is - there is virtually no security around the Windows core system and that is why it is easy to breach.
Oh well, what the hell...
OpenSSL is not gcc-dedpendant. Pretty much any C compiler will work. I'm sure there are compilers out there that are already proven for DoD use.
-molo
Using your sig line to advertise for friends is lame.
but if only something like 10% of all teh computer users on this even use "Linux", that would leave a tiny percent of people that actually understand the ccode enough to validate it.
Compared to how many that have seen Microsoft's?
I don't read the source code either, but many do. I feel better with people from dozens of countries looking over code, than just a couple hundred in Redmond. I can also read the opinions of many people who do use Linux, and I can compile and run any version of the kernel I want, with any features I want, and I am not a programmer either. Its not that hard. ( I do a little more than "hello world" programs, but still a novice programmer.)
I don't hate Windows (Im typing this on an xp laptop now) but I realize the shortcomings of it. I also have reasons to think that Microsoft believes in a degree of "security through obscurity", which I feel is dangerous.
Tequila: It's not just for breakfast anymore!
seriosuly do you believe windows as easy to use?
i dont, watch an average user sometime, its not easy for them either.
That's exactly what I am suggesting.
However, if you've never dealt with the government, you may be assuming the vendor would charge just as much for a pre-approved version as a version in which they have to redo the validation effort. Strangely enough, the government has a person, the Contracting Officer, who should monitor the contract and will (o.k., should) disallow this. Instead, the vendor would be allowed a modest fee for the cost of documentation and any further required testing.
and they don't inspect code to determine its origin
You'd have to be pretty dense not to notice the origin of the software if the document the vendor hands you for validation says exactly where it comes from. And even denser to allow a vendor to charge a man-year or two's worth of time for validation efforts if the documentation says the software had already been accreditated by the government for the level of security required by the contract.
On the other hand, if they don't use the pre-validated software, then they're unlikely to win the bid to develop the new system, since the competing vendors can undercut them by hundreds of thousands of dollars.
-------
Stepping back, we are not talking at the same level. The article isn't about charging for free software, it's about charging for validating that the free software is secure enough for medical data. Somebody has to do it--either the government does it once and lets the vendors use that accreditation and charge the appropiate amount of fees (which would be measured in man-weeks) or let each and every vendor revalidate the software and pay those vendors for duplicating work over and over again. There isn't some ripoff happening, it's simply the government keeps paying for the same work over and over again because it doesn't reuse the previous validation efforts.
Requiring an executable flag to be set on a file before it can be executed, rather than executing all files that end in .scr, .exe, .com, etc. no matter where they came from?
ND
This statement is forty-five characters long.
For the user of an installed linux system, why do people feel that s/he would have difficulty?
If you use gentoo, getting and using "updates" or adding new software is easy; portage does the work for you. If you want to "surf the internet" or use e-mail, linux is very easy to use. Please explain this whole issue of ease of use to me.
every ssh-2 block,
The article is about SSL, not SSH.
I'm fairly surprised so many people like OpenSSL.
First, it's licence contains an advertising clause. So yes, sure, many (MANY) companies rip off the code of OpenSSL but do not advertise for it on their advertising material, making the use illegal (no big deal until someone at decides to react).
The security history of OpenSSL is fairly poor. It is patched way too often for a security product. The code itself is fairly unreadable. The only really nice thing is OpenSSL are the optimized assembly implementations of the symetric algorithms...
Anyway, I know at least one country in Europe where OpenSSL == (automatic non-validation for the product)...
I feel better with people from dozens of countries looking over code, than just a couple hundred in Redmond.
Man, hands-down. No argument there. That's most of the reason I use and support "Linux". *ANYONE* can see what Under-The-Hood(tm).
You are nothing but 100% right (in my eyes anyway). The main "selling point" that Open Source has to offer is the fact that it's *NOT* centralized.
I'm not a prophet or a stone-age man,
I'm just a mortal with potential of a super man.