Secure OS / non-trusted computing
Posted: Fri Jun 17, 2016 7:35 am
It's rather interesting, people still care more about performance than security/privacy/stability.
Since "unix" times there is a strong tendency to incorporate into OS whatever possible, just to attract application developers. Both Linux and Windows are enormously bloated and vulnerable because of that. To become safe, secure, and stable OS should not include anything that can be done in application. Sharing hardware among applications is the only essential OS function.
I see nothing wrong with application using TCP/IP library to communicate with network packet service/server (another "system" application) that was granted access (by OS) to network card hardware. OS itself does not need networking There is no need to share code between OS and applications. OS does not need to load modules from filesystem - just read memory image at bootup from reserved partition or better from read-only medium (image is generated at OS install-time).
Of course, each application should not see anything, but its memory space. Linking applications with kernel is a pure nonsence - OS code exposed to applications allowes them to attack it easily.
Each application may have bugs, bugs can be used by intruder, so each application should be treated as "dangerous to itself and others" (potentially "insane" ), so it should be completely isolated to minimize possible damage. Regarding "speed", let's count resources consumed by anti-virus, system updates, and down-time when they didn't help.
BTW, approach from "A new design" topic may provide a better security...
Since "unix" times there is a strong tendency to incorporate into OS whatever possible, just to attract application developers. Both Linux and Windows are enormously bloated and vulnerable because of that. To become safe, secure, and stable OS should not include anything that can be done in application. Sharing hardware among applications is the only essential OS function.
I see nothing wrong with application using TCP/IP library to communicate with network packet service/server (another "system" application) that was granted access (by OS) to network card hardware. OS itself does not need networking There is no need to share code between OS and applications. OS does not need to load modules from filesystem - just read memory image at bootup from reserved partition or better from read-only medium (image is generated at OS install-time).
Of course, each application should not see anything, but its memory space. Linking applications with kernel is a pure nonsence - OS code exposed to applications allowes them to attack it easily.
Each application may have bugs, bugs can be used by intruder, so each application should be treated as "dangerous to itself and others" (potentially "insane" ), so it should be completely isolated to minimize possible damage. Regarding "speed", let's count resources consumed by anti-virus, system updates, and down-time when they didn't help.
BTW, approach from "A new design" topic may provide a better security...