When I started programming, systems with floppy disks that held 360k were the norm. Those disks could be write protected. Diskcopy was a standard DOS command that allowed you to have an exact copy of your data, protected against alteration by the hardware of the machine, and the write-protect tab.
You could directly know what data you were putting into the computer, if it was at risk of modification, and you could even tell if it was being accessed, because it was slow and noisy. Modern Operating Systems have no such provisions for controlling access to data in a obvious and transparent manner.
The hardware was simple enough that there was nowhere for malware to hide. Now that we have systems to boot our systems, that's no longer true. There's no operating system available to provide anywhere near the assurance of MS-DOS on a stand alone twin floppy drive machine.
Because things were inherently secure, shareware was huge. You could freely try out new things, dozens of things in a sitting, sourced from a guy selling floppy disks at a computer club meeting, and know you couldn't possibly mess up your computer or your work.
There is no equivalent operating system security today. The only reasonable approach, in my mind, is that of capability based security. In those systems, you decide what specific resources (files, folders, network access, etc) to make available to a program when you run it. If you didn't include it, your application can't get at it, no matter what. This in direct opposition to the way things are done now, where the program might pull up a file dialog, but then directly accesses the files without oversight, and can do anything you're allowed instead of what you told it.
Couple insecure operating systems with ubiquitous networking, and it's a recipe for disaster.
I figure 5 more years before people wake up to the root cause, and 10 more before it starts getting fixed.