|
Unpopular opinion: Secure general purpose computing isn't available for the masses. In fact, most people here on HN don't have access to it either. Our current crop of widely used operating systems all share the same flaw, the ambient authority granted to any program that is run to access anything that the user account is permitted to access. This causes a host of problems, and almost nobody is aware of them, or incorrectly assigns them to other causes. This results in a patchwork of "solutions" like virus scanners, signatures on executables, and a need for users to be exceedingly cautious about what they do with their computers. Because of this need for caution, users don't feel free to experiment with novel programs or web sites, lest their computer be infected with malware, etc. Imagine your house without circuit breakers, or fuses. Imagine that there were no widespread use of them. The first shorted cord could potentially take down the power grid, and plunge millions into darkness. We can generally agree that circuit protection is a good idea. When you run a program, you could explicitly specify the resources it is to have access to, instead of giving access to all of your files and folders. In fact, it doesn't even have to work differently in many cases, just replace the calls to file selection dialogs with equivalent calls to "power boxes" which return file access capabilities for the calling program. This allows the user to quickly and easily work in the manner to which they are accustomed, while simultaneously preventing malicious or just buggy code from accessing anything outside of the wishes of the user, no matter how evil the code is. Spreading awareness of such systems, incorporating capability based security, is a worthy pursuit over the next decade. |
For instance, on platforms such as Android that are meant to be secure in this way, I can't block an app from accessing the internet anytime it wants. Of course, the reason for that is that blocking internet access would also allow blocking ads, which Google has a negative incentive for.
Large corporations always take advantage of the sandboxing for anti-user features as well. In many apps I can download videos on desktop whether they want me to or not using inspect element etc, but this is often tricky or impossible on Android. Again, corporate incentives are aligned against the user.