aptgetrekt
Joined 7 years ago
Joined 7 years ago
Root has access to the kernel but the kernel knows everything that happens and that's my point. The kernel won't stop you from compiling a new kernel and setting it to run at the next boot. However, CrowdStrike running on Linux with eBPF for example would be able to identify and prevent such tampering without truly being in the kernel itself.
The most common way to install software on Linux is from your trusted distro repositories and from Flathub or the Snap store. Grabbing a script from the internet and piping it to a root shell is bad and something I'm sure we've all done. But take the most installed program on Windows which is likely Chrome, it really doesn't do anything differently. You download a small executable which requests admin, then it proceeds to download Chrome and install it. I'd argue grabbing a script might be the safer option because unlike installer executables from the internet, you at least have the option to read the script before running it if you choose.
On Windows, software regularly mucks around in the kernel (device drivers, system level tools like wireshark, etc), therefore it is also necessary for security software like CrowdStrike to also muck in the kernel so it can monitor what all the other kernel level software is doing. As demonstrated today, anything that mucks in the kernel runs the risk of crashing the kernel.
In Linux, software doesn't even get that option. Nothing ever gets kernel access except the kernel itself. Root is not kernel access. The kernel still decides what root is able to do. Drivers that require that access are built into the kernel. Software that requires deeper access like Wireshark tells the kernel what to do (through system calls as root) and the kernel does it on that programs behalf. Therefore, the kernel knows everything that any program does on the system. With a trustworthy kernel, all that security software must do is instruct the kernel to monitor activity on it's behalf.
[1] https://www.cnet.com/news/playstation-4-to-sell-at-a-loss-bu...
Users get a good experience on macOS and iOS so they will continue buying Apple devices which also leads to more people switching to Apple devices due to pressures of things like iMessage. Meanwhile developers are essentially forced to agree to Apple's terms to access an extremely significant portion of the market (especially when it comes to smart phones). Those terms effectively censor developer criticism by preventing developers from explaining their situation to users. If developers don't comply, their apps will be removed and their development certificates revoked on all Apple platforms. As a user Apple feels fair, as a developer it's painfully obvious that Apple is abusing their market position. Look at what's happening with Floatplane: https://www.youtube.com/watch?v=1QzHu-sjdB8
Unless things change, I don't think I will choose to purchase an Apple device ever again. But if their market share continues to increase it will be impossible to survive as a developer without releasing for Apple devices and to develop for Apple devices I will be forced to buy their devices. The App Store and everything Apple offers is certainly worth something. Is it worth 30%? Who knows. The market isn't what decided that fee, Apple and all other software storefronts have somehow arrived at that number themselves. With no realistic way for competitors to offer alternative software storefronts on iOS and Android at their own price to compete and bring fees to their true value, we will never know.
The other difference is the message itself. Windows just displays a warning that the software couldn't be checked by smartscreen.[1] Once the app is used by enough people for the app to be in the smartscreen system the warning will disappear. Users will still see that the publisher is "unknown" though.[2] MacOS directs users to contact the developer that the app must be "updated" even if the only issue with the app is that it isn't notarized. A more fair message would be along the lines of "This app has not been notarized by Apple. Only run the application if you trust the source."
Code signing is intended to verify that the app actually came from who you think it came from. If the certificate for MS Word is unknown or something other than Microsoft you know something's not right and it's either been modified by a third party or not MS Word at all. Apple is using code signing to exert control over Epic Games rather than it's intended purpose to verify to MacOS users that their Unreal Engine in fact came from Epic.
1. https://www.ghacks.net/wp-content/uploads/2012/11/windows-10...
2. https://www.techspot.com/articles-info/1718/images/2018-10-0...
Imagine a tool company demanding a cut of the revenue a building generates because their tools were/are used during the construction/maintenance of that building. Everyone using the tool already paid for the tool!