I'd argue that since Linux is open source that it is actually far more prone to malicious attacks. If it had a larger user base it would be one of the most unsecure platforms ever.
Imagine Windows and Linux as malls.
Windows mall has over 2mil square feet. It is located in New York City and it attracts nearly 100k a day. They have two guards by each door and a camera system. They also have two service desks to serve customers as well as a live chat to solve problems.
Now lets look at Linux mall. It has 48k square feet. It has one guard for all shifts in a day. It uses mirrors as a observation aid. It resides in Flint Michigan and attracts 800 people a day. It has a comment box and a message board for problems.
Now, You could make an inference if you wanted a safer place to shop, Flint Michigan is a safer bet. Now imagine if 95K from Windows mall switched to Linux mall. That single one guard would quit immediately and it would be the most insecure mall in America. This is no exaggeration.
Linux is a phishers/hacking nightmare. One third party app to access root and game over. The nature of open source is counter ituitive(sp?) to security.
I prefer to think of Linux and Windows as Linux and Windows.
Just because you can see the source code doesn't mean you can crack the program. This isn't the matrix, you can't edit code while someone else is simultaneously running the program you want to crack. Plus Linux, per your analogy, hardly has "one guard". Many larger distributions have corporate backing (ie: Red Hat/Fedora, SUSE) in addition to being open source, and even the purely OSS versions are accessible by anyone. Meaning if I found what I believed to be a security vulnerability I could fix, I could actually fix it and even submit my fix to the project. Believe it or not, more than a few professional devs do this in their spare time.
You are correct that OSS by nature is easier to crack, initially, by virtue of knowing exactly how the program works; but the community response to this inherent vulnerability produces stronger software to a point that, while you could see the source code, it is simply so good as to be nigh-uncrackable.
Windows on the other hand has no community. We have to rely on the Microsoft machine to fix everything, and hope our error reports actually mean something. Much less adaptive, much more red tape, much slower to respond to a threat and quite selective about which threats are responded to and in what order.
Also, you do know Linux/Unix based operating systems command about 20% of the server market share right, and 60% of web servers. Hell the classified server at my former internship ran on a company-modified version of Linux IIRC.