The first time you forget to scan your file downloads for viruses will be the first time in your life you'll actually get a virus. Any system or program, however complicated, if looked at in exactly the right way, will become even more complicated. To err is human, but to really screw things up requires a computer. But this tomfoolery, having passed through a very expensive machine, is somehow ennobled, and no one dares to criticize it. An expert is a person who avoids the small errors while sweeping on to the Grand Fallacy.
Computers are unreliable, but humans are even more unreliable.
Any system which depends on human reliability is unreliable. The only difference between the fool and the criminal who attacks a system is that the fool attacks unpredictably and on a broader front. A system tends to grow in terms of complexity rather than of simplification, until the resulting unreliability becomes intolerable. Self-checking systems tend to have a complexity in proportion to the inherent unreliability of the system in which they are used. The error-detection and correction capabilities of any system will serve as the key to understanding the type of errors which they cannot handle.