Live data from Hacker News

Redox – A Unix-Like Operating System Written in Rust

redox-os.org

211–215 of 215 posts

Re: Redox – A Unix-Like Operating System Written in Rust

#211

Earlier quoted context omitted.

"No, those do not perform well. They are just less horrible than GNU HURD. When you apply similar optimization and implement similar functionality, monolithic kernels always win. It cannot be otherwise; think about it." I do. It doesn't have to be better. It simply has to perform well enough that users accept it. Older systems did that slowly. BeOS was a great example where it was running on 90's hardware several mov…

Could you elaborate on: "Most systems are unable to keep DMA from scribbling all over everything in RAM, and probably all are unable to keep it from scribbling all over a filesystem." In what context do you mean? When would this occur? Thanks

thanks for your clarification. IOMMUs are a standard part of most motherboards chipsets these days, what would be the reason for not taking advantage of that and using them?

Re: Redox – A Unix-Like Operating System Written in Rust

#212

Earlier quoted context omitted.

Could you elaborate on: "Most systems are unable to keep DMA from scribbling all over everything in RAM, and probably all are unable to keep it from scribbling all over a filesystem." In what context do you mean? When would this occur? Thanks

That was burfog's comment I was quoting. It refers to the fact that direct memory access by some devices can bypass any OS or software protections. Breaks whole security model as memory can change arbitrarily. So, risk of attacks or leaks should be mitigated there. A few methods follow: 1. Use non-DMA links. 2. Use trusted hardware/firmware that mediates things properly. 3. Use IOMMU to enforce access controls on DMA…

thanks for your clarification. IOMMUs are a standard part of most motherboards chipsets these days, what would be the reason for not taking advantage of that and using them?

Re: Redox – A Unix-Like Operating System Written in Rust

#213

Earlier quoted context omitted.

Could you elaborate on: "Most systems are unable to keep DMA from scribbling all over everything in RAM, and probably all are unable to keep it from scribbling all over a filesystem." In what context do you mean? When would this occur? Thanks

thanks for your clarification. IOMMUs are a standard part of most motherboards chipsets these days, what would be the reason for not taking advantage of that and using them?

It depends if you trust those chips or not to start with. Not having the weakness, as in trustworthy I/O, is always superior to a tactic attempting to stop the weakness. The other issue is whether mere restrictions on memory accesses will help. In software, microkernels isolating where or who you could talk to were only a start: attacks could happen via a series of compromises. Failures too in the Byzantine failure model. Plus, with monolithic OS's, you can get full control of the system with kernel-mode attacks that further facilitate DMA attacks where the main system looks unmodified in most operation while malware is in peripheral firmware.

Many issues due to how things connect and store information as burfog said. There's not just one thing. Even my microkernel recommendation is only for the start of the software part of a secure system. Actually, trustworthy CPU, ROM, bootloader and drivers are the start if we're being technical. ;)

Re: Redox – A Unix-Like Operating System Written in Rust

#214

Earlier quoted context omitted.

thanks for your clarification. IOMMUs are a standard part of most motherboards chipsets these days, what would be the reason for not taking advantage of that and using them?

It depends if you trust those chips or not to start with. Not having the weakness, as in trustworthy I/O, is always superior to a tactic attempting to stop the weakness. The other issue is whether mere restrictions on memory accesses will help. In software, microkernels isolating where or who you could talk to were only a start: attacks could happen via a series of compromises. Failures too in the Byzantine failure m…

Thanks for the follow up, cheers!

Re: Redox – A Unix-Like Operating System Written in Rust

#215

Earlier quoted context omitted.

IMO microkernels are a dead end, to get better performance you have to shove stuff in kernelspace, while for say an exokernel the opposite is mostly true.

except that Mach OS X's mach is a microkernel right? Or am I missing something?

Mach was a microkernel that tried to do a bit too much. Performance and security stayed horrible. Other designs had acceptable to great performance or security. So, it's not representative of microkernels in general despite being interesting research platform back in its own day.

Now, Darwin starts with Mach then basically adds BSD and graphic stack onto it in kernel mode. So, stuff that would have user-mode isolation and performance penalties due to Mach bloat has no penalty but less protection.

So, OS X is clearly not a microkernel system so much as incorporating a microkernel into a monolith. Windows similarly has a microkernel near its foundation for organization purposes I think. Linux is really modular inside similar to microkernels but clearly similarity ends there. So, there's lots of hybrid results where monoliths and microkernels styles are blended a bit for compromise of bensfits.

Post reply on HN