SecuMiKern

joined 7 months ago
[–] SecuMiKern@sh.itjust.works 5 points 7 months ago* (last edited 7 months ago) (3 children)

While that's true for mitigations, one system can be more secure than another by design

Things like an OS that's designed with sandboxing, more clean codebase that's auditable, permissions, ... in mind is more secure than an OS that later adds them as an afterthought

Or at least if added later they should be done properly

iOS and Android are way more secure than Linux (And no Android isn't just linux) cause they were designed in much later era with better security practices in mind

Even MacOS and Windows's security are objectively better than linux's even though they started with same security mindset, the problem is they are not open source

[–] SecuMiKern@sh.itjust.works 2 points 7 months ago* (last edited 7 months ago)

I am not native English speaker so sorry for misunderstandment

I didn't say it's overall better

I said even though on base level OpenBSD is much more clean and secure than Linux it lacks or lags behind Linux in adding mitigations for security vulnerabilities

And there are far less eyes on OpenBSD so many vulnerabilities don't get discovered in first place

Any software can be malicious even essential ones just look at recent Xz vulnerability (And it was discovered by sheer chance), OS should have systems in place like proper sandboxing, permissions (Not half baked one like flatpak) ...

[–] SecuMiKern@sh.itjust.works 1 points 7 months ago

I meant Sony and Micorsoft were selling Playstation and Xbox at loss, profiting from games instead

Nintendo doesn't seem to be selling their Hardware at loss so probably profits from hardware, actually considering their hardware (which is weaker than even midrange android phones) they probably sell at good profit margin

[–] SecuMiKern@sh.itjust.works -4 points 7 months ago

Linux servers exploit is different than Linux desktop exploit and 1000% different than exploiting Android

It's general misconception that Android is just Linux but it's not, it's like saying Linux is just GCC compiler

[–] SecuMiKern@sh.itjust.works 1 points 7 months ago (3 children)

It's not, GrapheneOS is hardened Android check their site for more information

And android is not just linux + SELinux there is much more to it

[–] SecuMiKern@sh.itjust.works 2 points 7 months ago

Their basic premise seems solid, but is it actively developed? it seems to go through long periods of inactivity

[–] SecuMiKern@sh.itjust.works 2 points 7 months ago (2 children)

I didn't know Nintendo subsidize their hardware like Sony and Microsoft, as their hardware seemed overpriced to me for what they offer

And small percentage of gamers are on PC and even smaller percentage would emulate games, even without exclusives most casual gamers seem to prefer consoles so I think Nintendo is overreacting in that aspect though for pirating/jailbreaking switch devices themselves yeah maybe that's why Nintedo care

[–] SecuMiKern@sh.itjust.works -3 points 7 months ago (1 children)

Some vulnerabilities are not specific to linux like Heartbleed, Spectre, Meltdown

And even though OpenBSD fix most famous/severe ones, others are not tested or their fix may lag behind

[–] SecuMiKern@sh.itjust.works -5 points 7 months ago (7 children)

Qubes OS is wrapper around underlying operating systems, so it doesn't really fix for example Linux's security holes it just kinda sandbox/virtualize them

Fedora Silverblue seems to be Fedora but immutable so many of linux's problems still apply

[–] SecuMiKern@sh.itjust.works 11 points 7 months ago (4 children)

More info on Atmosphere as I find it fascinating that an OS created for a gaming device got such tight security:

https://www.reddit.com/r/emulation/comments/hygtnx/mesosphere_opensource_nintendo_switch_kernel_now/

"It is a completely unique microkernel with a cooperative (non-preemptive) scheduler. The kernel is secure -- so far as I can tell (as a reverse engineer and hacker), it has zero security bugs. They throw out years of backwards compatibility (they're not POSIX/UNIX), and they really, really benefit from it from a security and modularity PoV. Horizon's the only meaningful RTOS with a microkernel that I'm aware of (other than Fuschia). Everything's in userland -- filesystems, gpu (and other device drivers). The OS is capability-based and conceptually all about lots of different processes/drivers ("system modules") that host microservices. The fact that Nintendo designed such a rock-solid, modular, custom operating system for their consoles fascinates me."

"IPC is the hottest hot-path in a microkernel, correspondingly Nintendo marked every function involved in IPC as attribute((always_inline)), this was kind of a huge pain to reverse engineer as a result. In addition, Nintendo implemented "SvcReplyAndReceive" as a single system call that allows a microservice server process to reply to and receive a new message in one invocation. That said, there's actually less overhead than you think. Past of why FUSE is slower than a kernel driver for FS is because FUSE has to talk to the kernel to do filesystem stuff, so when you read a file you have your process -> FUSE -> kernel -> hardware. In comparison, on Horizon the kernel is completely uninvolved in filesystem management (it doesn't even have the sdmmc hardware mapped). Thus processes will do process -> FS system module process -> hardware."

"In Horizon, everything is very distinctly not a file. There's no global filesystem paths the way that unix/linux have special /dev/whatever. Pipes don't exist in Horizon -- all IPC is done via the horizon ipc ("HIPC") protocol. UNIX/POSIX have stuff like fork() and child processes...but creating a process is an incredibly privileged operation in a capability-based operating system. Fork() is impossible to implement in Horizon, all threads are created via SvcCreateThread() instead. Child processes aren't a thing that exist."

 

cross-posted from: https://sh.itjust.works/post/17506000

I am not satisfied with Linux's security and have been researching alternative open source OS for privacy and security So far only thing that's ready to use is GrapheneOS (Based on Android) but that's not available on desktop (Though when Android release Desktop mode it may become viable)

Qubes OS is wrapper around underlying operating systems, so it doesn’t really fix for example Linux’s security holes it just kinda sandbox/virtualize them

OpenBSD is more secure than Linux on a base level but lack mitigations and patches that are added to linux overtime and it's security practices while good for it's time is outdated now

RedoxOS (Written in Rust) got some nice ideas but sticks to same outdated practices and doesn't break the wheel too much, and security doesn't seems to be main focus of OS

Haiku and Serenity are outright worse than Linux, especially Haiku as it's single user only

Serenity adopted Pledge and Unveil from OpenBSD but otherwise lacks basic security features

All new security paradigms seems to be happening in microkernels and these are the ones that caught my eyes

None of these are ready to be used as daily driver OS but in future (hopefully) it may change

Genode seems to be far ahead of game than everything else

Ironclad Written in ADA

Atmosphere And Mesosphere Open Source Re-implementation of Nintendo Switch's Horizon OS, I didn't expected this to be security-oriented but seems like Nintendo has done a very solid job

Then there are Managarm, HelenOS, Theseus but I couldn't figure out how secure they are

Finally there is Kicksecure from creators of Whonix, Kicksecure is a linux distro that plans to fix Linux's security problems

if you know of any other OS please share it here

[–] SecuMiKern@sh.itjust.works 4 points 7 months ago* (last edited 7 months ago)

More info on Atmosphere (Open Source Horizon AKA SwitchOS) as I find it fascinating that an OS created for a gaming device got such tight security:

https://www.reddit.com/r/emulation/comments/hygtnx/mesosphere_opensource_nintendo_switch_kernel_now/

Quotes from Creator of Atmosphere:

It is a completely unique microkernel with a cooperative (non-preemptive) scheduler. The kernel is secure -- so far as I can tell (as a reverse engineer and hacker), it has zero security bugs. They throw out years of backwards compatibility (they're not POSIX/UNIX), and they really, really benefit from it from a security and modularity PoV. Horizon's the only meaningful RTOS with a microkernel that I'm aware of (other than Fuschia). Everything's in userland -- filesystems, gpu (and other device drivers). The OS is capability-based and conceptually all about lots of different processes/drivers ("system modules") that host microservices. The fact that Nintendo designed such a rock-solid, modular, custom operating system for their consoles fascinates me.

IPC is the hottest hot-path in a microkernel, correspondingly Nintendo marked every function involved in IPC as attribute((always_inline)), this was kind of a huge pain to reverse engineer as a result. In addition, Nintendo implemented "SvcReplyAndReceive" as a single system call that allows a microservice server process to reply to and receive a new message in one invocation. That said, there's actually less overhead than you think. Past of why FUSE is slower than a kernel driver for FS is because FUSE has to talk to the kernel to do filesystem stuff, so when you read a file you have your process -> FUSE -> kernel -> hardware. In comparison, on Horizon the kernel is completely uninvolved in filesystem management (it doesn't even have the sdmmc hardware mapped). Thus processes will do process -> FS system module process -> hardware.

In Horizon, everything is very distinctly not a file. There's no global filesystem paths the way that unix/linux have special /dev/whatever. Pipes don't exist in Horizon -- all IPC is done via the horizon ipc ("HIPC") protocol. UNIX/POSIX have stuff like fork() and child processes...but creating a process is an incredibly privileged operation in a capability-based operating system. Fork() is impossible to implement in Horizon, all threads are created via SvcCreateThread() instead. Child processes aren't a thing that exist.

 

I am not satisfied with Linux's security and have been researching alternative open source OS for privacy and security So far only thing that's ready to use is GrapheneOS (Based on Android) but that's not available on desktop (Though when Android release Desktop mode it may become viable)

Qubes OS is wrapper around underlying operating systems, so it doesn’t really fix for example Linux’s security holes it just kinda sandbox/virtualize them

OpenBSD is more secure than Linux on a base level but lack mitigations and patches that are added to linux overtime and it's security practices while good for it's time is outdated now

RedoxOS (Written in Rust) got some nice ideas but sticks to same outdated practices and doesn't break the wheel too much, and security doesn't seems to be main focus of OS

Haiku and Serenity are outright worse than Linux, especially Haiku as it's single user only

Serenity adopted Pledge and Unveil from OpenBSD but otherwise lacks basic security features

All new security paradigms seems to be happening in microkernels and these are the ones that caught my eyes

None of these are ready to be used as daily driver OS but in future (hopefully) it may change

Genode seems to be far ahead of game than everything else

Ironclad Written in ADA

Atmosphere And Mesosphere Open Source Re-implementation of Nintendo Switch's Horizon OS, I didn't expected this to be security-oriented but seems like Nintendo has done a very solid job

Then there are Managarm, HelenOS, Theseus but I couldn't figure out how secure they are

Finally there is Kicksecure from creators of Whonix, Kicksecure is a linux distro that plans to fix Linux's security problems

if you know of any other OS please share it here

view more: next ›