Linux Crypto Packages Demolished
SiliconEntity writes "Cryptographer and security expert Peter Gutmann has demolished several Linux security software packages in a recent posting to the cryptography mailing list. He says, 'It's possible to create insecure 'security' products just as readily with open-source as with closed-source software. CIPE and vtun must be the OSS community's answer to Microsoft's PPTP implementation. What's even worse is that some of the flaws were pointed out nearly two years ago, but despite the hype about open-source products being quicker with security fixes, some of the protocols still haven't been fixed.'"
I wish I could make this my signature (damn 120 char limit):
"Whenever someone thinks that they can replace SSL/SSH with something much better that they designed this morning over coffee, their computer speakers should generate some sort of penis-shaped sound wave and plunge it repeatedly into their skulls until they achieve enlightenment."
--Peter Gutmann
I only use the Cyrillic Projector code. No one ever will crack that.
Demolished? Where am I now gonna get my SSH and GPG from? :-(
Use ISO 8601 dates [YYYY-MM-DD]
What about the poptop project at http://www.poptop.org/. There is also a really good client package at for pptp servers at http://pptpclient.sourceforge.net/ I use both and they seem to be much better then vtun and cipe.
When I investigated CIPE for the first time two days ago, I read somewhere on the site that it didn't work yet, or that it provided no security. How can you critize a package for being insecure when they tell you it is?
Did I miss something?
he points to CIPE, a tool which hasent been updated since jun 02 and Vtun since aug. 2001. he says TINC was just as bad but was fixed when users complained. I think the obvious conclusion is that if people use the software and email the person who maintains it, it will get fixed. if the project goes stagnent because the author doesnt maintain it or people dont use it then of corse it will be vunerable after time as more flaws are discovered and not patched.
It's possible to create insecure 'security' products just as readily with open-source as with closed-source software.
This sentence can be reduced to "It's possible to create insecure security products" without losing any important content.
The question should be, is it possible to create a truly secure product when there's no opportunity for public code review? My answer would be "no". I shudder to think of how many critical holes would be found in most popular closed source network products if people like Michal Zalewski were allowed to review the source code.
All these years after Phil Zimmerman released the original PGP code, we STILL don't have anything which satisfies the need for a securing email. It would have these properties:
1. Be under a BSD-ish license, so it could be linked in to commercial and non-commercial products.
2. Be a LIBRARY, not a stand-alone executable, so it can be linked into anything at all.
Let's see, the Xiph people want their protocols to be used all over the place, so they make it a BSD-license LIBRARY that anyone can link to. Hmmm, seems to be working. The PNG backers want their format to be used all over the place, so they make it a BSD-license LIBRARY that anyone can link to. Hmm, seems to be working. The PGP/GPG people want their stuff to be used by people to send mail everywhere, so they make it either a non-Open Source license (PGP) or a GPL license (GPG) and also never ever make it a library for non-existant "security" reasons. Guess what! No one uses it!
Oh, and while I'm ranting about the horribleness of Open Source security stuff, why is it that there is STILL no well-integrated filesystem crypto in any of the Open Source operating systems, including the security-oriented OpenBSD? No, loopback crypto kludges don't count at all.
He's talking about CIPE and pals...
.. I found CIPE thinking it was an IPsec implementation.. a quick perusal through the source code and docs made it appear to me that it was basically somebody's homebrew project designed with little regard for security. IPsec has its problems, depending how you set it up, but this was worst.
I remember when I installed Red Hat I went looking for IPsec
The 32-bit CRC thing caught my eye as well. I'm no crypto export but I know enough about it to remember how CRC-32 is a weakness of the SSH 1 protocol.
I have since set up freeswan and am happy with it even though I really don't understand IPsec that well I think it has been more closely scrutinized.
So yeah, the author is probably right when he calls it the open-source PPTP... I don't see what it has to do with open-source or closed-source, although with open source it was easy for me (and the author) to gauge the quality of the code and avoid it.
One can browse a manual on the topic and write an implementation that technically works (when paired with a similarly shoddily-designed decoder), but be fully unaware that the pseudorandom generator is just that. Or that the ones-complement portion of the crypto engine fails when X=0, weakening the whole thing by sixteen bits while not producing garbage.
Unlike a crappily-designed game, it's a lot harder to spot when crypto goes wrong. And most of those thousands of eyes supposedly peering over the code aren't looking that hard.
I'd still contend that commercial crypto has had more and bigger flaws overall, but he's right that the open source process alone isn't going to give you good crypto.
Nice posting a denied link.
-- Note: If you don't agree with me, don't bother replying. I won't read it.
I checked the wrong damn box.
I hate Mondays.
Instead of making yourself look so great by "demolishing the security," why not offer the fixes? Yes, open source can be insecure, but at least it will be public knowledge what those insecurities are, and concerned individuals can make the mods themselves.
#1 Links to URLs not on standard ports stink. I'm stuck behind a very strict http proxy.
#2 Links to message lists stink to. The location of the content is not obvious. Maybe the offport link contains some valuable information.
#3 I did find the message that is the topic of this post. The material in the message seem very "dated".
No more Micro$oft bashing from me. Its like bashing at the special olympics.
Oh lovely.... so now because these are OSS components, people can't be critical unless they actually code the changes? Informing those that are suppose to care isn't enough? The author made a good faith effort and freely shared his knowledge but instead of saying thank you we'll get someone right on it... it's code or shutup?! *sniff* *sniff* me thinks me smell an ungrateful, eleetist something in the wind.... *Blech*
The time it takes to fix software is inversely proportional to the popularity of that software. I know 0 people that use CIPE and vtun.
Back in the day, whenever I'd bitch about how window managers lacked basic functionality, how the default IP tools didn't do multiple hot-switchable configurations, about the lack of decent documentation in the distro, about some aspect of the application that didn't work, shouldn't work that way, or had TOO MANY OPTIONS.... the response was ALWAYS "dude. The source is THERE. FIX IT YOUR OWN DAMNED SELF." With "That's a FEATURE, not a BUG." being a close second. To which I'd usually reply "I'm an ARTIST, not a CODER," resulting in a flamewar about the quality of the Gimp, but that's a different story.
:D
Things like this will get fixed when the people maintaining the packages start doing the gruntwork that gets those little bits enterprise grade- in other words, doing the hard, annoying, pain in the ass shit that you pretty much have to get paid to do, because nobody wants to do it in their free time. Big bonus points to open source software companies for making a BIG effort to do exactly that.
Unmaintained software........unmaintained.
In other news, Bear shits in woods.
Maybe not the bugs that are found, but I think all code on average starts out with pretty much the same amount of bugs, quite simply because programmers aren't perfect. In time, they iron out the bugs and it gets better.
That's why I hate it every time there's an exploit in a major package and some people go "Switch to our pre-alpha sourceforge package that's *so* much better and safer". Maybe because a bunch of crackers/hackers/developers (usually in that order) haven't looked it over and found the subtle exploits yet?
Kjella
Live today, because you never know what tomorrow brings
Thats true but it does not matter.
The quality of open source software is directly related to its desirability / popularity, in general.
things like ssh, pgp, and mozilla are pretty high quality, and have fast turn arounds on bugs. Not perfection, but quite efficient.
I'm pretty sure there are some pretty pathetic, sad window managers out there too. Some of the text editors are rather less than impressive as well. There are all manner of dodgy MP3 managements systems. OSS creates all manner of bad software because ANYONE can code something up and release it.
The security and cryptography field just highlights the problem because there are so many opportunities to do something particularly stupid in those fields. Anyone can write a cryptosystem that they can't break themselves. Unfortunately a lot of people figure if they can't break it, then neither can anyone else...
Jedidiah
Craft Beer Programming T-shirts
Linux in general is more popular than this project. That popularity gives it more eyes to keep watch on it, and shorter turnarounds when problems are found.
As for this project (CIPE), I personally have never heard of it. Indeed, neither has the poster from that mailing list: A friend of mine recently pointed me at CIPE, a Linux VPN tool that he claimed was widely used but that no-one else I know seems to have heard of.
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
What's even worse is that some of the flaws were pointed out nearly two years ago, but... some of the protocols still haven't been fixed.
Unacceptable.
There's no other way of putting it.
This crap got modded up??? I felt sure when I first saw the comment that it would it -1 at mach 3. Especially in light of articles like this one.
Not only that, but if you think about it, blaster and slammer and all those thing... They were only single "attacks", writen presumably by one single person. The nature of the insecurities is what allowed these worms to be as disruptive as they were. You imply with your post that the security of a system is inversely proportional to the scale of the deployment of that system. I'd love to see some evidence of that.
noah
Vtun is still far from being useless.
Just turn off vtun encryption and use it via a ssh tunnel. That works very well (i use it for securing wifi) and uses a proven protocol.
I also believe this is good practice and should be a widely accepted policy - re-use of good and proven software is not lame - it is crucial for easy, fun and secure software development. There really is no need for re-inventing the wheel.
Now if only ssl were so integrated into the operating system that i could use select() on a ssl-socket created with socket(), and thus making writing of ssl-enabled apps as easy as non-ssl-enabled ones, that would be great!
-- Having problems sending big files over the net? Try out Efisto (http://efisto.org)
FreeS/WAN
The real "Libtards" are the Libertarians!
If you are looking for a good vpn package for linux, try openvpn:
openvpn
It was created a while back when all the other linux vpn products were not that great, and it seems like thats still the case.
Of course it'll have a similar number of holes. After all, there's nothing about OSS that makes the software fundamentally more secure. BUT:
1) These holes are far less likely to be in the base operating system implementation, as the OSS mantra is generally to put as much logic in user-space as possible.
2) These holes won't be covered up and released only after the vendor has decided to let us know about them.
3) These holes will be fixed up very quickly (in general, anyway), in individual patches or point releases, without onerous licenses attached to them, and without fear that the release might break the rest of my operating system.
4) Because OSS products use open standards, if one particular package is simply too insecure, at least I can change to another product and have things interoperate (eg, switching from Sendmail to Qmail/Postfix/MTA-de-jour).
If you ignore automated worms and mail viruses, Linux/Unix has traditionally had far more attacks than Windows. Even a few short years ago, you could put a unpatched Windows box on the Internet and would be largely ignored. Not the case with something like RedHat Linux, which would be scanned and hacked within hours.
The "skript kiddies" like hacking Linux & Unix because it's "elite" and has usually has tons of tools like compilers installed. (Also, the Unix community was far ahead of Windows people with "open disclosure", which meant it was really easy to create hacks.)
Anyone else remember the t-shirt "My other computer is your Linux box". Little joke at the expense of the n00bness of most Linux users.
Oh, and RedHat already does nearly weekly security updates and has done so for years.
vtun was never designed to be totally secure. It even says so on the website. Still I admit, two years is a lot of time for someone to come up with something. Shame, cause it's a really nice program.
Anyone out there up for the challange? (I'd try, but I'd have no idea where to even start!)
One particular quote:
pretty much sums up the rest of the post.
(2,3-Benzopyrrole)
Many projects arent aimed at production at all and thats all dandy in my book. If every piece of open source became mysteriously secure by accident and voodoo i would be much surprised. Ofcourse there will be insecure and shoddy apps but you know what?
With open source the users can migrate without a penny to something more secure. The difference as i see it is that you can choose what authentication/web/shadowing/crypt you want by yourself and you are not in the hands of someone else. You are responsible for the security, not someone else that you just put the blame on. A frightening thought to some but a bliss to the likes of me.
I am a grown up and i can make my own decisions.
HTTP/1.1 400
What a big waste time of so Peter Gutmann found two programs that are not secure. Gotta ask your self is anyone maintaining them ? Does any one care ? There are few M$ programs that have paid programmers that aren't secure XP, w2k. Need I say more.
1.23 Can I use vtun over SSH ? Yes, via the port forwarding feature of ssh. Don't enable vtun's encryption as ssh does its own encryption. Also, make sure to select the tcp protocol as SSH can forward tcp but not udp. An example session might look something like this: home$ ssh -L 5000:localhost:5000 work.megacorp.com (authenticate if necessary) work$ vtund -s home_tunnel_config
Now, having said that, I use VTUN and haven't had any problems. But then again, I also have the boxen firewalled to hell and back, no services allowed but SSH from a few known hosts, no root SSH, etc. So even if you do crack my key, you're not getting much that will get you anywhere.
While I don't consider it the most secure tool, it does the trick well enough for now. Kudos to the VTUN team, and kudos to Peter for his examination.
PC moderators can suck my White pierced, tattooed dick. If you think pride == hate, s/dick/Aryan meat mallet/g.
"Whenever a programmer thinks, "Hey, skins, what a cool idea", their computer's speakers should create some sort of cock-shaped soundwave and plunge it repeatedly through their skulls." - Makali.
http://rocknerd.co.uk
Package: libgpgme11 ...
Description: GPGME - GnuPG Made Easy
GPGME is a wrapper library which provides a C API to access some of the GnuPG functions, such as encrypt, decrypt, sign, verify,
Can I hump your skull now?
I've used vtun for years and years. It's always been a nice, easy system to set up.
I also always turned off security on it - it's primary purpose was always to be a tunnel solution, not so much a security tool. What's more, I don't open any more ports on my server than I need to - I bet there are buffer overruns in vtun...
I always tunel vtun over ssh. Problem solved.
I need to look into openvpn (http://openvpn.sourceforge.net/).
Open Source or Closed Source, its just as easy to write insecure software, either way.
The point is, that with open source you can see just how insecure or secure a particular product is by looking at the code.
Open source is inherently no more secure than closed source software. The difference is people like "Peter Gutmann" can see what is wrong and be at the ready with suggestions how to fix it.
Electronic Music Made Using Linux http://soundcloud.com/polyp
Of course when no one applies the patches, you'll get some nasty events.
Rating: 8.35/10.00 (Rank N/A)
Vitality: 0.01% (Rank 4941)
Popularity: 2.72% (Rank 1001)
VTUN
Rating: 8.55/10.00 (Rank N/A)
Vitality: 0.02% (Rank 2787)
Popularity: 2.69% (Rank 1017)
Neither of these projects are dead, quite, but neither is terribly active, either. Sourceforge shows one developer for CIPE, for example.
As an earlier post said, crypto demands skills which aren't generally available, in an unusual combination. Many competent eyes make bugs shallow. Many competent coders make bugfixes quick. It looks as if those packages haven't drawn the competent eyes and coders yet.
Maybe Mr. Gutman's post will draw some good folks who are able to do the work to these projects. Or maybe it will inspire the maintainers to simply let them fade away. Either way, we're better off for his efforts.
A third possibility is that folks will just not care. Gutman tells us:
This kind of thing needs to be fixed or abandoned; bad security is worse than no securitySee what I've been reading.
The main article here isn't about security packages that are uglier than dirt, it's about "security" packages that are insecure. I'm not aware of significant security problems with GPG (as long as your trust models and operating environment are compatible with its requirements and capabilities), and you appear to be ranting about how ugly it is to use. Well, we all *knew* that...
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
VTun has been updated
in 2002 and 2003.
Check their homepage:
http://vtun.sourceforge.net/
Maybe only small update.
here
so whats wrong with loopback?
... to use.
I hope the flaws are fixed.
Are you implying that it's not possible for someone to be a paragon of bad crypto design?
Give me Classic Slashdot or give me death!
Arguing with AC's isn't exactly productive, but here goes.
The simple fact of the matter is that some of us are experts in one technological field or another, yet lack the ability to debug other people's code, or re-code our own solutions. Were we all able to produce high-usability cryptological software ourselves, nobody else would ever need to write any.
This is why software developemnt shops have seperate QA and developement branches. Testing software and finding bugs takes skills that aren't necessarily the same skills programmers have.
Enjoy.
So what does he have to say about the freeswan IPSec implementation, especially when combined with iptables?
Did you learn to write before you could read? Could you debug another's code if it was in your own area of "expertise?"
;-)
You can program but can't test and debug?
Where did you go to school? Just so we'll know
The GNU project does not exist in order to get people to use their software. It exists in order to promote "free software." To that end, they *do not* want their code inside "commercial" (by that, I mean "proprietary") software, so the BSD license isn't a good choice.
Nobody uses PGP on windows, either. I don't think it has anything to do with licenses, but rather with the fact that it's not automatic to tell if someone (a) has PGP/GPG (b) cares and wants you to use it to send mail.
OTOH, I do agree that "open source" security stuff is pretty crappy.
You imply with your post that the security of a system is inversely proportional to the scale of the deployment of that system. I'd love to see some evidence of that.
I would like to see evidence of that too. Well, other evidence than already exists (e.g. Windows has more attacks and is more deployed...that's evidence, right?). In any case, I am not sure why this seems like some huge shock. It's not really that security is worse on OSs that are less common...it's that if you have a million boxes running one OS, and 2,500 running a different OS, if you are a hacker, which target are you going to gun for? There was an article posted a week ago (sorry I don't have the link) that said that linux web servers were more hacked than windows web servers (more evidence of the more prolific, more attacked). Though it was a bit of a questionable article, it wouldn't surprise me if it was the case. One thing Linux has going for it is its strong seperation of user and administrative priveledges. That doesn't exist on *most* windows boxes out there hence they ARE inherently less secure (there are other factors of course). Why doesn't windows do this? It caters to the ease-of-use first. su isn't a complicated concept to us, but it isn't so accepted to joe the user who would get pissed if for some reason he couldn't install his new p2p program. I can almost guarantee you, if Linux (one flavor of it anyways) gained market dominance, and they all ran the same apps (like windows office, etc) you would see a larger number of attacks that did more damage. It would have a lot to do with unpatched systems, and let's face it, when it comes to patch security holes, Windows has a better method of notifying and distributing the patches. I hope Linux will have something similar soon. In any case, an OS is an OS, use your favorite one for moral, technical, gaming, whatever reason, just don't be so defensive about Linux that you blindly accept that security is already perfect. Linux users should not be surprised to see more attacks that are more significant scale as it gains marketshare and has more comonly used apps.
Support a great indie game: http://www.abaddon360.com
Open source crypto has vulnerabilites.
Closed source crypto has vulnerabilities.
Can't these problems be solved by using STL?
The first big difference between OSS and commercial products is often that commercial products want to either invent a new proprietary protocol, or, for marketing reasons, push an obsolete protocol as a new innovated protocol. Both of these leave end users insecure. However, since everything is proprietary, there is no way for the user to know the level of insecurity. And, if we may drop names like in the article, Scheier lists a new company nearly every month who tries to push crap as security, though he has gotten so annoyed that he has skipped months of late.
And to drop the name again, Schneier, has spent his time of late trying to convince people that security is so much more than protocols. The protocols must be implemented in code correctly and deployed correctly. Unless one is a huge national agency with a classified budget and decades of security experience, it is unlikely that one can create a secure product. It is much better to make the code public so that interested parties can investigate. It doesn't mean they will.
The two of these combine in interesting ways in closed software. There are claims of 1,000,000 bit keys. There are situation in which security by obscurity is used as the first line of defense. There are situation in which the DCMA is used as the first line of defense.
Which is just to say that conclusion #1 and #2 does not follow from the text. Just because one finds a few packages that are out of date in OSS, does not mean that finding a few updated packages in closed source software are more secure. Conclusions #3 and #4 are trivially valid, and applies to anyone writing software in any model. All programmer should take the advice to heart, especially if they want to design a right management system using closed protocols.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
Who said I could program?
I don't claim in my post to be a programmer. Despite my ability to script the bare essentials for my real job, programming (at all) is not my area of expertise.
It is eminently unfair to call these "Linux" packages.
.
Of course, none of them are GNU packages, either . .
OTOH, tinc does have a linux.org homepage, but then it seems to not be "Demolished" by any reasonable definition. He says "This is a terrible way to use RSA, and usually compromises the key." and I'm no crypto geek, but I think what he means by "compromises" is "provides and avenue of attack that is mathematically simpler than brute force against the key" not "reveals the secret".
So, two seemingly abandoned projects are suspect, and one relatively arbitrary (but Open Source!) package has a theoretical weakness.
All that said, my question is: What has been demonstrated (or demolished)?
-Peter
Of course, the author of that article went on to write CIPE, which is one of the problem protocols under discussion.
I use freeswan IPsec for securing wifi. The biggest problem with IPsec is that it suffers from "committee bloat" and is very complicated to use. Freeswan partially mitigates this complexity by implementing only a narrow subset of the RFCs (in fact, it is not even RFC compliant, because they deliberately removed some required features that might compromise security).
The good thing about IPsec, and freeswan in particular, is that they were openly developed with actual expert input and nobody has yet cast any doubt on the security of either.
Good lord. If he googled a bit more about vtun he would have seen responses in defense of it, as well as asking to go beyond theoretical garbage to proving the insecurity.
He says nothing new.
The key to using encryption with vtun is to use a strong password and to change it now and then. There's really nothing wrong with vtun's encryption approach otherwise.
Any potential software issues not relating to encryption do not make vtun any less secure than, say, SSH (see the latest patches).
This guy, obviously with more than a few clues about security, is able to examine the products, right down to the source level, analyse the security provided, freely publish his findings and suggest improvements (even if all he suggests is 'scrap it', and something about skull-fucking with sound-waves.)
This is great information, and while it might not reinforce the 'open source uber alles' message, it is very useful to anyone who might be considering working on these or similar projects, as well as anyone that uses them.
Even if Mr. Gutmann says these products can't be completely fixed, at least the authors can improve them now based on his comments, and just because this guy says it can't be done, doesn't mean it is gospel.
I say a big thank you to Peter Gutmann (a fellow kiwi, alright!) for taking the time to write this and help to improve the state of open source security products.
I gots ta ding a ding dang my dang a long ling long
Check out FreeBSD 5's GBDE system. It's still relatively new and needs some polishing, but is improving rapidly. It's already quite usable.
Oh my god! Which ones the intelligent one?! Which one's questioning open source!? Who's the troll?! I need an adult!
Right, quote a 1998 report on Windows NT's PPTP waeknesses, many of which were addressed in Win2K.
On that topic, could someone suggest a good Linux-based PPTP server that can use Active Directory for authentication/access rights or an IPSEC server that works with XP/Win2K's native IPSEC client?
If you don't want to repeat the past, stop living in it.
1. Make good point that open and closed source software can both be insecure.
2. Demonstrate point by showing out insecurity in some open source software.
3. Someone notices the good point and fixes the insecure open source software.
4. Close source software gets no such notification, still has holes.
5. Point one nullified.
It makes no sense to perform that kind of comparison between "Microsoft" and "open source". Microsoft is a company with a product line. Open source is just a license. It's not even an "apples" vs. "oranges" comparison. I mean, if Microsoft releases a broken piece of software under an open source license, does open source quality all of a sudden decrease? The question of whether there exist insecure open source packages corresponding to some Microsoft package has a trivial answer: of course.
The proper comparison is to ask whether there exists highly secure open source packages comparable to Microsoft's package in functionality. And the answer is usually, "yes".
The difference between open source and Microsoft is that among the hundreds of open source systems, people can find a collection of open source tools that is secure. Because they are open source, they tend to interoperate and use open standards, and that means that you can more easily mix and match. Users and companies can audit and verify those tools themselves if they care to, they can fix bugs that they discover, and they can share their discoveries openly. No, the open source process doesn't guarantee security, but it makes it possible.
First of all, I've got a tremendous amount of respect for Peter Guttman, and not just because he's the author of the coolest quote relating to computer security of all time (if you can't find it in that essay, you're not paying attention). But...he misses the point.
... TCP is terminated at the forwarder, addressed using SOCKS4 or SOCKS5(>3.7.0), and forwarded to the appropriate destination on the other side of the tunnel. It's TCP _only_, but it operates completely in userspace.
We do not have an effective method of running a stateless cryptosystem, but IP actually does require stateless operation. All these mini-systems that have sprouted up exist because of this.
SSH(which, incidentally, violates Guttman's rules by using "the same key for encryption and authentication") and SSL(which utterly falls apart when the cert gets compromised) both run over TCP. TCP is not IP. TCP adds reliability, through error detection, correction, order management, and congestion management. That's all well and good, but sometimes I really don't care when I drop a packet. Voice traffic is a fantastic example -- by the time the retransmission is complete, the data is stale and irrelevant. But TCP will not only stop to retransmit, it'll hold up everything else while it does so, and even slow down the connection to be sure a dropped packet doesn't happen again.
There are _many_ protocols which can accept these semantics. But there are many that cannot, and there's a bigger problem: By supporting those protocols that do not share the connection semantics of TCP -- DNS, VoIP, etc -- we end up being forced to carry either GRE or PPP packets over the SSL/SSH tunnel -- and inside these PPP packets, that are being carried by TCP, is more TCP.
This doesn't work very well at all -- effectively, both sockets attempt to simultaneously adjust to changing network conditions, and since neither knows about eachother, they both screw up badly.
All because we do not have a stateless cryptosystem that works. It may very well be that such a demand is impossible. Stateless cryptosystems can send a message and not only not prenegotiate a session key, but tolerate large number of dropped packets. Replay attacks need to be suppressed, but packets need to be able to survive high latencies. CPU load needs to be kept reasonable, but no message can rely on the asymmetric results of another.
In short, normal cryptosystems are built to be inflexible to attackers; we do not know how to make them simultaneously flexible for networks. The reasons why should be obvious -- anything that can go wrong on the network, will go wrong because of an attacker. So telling everybody to use SSH/SSL is ultimately code for, "We just don't have the crypto to secure IP." And we know IPSec is a failure; if it hadn't been for VPN's, it'd be as rare as multicast and a hundred times more expensive.
Solutions? I suspect short signatures will ultimately make the difference, as will better time-based protocols (at least for intra-admin-domain work.) But no matter how high my opinion is of Guttman, I cannot ignore he considers solved problems that fundamentally refuse to go away.
Yours Truly,
Dan Kaminsky
DoxPara Research
http://www.doxpara.com
P.S. There is an immediately available VPN solution that's free and doesn't suffer from TCP-over-TCP effects. Look up Dynamic Forwarding for OpenSSH
No, because GPGME is GPL, not LGPL, and all it does is make calls to the (GPL) GPG binary.
Uh, Super FreeS/WAN? I use it over the stock FreeS/WAN because it includes the nat-traversal, Delete SA, and x.509 certificate patches. Mind you, I also prefer SSH Sentinel over the braindead Win2k/XP IPSec stacks. Here's a link to a nice howto if you insist on using Windows builtin, even though SSH Sentinel's under $60 a head.
The problem with Einstein is that he was just an armchair physicist.
Why didn't he just shut up and do something?
Can someone tell me when expertise, perception and wisdom became "worthless"?
"Excuse me sir, but did you know that your door lock is faulty?"
"Hey, don't give me none of that talk mister. Just shut the hell up and fix my lock. OK?"
"Listen. . . asshole. I didn't design the lock, I didn't make it and, more to the point, I'm not the jerk who put it in your door. It's your design, your lock and your door. You fix. Now FOAD."
Open source is about sharing, not about making the other guy responsible for your cockups.
KFG
ones-complement portion of the crypto engine fails when X=0
Some conversions for the interested, of zero into four bit binary of various types: 0000 (1's complement), 0000 (signed magnitude), 0000 (2's complement)... Uh, what was I doing again?
====
Crudely Drawn Games
It's not Macs that you hate, but your own incompetence. I would like to sympathize with you but that's beyond my own competence I'm afraid.
Peter Gutmann is a serious expert. I write security code for a living. (For IBM) Peter Gutmann has writen a few seminal papers such as "A Layman's Guide to ASN.1" which is required reading for anyone coming on the team.
It runs on WinNT, too. So it sucks more.
My other car is first.
GPG exists to Give Users a Tool to Use Crypto. Insofar as both ends of a communication channel must both use the same kinds of crypto, crypto projects should be trying to put their output in as many hands as possible; to put it more generally, the more people who have crypto, the stronger it gets. GPG's goal should be to put GPG in the hands of as many different applications as possible.
The GPL is not a means to that end. It is in fact contrary to the project's goal, because it discourages commercial adopters.
This is yet another example of the GNU project sacrificing usefulness in favor of principles. I like that they're there, promoting their principles, but in the meantime I won't expect gpg to ever be popular or useful for communicating with the general population.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
Considering OpenVPN, FreeS/WAN, and TunnelVision are available, much more secure, etc. I doubt that anyone will step up to the plate for these. VTun's usable as it currently is for establishing quick and dirty SSH based tunnels- and that's about all I'd ever use it for (not that I'd use it, like I said, there's better and still OpenSource...).
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Uhhh... I'll go with you on the "insightful" comment, but most of this happens in software, for us mere mortals. Also, I just took a crap that didn't require any sort of interpretation. Nor, for that matter, did I need a spell-checker to type the word "equation" properly.
GTG now, enough free beer already...
C|N>K
Debugging taught in school?
;)
Where did you go to school?
But I'm pretty sure the top paid engineers at microsoft aren't the script kiddies you see running around on this site. In fact, I'd be surprised if this guy himself hasn't consulted at one point or another for microsoft.
This is a very essential point most people never consider: Microsoft has the money to hire just about *anyone* on the planet who would be willing. And, yeah, maybe none of the linux zealot script kiddies would work (although I'm sure many would succumb to money when flashed a $1000 in their faces), most leading industry experts would. Why do you think Microsoft is getting involved so closely with Universities? Do you think it's just to get programmers using their products? Or do you think they actually intend on getting scientific reasearch collaboration?
In fact, if I recall correctly, some educational institutions have access with NDAs to Microsoft windows source code.
You don't need to mess with the users path, just drop a PGP executable ahead of the one that is in thier path... it seems like if you have the kind of debug access that would let you update a shared library you would also have permission enough to drop something in /usr/bin or the like!! Or perhaps enough permissions to just overwrite the original PGP with a wrapper script.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Apparently your posting strategy went something like this:
Ironically, your post made for the better demonstration of the problems inherent in the Slashdot moderation system.
Do you have any idea at all what he was talking about? Lots of cryptographic algorithms depend on random numbers. A common mistake by newbie cryptographers is to use a pseudo-random number generater which gives predictable values, leading to encryption which is easily broken. Real cryptography software must work very hard to find sources of unpredictable randomness in a system (like, say, the timing of a sequence of keypresses, if the computer has a keyboard). He was making a good point.
Do you even know what ones-complement is? Again, he was making a point, but either you intentionally ignored it for the sake of your reply or if flew right over your head.
He made a good point: If a programmer produces a buggy game, it's not a big problem, even if millions of people play it. But if a programmer produces a buggy cryptography library, and millions of people use it, that IS a problem.
Wow - criticizes someone else's post without having a clue what it means! +5 Funny!
Using ftp.ssh.com version of ssh:
This way, you get the security of ssh with the convenient P-t-P interface of vtund.
Problem solved.
You want security, just display your secret text in the Symbol font.
On that thought I was paid by work to look over sudo. I looked through it, declared it safe and the very next day there was an upgrade for buffer overflow conditions. Many eyes travel the first half carefully, then get bored. Start at the bottom and work backwards.
OK, now tell me an easy way to roll this out to 20+ lawyers home machines without paying a home visit or having them bring in their machines.
I can give them a quick HowTo to set up a PPTP connection to the current Win2K server I'm trying to get rid of, they can handle that. But installing a custom IPSec client, running MSC and importing certificates? No way.
If you don't want to repeat the past, stop living in it.
Chris Morris is a genius. Check out "The Day Today" and "Brass Eye" for inspired and disturbing media satire. Check out his radio show "Jam" for inspired and disturbing um... er... stuff...
"In "Brass Eye" Chris Morris managed to produce what is easily the most explosive and challenging comedy series yet seen on television. Co-written with Peter Baynham and co-produced with Caroline Leddy, each episode was structured as a serious documentary, only the centre of its study was a plausible but completely fabricated source of media panic, from killer drugs to plans to 'get tough' on young offenders. To add weight to the glorious fabrications of "Brass Eye", Morris undertook innumerable interviewer disguises to persuade dozens of publicity-hungry celebrities to decry the damage that was being done to society.
One such individual, MP David Amess, was so totally taken in by the 'rise' of a non-existent drug named 'Cake' that he brought the matter up in Parliament. This sparked a wave of panic inside Channel 4, who pulled the series from its intended November 1996 transmission slot for 'further consideration'. A concerted campaign by Morris' fans and his many admirers in the media ensured that the series resurfaced in early 1997, although by then it had been tainted by Channel 4's uncharacteristically cowardly editing. Debates over cut material raged right up until each actual transmission, and a last-minute spat over a sketch intended for the final episode resulted in a caption card likening Channel 4 head Michael Grade to a moist area of the female anatomy being inserted in its place."
Cook' d and Bomb'd
This is open source, figure out where to submit your patches or else you are nothing but an arm chair security expert.
Absolutely absurd. I can't believe you wrote this. People who are good at writing code donate code to free software projects. People who are good artists donate art to free software projects. Yet, somehow, when a noted cryptographer does a (somewhat acerbic) security analysis of *three* open source packages and lists fixes, somehow you feel that he hasn't contributed anything.
Incidently, I'm curious if you're aware exactly how much it would cost in consulting fees to get someone like him to sit down and review a given product. This guy contributed a lot more in terms of intellectual value to those three projects than the forty-five people that sat down and wrote five-line patches to remove gcc warnings (not that their work isn't appreciated, but still).
He deserves our thanks, not scorn.
May we never see th
Parent post is a bit trollish, but it isn't too bad, so what the hell.
You do realize that there's a good reason well-known-cryptographers don't fuck around implementing what they write? It's because their analysis work is far more valuable (and more highly paid) than implementing said code is.
Gutmann did a lot of useful work for several OSS projects in his post. He's vaguely pissed because nobody responded to any of his analyses. Bashing him for making the same effective use of his time that an employer would is ridiculous.
May we never see th
Make your home visit and install remote management software. It'll be a significant savings in the long run, regardless of whether it's relevant this time or not.
May we never see th
1. You assume (thinly) that the best (in any field) will work for microsoft.
Pretty hard to quantify the "best" person in cryptography, but you could probably get a list of the fifty or so best-known players. I suspect that most of them would be more than happy to work with Microsoft. My own experiences say that even that folks that are generally dislike MS practices aren't willing to throw away a good contract to work with them. It's only the most extreme fanatics -- RMS might be willing to do so, for instance, but he's definitely the exception to the rule, and a radical.
2. You assume that "Microsoft" listens to the "best" and does whatever they recommend, regardless of the consequences.
*Snort*. This is true of any company. Plenty of good engineering advice gets ignored. Same thing happens on open-source projects, for political or NIH or what-have-you reasons.
3. You assume that MS will take suggestions from edus when the edu finds something of note in the MS source.
Depends on how significant it is. If it's "we can break the VPN you're billing as secure badly and trivially, then yes, MS will act. May take some PR exposure, but they'll do it.
Two of the mentioned OSS projects so far have not taken action, it's also interesting to note.
May we never see th
- Extreme depression with the level of technical expertise demonstrated on Slashdot in particular and within the computer industry in general
- Sincere belief that Freenet is nothing more than two ROT13s and a Caesar cipher (using original Roman) fed by a PRNG believed by all to be a RNG
- Renewed dedication to feed only well-decorated bullshit into this site, because I'm sick of wasting hard-earned knowledge on schmucks like you who already think they know it all
You don't use a pseudorandom number generator (such as that provided by rand() under C or the deviceElectrical engineering comes into play when you're having a discussion about what to base a solid random number generator on. One such interchange I witnessed was regarding using entropy from network devices to feed into /dev/urandom (Linux's 'secure' random number generator, which attempts to gather 'randomness' from various sources that are unlikely to generate a recognizable pattern) -- it isn't necessarily a good idea, because on some machines network traffic is very periodic. There is a tradeoff consideration in determining which sources of entropy to use within computer hardware: how quickly do you want to be able to draw on the sources of entropy vs. how secure do you want the final entropic stream to be?
I mention the 1's complement because it's an example of a problem I personally encountered. I had a 16-bit 1's complement checksum I implemented that worked quite well, except for the fact that the software it interfaced to used a zero value to indicate no checksum was present on the packet. However, there were cases where the checksum would really BE zero, and the thing to do was to subtract one in that event (leaving 0xFFFF, which pulled double-duty for values checksumming to 0xFFFF or 0).
I have it on good authority that similar errors have happened and are easy to make particularly in cryptographic implementations, while not necessarily making themselves evident to the implementor in the output. Feeding data through an encrypt -> decrypt phase isn't proof-positive your implementation is correct just because data comes back out unscathed -- maybe you forgot an XOR in two spots or are only putting blocks through 7 of the 8 S-Boxes because of an off-by-one error. Testing is non-trivial.
I mention games because they also combine several disciplines, and the evidence of poor design and implentation is much easier for the layperson to notice. If you think closer attention is paid to cryptography, you haven't been reading Crypto-Gram.
In conclusion, I don't normally give a sizeable rebuttal because that's usually the work of a terminal trollbiter, but frankly I'm kind of shocked at your response given your impressive choice of field in school and Open Source projects (going by your Slashdot description) and think maybe you'll benefit from the details.
I felt I should fill Peter in w.r.t. IPSEC and the amazing FreeS/WAN implementation thereof. I sent him the following by PGP-signed E-mail (cut-down for posting):
I'm sure you've received a million replies to your message now that it has been Slashdotted, but for the record, please use IPSec for your VPN needs.
[...]
Sure, there are OSS *nux programs that attempt to implement the protocol, mostly to connect to MS servers that only support it, but the *real* player in the VPN world is the IPSEC protocol.
[...] IPSEC inter-operable and standardized but it has an *amazing* and well-maintained Linux implementation. FreeS/WAN, from http://www.freeswan.org, is very well documented, well-maintained, and written by people with a wonderful level of attention to security.
They may not be perfect, but I've been watching and using the product for years now with very good success. [...] the project is now moving forward with 2.2.x, 2.4.x and 2.6.x Linux kernel compatible versions.
- Michael T. Babcock (Yes, I blog)
Christ this gets repetitive -- to remind people that not everyone can program.
Being able to find faults and being able to fix them are two very different skillsets.
Comment removed based on user account deletion
Although the code might fixable, at least in theory, it is sometimes more practical to throw it away and start over for scratch and do it right.
Not everything that can be fixed should be fixed.
"The fix for this is to scrap the key exchange portion completely and replace it with an SSH or SSL management tunnel"
that even those protocol contain flaws every now and then, thus for example we use those ontop of cipe or openvpn like mechanisms to achieve double layering in cases were even ssh cannot be fully relied on. And don't I feel good about doing so now. Sadly cipe needs quite a bit of repairing it seems.
Fabulous article nonetheless.
1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
FreeS/WAN isn;t in the stable kernel yet (i heard it was integrated 2.5 tho), but the BSDs have solid IPSec implementations already. Why would anyone use some lousy user space crypto thingie with more bugs? VPN tunnels with Windows? Maybe. And then again, there is OpenVPN.
You are not supposed to RTFA, this is /.
Enig? Det alt for hot det smor!
Peter Gutmann contacted us (the tinc developers) on September 15th, quoting the part of his writeup relevant to tinc. We exchanged a few emails since then. There are some points where tinc could certainly be improved (some of it already planned for 2.0), but we don't believe the "real problem" he mentions actually exists. We have told him our objections to his writeup, and asked if he could prove or make it more plausible that an attack on the authentication protocol is possible. He still hasn't convinced us.
In some more detail: the 32 bit predictable IV might make the other 32 bits of the first encrypted block more vulnerable, but the other 32 bits of that block only contain part of a MAC address which does not reveal any important information. It does not compromise the other blocks AFAIK, and in fact a sequence number instead of an unpredictable random number is more secure according to Jerome Etienne, who has done a much more detailed security analysis of tinc in the past.
The messages encrypted with RSA are indeed not padded, but padding is, AFAIK, only necessary when the message is shorter than the RSA key. In our case, the message is exactly as long as the RSA key.
Peter Gutmann believes there is a possible MITM attack ("Chess grandmaster attack"), but hasn't shown us how, just that he believes it's there.
Peter Gutmann also believes tinc has to be configured identically on each endpoint, but that is not true at all.
We're still in discussion, and if we believe there is really a problem we will fix it. In his conclusion Peter says that everyone should be using SSL or SSH. We could, but I don't believe SSL is necessarily the be-all and end-all of encryption.
/dev/random is not pseudorandom.
/dev/random is fed by a good source of raw stochastic randomness along with other nondeterministic system events into a pool of entropy which is stirred etc. etc.
/dev/random BLOCKS until it can generate enough entropy to be above an acceptable threshhold. Practically speaking, the user can bang away on the (local) keyboard if necessary to generate such randomness.
/dev/random. You don't create a whole device to just recreate rand().
Ideally
If you don't have a good source of raw stochastic randomness (like thermal noise in the intel 8xx chipset or freewheeling oscillators in the new via CPU), then
This is, of course, the whole POINT of
------
But yes, good crypto is HARD to write and HARD to identify flaws in. This obvious fact seems to sometimes escape cryptographers when they review inexpertly created crypto software, who lament endlessly that people get it wrong, and sometimes get sufficiently exasperated to even identify the flaws in comprehensible terms. "This code listing should be self explanatory" being a key sin here.
It's good that someone keeps after 'hobbyist crypto' authors to point out that their stuff is dangerous though. Is there a good communications outreach channel from the crypto community to the general programming community about the dangers of inexpert practice? I'd imagine a website dissecting a few projects in detail could drive home the message: If you don't really know, you're going to do it wrong.
-josh
Why write new protocols that are doing the same thing that SSH is doing? It's nonsensical.
Show me how to forward UDP traffic over SSH.
Vtun isn't "the same thing", and indeed has its uses. Discard vtun security features and wrap it into SSL, and you have a nice, secure, generic IP tunnel.
I'm willing to bet that the guys behind these protocols got flat-out laughed at by anyone doing real cryptography work, but still somehow felt that they were right all along.
They made a honest attempt and failed. Never bet on what other people feel.
Lisp is the Tengwar of programming languages.
This is open source, figure out where to submit your patches or else you are nothing but an arm chair security expert.
A restaurant manager once told me I should'nt complain if I hadn't tried running a restaurant. I replied that managing a restaurant was not on my resume, but presumably was on his. If he culdn't do it properly, perhaps he should get a job driving a bus.
I can only speak for vtun here, but from my expiriance, setting up a VPN for your first time is a bit rough.Hell, even when you've done it enough times that you know its caveats and snaffus like family, its still kind of a mean old hag of a bitch. VPN is a fairly complicated issue, and vtun seems to exist to simplify it for the masses. Except that a) the masses don't need vpn's, and b) they made a simple solution to a problem that requires a fairly complex answer and got an essentially wrong answer that provides no real protection.
Vtun was recomended to me by a friend, and upon using it, I feared that it was, quite frankly, far too easy to setup to be effective. You don't need to know a whole lot about networking, encryption, security, etc... to use it, and I feel that approach makes the entire package weaker, and sets an upper limit to just how effective it can be. Sure, zone alarm is easy to set up, but is it pf? is it ipf? Hell, is it iptables? Not at all, of course not.
The other one, I can't speak on, I'm not qualified, and despite this being the interweb, I refuse to pretend I know anything about it.
not spellchecked because work was awful, and I am going to bed....
--Nuintari
slashdot : where an opinion can be wrong.
> What's even worse is that some of the flaws were > pointed out nearly two years ago, but despite the > hype about open-source products being quicker
> with security fixes, some of the protocols still
> haven't been fixed.'
The potential for fixes is there in the open source community - but someone has to care enough about the product and the fix to actually work on it.
Take a look at the bug database for some of the large bodies of software. Typically there will be quite a significant body of defect/bug reports . The projects I have seen have the defects broken down into the majority awaiting classification, then a lot of closed reports (either due to the problem being fixed, non-repeatable, or wrong/incomplete) and the rest awaiting someone interested or bored enough to deal with them.
Doesn't seem to matter whether the software is commercially supported or open sourced. I recall a time when one popular workstation vendor shipped a version of the sort command which turned lines longer than a 1000 or 2000 bytes into two or more lines. After repeatedly having the bug reported to them, they 'fixed' things by documenting in the man page this behavior...
Note that the fix for the problem had been available in the open source community since near the first report...
URL: http://xanga.com/lvirden > Quote: Saving the world before bedtime. Even if explicitly stated to the contrary, n
By supporting those protocols that do not share the connection semantics of TCP -- DNS, VoIP, etc -- we end up being forced to carry either GRE or PPP packets over the SSL/SSH tunnel -- and inside these PPP packets, that are being carried by TCP, is more TCP.
I'm not sure I understand. There may well be no good solution for situations like DNS where data is transferred in short, Poisson distrubted bursts, but why should it be so hard to work something out for long streams of isochronous data. You could negotiate key exchange over a TCP control channel and send the data in in UDP packets with encrypted/signed payloads using the key negotiated over the control channel.
Of course, this is exactly the kind of thing that's hard to do well, I suppose, so I'm probably missing something. Writing cipher code is fun and easy, writing crypto protocols very hard.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
>It's possible to create insecure "security" products just as readily with open-source as with closed-source software.
I'm guessing that "Peter (sigh)" is thinking of "product" in the sense of "n 1: commodities offered for sale".
Thing is, I don't work on open source "products", I tinker with ongoing projects, in the sense of n 2: An undertaking requiring concerted effort, and I do so for my own pleasure, not for "Peter (sigh)"'s benefit.
When I start selling you my project as shinola, you can tell me that it's a shitty product. Until then, you're welcome to contribute. If you just want to criticise, then I'll thank for your input, but advise you to calm down and take a chill pill. Anybody using my project is liable to be doing so because they enjoy playing with it as much as me, not because they're relying on it for a critical application.
If you were blocking sigs, you wouldn't have to read this.
The only way that the argument for open source software security holds water is when its security is vigorously pursued by a very active developer community such that a hacker must be able to see and exploit before, at bare minimum, a handful of qualfied experts can detect, fix, and efficiently deploy patches to the more dilligent end users. In other words, it's a race against time and a numbers games in which the deck is hopefully stacked against the hacker. However, if that open source community cannot even be bothered to hunt, fix, and deploy patches for well known vulnerabilities, then this same openness makes it that much easier for the hacker.
Peter just demonstrated a case of this apathy. My gut tells me that this the rule, not the exception. The core linux kernel, apache, and perhaps a coupe dozen others are the few projects that can claim a truly active developer and security community. I, for one, wouldn't trust any of the other open source packages for any computers that I deemed critical insofar as security goes.
How easy would it be to replace CRC-32 with
something else in CIPE?
Without looking at the code, I assume it does:
UINT2 word = Crc(buffer);
So could this just be changed to:
UINT2 word = Md5(buffer) & 0xffff;
And this has absolutely nothing to do with anything.
And you have no idea what you're talking about. Holes in user-space can be insulated from the rest of the system in many ways.
1) You can reduce the privileges of the daemon/user-space app such that an exploit in the app doesn't necessarily result in a root exploit. This is the technique Qmail uses.
2) You can run the apps in a secure 'jail' (UML, FreeBSD jails, etc). This is used quite frequently to enhance the security of Sendmail, Apache, etc. No, not replace security, enhance it.
However, if the hole is in your kernel, you're screwed... there's no way to insulate the kernel from itself.
Moreover, if the hole is in a user-space app, it's easily patched, and the daemon restarted. If it's deeper in the OS (ie, in the kernel), the fix is typically far more invasive and will likely require a reboot to take effect, something which sysadmins are loathe to do. How many service packs have you installed that required a reboot to take effect?
Closed-source holes aren't covered up anyway;
Again, you're misinformed. It has *very* often been the case that organizations are made aware of security vulnerabilities in their software, and that organization chooses not to release the information to those who need it. Microsoft is the most obvious example of this... there have been many stories on Slashdot about individuals who have reported security holes to MS only to have their discovery covered up, or only released to a special, select few, which happen not to be you and me.
OTOH, you could claim that CIPE's holes were covered up
Fine, one friggin' example. Would you care to tell me how this *one* example can possibly speak for the whole of OSS? In my experience, this sort of behaviour is *definitely* out of the ordinary, and means I probably shouldn't use that package. Big deal, I'll use something else.
This is precisely the kind of idiotic hand-waving that the article was about. These projects were not fixed up quickly, or at all for that matter!
Which is why I said "in general". If there's a hole in, for example, SSH, Apache, Sendmail, Bind, wuftpd, the Linux kernel, a fix is available *very* quickly (typically within 24 hours). Sure, there are some exceptions where maintainers aren't diligent enough. But I would argue that this is the exception rather than the rule... feel free to try and prove me wrong. You'll probably have trouble, though.
CIPE and vtun use open standards? Bullshit.
Oh please, like two examples defines the whole. What about standard SMTP, FTP, HTTP, SSH, SSL, or IPSec? Those look like open standards to me.
I just read an article in Linux Journal about using vtun over an SSH connection. Is it possible that this combination would fix some of the problem?
--Somewhere there is a village missing an idiot.
Peter Gutmann is a serious expert. I write security code for a living. (For IBM) Peter Gutmann has writen a few seminal papers such as "A Layman's Guide to ASN.1" which is required reading for anyone coming on the team.
Serious experts make mistakes too.
1) Cipe is not dead, on the same page as there was the specification is a link to the mail archives. Far from dead if you look in there.
2) Ranting about Cipe being vulnerable to replay attacks shows that he's missed the point. Cipe was designed to be _stateless_ protocol over UDP, so that it has the exact characteristics that IP has. There are quite enough crypto streams out there, but disregarding IPsec, we don't have that many packet based solutions.
3) Heck, even IP is is vulnerable to replay, and to state the obvious it can actually do that witout being attacked against. There are no guarantees that you wouldn't get duplactes, over and over again even. Thus all protocols that plan on being invulnerable to replaying provide such mechanisms _OVER_ ip.
1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
CIPE doesnt run over tcp, it runs only over UDP, and there are 2 "versions" one that uses a static key, and one that uses a static public-keysystem to exchange a dynamic key which is used encrypt the packets.
Are UDP not stateless?
I run CIPE, but now i'm gonna read his article, and see if i change my choice of VPN.
JonB
Ordering issues and dropped packet management are what you're missing. SSL and SSH get it for free by running over TCP.
Is a dropped packet an attack, or a normal error? It's nontrivial to know.
--Dan
... to the original article. It's available here .
To sum it up, he speaks good things about both Free S/WAN (representing the IPSEC-is-good camp) and OpenVPN (representing the IPSEC-is-too-complex guys). Too bad neither one run on kernel 2.0 (still my preferred for security applications).
Like the original article, very well written and informative. A must read.
Best Regards,
Durval Menezes.
I have never met a computer that didn't like me.