Slashdot Log In
Torvalds On Pluggable Security Models
Posted by
kdawson
on Mon Oct 01, 2007 06:40 PM
from the plain-speaking dept.
from the plain-speaking dept.
eldavojohn writes "The KernelTrap highlights an interesting discussion on pluggable security models including some commentary by Linus Torvalds. While Torvalds argued against pluggable schedulers, he's all for pluggable security. Other members were voicing concerns with the pluggable nature of the Linux Security Model, but Torvalds put his foot down and said it stays. When asked why his stance was different between schedulers and security, he replied, 'Schedulers can be objectively tested. There's this thing called 'performance,' that can generally be quantified on a load basis. Yes, you can have crazy ideas in both schedulers and security. Yes, you can simplify both for a particular load. Yes, you can make mistakes in both. But the *discussion* on security seems to never get down to real numbers. So the difference between them is simple: one is hard science. The other one is people wanking around with their opinions.'"
Related Stories
[+]
Linux: Torvalds Explains Scheduler Decision 411 comments
Firedog writes "There's been a lot of recent debate over why Linus Torvalds chose the new CFS process scheduler written by Ingo Molnar over the SD process scheduler written by Con Kolivas, ranging from discussing the quality of the code to favoritism and outright conspiracy theories. KernelTrap is now reporting Linus Torvalds' official stance as to why he chose the code that he did. 'People who think SD was "perfect" were simply ignoring reality,' Linus is quoted as saying. He goes on to explain that he selected the Completely Fair Scheduler because it had a maintainer who has proven himself willing and able to address problems as they are discovered. In the end, the relevance to normal Linux users is twofold: one is the question as to whether or not the Linux development model is working, and the other is the question as to whether the recently released 2.6.23 kernel will deliver an improved desktop experience."
This discussion has been archived.
No new comments can be posted.
Torvalds On Pluggable Security Models
|
Log In/Create an Account
| Top
| 216 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

Well (Score:3, Funny)
Re:Well (Score:5, Funny)
(http://www.hatesville.com/)
Re:Well (Score:5, Insightful)
(Last Journal: Sunday October 29 2006, @07:37PM)
Re:Well (Score:5, Funny)
Re:Well (Score:5, Insightful)
(http://slashdot.org/ | Last Journal: Wednesday April 13 2005, @03:14AM)
You're not being very convincing either. You call Linus all sorts of things, without actually saying specifically why you think he is arrogant, clueless, and has no understanding. I'm open to the idea that he may be, but your post certainly does nothing to convince me of it.
At least Linus has specifically stated why he thinks security guys are "wanking around". It's because security people state that "only my version is correct", when they don't quantify exactly why this is the case. That certainly meets my criteria for "wanking around". Linus appears to have made a good judgement call.
Re:Well (Score:5, Insightful)
(Last Journal: Thursday April 19 2007, @10:15PM)
Security is a process. You make the effort needed to crack or crash a system beyond the value to the attacker, and they won't attack.
There's simply no need of SELinux in a coffee pot or an MP3 player. It's overkill. Linus is concerned with all the targets of the kernel, and not just the Sewper Seekret Survur next to the dresser in some kid's room.
Now _you_ might be using Linux to keep millions of credit card numbers or to process satellite intelligence for some national government, but that's not what everyone does with it. So long as there are reasons to focus more or less on security and different needs among those focusing on it, pluggable security models make sense.
For the vast majority of Linux targets, SELinux in particular is probably overkill. The scheduler effects everyone. If your main goal is security at all costs, use SELinux (it's not hard) or use OpenBSD instead of Linux.
Re:Well (Score:5, Insightful)
There is no security model that's better than others for all cases. They're all tradeoffs between convenience and security at the user level, and no, a security model is not quantifiable, as the amount of variation between specifications is mindboggling. Do you know the difference between RBAC, RAS, SELinux, AppArmor? Between the dozens of different and incompatible security systems used in AIX, Solaris, i5/OS, QNX, z/OS, and VMS? They all have their places, they all have their own advantages and disadvantages. Security doesn't stop with setting the "sticky bit".
But most importantly, security models are not CPU-intensive. Even the most demanding model will check file access permissions once in a blue moon in comparison to a scheduler. Schedulers store and use differnt information in very different ways which makes it difficult to make a generic framework that will support every possible datum they might need without making a significant impact on performance (it's a piece of code called thousands of times a second, performing rather complex computations).
Besides, it doesn't mean that Linux doesn't have several schedulers. It does, but they're kept under different branches, and they're sufficiently tunable to meet all your usual requirements, and CFS is a sufficiently superior alternative with the right stuff to warrant its maintenance in the mainline.
Re:Well (Score:5, Interesting)
(http://pyile.com/ | Last Journal: Tuesday December 19 2006, @01:33PM)
wanking around (Score:5, Funny)
Irony? (Score:1, Offtopic)
(http://empyrean.kyve.net/ | Last Journal: Wednesday July 26 2006, @08:42PM)
Spot on Torvalds... (Score:4, Insightful)
(http://www...com/)
If not, an artificial limit onto the integrity of the system would be created. Sure SELinux is a viable option, but why should we think it is the best ?
Re:Spot on Torvalds... (Score:5, Insightful)
So, no, security folks are not "wanking around" as some specific asshole seems to claim, they are using the best tools available to evaluate adequacy of different security solutions. Those that do not get this are not getting what security is about and what the state of the art is. These people should better stay far away from security-relevant decisions and let people that at least understand present technology in that area make the decisions.
Re:Spot on Torvalds... (Score:5, Informative)
Re:Spot on Torvalds... (Score:5, Insightful)
(http://sigma.tejat.net/ | Last Journal: Monday March 20 2006, @04:33PM)
Yeah, because modularizing the scheduler doesn't have any performance or implementation or maintainance or QA problems.
-:sigma.SB
Re:Spot on Torvalds... (Score:5, Insightful)
(http://rtfm.insomnia.org/~qg/ | Last Journal: Wednesday November 16 2005, @07:11AM)
Re:Spot on Torvalds... (Score:4, Informative)
So we can quantify scheduling performance? (Score:5, Insightful)
(Last Journal: Tuesday October 30, @10:59AM)
If we don't keep scheduling modular, an artificial limit on the performance of the system will be created. Sure, CFS is a viable option, but why should we think it is the best ?
What's more, "wanking around with your settings" has often been what Linux has always been about. Ubuntu never uses chroot in a normal situation; does that mean it should be taken out? My GUI and hotplug utilities can automount anything I plug in; should
We haven't used anything but ELF for probably 5-10 years, yet, last I checked, a.out is still supported.
Why should the system be made non-modular?
Re:So we can quantify scheduling performance? (Score:5, Insightful)
Re:So we can quantify scheduling performance? (Score:5, Interesting)
The security realm however is completely different. For one, the performance requirement does not exist. So the performance penalty that modular architecture brings is largely irrelevant. And since there exist no metrics that can be used to determine whether one security model is better than another without the usage context, a plug-able architecture is the best road to go down to let something that users CAN and WILL want to implement completely differently from one use-case to the next.
Maybe i dont get the point (Score:1)
Back to single tasking ala DOS?
Being able to choose which (if any) security module to plug in seems to make a lot more sense.
Awesome (Score:3, Funny)
(Last Journal: Monday November 28 2005, @09:58PM)
Thanks Linus, that cracked me up. I've always felt that way about a lot of the stuff the security guys do. I'm gonna forward that to our local security guys and see what they think!
like object oriented? (Score:1)
(http://www.fadilnet.ic.cz/)
Re:like object oriented? (Score:5, Insightful)
At some point, you have to deal with the fact that there is going to be some overhead in dealing with an object-oriented approach. Even if the significance is near 0, the scheduler is pushing operations on the CPU on an incredibly large scale, which might show its ugly face in performance. IMHO, it wouldn't, but I guess Linus knows better than I...
Anyway, there is this great site called the Linux Kernel Archives [kernel.org], which has the source code for every version of the Linux kernel ever put out. If somebody was really serious about using their own CPU scheduler, all they have to do is take the latest version of the kernel, download the source code and modify sched.c to fit their needs. Even if it isn't object-oriented, that doesn't change the fact that everything else in the kernel only cares that default_wake_function tries to wake up a thread - it doesn't matter how it works on the inside. All the other parts know about is the sched.h header file.
Sure, it isn't on-the-fly pluggable, but different distributions could easily use different schedulers if they simply compile the kernel. A distribution could make a sched.c that is pluggable (it would have an interesting look to it, but it could be done). I wouldn't want to debug it, but for all this complaining, you'd think somebody would do something about it.
Re:like object oriented? (Score:5, Interesting)
(http://blog.fairies-unlimited.net/)
Ahh, the "when in doubt claim OO is expensive" defense. Please tell me, how long does a modern CPU need to take a branch to an address in a well known fixed memory cell which is guaranteed to be in L1-cache? Do you think it is longer than a conditional branch needed to handle the case single core dual core? Is it longer than the combined times needed to additionally handle the case one CPU-chip two CPU-chips? I don't know, I haven't done the measuring, but I have doubts the first is the slowest as the opcode scheduler should be able to handle the first and especially has the advantage of an always taken jump. We are heading in a parallel future, there are scheduling differences between single core/dual core and single CPU/multiple CPU. Why on earth should the scheduler written for the most complicated case (it has to handle cases like one dual core and two triple cores and one quad core efficiently or it is not the best scheduler, no?) be more efficient than a single core scheduler on a machine with only a single core? Or are the benchmarks "tweaked" so the first is the "right" case to benchmark?
As written by multiple posters, yes, you can get benchmark results for schedulers, but what is the correct benchmark? Is it the maximum throughput model you don't want to have as a desktop box or the minimum waiting time for interactive jobs you don't want on a compute server? And if you need numbers to come up with the best security model, count line numbers, it is about as relevant.
Cold Hard Engineering Measurement, or Science? (Score:3, Interesting)
(http://www.alexhutton.com/)
``...the subjectivist states his judgments, whereas the objectivist sweeps them under the carpet by calling assumptions knowledge, and he basks in the glorious objectivity of science.'' - I.J. Good
I stopped reading TFA (Score:2, Interesting)
Damn I'm sick of scheduler FUD. It makes its way into every single linux conversation now, now matter how unrelated.
Re:I stopped reading TFA (Score:4, Funny)
You'll reprioritize when your starving children become zombies and your parent tries to kill you.
What about (Score:5, Funny)
(http://slashdot.org/)
yawn (Score:1)
(http://accessdenied.org/)
why not have both? linux-smack and linux-selinux could co-exist. fork the kernel and find some people to maintain an selinux fork - there has to be some out there if there's front-page worthy drama going on...
How's THAT for a pluggable security model?!
(yeah i rtfa'ed... lulz)
Language abuse (Score:1)
If you read all of it ... (Score:5, Informative)
His complete email reads:
Schedulers can be objectively tested. There's this thing called "performance", that can generally be quantified on a load basis.
Yes, you can have crazy ideas in both schedulers and security. Yes, you can simplify both for a particular load. Yes, you can make mistakes in both. But the *discussion* on security seems to never get down to real numbers.
So the difference between them is simple: one is "hard science". The other one is "people wanking around with their opinions".
If you guys had been able to argue on hard data and be in agreement, LSM wouldn't have been needed in the first place.
BUT THAT WAS NOT THE CASE.
And perhaps more importantly:
BUT THAT IS *STILL* NOT THE CASE!
Sorry for the shouting, but I'm serious about this.
Al I alone in thinking that Linux basically says:
"Look I'm no security expert, and I'd be happy to follow your collective expert guidance if only:
(a) you could quantify what you're saying and turn it into engineering instead of a religious argument
(b) the lot of you could agree on *one* set of guidelines/features as being best all-around
Unfortunately it appears you can't do either. That being so, I'm not going to burn my fingers and blindly choose one security boondoggle over all the others. I'll just make them pluggable so that every one of you can have his own personal security system. End of discussion. Now go away and be happy."
Good. (Score:1, Offtopic)
(http://www.leperkhanz.com/ | Last Journal: Wednesday October 01 2003, @05:17AM)
The kernel kicks ass.
We need better apps for Linux.
I can't videoconference, edit videos, make mp3s, play video games or make a slideshow in Linux. How about a couple of kernel devs drop off and help Linux go the last mile.
rhY
Bring deRaadt in for a consult (Score:2, Funny)
Ahem (Score:3, Informative)
(Last Journal: Wednesday September 26, @11:11PM)
Re:Ahem (Score:5, Insightful)
Scheduler vs Security Plugins (Score:3, Insightful)
(http://slashdot.org/ | Last Journal: Wednesday November 07, @10:21PM)
As for the Linux scheduler, I wouldn't mind a choice in desktop vs server tweak settings in (a)
Enjoy,
irony (Score:2, Informative)
Wanking (Score:1)
I like this guy (Score:1)
(http://www.crimsonwolf.org/)
Ecosystem diversity (Score:1)
The points (Score:1)
(http://dffaq.blogspot.com/)
Re:What does Linux Torvald know about modularity? (Score:2)
This is Slashdot. Nudity.
Re:Need to plug goatse (Score:3, Funny)