Linus Torvalds Talks Linux Security at LinuxCon
eweek.com
eweek.com
Software using OpenSSL or bash on any platform were vulnerable. That includes Macs and Windows.
Linux is extremely popular for servers and embedded systems where OpenSSL and bash are common but bringing them up every time "security + Linux" are discussed is a bit like talking about tires that blow out whenever the topic of logistics comes up.
Because they're big, popular, well known names that effect software that typically runs on Linux systems so everyone goes "mm yep, that was a big Linux issue.'
The Linux kernel has issues, but you're not making your case that Linus doesn't take things seriously when your examples have nothing to do with Linus' work.
It seems like Linux people want to shift the definition of "Linux" between only the kernel and the entire OS when it is convenient. In this case we're shifting down the definition to "kernel only" so we can avoid talking about Linux (the OS's) potential security issues.
Heartbleed and Shellshock are Linux (OS) issues. Just because that same software may ship on BSD and OS X is entirely irrelevant. Linux was still by far the largest target (just like Windows is the largest target of cross-platform Java vulnerabilities).
Linux as a kernel is pretty freaking secure. Linux as an OS has a lot of issues, and many (most?) popular distributions are a large part of why (e.g. SELinux is often disabled by default and a lot of packages are incompatible, a lot of services run as root by default, a lot of packages are installed by default (not the minimum), etc).
Uh, yes. They are not Windows security issues.
> Heartbleed and Shellshock are Linux (OS) issues.
No they were not. Run OpenSSL on Windows and you were just as vulnerable to Heartbleed, same as if you ran bash as a CGI service on Windows, or OSX or BSD or VMS or ...
> shift the definition of "Linux" between only the kernel and the entire OS when it is convenient.
No they don't, Linux the OS makes sense in some circumstances, not in others, this is one of those times where it doesn't since we're talking specifically about Linus' work.
Wouldn't that be an argument to be more stringent in reviewing and auditing the kernel code? I don't know to which extend they already do audits, but if you find a bug of a certain type, maybe consider combing the tree for other instances of that type of bug. I believe that's the approach OpenBSD has taken.
Things like inverting the logic in one case of a complex conditional, or copy paste bugs like:
z1 = x1 + y1;
z2 = x2 + y2;
z3 = x3 + y1;
Are very hard to see. We have lint tools to catch a lot of them (e.g. a single '=' in a conditional), but at some point the tool lacks sufficient semantic understanding to catch everything.I love the tone here. Not promising the moon.
Everybody knows there will be bugs. In general it's just that dance that you have to do around that, that you can't admit it.
Same about planning ten years to the future. Maybe you could give scenarios.
I guess he's expecting quite a lot from the audience.
IMO it's scary to hear Linus say that "security is just stupid bugs" and that he doesn't think about containers much (container/namespace security and functionality is a big and quickly emerging part of the kernel security landscape). Call it a lack of vision or whatever, but I think he should be doing more to architect for security and to recruit, place and reward talented people into security lead positions in the kernel community.
Am I missing something? I suppose you could implement a sub-kernel within the kernel, but then what's the point of using a container vs a VM?
Yes containers are much lighter weight than a VM, but for most people's workloads (read: anyone not running giant Map Reduce jobs) does it really matter?
I have seen programmers much technically stronger and experienced than I am, and more passionate that I am, turning into idiots when talking security. It is as if, because perfect security is unreachable for any practical criteria, they automatically think it's not worth it to think about at all.
And it's really creepy to see someone in the league of Torvalds to express any feelings along those lines.
You're right, but we're in this mess because there isn't clear knowledge about security nor there is education teaching security on a software engineering side. There aren't simple standards and practices. Hacking a machine is not taught and you won't find tutorials for it, maybe because it's just plain outlawed.
Security is boring, and it's not rewarded. There is no insurance market for software security. If you compare it with real life security, there aren't that many people thinking about scenarios other than police forces, the FBI, insurances, and architects of buildings.
My opinion is that it's a very sensitive sector because government will always try to have the monopoly on security for obvious reasons. Linus is one guy, he doesn't have time to care. All he can do is have a sound kernel design, and that might be much enough. Maybe he can't deal with security like the NetBSD guys do.
I really think security has many, many aspects, and you can't blame one software part for it. Security is all about mitigation, which will always resides on the user and the project engineers.
Its kind of silly that Apparmor is in tree but PAX is not.
It's really sad, everyone want that.
Maybe times have changed in the last year since I've used LXC containers, but when I explored them they were about as secure in practice as a paper bag is waterproof.
To my mind, I see security meaning so many different things to different people (mostly politicians twisting it against the public) and those definitions are different enough that I couldn't reconcile them if I tried, so I don't bother. I just focus on my work. As long as the kernel is 1) reliable and 2) general enough to be used effectively by other projects that think they can define security more universally, the kernel is doing it's job well.
The vast majority of people in infosec can't see the forest for the trees, and do active harm to both usability/performance and to security by implementing security controls that are such impediments to getting anything done that people just go around them. A security control or system that nobody uses does nothing for security.
The basic mentality is "you secure things by blocking things and making them harder to access." No. This is wrong. You secure them by making them secure. A firewall with no open ports is not impressive. What's impressive is a system that does a lot and has many things open to the world and is secure. Security achievement should be measured not in an absolute sense of invulnerability -- as this is impractical -- but as the ratio of surface area to vulnerabilities. If you have no surface area exposed you've accomplished nothing; any system can be secured by turning it off. The more surface area you can safely expose, the more secure your system is and the more impressive an achievement it is from an infosec perspective.
There are some great minds in infosec who think this way but they are few and far between. Most infosec people just like to block stuff and make it harder to use.
That may have been what you heard, but it's not what Torvalds said. He said that most of the security issues in the kernel were stupid bugs, not that 'security is just stupid bugs'.
It's also a myth that Torvalds doesn't care about security - he does, it's just that he doesn't think security is a layer of importance above all other issues. It's just something else in the pot along with all the other important things that go into making a quality product. For example, OpenBSD does 'security above all else', and they make a couple of fantastic products... but their disdain (hatred?) of regular users means their brand is nowhere near as widely spread.
Similarly, the linux kernel is in everything from tiny embedded single-function appliances to the world's most powerful supercomputers - excluding the desktop space, it's the most popular kernel anywhere, and that's largely due to Torvalds' priorities and governance. Claims of 'lack of vision' are hard to swallow.