Slashdot Mirror


Linux Study Argues Monolithic OS Design Leads To Critical Exploits (osnews.com)

Long-time Slashdot reader Mike Bouma shares a paper (via OS News) making the case for "a small microkernel as the core of the trusted computing base, with OS services separated into mutually-protected components (servers) -- in contrast to 'monolithic' designs such as Linux, Windows or MacOS." While intuitive, the benefits of the small trusted computing base have not been quantified to date. We address this by a study of critical Linux CVEs [PDF] where we examine whether they would be prevented or mitigated by a microkernel-based design. We find that almost all exploits are at least mitigated to less than critical severity, and 40% completely eliminated by an OS design based on a verified microkernel, such as seL4....

Our results provide very strong evidence that operating system structure has a strong effect on security. 96% of critical Linux exploits would not reach critical severity in a microkernel-based system, 57% would be reduced to low severity, the majority of which would be eliminated altogether if the system was based on a verified microkernel. Even without verification, a microkernel-based design alone would completely prevent 29% of exploits...

The conclusion is inevitable: From the security point of view, the monolithic OS design is flawed and a root cause of the majority of compromises. It is time for the world to move to an OS structure appropriate for 21st century security requirements.

198 comments

  1. Everything old is new again... by Strider- · · Score: 5, Insightful

    Maybe Tanenbaum was right. 26 years isn't that long for this debate to come back around again.

    --
    ...si hoc legere nimium eruditionis habes...
    1. Re:Everything old is new again... by Anonymous Coward · · Score: 2, Interesting

      He was right then. At the time CPUs were slow. Now we have pretty fast CPUs, faster than most people need. The overhead for a microkernel isn't so bad now.

    2. Re:Everything old is new again... by Serif · · Score: 3, Insightful

      Exactly what I was thinking. Still, Linux might never have happened if Torvalds took that advice.

    3. Re:Everything old is new again... by Strider- · · Score: 3, Insightful

      He was right then. At the time CPUs were slow. Now we have pretty fast CPUs, faster than most people need. The overhead for a microkernel isn't so bad now.

      In a way, many people now are doing that. Running the kernel inside a virtual machine, on top of a hypervisor is likely less efficient than running against a microkernel.

      --
      ...si hoc legere nimium eruditionis habes...
    4. Re: Everything old is new again... by Anonymous Coward · · Score: 1

      Perhaps HURD will take over & replace Linux!

      More likely, some open source version of Google's Fuchsia OS will be the future.

    5. Re:Everything old is new again... by Anonymous Coward · · Score: 0

      And, of course, microkernels need not be that inefficient. E.g. QNX is slow-ish at some things but stupidly fast at others. Syscalls are still expensive but some less so than others, and with more hardware support this might be sped up still.

      Instead of 20% as Tanenbaum thinks acceptable, a goal of within 2% performance of monolithic (about the same drop in performance QNX saw between its 4.* with-mmu and without-mmu variants, at noticeable increases in robustness) should be attainable in 26 years, I'd say. Quite a bit less if we're lucky.

      Notice how intel bought McAfee to "do security at the chip level", a rather ludicrous and frankly desperate gambit. With a proper microkernel infrastructure it might have been more obvious just what was wrong with that idea.

      While at it, notice how stacking half-baked idea on half-baked idea sees more follow-through than sitting down, thinking, and admitting that the current course is deficient, and so needs a thorough redesigh. Like going microkernel.

    6. Re: Everything old is new again... by aglider · · Score: 2

      Tanenbaum was indeed right as far as the security is concerned.
      Torwalds was indeed right as far as the performances are concerned.
      Maybe it's time to consider (again) L4.

      --
      Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
    7. Re:Everything old is new again... by Anonymous Coward · · Score: 0

      "We have a problem. The kernel could be compromised. We should verify the kernel and then run another kernel on top of that. Then it'll be secure!"

      Run that all the way down, and we've got web browsers which are also desperately trying to compartmentalize the risk. Yet in the end you're left with effectively a whole platform that runs on a platform (all the way) and the ability to compromise the top layer is often enough. Worse, all that compartmentalizing means people want to shove direct access to things like the GPU which is its own platform and is all sorts of insecure with lots of direct hardware access.

      Honestly, I think the real problem is not the design of the kernel. It's the difficulty of discovering bugs and fixing them. Things like dtrace sounded like they'd be this revolution in being able to discover and fix bugs, yet in the end they're but a shadow of what really needs to be done. This doesn't just apply to security but also to performance. It is often the case that it's impossible on a Linux system to really fathom precisely why a lot of tasks take as many resources as they do to accomplish*.

      The real problem with the "many eyes" hypothesis is that most people don't see the code in action, but merely have to imagine how it along with an enormous collection of other code (some of it closed) will interact. That is the crux of the issue that needs fixed. The closest thing I've ever seen that approaches the level of which one could actively debug problems are things like lisp machines. But they're light-years away from what we need.

      * Why the micro-stutters in emulation? Why does that file copy cause another CPU task to substantially slow down? Why do some programs allocate gigabytes of space and yet not seem to use it? Why doesn't process X use the hardware video decoding? What sort of surface is it even outputting to? Why does some surfaces seem to be less optimal in some circumstances and better in others? Really, you can run tons of benchmarks and get wildly different results, most of them that are so inconsistent it's near impossible to derive much of anything meaningful.

    8. Re:Everything old is new again... by Anonymous Coward · · Score: 2, Insightful

      +1

      A bunch of security flaws were published in the last year that were directly related to favoring extreme performance over security

    9. Re:Everything old is new again... by Anonymous Coward · · Score: 1

      You mean now we have fast enough CPUs with flaws ( a.k.a. performance enhancements ) that make reliable process isolation impossible? A micro kernel wont protect you if it runs on an Intel CPU.

    10. Re:Everything old is new again... by Anonymous Coward · · Score: 0

      Modern CPUs are horribly slow at context switching due to the whole latency issue. I would assume a micro-kernel requires separate virtual memory space to isolate the kernel units. If this is the case, then the performance hit will be quite high. Until they figure out a way to hardware accelerate it.

    11. Re:Everything old is new again... by epine · · Score: 1

      Maybe Tanenbaum was right. 26 years isn't that long for this debate to come back around again.

      First law of futurology: never predict what and when at the same time.

      First law of making a billion dollars (or shipping a billion systems): always predict what and when at the same time.

      Why Futurist Ray Kurzweil Isn't Worried About Technology Stealing Your Job — 24 September 2017

      Early on, I realized that timing is important to everything, from stock investing to romance—you've got to be in the right place at the right time.

      Merely being right is no BFD. The other day, I made an inviolable personal commitment to shed 235 lbs of tired metabolic tissue by the year 2100.

      Andrew and Raymond, not so much.

  2. Re:Of course Linux devs like microkernals by Anonymous Coward · · Score: 0

    Correction: They have nano penises.

  3. Tanenbaum-Torvalds debate on monolithic vs micro by Anonymous Coward · · Score: 3, Informative

    Tanenbaum - Torvalds debate

    The debate opened on January 29, 1992, when Tanenbaum first posted his criticism on the Linux kernel to comp.os.minix, noting how the monolithic design was detrimental to its abilities, in a post titled "LINUX is obsolete".[1] While he initially did not go into great technical detail to explain why he felt that the microkernel design was better, he did suggest that it was mostly related to portability, arguing that the Linux kernel was too closely tied to the x86 line of processors to be of any use in the future, as this architecture would be superseded by then. To put things into perspective, he mentioned how writing a monolithic kernel in 1991 is "a giant step back into the 1970s".

    Since the criticism was posted in a public newsgroup, Torvalds was able to respond to it directly. He did so a day later, arguing that MINIX has inherent design flaws (naming the lack of multithreading as a specific example), while acknowledging that he finds the microkernel kernel design to be superior "from a theoretical and aesthetical" point of view.

  4. I'm surrounded my Marxists by Anonymous Coward · · Score: 0

    On social media, in our public education system, on television and the print media. They're everywhere.

    1. Re:I'm surrounded my Marxists by Bobrick · · Score: 2

      Yeah but still everyone's going the wrong way on the highway, keep being you!

    2. Re:I'm surrounded my Marxists by Anonymous Coward · · Score: 0

      Actual Marxists? How is the weather in Cuba?

  5. Oh joy by Anonymous Coward · · Score: 1

    Hurry, someone finish Hurd.

  6. Real-world examples by Artem+S.+Tashkinov · · Score: 5, Insightful

    Consider QNX and its vulnerabilities (the entire software stack) and here's what we have for the Linux kernel (again, kernel alone) whose source is ostensibly verified by millions of eyes.

    And here's another almost shameful development: Linux and Open Source are all the rage amongst Open Source fans, yet for some reasons it's been hinted that Google is transitioning from the monolithic Linux kernel (lacking internal stable API/ABI) to its own microkernel, Fuchsia (with stable API/ABI).

    1. Re:Real-world examples by iggymanz · · Score: 2, Insightful

      Utterly irrelevant to bring up a little embedded OS fit for cars and blackberries and compare it to Linux. You have no point,

    2. Re:Real-world examples by Anonymous Coward · · Score: 0

      Just how do you think Linux started out?

      Just how do you think /most/ opensource software starts out as?

    3. Re:Real-world examples by iggymanz · · Score: 3, Informative

      Linux did NOT start out as an embedded OS.

      Linux did NOT start out as real time operating system.

      Huge difference between the two, not for the same purpose nor the same job.

    4. Re:Real-world examples by Anonymous Coward · · Score: 0

      Utterly irrelevant to bring up a little embedded OS fit for cars and blackberries and compare it to Linux. You have no point,

      QNX is not so little that it can't run nuclear reactors. Old citation but still valid.

    5. Re:Real-world examples by iggymanz · · Score: 2, Insightful

      means nothing, there are reactors being "run" by logic arrays with no microprocessors at all.

      get it through your head, embedded real time OS is different thing than Linux

    6. Re:Real-world examples by Anonymous Coward · · Score: 0

      It started small,with few users. Now do you get it?

    7. Re:Real-world examples by Misagon · · Score: 4, Insightful

      I think Google's transition from Linux to the Zircon microkernel (Fuchsia) is still quite some time in the future.

      I believe that Google's reason for Fuchsia is mostly to do with Linux' security model being a bad match for Android. In Android, every app is running as its own Linux user. In Zircon, there is instead the "Job" abstraction that can contain processes, and access rights are based on capabilities that the mainline Linux kernel does not have. ("Posix Capabilities" are not capabilities :-P)

      --
      "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
    8. Re: Real-world examples by aglider · · Score: 1

      Millions? I think the Linux kernel code is under the eyes of no more than 200 persons. And only a dozen in its full extent.

      A really smart hacker could sneak a subtle vulnerability by spreading it in different code areas.

      When the code counts by millions of lines, open source is not a direct implication of security.

      --
      Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
    9. Re:Real-world examples by Artem+S.+Tashkinov · · Score: 1

      Blackberry 10 is also an embedded OS or I've missed something? Also, QNX can be perfectly run as an x86 desktop OS. Yeah, a really limited embedded only OS.

    10. Re: Real-world examples by Anonymous Coward · · Score: 0

      Yes, because real time linux kernels are garbage.

    11. Re: Real-world examples by Anonymous Coward · · Score: 0

      That sounded like a ridiculous assumption, so I googled it.

      "According to The Linux Foundation, since 2005, "some 14,000 individual developers from over 1,300 different companies have contributed to the kernel.""

    12. Re:Real-world examples by bobby · · Score: 2

      I remember running the 1.44 MB floppy QNX demo. http://toastytech.com/guis/qnxdemo.html It booted to a GUI, web browser, ppp stack and modem dialer and a few tiny utilities. QNX boasted its microkernel would stay in 486 internal cache.

    13. Re:Real-world examples by Anonymous Coward · · Score: 0

      I remember it, but I hadn't a modem

    14. Re:Real-world examples by Demena · · Score: 1

      Yep. Linux started out as a terminal server. Ask Linus.

    15. Re: Real-world examples by Anonymous Coward · · Score: 0

      All 14,000 will not be active and significant.

    16. Re:Real-world examples by q_e_t · · Score: 1

      I've run it on the desktop. It was very nice.

    17. Re: Real-world examples by q_e_t · · Score: 1

      I think the point is related to the level of code review done. I suspect that it might easily be 200 or so in terms of those that might filter contributions before they are adopted, but the number of people who look at, and pass comment, on the code will be much greater than 200, but at least a couple of orders of magnitude, I would imagine.

    18. Re:Real-world examples by Anonymous Coward · · Score: 0

      QNX started out as a desktop Operating System.

    19. Re: Real-world examples by iggymanz · · Score: 1

      the Wind River one is dead.

      RTL does have some use...does anyone use RTL in real world besides for radio (not knocking that use)

    20. Re:Real-world examples by iggymanz · · Score: 1

      yeah that's really cute. you can run HURD on some desktops too.

  7. Re:Broken clock still right twice a day by Anonymous Coward · · Score: 1

    The NT microkernel design came from Digital (DEC) VMS operating system which was running VAX minicomputers. VAX/VMS was arguably the most secure OS at the time, and incredibly annoying to use due to that fact (everything required privileges, all the files were versioned, horrible shell syntax etc).

  8. Year of the Hurd desktop by jfdavis668 · · Score: 3, Insightful

    After 28 years, you think someone would have finished the GNU Hurd kernel. By now, it is so old it is probably full of potential exploits, too.

    1. Re:Year of the Hurd desktop by Anonymous Coward · · Score: 0

      The design knowledge was there to support it, but the hardware wasn't, and the toolchain was too nascent (supporting cross-platform compilers, tested filesystems, editors etc).

      GNU was thinking right, but their timing was unrealistic, and they let a gap in for a monolithic microkernel, rather than something designed to be replaced.

    2. Re:Year of the Hurd desktop by Anonymous Coward · · Score: 0

      "What you refer to as the GNU Hurd is actually..." we need more completed code and less repetitive rhetoric from Stallman.

      You get Black hat hackers, White hat hackers, even some Grey hat hackers. Nobody saw the Red hat hackers poettering around with the underlying, previously reasonable secure UNIX way of doing things.

    3. Re:Year of the Hurd desktop by Misagon · · Score: 1

      Actually, GNU/Hurd has seen relatively much development only in recent years and you can install and run it in command-line mode.

      Userland GNU/Hurd is the same as GNU/Linux, so your statement does not really hold.

      --
      "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
    4. Re:Year of the Hurd desktop by Anonymous Coward · · Score: 0

      Those who don't understand MULTICS will proudly reimplement it poorly, and wind up with systemd.

    5. Re:Year of the Hurd desktop by Anonymous Coward · · Score: 0

      Hurd is just a hobby project, with hardly anyone working on it any more. It's a solution looking for a problem: for those who really want a microkernel-based operating system, Minix 3 already exists.

      The fact that Minix still doesn't support x86_64 makes me think that even it doesn't generate a lot of interest, though...

    6. Re:Year of the Hurd desktop by Anonymous Coward · · Score: 0

      Userland GNU/Linux IS GNU/Hurd, so your statement does not really hold.

      FTFY

    7. Re:Year of the Hurd desktop by Anonymous Coward · · Score: 0

      The fact that Minix still doesn't support x86_64 makes me think that even it doesn't generate a lot of interest, though...

      There's that, and the fact that it doesn't support USB at all on x86!

      USB is over 20 years old now. Why don't they just grab some BSD code and roll it in?

    8. Re:Year of the Hurd desktop by Anonymous Coward · · Score: 0

      The GNU Hurd kernel is called GNU Mach; that's been mature since 2001 for GNU Mach was initially forked from a working version of CMU Mach. GNU Hurd was never intended to be a kernel program, it was always intended to be a replacement of the monolithic Unix kernel. In its structure, GNU Hurd is a platform that is comprised of numerous little programs that provide Unix functionality that was traditionally the OS kernel's responsibility.

    9. Re:Year of the Hurd desktop by doom · · Score: 1

      "What you refer to as the GNU Hurd is actually..." we need more completed code and less repetitive rhetoric from Stallman

      Stallman has completed more code than all of the idiots who complain about his "rhetoric" combined.

  9. Unforutnately, anything can be hacked... by blahplusplus · · Score: 1

    ... all it takes is time and effort. The idea that computers can be "secure" when they need to be fundamentally honest if one is to maintain performance of being demanded its a bit of bullshit. You can have slow and secure or you can have blazing fast and honest. Many "Security issues" are really just artifacts of hardware or software architecture.

    The reality is security has to be designed from the get go from both a hardware and software standpoint, you can't just do it when fundamentally for most of x86's history it's been an open platform. Security can't be had on open platforms, in fact most issues would never have arisen pre-internet.

    The reality is the speed at which computers operate and the demands for security are at odds, no one is willing to pay the true costs because it's just not worth the time and resources unless you are a big organization and have lots of money to throw around.

    1. Re:Unforutnately, anything can be hacked... by postbigbang · · Score: 4, Informative

      Although I agree with your post's subject, I think the argument here is the degree to which things can be successfully hacked. I believe they also mischaracterize macOS... as it's a Darwin branch of BSD and much tinier in size (the kernel, not the kexts) than Linux or Windows 10/2016.

      In this ideological world surmised by someone who I believe has an agenda of their own (the cited paper). Any kernel with popularity is going to get bashed and hacked and crunched and messed with; this is inevitable. The author cites no evidence that a non-monolithic kernel with a comparable number of installations is going to be any more secure. Nada.

      A nano kernel is the answer? If one is deployed, it's not very useful and has to be aided by other apps, a design forced largely by the chipset makers. If you look at motherboards 20, then 10 years ago, you'll note that the amount of discrete components is shrinking rapidly, replaced largely by SoCs.

      Worse, kernel design has been somewhat forced by the whimsy of the Intel/AMD/NVidia cabals. In 2008, a decade ago, we had laptops, desktops, and servers. There were some portable devices, but diffuse and there were numerous architectural battles going on for how they would turn out.

      They turned out like this: crazed IoT, myriad phones, laptops, desktops, pre-made servers, DIY architecture servers, based on Intel/AMD/NVidia, along with a minor share of IBM chips, and a superfluity of ARM versions, some of which are compatible.

      If you're a developer, learning machine language is not high on your list for most. And so porting your valuable app to a target device is now what 1) enables that hardware architecture with functionality and 2) common OS support provides a foundation for your app to run. The chicken-and-egg problem is that a new family of devices needs a common substrate for apps to work. No apps, no functionality, no sales.

      The argument about the # of CVEs justifying a monolithic kernel or something other than a monolithic kernel is more or less moot.

      All this said, Intel and AMD and to a lesser extent ARM licensees are in deep crap because there are very serious fundamental architectural problems with their current designs. How many CVEs make up for that?

      I believe the paper cited is deeply flawed.

      --
      ---- Teach Peace. It's Cheaper Than War.
    2. Re:Unforutnately, anything can be hacked... by Actually,+I+do+RTFA · · Score: 1

      I mean, anything can be hacked, sure. But some things are harder than others. It's why Windows 98 has more security issues seLinux

      --
      Your ad here. Ask me how!
    3. Re:Unforutnately, anything can be hacked... by Anonymous Coward · · Score: 0

      Actually, you can have a secure kernel running on an x86. It's been done. And it does run anything you want to run on top of it. In fact, x86 is the only modern processor with the right hardware capabilities to have a secure system. But keep talking out your ass about things you don't know.

  10. Another problem. by Anonymous Coward · · Score: 0

    I'm planning a new language stronger than C for kernel developers.

    Once developed, it has a new problem: the migration from a language to another language will require many months of men's efforts to translate it.

    There is not magical compiler for this translation.

  11. Probably irrelevant by Waffle+Iron · · Score: 4, Insightful

    These days, the largest security threat is probably web browsers: They usually have direct access to the most critical information a user has (passwords, all personal files under their user account, data from all the external services the user accesses, etc.) Under the very same OS user account, web browsers also download and run thousands of untrusted programs from random locations on the internet every day (we'll ignore the handful of hardcore geeks who run Noscript).

    The boundary separating these two realms is enormous and incredibly convoluted, involves many layers of abstraction (some of which can be breached by a single misplaced bracket or quote character), and is enforced entirely by the web browser itself. It presents a massive attack surface that dwarfs even the most monolithic OS API.

    1. Re:Probably irrelevant by Waffle+Iron · · Score: 3, Insightful

      the idea that a sandboxed in the browser website is a potential risk, and a compiled binary program installed with full access to the CPU/RAM/HDD and OS is somehow less of a risk

      You do realize that modern web browsers compile downloaded programs to binary?

      The whole problem is the nebulous nature of the browser "sandbox" you mention. New exploits for these are published on a daily basis. Even as these are fixed, all of the major browsers add new features and complexity at a breakneck pace (unlike most OSes). So sandbox exploits will keep appearing daily. Also unlike OSes, browser sandboxes are ill-defined and constantly in flux. OS security boundaries are usually clearly documented and defined.

      Like I mentioned, most all of a user's important data reside within one OS account which also runs the browser, so the OS is of little help here.

      (For servers as opposed to clients, replace "browser" with "web server, middleware stack and database" for a similar huge and ill-defined attack surface)

    2. Re:Probably irrelevant by Kjella · · Score: 1

      Sadly, you're right on the money. For the vast majority of people almost all the important data they have will be backed up online somewhere and on their own computer they'll almost certainly have the password stored. If you have their Dropbox/iCloud/GDrive account you're pretty much home free. And if they don't have it stored, well install a trojan because they'll almost certainly enter the password into the web browser soon.

      --
      Live today, because you never know what tomorrow brings
    3. Re:Probably irrelevant by Misagon · · Score: 1

      For this reason Chrome/Chromium is more or less sandboxed on every platform it runs --- and I say "more or less" because it has to be in a different way on each platform to take advantage of what each platform provides.
      On some platforms such as MS Windows, the code for making it run somewhat securely can be quite convoluted.

      --
      "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
    4. Re:Probably irrelevant by Anonymous Coward · · Score: 0

      Okay, there are perhaps issues, I actually wouldn't even go so far as to say there are issues, just you state there are.

      However, stating that the browser is less secure than a compiled installed program on the machine is still a bald faced lie.

      The access a sandboxed website has to the system is nearly nill, where as an installed application has full access and can do almost anything with impunity on the machine.

      These two things are NOT equal and presenting the browser as a problem while ignoring the real problem creates cognitive dissonance. The web is much less harmful than most programs created by legitimate corporations. This did not used to be the case but in modern times the paid for installed applications are a MUCH higher security risk than script kiddies on the 'net.

    5. Re:Probably irrelevant by Waffle+Iron · · Score: 1

      What are you talking about?

      Any locally installed app run by a user will have 100% access to all of that users' data files, and could trivially upload them all to any website in the world. (Except maybe on Android and iOS, where it would first have to ask the user for "network access", who would click "yes" 99.9% of the time.)

      The OS does not help protect users from locally installed programs at all.

    6. Re:Probably irrelevant by Anonymous Coward · · Score: 0

      Exactly, lol, sorry I think you missed my meaning, I am arguing that installed programs are a security issue of a greater magnitude than the security risks posed by just visiting a website.

      the parent post was trying to argue that the most dangerous thing on a machine is the browser. I'm arguing that it is the installed crapware and in some cases even the OS itself that is a far larger problem. These aren't illegitimate pieces of software they are corporately created pieces that are harvesting and sending back user data. This is not something a website can do by itself as it cannot access the hard drive or record the users actions offline.

      It appears we are in agreement as you say, any locally installed app run by the users has 100% access to all data. The parent poster was saying that this is not a danger, but rather casually visiting websites poses a larger risk, which to me is not just untrue it's obviously plainly factually false.

    7. Re:Probably irrelevant by Anonymous Coward · · Score: 0

      I personally think the average layperson should just use ChromeOS on Chromebooks and Chromeboxes. Nothing's perfect, but I think it's as secure as they'll get since ChromeOS is designed to sandbox things. The only problem is it suffers from the safe sort of update problem Android does. But I think most Chromebooks get support for 5 years.

    8. Re:Probably irrelevant by Anonymous Coward · · Score: 0

      Any locally installed app run by a user will have 100% access to all of that users' data files, and could trivially upload them all to any website in the world. (Except maybe on Android and iOS, where it would first have to ask the user for "network access", who would click "yes" 99.9% of the time.)

      The OS does not help protect users from locally installed programs at all.

      $ sesearch -s pidgin_t -t user_home_t -A
      [no output]

      $ sesearch -s chocolate_doom_t -c packet -A
      [no output]

    9. Re:Probably irrelevant by Balial · · Score: 1

      It's good to know that servers, ATMs, IoT devices are all immune from security exploits because they don't have web browsers on them. Phew!

    10. Re:Probably irrelevant by q_e_t · · Score: 1

      the idea that a sandboxed in the browser website is a potential risk, and a compiled binary program installed with full access to the CPU/RAM/HDD and OS is somehow less of a risk or a equal risk is utter shite.

      It may be a lesser risk to the operating system, but most people care about the effects of a compromise, wherever it happens, not the technical details of the compromise. A system-wide compromise has a greater potential effect, but poor web browser and web security leading to your credit card details being stolen has a sufficiently bad effect on the domestic user it is a significant threat. And the threat comes in two main broad categories - nefarious plugins, and nefarious websites (which have multiple subcategories). It doesn't matter if the HDD has a trojan placed on it or not if your credit card details have already flown the nest - persistence isn't required in a technical sense as the damage (effect) is already sufficiently persistent for a user based on an essentially ephemeral event.

      Where persistent attacks or OS compromises are a concern include those that ultimately attack personal data, or where it affects control equipment for hospitals, power generation, etc.

    11. Re:Probably irrelevant by q_e_t · · Score: 1

      Exactly, lol, sorry I think you missed my meaning, I am arguing that installed programs are a security issue of a greater magnitude than the security risks posed by just visiting a website.

      On a home computer, unless the installed program compromises the web browser it may well be less of a threat as these days fewer people store important financial data or passwords on their computer. And whilst a key logger might be installed, it is much easier to harvest login details or CC numbers by using the web browser and its ability to detect the fields being used, and the URLs on which this is occurring, than using a key logger.

    12. Re:Probably irrelevant by q_e_t · · Score: 1

      ATMs don't tend to have people logging onto them directly, so the compromise will typically come from inside the bank (all bets off), except for some really specialist hacks that come to light now-and-then. IoT, well, still no direct user access, but there security can be cut down as they are low power and it is assumed that lack of direct user access can save them. The risk from IoT seems to be more what ongoing hacks can be launched from them, in terms of gross financial damage, unless you have IoT door locks. Granted, it might turn your air con on full blast or something. A lot communicate over http, so whilst they don't have browsers, http vulnerabilities are still a concern. I'd be more concerned about cars.

    13. Re:Probably irrelevant by Anonymous Coward · · Score: 0

      The OS do help to protect against locally installed program. I think jail/containers/namespaces are a fairly common feature for OS by now. All my browser runs under firejail protection for example. On linux, just do a man clone, man unshare (Many tools ease the use of those low level primitives).

  12. Re:Of course Linux devs like microkernals by Anonymous Coward · · Score: 0

    Sounds like their's is many orders of magnitude bigger than yours.

  13. Microsoft stole NT... because VMS rocked. by gavron · · Score: 4, Informative

    It's not quite accurate to say the "design came from Digital..." Dave Cutler, who worked on VMS V4 went to work for MS and built the W/NT (Windows/New Technology, and also WNT=VMS+1) based on the knowledge he'd acquired at Digital. Digital sued, and won.

    The VAX/VMS system, later OpenVMS (because "Open" was a popular word, not because it was any more open than any other proprietary O/S, although you could get sources, originally on microfiche and later on CD) not only WAS but still IS one of the most secure systems. Banks, hospitals, medical facilities, and the government continue to use it today because of that.

    You don't like the "horrible shell syntax"? No worries, Dave Kashtan from SRI/TGV/Cisco wrote Eunice, a Unix-style shell and tools so you could have your favorite CLI environment without having to learn Digital Comand Language (DCL). Dave and Ken Adelman (the guy who beat Barbra Streisand and created her eponymous "effect") used their knowledge of the VMS kernel and Eunice to write a TCP/IP networking stack that worked with the kernel at kernel speeds... beating out the inferior stacks by halfass developers like Process Software, Wollongong, and even Digital itself. (Of note is that Carnegie Mellon University built an open-source stack called CMU-TEK that (once Tektronix released their claims on it) was free, you could build it yourself, and was a great learning experience).

    The point of all this is that the VMS kernel was secure, is secure, but wasn't a microkernel at all. While it made system calls to the File Management System (FMS) and the On Disk System (ODS-2) and the Record Management System (RMS, what would be like a file based record management system) were part of the library of system calls, the implementation operated within the kernel.

    The VAX processor in 1978 had five operating modes, and putting aside PDP-11 compatibility mode, those were in the onion-layer model User, Executive, Supervisor, and Kernel. This was the first hardware processor to put into play the concepts we use today *EXCEPT* that it was totally enforced by hardware.

    That includes an execute bit for page mapped memory. DECADES ahead of anyone else doing anything like that. /history

    E

    1. Re:Microsoft stole NT... because VMS rocked. by Jeremiah+Cornelius · · Score: 5, Informative

      Yeah. The original NT microkernel was not VMS derived, but was a salvage-job from the design work that Cutler and team started for DEC Prism, in their Portland R&D location.

      DEC cut Cutler over the period that they re-targeted for Alpha as their RISC evolution. Gates swooped on him, to deliver the kernel of his vision for "32-bit OS/2", and break away from the control IBM held over roadmap. IBM OS/400 business was effectively gatekeeping a 32-bit PC OS, even as 32-bit CPU's were effectively mainstream.

      Once NT was faced with competitive challenges and requirements to match earlier windows desktop use cases, the microkernel design fell rapidly to the wayside, with principal OS modules run as additional processes in Ring 0, or completely included as functions of the OS kernel. You saw this in graphics first, I think as early as 3.51, but it MIGHT have been 4.0.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    2. Re:Microsoft stole NT... because VMS rocked. by Old-Claimjumper · · Score: 1

      The VAX processor in 1978 had five operating modes, and putting aside PDP-11 compatibility mode, those were in the onion-layer model User, Executive, Supervisor, and Kernel. This was the first hardware processor to put into play the concepts we use today *EXCEPT* that it was totally enforced by hardware.

      As with all such history this is not correct. The VAX protection rings enforced by hardware were designed (and acknowledged by the developers) as a somewhat simplified version of that used in the amazing MULTICS system. MULTICS didn't sell as many processors as the VAX, but it was certainly "put in play" in the market.

    3. Re:Microsoft stole NT... because VMS rocked. by Antique+Geekmeister · · Score: 1

      There is a pretty good analysis at https://www.itprotoday.com/man..., consistent with my knowledge of VMS and of Microsoft's behavior at the time. Taking a team of 20 with him shows that David Cutler wanted to continue his previous work as a project for a new company. But his non-disclosure agreement with DEC, coupled with the amount of code and the functionality that was replicated whole, demonstrated theft.

    4. Re:Microsoft stole NT... because VMS rocked. by K.+S.+Kyosuke · · Score: 1

      So your argument against X (hardware protection) having been implemented in Y (the computers MULTICS ran on) even earlier than somewhere else is that Y is old? That's not exactly strengthening your case.

      Furthermore, what Multics had to do with PDP-10 is beyond me. You sure you didn't get some crosstalk in your wiring?

      --
      Ezekiel 23:20
    5. Re:Microsoft stole NT... because VMS rocked. by Anonymous Coward · · Score: 0

      Amen. I did low level development for a software vendor in both Pdp-11/RSTS/RT and Vax/VMS, starting with vms 2.1. Have built and managed a couple of clusters... solid, reliable. Wish I could run it on my desktop/server instead of Windoze... It is sad that the systems I worked on 40 years ago were more reliable than what is running right now.

    6. Re: Microsoft stole NT... because VMS rocked. by elmo_dynamo · · Score: 1

      The Burroughs B6700 had an execute bit. http://www.smecc.org/The%20Arc...

    7. Re:Microsoft stole NT... because VMS rocked. by Agripa · · Score: 1

      Once NT was faced with competitive challenges and requirements to match earlier windows desktop use cases, the microkernel design fell rapidly to the wayside, with principal OS modules run as additional processes in Ring 0, or completely included as functions of the OS kernel. You saw this in graphics first, I think as early as 3.51, but it MIGHT have been 4.0.

      I remember developers loving that the graphics driver could die and *not* take down the system while allowing the user to restart it. But then Microsoft broke it.

    8. Re:Microsoft stole NT... because VMS rocked. by Jeremiah+Cornelius · · Score: 1

      MS were going for the Workstation market. They couldn't match OpenGL performance, and HW partners bitched. MS bought SoftImage as a part of this campaign to take over in the segment, and also did a backroom deal for SGI to have Rick Belluzzo take reigns as CEO and introduce the Intel-based Visual Workstation line.

      I still have a couple of IRIX 6.5 machines here as space heaters. Screw Windows.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
  14. Donâ(TM)t let inconvenient facts get in the w by shking · · Score: 0

    For example: - MacOS has a micro kernel - OpenBSD is a monolithic design and is probably the most secure OS

    --
    -- "At Microsoft, quality is job 1.1" -- PC Magazine, Nov. 1994
  15. Microkernels are the most secure by kzwork · · Score: 0

    Microkernels are the most secure ones because nobody uses them (out of labs).

    1. Re:Microkernels are the most secure by Anonymous Coward · · Score: 0

      Microkernels are the most secure ones because nobody uses them (out of labs).

      Did you miss the news that basically every Intel microprocessor shipping today has microkernel-based Minix 3 running in the Management Engine?

  16. Re:Donâ(TM)t let inconvenient facts get in th by loonycyborg · · Score: 2

    MacOS is based on Mach microkernel yet somehow its Darwin kernel is mostly monolithic. What gives? Perhaps microkernels made too many difficulties for practical use?

  17. Re:Donâ(TM)t let inconvenient facts get in th by DamnOregonian · · Score: 4, Interesting

    Don't let your ignorance get in the way of your mouth, either.

    Having spent several thousand hours of my life dredging through Darwin's kernel interfaces, I can tell you the beating heart of Mach, the actual microkernel inside of MacOS, is literally dwarfed by the monstrous amounts of monolithic BSD and Mac bolt-ons.

    In the end, I found the Mach aspect of Darwin served little purpose beyond making it more annoying to work in that Kernel. It sure didn't slow me down in my task of modifying the Kernel's page tables from user-space on an iPhone.

    I love it when people who have no idea what they're talking about make such confident assertions.

  18. Re: Broken clock still right twice a day by Anonymous Coward · · Score: 3, Insightful

    NTOSKRNL runs its filesystems, object manager, executive, etc. in kernel space. In what way was this ever a microkernel design by any commonly accepted definition of the term?

  19. Unintended design consequences. by Gravis+Zero · · Score: 1

    While monolithic kernel design results in more code being given access that do not need, it also mandates a homogeny of code for provided services. This help ensure oversight of critical sections of code that could otherwise be poorly implemented, left unreviewed or have high implementation fragmentation.

    Microkernels are technically safer designs but the culture of code review is equally important.

    --
    Anons need not reply. Questions end with a question mark.
  20. "doesn't work at all" is a bug by raymorris · · Score: 4, Insightful

    Security isn't just confidentiality. It's Confidentiality, Integrity, and Availably (CIA). If the machine isn't running, it isn't provide secure services to the users.

    The micro-kernel architecture ala Tanenbaum fails the security requirement of Availability; micro-kernel systems don't provide what people need. People use Linux because the design works well for building what people need.

    1. Re:"doesn't work at all" is a bug by Antique+Geekmeister · · Score: 1

      If I may add? It is also "provenance". Being able to trace where the data came from, or the software is a critical aspect of security that is too often obscured in the name of confidentiality. I've recently had just that discussion, walking through the complete lack of visibility of their work. Coupled with the complete lack of an API, it made it nearly impossible to design software to work with their systems because the code involved and its internal behavior was deliberately concealed.

    2. Re:"doesn't work at all" is a bug by Anonymous Coward · · Score: 0

      People use Linux because the design works well for building what people need.

      Engineering, software included, is about the art of compromise. The Linux kernel has come a long way, and like it or not you can't duplicate that functionality easily if you do a design shift to something that may be more secure.

      Also, at some point you have to protect user data, so if its a desktop system, the hacks and compromises don't necessarily have to affect ring0.

      That all being said, if a case can be made for a microkernel, well I'm all for more security. Find a business case and someone willing to front the money for development. I'm thinking something aerospace or defense related might be a starting point.

      At times I wonder if we worry too much about software isolation. It might be nice if your average cpu had functional units with say a gigabyte of ram and a core. The cpu core would then be granted a protected path to a window on the screen. Basically start with what you know is a secure design, since it has the physical isolation and the interconnections are well designed. Once you have that as your touch point, see what compromises you have to make for the real world and see where you are.

    3. Re:"doesn't work at all" is a bug by dfghjk · · Score: 1

      Following this argument to its natural conclusion, only what exists today can possibly be secure because everything that does NOT exist today fails "the security requirement of Availability". Therefore we can conclude that all future systems are insecure for precisely the same reason you conclude that a "micro-kernel architecture ala Tanenbaum fails the security requirement of Availability."

      Linux also failed to build "what people need" until it did. It's an ignorant argument useful for nothing beyond getting "Insightful" mods from people who know even less than you do.

    4. Re:"doesn't work at all" is a bug by Anonymous Coward · · Score: 0

      Bullshit ... Tanenbaum's kernel is one of the most deployed kernels ... And who has complained about it's availability? It does not crash

      https://www.google.com/amp/s/www.zdnet.com/google-amp/article/minixs-creator-would-have-liked-knowing-intel-was-using-it/

    5. Re:"doesn't work at all" is a bug by rtb61 · · Score: 1

      More accurately, security in computing is system only being able to do, exactly what they were intended to do. That means modular design and only putting in exactly the bits you need, that can only do the exact limited range of functions you required.

      That of course is the security market, in the general market the consumer market flexibility is a requirement. So the right kind of product, for the right kind of market and the consumer market should not subsidise the security market.

      Want it really secure, put it behind a dip switch on the motherboard. Once they are in, they are in and no system manager is going to hold out against, 'er', enhanced (only Americans could come up with that) interrogation techniques and user names and passwords are not secure.

      --
      Chaos - everything, everywhere, everywhen
    6. Re:"doesn't work at all" is a bug by Spazmania · · Score: 2

      Following this argument to its natural conclusion, only what exists today can possibly be secure because everything that does NOT exist today fails "the security requirement of Availability".

      Exactly. Raymorris grossly misstates the security criterion of Availability.

      Availability is about outage: where the app is unavailable or malfunctions either directly due to an attack or indirectly due to features meant to thwart an attack. For example, if your account is locked as a result of 3 wrong passwords, that's a hit to availability. Which is why NIST 800-63 says to rate-limit password attempts rather than imposing lockouts.

      Merely having to throw more hardware at it because of a linear change in running efficiency, as happens with microkernels, is not an availability impairment.

      The strongest security argument you can make against microkernels is that it's a security failure to spend more money protecting an asset than the asset is worth.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    7. Re:"doesn't work at all" is a bug by strikethree · · Score: 1

      The micro-kernel architecture ala Tanenbaum fails the security requirement of Availability; micro-kernel systems don't provide what people need.

      I would argue that with more cores available, this is no longer quite as true as it once was. Back when this debate was finalized, one core was the de facto standard for the majority of computers. Micro kernels took a HUGE hit when running on a single core. If the core operating system stayed on a single core and managed running processes on other cores, I suspect a lot of the latency can be avoided in relation to individual processes.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    8. Re:"doesn't work at all" is a bug by Anonymous Coward · · Score: 0

      Unless compromise of said asset will cost more than the asset is worth and the cost protecting said asset, combined.

    9. Re:"doesn't work at all" is a bug by Agripa · · Score: 1

      The strongest security argument you can make against microkernels is that it's a security failure to spend more money protecting an asset than the asset is worth.

      This is especially the case if you can make the loss someone elses.

  21. OSF Mach microkernel demonstrated this 25 yrs ago. by Anonymous Coward · · Score: 0

    While machines were a lot slower then, it still doesn't seem that users (or system vendors) are willing to sacrifice performance for safety.

  22. Same shit, same real world problems. by Anonymous Coward · · Score: 1

    The problem with microkernels is the same as it always was, performance. Largely caused by the overheads intrinsic NOT having access to necessary data to perform some function and having to call out for it. Security auditing is a biggy there.

    And if you think a microkernel is so wonderful, instead of doing pseudo-studies to prove they are so great, write one instead and prove it.

    1. Re:Same shit, same real world problems. by Anonymous Coward · · Score: 0

      Today 6 core CPUs are common and it's likely 16 cores will be common in a few years. What's the harm in allocating 1 or 2 cores for the OS? Sure it's slower, but has fewer bugs.

    2. Re: Same shit, same real world problems. by Anonymous Coward · · Score: 0

      The problem will come when all those other processors start hitting the OS server processes with the ukernel equivalents of syscalls.

    3. Re:Same shit, same real world problems. by Misagon · · Score: 1

      Monolithic kernels had a syscall performance advantage ... before the Meltdown patches were applied.

      The security advantage of microkernels is that you could reduce the attack surface by making your Trusted Computing Base as small as possible.
      The seL4 microkernel has been formally proven safe. That is possible because it is small enough, but it still took years. You can't do that with something as Linux.

      The locus in OS research seems to have moved on towards multikernels for better performance on systems with many cores. A multikernel is basically about having a separate microkernel on each core, each core's kernel chosen to be the best available for the tasks that run on it.
      Linus, on the other hand, does not like CPUs with many cores ...

      --
      "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
    4. Re:Same shit, same real world problems. by jedidiah · · Score: 1

      > Today 6 core CPUs are common

      No they aren't. They are readily available but they are rather unusual. They are restricted primarily to power users who are willing to pay more than average for a better product.

      Most people are cheap bastards content with the cheapest available option.

      That's how we got the dominance of Microsoft.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    5. Re:Same shit, same real world problems. by Anonymous Coward · · Score: 0

      > The seL4 microkernel has been formally proven safe.

      Welll, kind of...

      It's been formally proven to meet the spec, but that doesn't mean the spec has been proven safe!

    6. Re:Same shit, same real world problems. by drinkypoo · · Score: 1

      Today 6 core CPUs are common

      No they aren't. They are readily available but they are rather unusual. They are restricted primarily to power users who are willing to pay more than average for a better product.

      It's true, 6-core CPUs aren't common. On the other hand, 8-core CPUs are. AMD has been churning them out cheaply for years now. The budget-conscious user is highly likely to have an 8-core CPU as a result.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:Same shit, same real world problems. by Anonymous Coward · · Score: 0

      The problem with microkernels is the same as it always was, performance. Largely caused by the overheads intrinsic NOT having access to necessary data to perform some function and having to call out for it. Security auditing is a biggy there.

      The problem with microkernels is deficient hardware, which only provides expensive and course protection mechanisms. It isn't limited to microkernels either; it applies to applications as well, which are also programmed in a monolithic way for performance reasons. Context switching and IPC cost too much, and without cheap and convenient isolation mechanisms, security and reliability will continue to suffer.

      Security is in a bad state, and with little focus on improving hardware, or even recognition that it is a problem, the future remains grim.

  23. Doing my best but... apk by Anonymous Coward · · Score: 0

    See subject: Especially for Linux/BSD vs. Win32/64 model which was good/accurate! I improved it in speed for *NIX + features https://it.slashdot.org/commen...

    * HOWEVER: My program can't "do it all vs. EVERY threat" (nothing can)! E.G. BGP exploit (can't stop it).

    STILL - It DOES do MORE for far less resources & more SPEED/SECURITY/RELIABILITY & anonymity vs. ANY single other "so-called 'solution'" (LOADED w/ security issues (DNS redirect & 99% of ISP dns are not proofed vs. it, OpenDNS is + it filters threats also aiding layered security here OR Antivirus (Tavis Ormandy anyone?)).

    Due to complexity & C/C++ buffer overflows via null-terminated strings (corrected to an extent in C++11 std.but NOT all C++ compilers are fully compliant of that std. - Object Pascal HAS NO SUCH ISSUE))!

    APK

    P.S.=> My use of Object Pascal (Delphi for Win32/64 & FreePascal for Linux/BSD 64-bit) avoids it & Pascal beat C++ in stringwork by 4-5x in a test (& math by double))... apk

  24. Re:Donâ(TM)t let inconvenient facts get in th by Anonymous Coward · · Score: 1

    MacOS (formerly OS X, not the weird crap that preceeded it) was never a microkernel design. Nor its Mach-based NEXT/OPENSTEP predecessors. Same goes for Tru64.

    Let's get this clear: Any operating system that has filesystems or network stacks in kernel space is strictly monolithic. All this talk of 'microkernels' and 'hybrids' is tech press wank.

  25. How is Tanenbaum vs Torvalds relevant today? by mykepredko · · Score: 1

    IIRC, the debate was really over whether or not an OS should span different system processors to provide users with a similar experience/capabilities rather than just concentrate on the latest processors with a specific operating model. I don't see how it applies to the security debate of today.

    I would consider the '86-'286-'386 to be different processors because of the 16 bit unprotected page ('86) versus 16 bit protected ('286) and 32 bit protected and flat ('386). The Minix micro-kernel was custom to each processor family and provided the ability to run apps on different systems. Linux was designed for the '386 (and follow on processors), ignoring the previous versions of hardware and making the assumption that anything less than the '386 was going the way of the dinosaur.

    Regardless of the approach, don't forget that 25+ years ago, networking was quite primitive - most home users were using telephone line modems and businesses had closed networks (if they had them at all). Lynx was the web browser of choice (Mosaic was still a year or two away). Network/computer security was in its infancy (Sandra Bullock's "The Net" was a few years away). Email barely existed (I was working at IBM at the time and was able to get "myke@ibm.com" without anybody questioning it or there even being standards applied to email accounts).

    So, I don't think you can say that if Tanenbaum won Linus over to the microkernel (as well as Microsoft and other vendors) there wouldn't be the security concerns of today. I can't see how potential security flaws (which would be obvious by people looking at it from a contemporary eye) would have been avoided as the software stack of 1992 evolved into the stack of today if the microkernel approach was taken then.

    1. Re:How is Tanenbaum vs Torvalds relevant today? by Spazmania · · Score: 1

      NCSA Mosaic was first released in January 1993, 25 years and 8 months ago. Lynx only predated it by 6 months; it's tenure on top was short indeed.

      Home users didn't particularly discover the Internet until 1995.

      Security was primitive. Even by 1996, most of DoD hadn't deployed firewalls yet and NAT's use was pretty rare.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    2. Re:How is Tanenbaum vs Torvalds relevant today? by tbuskey · · Score: 1

      >

      Regardless of the approach, don't forget that 25+ years ago, networking was quite primitive - most home users were using telephone line modems and businesses had closed networks (if they had them at all). Lynx was the web browser of choice (Mosaic was still a year or two away). Network/computer security was in its infancy (Sandra Bullock's "The Net" was a few years away). Email barely existed (I was working at IBM at the time and was able to get "myke@ibm.com" without anybody questioning it or there even being standards applied to email accounts).

      When Linus was using Minix to create Linux and for a short time after, web and HTML didn't exist, let alone browsers such as lynx. If home users were using modems, it was to connect to BBSen or commercial systems like AOL and CompuServ. AOL didn't do internet email and it was hard for any home user to get email. Just about everyone with email got it through work or college.

      I worked at one of those rare businesses with email & a shared 56k internet connection in '92. I remember when Mosaic came out. It didn't run on the Windows 3.1 that was out and just got ported to Mac System 7. System 7 had TCP/IP from Apple. Windows had a number of non-Microsoft TCP/IP stacks and no clear leader. Windows 3.11 included a standard TCP/IP that apps like Mosaic could adopt instead of one or several different ones with different APIs.

      At that time, there were no firewalls. Maybe you had a router that blocked ingress of specific ports.

  26. This is academic by Dasher42 · · Score: 1

    This is academic until we have solid open-source operating systems based on a microkernel fit for general use - and we're almost there.

    Genode (https://www.genode.org) is a really interesting project, a microkernel OS wherein the subsystems and policies are set up for resiliency and security. It actually can run on Linux, but it also works in conjunction with a variety of the L4 microkernels which go a long way towards solving the overhead problem characteristic of microkernels. It does seem to blur the line between hypervisor and host OS, but it seems awfully promising as a pragmatic response to the microkernel vs. monolithic debate.

    In fact, I don't know why we even mention HURD when Genode is so far along.

  27. Re: OSF Mach microkernel demonstrated this 25 yrs by Anonymous Coward · · Score: 0

    OSF-1 was monolithic. All the stuff that did Unix lived in the same address space as Mach 2.5.

  28. This is academic-mindshare. by Anonymous Coward · · Score: 0

    More people have heard of HURD than Genode. Don't underestimate the importance of mind-share. That's why the mainstream OSes are mainstream, and not niche. Also to borrow a Ballmerism. Drivers! Drivers! Drivers!

    1. Re:This is academic-mindshare. by Anonymous Coward · · Score: 0

      More people have heard of HURD than Genode.

      Those people are also all aware of how long it's taken to get to the relatively pithy level of functionality it currently has.

  29. Re: Registered /.ers review of the Win64 model by Anonymous Coward · · Score: 0

    Who the fuck is this? What is this shyte?

    It is awesome

  30. Unsafe notions. by Anonymous Coward · · Score: 0

    When the monolithic kernel is going bigger and bigger, it will EXPLODE your brain!!!

  31. Tanenbaum wins in the end by MichaelSmith · · Score: 1
    1. Re:Tanenbaum wins in the end by Anonymous Coward · · Score: 0

      Give it up, no general purpose computer operating system that could even be considered close to mainstream uses a microkernel approach. It's a dead end but for very specific embedded applications.

    2. Re:Tanenbaum wins in the end by Anonymous Coward · · Score: 0

      Give it up, no general purpose computer operating system that could even be considered close to mainstream uses a microkernel approach. It's a dead end but for very specific embedded applications.

      I'm not sure what counts as "mainstream," i.e. whether it's about popularity or use cases, but NetBSD uses a novel "anykernel" design that kind of makes microkernel-vs-monolithic arguments obsolete.

  32. A corollary applies to monolithic applications by KonoWatakushi · · Score: 2

    Web browsers rival operating systems in size and complexity, and are also hopelessly insecure. The main problem, shared with microkernels, is that the protection mechanisms available in common hardware don't allow efficient or convenient communication between protection domains, which are tied to address spaces. In order to cross the boundary, the address mappings must be flushed and reloaded, or at least manipulated, which are both very expensive operations. This makes any IPC very expensive, so the preferred means of communicating is by sharing memory, and for convenience and performance, nearly everything ends up in the same address space. Thus, the inevitable compromise of any part of these monolithic kernels and applications, is a compromise of the whole.

    Without better hardware mechanisms for protection, that allow for efficient protection within the kernel and applications themselves, effective security will remain illusory. The furious and endless effort will continue in a futile attempt to hold the line against the flood of exploits. It is an intractable problem, unless we can shrink the protection domains to contain the effects of inevitable breaches. Capability-based addressing as with CHERI offers one approach, and the Mill architecture offers another. (see the Memory, Security, and IPC talks specifically.) Each represent a different set of trade-offs, which will limit applications. In any case, it is an area that needs work, so if there really are any nerds left on Slashdot, get to it, or at least help fund such efforts.

  33. Remember MkLinux? by Millennium · · Score: 1

    Apple's first attempt to get an OS running on Mach was, of all things, a Linux port. I don't think the code has been updated since the 2.x kernel series, but if it were to be resurrected, then perhaps there's less of a need to "move on" than the article's author believes.

  34. Re:OSF Mach microkernel demonstrated this 25 yrs a by MichaelSmith · · Score: 1

    Maybe you were thinking of VMS?

  35. Re: IP Camera Price In Bangladesh by aglider · · Score: 1

    Can you show us those cameras have no security hole punched in?

    Could you please show us the code?

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  36. Re:Broken clock still right twice a day by jedidiah · · Score: 1

    > Looks like even Microsoft did something right with their micro kernel design.

    Except their userland is crap. So that negates all of the benefits of the microkernel.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  37. Re:Broken clock still right twice a day by K.+S.+Kyosuke · · Score: 1

    Looks like even Microsoft did something right with their micro kernel design.

    Uhm...

    ...a monolithic system, such as Linux, Windows or MacOS...

    Hell, they even moved graphics subsystem and a web server into kernel space.

    --
    Ezekiel 23:20
  38. It's WHY I built this to help vs. that... apk by Anonymous Coward · · Score: 0

    APK Hosts File Engine 2.0++ 64-bit for Linux & BSD h t t p : / / a p k . i t - m a t e . c o . u k / A P K H o s t s F i l e E n g i n e F o r L i n u x . z i p

    Yields more security/speed/reliability/anonymity vs. any 1 solution (99% of threats use hostnames vs. IP address most firewalls use) more efficiently/FASTER + NATIVELY 4 less!

    Vs. "Bolt on 'MoAr' illogic-logic" slowing you hosts speed u up 2 ways: Adblocks + Hardcode fav. sites u spend most time @ vs. competition loaded w/ security bugs (DNS/AntiVir) + overheads slowing u (messagepass 'souled-out' to advertiser addons + filtering drivers) & their complexity leads to exploitation!

    * ONLY 1 of its kind in GUI 4 Linux/BSD!

    (Better vs. Windows model in speed/efficiency/merge)

    APK

    P.S.=> Protects vs. script trackers/ads/DNS request tracking + redirect poisoned or downed DNS/botnets/malware downloads/malcript/email malicious payloads... apk

  39. Registered /.ers review of the Win64 model by Anonymous Coward · · Score: 0

    Your software is just fine - well written, functional... I'm going to continue using the Host File Engine by mmell February 17, 2017

    Your premise that hostfiles are a good way to deal with advertising and malvertising is quite valid - by JazzLad April 20, 2016

    his hosts program is actually pretty good by xenotransplant August 10 2015

    his hosts tool is actually useful for those cases in which one does indeed want to locally block stuff outright while consuming minimum system resources by alexgieg September 25 2015

    I like your host file system by Karmashock September 09 2015

    that APK guy, I use his host file by rogoshen1 Tuesday March 03, 2015

    I personally use a HOSTS file blocker produced from a genius called APK by 110010001000 October 27 2017

    * Linux model = faster/more efficient

    APK

    P.S.=> APK Hosts File Engine 9.0++ SR-1 32/64-bit for Windows https://www.google.com/search?...

  40. It's not like that by Anonymous Coward · · Score: 0

    Mikrokernel-based OSes are not widespread as monolithic kernel-based OSes, so are not as exposed to threats and research. Also, in mikrokernel-based designs, the OS components REQUIRE privileged access to each other's interfaces, and these interfaces are also exposed to user processes (QNX anyone?).

  41. Exist since 1969. Fad in the early 80s, again 90s by raymorris · · Score: 1, Informative

    Doesn't exist? Micro kernels have to existed since 1969. They were a fad, a buzz word, in the early 1980s, like block chain in now. Then again in the 1990s, a resurgence of micro-kernel articles in the trade mags, and academic research. Some of the largest companies tried micro-kernel. They found out it doesn't work. The services that run in kernel mode, within the kernel address space, on all successful kernels are there for a reason. Multiple separate kernel THREADS work, and even a monolithic kernel like Linux has separate kernel threads.

    What eventaully happened to achieve many of the goals of micro-kernel advocates, using some of the same ideas, is supervisors. Hypervisor's can be pretty small (or very large), and run a kernel as a process (not many processes) on top.

    > from people who know even less than you do.

    One of us is a kernel developer, the other thinks micro-kernels (many of them, btw) don't exist.
    I enjoy talking to someone who has a different point of view than I, but next time you come to insult me please bring a clue. I see you don't have one today.

  42. And 90% of shark attacks are at the beach by Anonymous Coward · · Score: 0

    Because that is where all the people are.

    1. Re: And 90% of shark attacks are at the beach by Anonymous Coward · · Score: 0

      Indeed. By conclusion the open sea is considered a safe place to let your children play unobserved.

  43. Myopic view of security by mveloso · · Score: 1

    Will a microkernel mitigate application-level exploits? No. And really, the application level is the important level because the OS itself is a pretty useless source of user data.

    Will a microkernel prevent a certain class of exploits? Probably. But if the platform is unsuitable for applications, then the question is moot.

    Maybe they want to commercialize Mach 3? Mach 3 was supposed to be BoBW, but apparently nobody actually believed that.

  44. Re: OSF Mach microkernel demonstrated this 25 yrs by Anonymous Coward · · Score: 0

    It's fundamentally a hardware problem, and this is the inevitable result. When security is too expensive or cumbersome, it doesn't get used. All of the "microkernels" in wide use are actually hybrids for this reason. The core problem remains undressed, and apparently few even recognize what it is. Instead, people prefer to rehash the micro-vs-monolithic kernel debate ad nauseam, and accept deficient hardware as a given.

  45. NT's core's described as a "hybrid kernel" by Anonymous Coward · · Score: 0

    NT's core's described as a "hybrid kernel" by Dr. Mark Russinovich in Windows NT magazine (iirc article was titled "Is NT UNIX?") & it's a good description... I *THINK* that was the article he illustrated it as thus in fact (check to be sure). See https://duckduckgo.com/?q=%22R...

    * NT graphics in 3.5/3.51 were in USERMODE (slower & hence why DirectX API came along to make it FASTER there & safer than going pure kernelmode for speed, 4.0 onward (directX 3 is as far as it goes there & NOT FULLY, iirc)).

    APK

    P.S.=> I thought YOU were "long gone w/ the DAWN" Jeremiah Cornelius - guess your TROLLING EVIL never dies, eh? LOL... apk

  46. Re:Donâ(TM)t let inconvenient facts get in th by Anonymous Coward · · Score: 0

    Be fair, the grandparent said "MacOS has a micro kernel", and technically that is correct. Like many other Apple "features", the functionality itself is irrelevant and often broken; only appearances matter. This is not meant as an insult to Apple engineers, just a sad reflection of Apple's priorities.

  47. Strong argument, bro by Anonymous Coward · · Score: 0

    QNX is fit for cars, phones, desktops, servers, clusters, industrial controllers, mission critical things, and so on, and so forth.

    linux is used for all those things too, but frankly a lot less fit. In fact, windows is used for all those things, but even less fit.

    Plenty of point, I say.

    1. Re:Strong argument, bro by iggymanz · · Score: 1

      No, QNX is not fit for general purpose OS or server, it's a real time OS. Corporations are not serving internet and middleware and database from QNX servers.

      It is not fit for desktop, though yes some here have loaded it onto desktop proving exactly nothing, it's a toy. No one here is posting from QNX desktop and they're not using QNX desktop at work.

    2. Re:Strong argument, bro by Anonymous Coward · · Score: 0

      If QNX is as great as you imagine, then where is the great QNX-based desktop OS? where is the great QNX-based server OS?

  48. Fuchsia is for computers too by perpenso · · Score: 1

    Utterly irrelevant to bring up a little embedded OS fit for cars and blackberries and compare it to Linux. You have no point,

    You are misinformed. Google Fuchsia is being designed for embedded applications, mobile devices and computers.

    It may very well replace also those closed modified Linux boxes used internally.

    1. Re:Fuchsia is for computers too by iggymanz · · Score: 1

      wasn't talking about Fuchsia but QNX, yet to be seen if Fuchsia can do anything it claims. Put your crystal ball away and we'll see someday what reality is.

    2. Re:Fuchsia is for computers too by perpenso · · Score: 1

      wasn't talking about Fuchsia but QNX, yet to be seen if Fuchsia can do anything it claims. Put your crystal ball away and we'll see someday what reality is.

      The reality is that the project developers are saying desktops are also a target.

    3. Re:Fuchsia is for computers too by Anonymous Coward · · Score: 0

      The reality is that Fuchsia is not available for users. The project developers can say anything they want. We'll talk later when the product arrives.

  49. Re:Donâ(TM)t let inconvenient facts get in th by Anonymous Coward · · Score: 0

    Be fair, the grandparent said "MacOS has a micro kernel", and technically that is correct.

    Sorry, that's not correct.

    XNU's Mach component is based on Mach 3.0, although it's not used as a microkernel.

  50. Re:Broken clock still right twice a day by Demena · · Score: 1

    That is the last thing I would think of. I would first printout that Linux is emphatically not a microkernel and Linus would never, ever concede that he was wrong in the micro vs macro kernel argument so that will not change. No, the first organisations I would think of would be GNU (HURD), FreeBSD, Apple (OS/X) and others.

  51. Congrats, you find one of application by raymorris · · Score: 1, Insightful

    Congratulations on finding one oddball application for which someone decided to use a micro-kernel. Specifically where it's not a general-purpose computer, performance doesn't matter, and there's no need to run more than one application at a time.

    The next time I'm trying to build a slow as hell access KVM on specially designed hardware, I'll consider a micro-kernel. Only, of course, if I can't use a GPL kernel because I'm trying to keep everything secret.

  52. There is only one verified microkernel by Anonymous Coward · · Score: 0

    Start with the GEMSOS microkernel and build everything else on that. Then you will have secure computers.

  53. Sooo... Not Going To Happen Then? by Anonymous Coward · · Score: 0

    Users don't, by and large, choose an OS for it's security. They choose an OS for it's functionality and ability to run applications they want.

    I also think that to simply assert that a "secure microkernel design", by itself, automatically brings these benefits, is more than a little suspect. I mean, how does one achieve certainty that the system is "secure"? Best practices insists that security is a continuum, not a simple binary state. But let us put that objection away.

    Microkernel design is asserted to be a the thing here too, right? OK, but MacOS is already a microkernel OS (Mach), and so is Windows. I'm not sure about Linux, but already the article is wrong about 2 out of the 3 quoted examples.

    Next up is the implementation issues. Seems to me that following some quality process, like SDLC, is going to be pretty important. Probably more important than this notional "secure microkernel" idea. Well guess what, Microsoft (at least) has been following SDLC since about 2003.

    Finally, what's this about playing up seL4 as support for this idea? That's Secure Linux if I'm not mistaken, but the authors trashed Linux, so are they saying that seLinux automagically transformed Linux into their nirvana of a "secure microkernel"? Well, that's just wrong. seLinux does not architecturally transform Linux in that way, that's complete nonsense.

    But again, let's put that objection away. Just how popular has seLinux been? And the answer has been, not very. Which brings us back to my first point, which is that people don't normally select an OS for it's security attributes. No matter how much some OS or security wonk wants them to.

    1. Re:Sooo... Not Going To Happen Then? by Anonymous Coward · · Score: 0

      Microkernel design is asserted to be a the thing here too, right? OK, but MacOS is already a microkernel OS (Mach), and so is Windows.

      No, MacOS and Windows have "hybrid" monolithic kernels.

      XNU (the Mac kernel) is not a microkernel, even though it includes Mach code. The drivers and BSD compatibility code are in the same address space as the Mach layer.

  54. BeOS by Anonymous Coward · · Score: 0

    The beOS had Micro kernel, blazing fast for the time.

    1. Re: BeOS by Anonymous Coward · · Score: 0

      then the French guy who did audio video layer left and Avi playback got out of synch... still playing 10 Avi concurrently was a nice dream
      https://m.youtube.com/watch?v=ggCODBIfWKY

  55. HTML is an installed App by aberglas · · Score: 1

    It lives in a very, very complex sandbox, with a huge attack surface. But it is just as much an installed app as anything else.

    What is needed is Secure HTML. It would not support everything that flashes and spins. No JavaScript. Not much CSS. Very limited interactions with non-origin sites. Such a thing could be made reasonably secure, and still support the all-important Material Design.

    But nobody cares.

    As to an "App" having access to all a users files, you are thinking too much of *nix. The world changed when Apple introduced basic sand boxing in IoS. It is long over due that I should be able to easily run installed Linux apps without giving them control over everything that I own.

    As to micro kernels, it would seem that they are maybe 10% slower. And nobody wants an operating system that is 10% slower just because it is more secure.

    The final piece is the C/++ programming language. And ungly mess that actively encourages buffer overflows and other joys. Most of the code in an O/S can be written using something decent. All the non-micro kernel bits anyway.

  56. Interesting diverging paths by mveloso · · Score: 1

    Windows NT was Cutler's next time around. MacOS X (technically Mach) was Tevanian's first time.

    Pretty interesting how things worked out.

    1. Re:Interesting diverging paths by Jeremiah+Cornelius · · Score: 1

      Yeah. OSX really inherited the great bundle from NeXT, including a unified imaging model for graphics. They learned a lot, and did a great reboot, jettisoning parts that didn't work and upgrading others. Similar to NeXT hardware, where loading the whole OS and storage from a single R/W optical was ambitious, but ultimately impractical. The changes were for the good, mostly.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
  57. ICL VME (Virtual Machine Environment) by Anonymous Coward · · Score: 0

    If you want to know about a really secure operatig system you should look into "ICL VME". Quick quote from the Architecture part of the Wiki page:

    "VME is structured as a set of layers, each layer having access to resources at different levels of abstraction. Virtual resources provided by one layer are constructed from the virtual resources offered by the layer below. Access to the resources of each layer is controlled through a set of Access Levels: in order for a process to use a resource at a particular access level, it must have an access key offering access to that level. The concept is similar to the "rings of protection" in Multics. The architecture allows 16 access levels, of which the outer 6 are reserved for user-level code "

    It might not have a fancy GUI but VME is rock solid when it comes to security. I'm an old git now and Ive worked at low level on Windows, Linux, Unix, OSX, and VME. VME makes the rest of the operating systems look like kids toys when it comes to security, process separation, allocation of resources etc. etc.

    Originally the VME instruction set and the processor that ran them were designed together and it's just an absolute work of art. Each process runs at an "access control level" and your process cannot change this without using a hardware instruction that cannot be run from a higher (less privileged) level. Similarly you cannot walk back down your stack beyond your VMs base address , or attempt to access memory that you don't have permission to, as the operating system will detect this and immediately end your VM (with an associated beautifully laid out dump in a journal)

    The designers of the system were light years ahead of everyone else. It's just a shame Fujitsu were allowed to buy VME as they now seem intent on pricing it our of existence.

  58. strong logic by jjohn_h · · Score: 1

    So they found that a number of exploits against the Linux kernel would fail against a micro-kernel. Their conclusion: micro-kernel is safer.

    Wait a moment: how do they rule out that new exploits would come up expressly targetting the micro-kernel and failing against the monolithic kernel?

    Strong logic.

  59. MacOS is microkernel by sproketboy · · Score: 1

    So STFU - Linux is the worst - get over it.

  60. Why I suggested Linus' profanity is from stress... by Paul+Fernhout · · Score: 1

    ... resulting from monolithic design problems:
    https://linux.slashdot.org/com...
    https://www.mail-archive.com/f...
    https://slashdot.org/comments....
    "Some companies have long considered Smalltalk their "secret weapon" because they could upgrade their systems at least at the application level while the applications continued to run. I guess I've been in computing so long and seen much better innovations like QNX and Smalltalk get passed by in favor stuff like Linux and Java that I guess I don't expect good innovations to be adopted except perhaps decades later. Anyway, I still have a lot of respect for Linus and his accomplishments in bringing a community of people together to do FOSS software. A free Linux is better than an unfree QNX in that sense. Nobody is perfect. And obviously a lot of people here are defending Linus' choice of strong language. Yet, I can't help but feel that the reason Linus is angry, and fearful, and shouting when people try to help maintain the kernel and fix it and change it and grow it is ultimately because Alan Kay is right. As Alan Kay said, you never have to take a baby down for maintenance -- so why do you have to take a Linux system down for maintenance?"

    Anyway, nice to see this discussion come up again years later related to a more detailed analysis.

    The reason I did not want to use Linux in the first place in the 1990s was because Unix was obviously an out-dated design compared to microkernel-based QNX etc.. But in the end the large community adopted it and so I did too. But I did not have to like the unfortunate core technical choices that traded off things like security, upgradability, understandability, and consistency for a claim to be a bit speedier on certain hardware.

    Sort of like Intel's hardware design choices to emphasize speed over security are also now coming home to roost.

    --
    A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  61. Yeah by Anonymous Coward · · Score: 0

    I Hurd that.

  62. Best design by Anonymous Coward · · Score: 0

    Kernels' loading modules takes too much time and is prone to attacks.
    Example: Windows OS loads drivers and .dlls
    One BIG Kernel is faster than a microkernel.
    I used to compile the linux kernel on slackware adding modules into the linux kernel which made it very fast and responsive using one BIG Kernel Tarball that didn't have to look for modules.
    My opinion is that one big linux kernel tarball is more secure than microkernels loading modules.
    Also, mixing programming languages for desktop programs and Internet programs can cause the Internet server to take over the desktop.
    Example: In the 90's Microsoft was trying to integrate Desktop with Internet Servers using .asp and .net .... Lets not repeat the mistake that Microsoft made in the 90's. Keep the programming languages for Desktop, Workstations away from the Internet programming languages.

  63. Re: Broken clock still right twice a day by Anonymous Coward · · Score: 0

    windows runs (part of) the web server in the kernel too

  64. Re:Exist since 1969. Fad in the early 80s, again 9 by Anonymous Coward · · Score: 0

    There's no real need to start insulting people. Anyone who works with large scale software knows full well that modular designs are inherently more secure, it's just a basic fact on the premise that by limiting the interfaces between components, you control the access points and limit the attack vectors - it doesn't matter if you're talking about a large scale distribute web application, or a micro-kernel. Monoliths simply just do not sufficiently restrict the flow of data between constituent components to only that which is necessary for the simple fact that the lack of hard boundaries between components is inherent in the very definition of a monolith.

    Your argument isn't inherently wrong, it's absolutely true that time-to-market has a significant impact on the success of software, and that monolithic software can be built more quickly - but you have to also accept that a lot of shit has ended up the defacto standard simply because it got there first, and that doesn't make it good, or more secure.

    We're past the point now where the OS wars really matter, market shares seem pretty settled, and impossible to budge despite decades of people attempting to so, but despite that cross-compatibility is becoming common, from Steam pushing greater Windows-Mac-Linux compatibility for games, through to Microsoft slowly making more and more of it's flagship stuff multi-platform through initiatives such as .NET core. As such, I think there is now a reasonable argument that OS vendors have breathing space to go back and re-evaluate whether they should take the time to consider investigating different approaches to next-gen operating systems without the pressure of time-to-market corrupting those decisions, they now have the luxury of opting for best, rather than fastest to market for the next generation, as there's no race anymore.

    This already happened somewhat with web browsers. We saw a period where Microsoft and Netscape fought it out to the point Microsoft was dominant with no meaningful new release for about 5 years. Then Firefox, something new and much better hit the market, and it took the lead for some time. Eventually Google released Chrome, a browser that did things differently, a browser that was no longer monolithic like Firefox, and IE before it, one that ensured proper process separation, and as a result Chrome rapidly took the crown because it was faster and more secure. Microsoft took the same approach with Edge, and we're now in a weird situation where Microsoft and Google have the most secure offerings, whilst Firefox is a buggy, vulnerable PoS in comparison - why? Precisely because Google, and subsequently Microsoft took the time to re-evaluate the fundamental architectures of their browsers, to ditch the monolithic designs, and to build something new, and guess what? It was better.

    "It's always been that way" is not a valid argument that something should always be that way, I'm sorry but it's just not. We have ample evidence that taking the time to break down monoliths into more modern modular designs offers much better software, there's no reason to think that operating systems should be any different other than people still fighting a fight from two industry giants nearly 3 decades ago - get over it, it's time to move on. Linus was right in getting something to market, and getting it here effectively, Tanenbaum was right from a theoretical standpoint - we now have the space and knowledge to put theory into practice effectively, we didn't back then because there was too much of a race on between Linux, Unixes, Mac, Windows, OS/2 still and time to market trumped all, it just doesn't anymore - that fight is over.

  65. run Browser under different account by weberjn · · Score: 1

    If Firefox runs under a different user, it cannot access your main profile.

    C:\Windows\System32\runas.exe /user:firefox /savecred "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"

  66. 50 years. Not time to market. Time to execute by raymorris · · Score: 1

    Thanks for your thoughtful post.

    The thing is, it's not about time to market. It's about time to execute an operation. Fifty years is enough time to bring something to market.

    Memory access takes half a tick, Double Data Rate RAM (DDR) transfers data on the rising and falling edge.

    Context switching is an order of magnitude slower, theoretically, and two orders of magnitude in real life. As Meltdown and Spectre remind us, when switching context you have to flush all the caches, meaning everything is going to cache miss after a switch.

    Microsoft and Apple didn't give up on the micro-kernel idea because they wanted to get something out the door, they gave up on that idea because it does not work. Operations take around 50 times longer to complete, especially on larger multi-tasking systems. Anywhere performance matters at all, message passing fails miserably.

    It's not a matter of "It's always been that way". In fact the opposite - the point is they DID try micro-kernel, many people tried it, and every time they found out (again) that it does not work.

    It reminds me of the policy debates that come up and people want the federal government to try policy X. Someone points out that because policy X sounds like an interesting idea to try, it WAS tried in California, New York, Chicago, the UK, and elsewhere. Everywhere it was tried, the effect it had was exactly the opposite of what was intended. Yet some people can't give up on evangelizing enforcing policy X on the federal level, because it sounded good. Yeah maybe it did sound interesting, that's why numerous people tried it, and it turns it it did not work. Time to try things that can work well.

  67. Everybody's a critic by Anonymous Coward · · Score: 0

    Sounds great. So where can I download this magical OS, that can do everything I need to get done and is compatible with my hardware?

  68. Never take retard APK's advise by Anonymous Coward · · Score: 0

    No one should ever take that retard APK's advise on security. Why?

    Apart from being a well known prolific spammer, harasser, and liar his work has many failing.
    Most notably is the false premise that hosts provides good security. The truth is that black lists are the worst way to try and do security. They can never list all possible hosts or even all hosts in a sub domain. They are easily circumvented and are always out of date. This still ignores the amount of effort it takes to maintain them. Everything that APK is trying to accomplish is better done by other available solutions.

    When one successfully refutes what APK says he is unable to respond in his own defense and will attempt to change the subject to deflect from his own failure. Like when he says hosts does port filtering, that the Chinese copied him, that security experts agree with him. Each and every time APK failed to refute anything said about his statements even when what he said was shown to be false and every time tried to change the subject because he lost.

    APK is a failure and a retard, never take his advise.

  69. Never follow retard APK's advise by Anonymous Coward · · Score: 0

    Sorry retard APK, you are proven to be a lying retard who can't backup your claims. Your retarded ass got destroyed because your work is shit. No one should take your security advise as you even provide evidence from security experts saying that your methods don't work. I'm sure you will throw a fit again because I am exposing to everyone that you are a loser but when your failure is this great everyone needs to know to steer clear of your work if they want actual security.

  70. Sorta. How that ends up ... by raymorris · · Score: 1

    Context switching with core pinning on a 12 core, hyperthreaded processor takes several microseconds in total. 1600ns for the actual switch, then a multiple of that for for LLC, etc. Contrast in-context memory access of 1ns with cache hit, up to 12ns for cache miss. Micro-kernel with many cores is 100-1,000 times slower.

    So then maybe you start making changes to the micro-kernel model in order to have it work well on physical processors. Maybe you ask "how CAN we use SMP to separate concerns, putting aside any old assumptions from ukernel religion and instead trying to accomplish the goals by using many cores effectively?" Starting with the goals of micro-kernel evangelists and then going where the facts take you, you end up writing a hypervisor.

    Have you seen the Combos snack food? It's a little tube of cracker or pretzel filled with cheese flavored filling, or pizza flavored filling. They are sold at gas stations next to the chips and crackers. That idea started out as a croissant stuffed with crab meat. Through product development, it became something rather different - ans successful.

    It's not that what the ukernel advocates we're trying to accomplish was wrong, or even that their implementation was completely bananas. It's just that as you revise and extend the micro-kernel ideas to have them work well, it develops into virtualization, with what was the kernel becoming the hypervisor. That works well. What doesn't work is a religious attachment to the initial ideas of how a micro-kernel could be implemented and how it might work. Those were just ideas, like the croissant with crab meat idea. Developing it into something that works requires letting go of the emotional attachment to crab.

    1. Re:Sorta. How that ends up ... by strikethree · · Score: 1

      Hm. I am not classically trained. I have no religious attachment to THE microkernel design. I am commenting off of ideas I had back in the 90s but were impracticable due to consumer devices having a single core unless you had lots of cash.

      Describing it as more of a hypervisor is along the lines of what I was thinking; although having a full independent kernel on each core is a bit much I think. Perhaps a very limited kernel, without drivers but with limited memory management capabilities is in order.

      I like your Combos example. :)

       

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  71. Why you always lose vs. me by Anonymous Coward · · Score: 0

    What "so-called 'solution'" does MORE for less resource use & complexity leading to its exploitation? DNS or AntiVirus or addons?? All security issue riddled resource hogs!

    Wildcards lead to FALSE POSITIVES GALORE (hosts specifics do not & are easy to edit by anyone) - whitelists are maintenance nightmares even moreso!

    Hosts SPEED YOU UP 2 ways:Hardcoded favorite sites avoiding slower security issue riddled DNS & blocking ads alone offsets any parse & THE ONLY PARSE THAT HAS TO BE FAST is your FAVORITE SITES you spend MOST TIME @ online @ TOP of hosts cached in RAM operating in kernelmode!

    NoScript has to PARSE ads script src tags etc.: Hosts don't & OPERATE LONG BEFORE NoScript does on 3rd party scripts (the most dangerous ones) in kernelmode speed making NoScript REDUNDANT SLOWER USELESS!

    APK

    P.S.=> You are just (& yes, I've gotta say it) "too, Too, TOO EASY - just '2ez'" to BLOW AWAY as always, lol... apk

  72. Why I blow you away easily, always by Anonymous Coward · · Score: 0

    What solution does MORE for less resource use & complexity leading to its exploitation? DNS/AntiVirus/Addons?? All security issue riddled resource hogs!

    Wildcards lead to FALSE POSITIVES GALORE (hosts specifics do not & are easy to edit by anyone) - whitelists are maintenance nightmares even moreso!

    Hosts SPEED YOU UP 2 ways:Hardcoded favorite sites avoiding slower security issue riddled DNS & blocking ads alone offsets any parse & THE ONLY PARSE THAT HAS TO BE FAST is your FAVORITE SITES you spend MOST TIME @ online @ TOP of hosts cached in RAM operating in kernelmode (blocked ones, the majority of my hosts file, you NEVER intend to get to anyhow stupid)!

    NoScript has to PARSE ads script src tags etc.: Hosts don't & OPERATE LONG BEFORE NoScript does on 3rd party scripts (the most dangerous ones) in kernelmode speed making NoScript REDUNDANT SLOWER USELESS!

    APK

    P.S.=> You are just (& yes, I've gotta say it) "too, Too, TOO EASY - just '2ez'" to BLOW AWAY... apk

  73. Re: Donâ(TM)t let inconvenient facts get in t by shking · · Score: 1

    Hmm... cherry pick much? Lots of critics justifying calling MacOS monolithic despite the Mach kernel, but not a peep about OpenBSD, which IS monolithic and which IS the most secure OS

    --
    -- "At Microsoft, quality is job 1.1" -- PC Magazine, Nov. 1994
  74. Retard APK makes an ass of himself by Anonymous Coward · · Score: 0

    I see you again failed to refute any criticism of your work and thus conceded. Instead you try to deflect away from your failure thus further proving my point that you know you lost and are a retard but even then I have already responded to those comments elsewhere. Just because your reputation is built upon a lie you told long ago doesn't mean you need to keep telling that lie if only to keep it alive in your mind. The truth is hosts is an ineffective security solution. Unless you can provide real proof that black lists are effective, you can't, you need to stop with your lie. We are done here as you have nothing of value to add other than continuing to make an ass of yourself.

  75. How I blew you away even more, lol... apk by Anonymous Coward · · Score: 0

    DNS/Antivirus/Addons = security flaws+slowup vs. hosts & they use more resources by FAR! Some 'solution' for security when they have security issues (or don't work by default like Adblock) & SLOWUP - hosts speed you up 2 ways by comparison.

    Wildcards PRODUCE false positives like MAD - hosts specifics don't & any end user can EASILY edit hosts too!

    I make maintaining hosts EASY via my program.

    Hosts files get CACHED by any OS' caching subsystem - fast in kernelmode (vs. slower/less cpu prioritized usermode "solutions" you speak of messagepassing overheads GALORE & resource use like mad - for what? DOING LESS THAN HOSTS DOES by itself (does more for less vs. ANY other 'competitor' by far)). The IP stack & hosts do the resolutions of fav sites + blocked ones (& should BE the ONLY THING that does).

    APK

    P.S.=> It's been a PLEASURE totalling you, again, as always - easily... apk

  76. APK is a lying sack of shit by Anonymous Coward · · Score: 0

    APK is a lying sack of shit.
    He lied here, and he lies everywhere:

    I don't threaten vs. a NOBODY

    Shut your fucking pie hole you lying sack of shit.
    You threaten people all the time and when called on it you hide in the fucking corner and piss yourself.
    So come on pussycake post your fucking address

  77. Without drivers is exactly the thing by raymorris · · Score: 1

    > Describing it as more of a hypervisor is along the lines of what I was thinking; although having a full independent kernel on each core is a bit much I think. Perhaps a very limited kernel, without drivers but with limited memory management capabilities is in order.

    "Without drivers" is exactly how I use virtualization, and how I believe it's most often done at scale. The guests use virtio, not hardware drivers. The kernel is effectively divided into one thing that ONLY handles hardware, and completely separate thing that is ignorant of the hardware but responsible for scheduling user processes and that sort of thing. The "hardware kernel" is the hypervisor. The other thing that provides kernel-like userland is the guest kernel. The CPU runs the guest in ring 1 (guest mode) rather than ring 0 (supervisor or kernel mode). We CALL it a "guest kernel", but the CPU doesn't run it in the same mode as an actual kernel. The hypervisor is the real kernel, as far as how the CPU treats it.

    What we find is that the kernel (or kernel-like thing) performs operations over and over that don't require direct access to CPU registers, but do require one part of the kernel to talk to another part. For efficiency, those needs to run in the same process space, using memory accesses. In other words, that chunk needs to be monolithic. But because it doesn't need direct access to CPU registers, it doesn't have to be THE kernel. It can be a monolithic guest kernel that is oblivious to the hardware, so it doesn't need drivers, just virtio.

    1. Re:Without drivers is exactly the thing by strikethree · · Score: 1

      Very cool. It sounds like we are on the same page here.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  78. Compared to Windows... by JustNiz · · Score: 1

    Linux is still a microkernel.

  79. Wrong kind of Availability chucklehead. by Anonymous Coward · · Score: 0

    The Availability term used in CIA was availability of the computer system, as in uptime. An excellent example of this being Windows 10's forced updates. Tanenbaum's microkernel design would never 'go down' completely except for actual upgrades of the microkernel core, and even then it might be possible to do an in place upgrade if microkernel A and microkernel B handle state information either unchanged or with code in place to update the state information as the new microkernel initializes.

    Tanenbaum's plan was essentially for 0 downtime systems that could handle any software fault and most hardware faults by restarting subsystems, with existing non-realtime applications unaware anything happened, and non-critical realtime applications given the information needed to recover after the fault. Hard realtime applications require systems designed from the ground up to be fault tolerant, usually by throwing redundant and self-correcting hardware at the problem to keep downtime to the length of time to validate information between redundant cores, which would be factored into the hard realtime system's actions.

  80. Re:NT's core's described as a "hybrid kernel" by Jeremiah+Cornelius · · Score: 1

    DirectX began in the Windows 9x series. It was a way to bypass the Windows imaging and windowing models, and blit direct to hardware. Programmers at the time laughed and said, "Oh yeah, DOS!"

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."