The literal answer is that there is no such thing as an untrusted application running under your account. If you want to run an untrusted application, run it under a different account or in a virtual machine.
Typical desktop operating systems such as Unix and Windows and typical mobile operating systems such as Android and iOS have different security models. Unix is a multiuser operating system, with mutually untrusted users. Applications are considered trusted: all the applications of a user run in the same security context. Services, on the other hand, are somewhat less trusted: they are typically executed under a dedicated account, to reduce the impact in case of a security vulnerability.
There are two major reasons why the Unix security model works this way:
- A negative reason is history: when Unix was designed, applications came from a small set of programmers, and were backed by the reputation of the vendor or provided as source code or both. Backdoors were rarely feared in applications. Furthermore few applications communicated over the network, so there were relatively few opportunities to trigger and exploit vulnerabilities. Therefore there was no strong incentive to isolate applications from each other.
- A positive reason is functionality: isolating applications makes a lot of things impossible. If each application has its own data area, that makes sharing data between applications difficult. On a typical Unix system, it is very common for the same data to be handled by multiple applications. This is especially true since Unix has no clear separation between “applications” and “the operating system”. A web browser is an application. Not being able to download a file into the directory of your choice, because the browser is confined to its own directory, is annoying. The program that displays menus and icons when you log in is also an application on the same footing. So are file managers, which by definition need access to all your files. So are the shells and other interpreters that execute scripts all over the place. When you print a document from a word processor, this might involve an application to convert the document to a printable format, and another application to send the data to the printer.
Although there are a lot more application authors now than 40 years ago, applications are still typically distributed through trusted channels, which carry a reputation indication. (This is markedly more true for Linux than for Windows, which is part of the reason why viruses are more common under Windows.) An application is found to have a backdoor would be promptly pulled from Linux software repositories.
Mobile operating systems were designed with different threats in mind. They were designed for single-user systems, but with applications coming from wholly untrusted sources.
Application isolation is starting to make its way onto desktop Unix systems. Some distributions run certain programs under security frameworks such as AppArmor or SELinux which restrict what the application can do. The cost of these security restrictions is that they sometimes make desirable uses impossible, for example preventing a restricted application from opening files in certain directories.
Encryption would be completely useless. Encryption only protects data in transit (over the network) or at rest (stored on a disk), it doesn't protect data on a live system — if subsystem A decrypts its data then it's up to the OS to prevent subsystem B to prevent access to the decrypted data, and thus it doesn't matter whether the data was decrypted by A or stored unencrypted. The operating system might encrypt data, but only to protect it in case the storage medium is stolen.
If you want to run code that you don't trust, the best thing to do is to run it in a virtual machine. Give the virtual machine access to only the files that the application needs (e.g. don't share your home directory).
See also Why do mobile apps have fine-grained permissions while desktop apps don't? and Why are apps for mobile devices more restrictive than for desktop?