よく聞く定説として「Windowsはセキュリティホールだらけ」「unixはそれに比べて断然セキュア」というのがある。セキュリティホールと言っても千差万別だが、ひとつの原因としてバグによるものがある。unixはその長い歴史の中で日々デバッグされてきたし、Windowsにしても最近はだいぶバグが減ってきている。ただ、それだけでは到底説明がつかない部分も多い。unix系OSの中でもLinuxの歴史となるとWindowsと大差なく、DOS時代のWindows(3.1以前)も含めるとWindowsの方が古いほどである。
Linuxを贔屓にして見ると「腕のいいハッカーが日々メンテしているから」というのも理由になるかもしれない。Linuxはソースコードがオープンなため、致命的な問題は有志のハッカーによってすぐに発見・修正されてしまう。いわゆる「バザール方式」による開発だ。一方でWindowsはソースが公開されていないため、問題が露呈しにくい。しかしこれは「隠されている」だけであり、後になって重大な欠陥が発見されるケースが多い。
しかし、より大きな理由は設計思想の違いにあるだろう。Linuxのようなunix系OSでは一般ユーザーの権限が制限されており、アプリケーションのインストールすらできない。Windowsにはそのような制限がなく、システムファイルを入れ替えることも可能だ。Windowsの方がより「なんでもできる」わけで、その分便利である。しかしシステムファイルを消すこともできてしまうわけで、クラックツールから見ればWindowsの方が「クラックが楽」なOSに見える。これがLinuxになるとhome以下の領域にしか権限がないため、システムを破壊するようなアプリケーションは実行しようとしても「Permission denied」になり失敗する。利便性とセキュリティ、この両者は基本的に相反するものなのだ。利便性を取ったのがWindows、セキュリティを取ったのがLinuxだったと言える。
余談だが「ActiveX」というweb関係の技術がある。非常に便利な機能ではあったが、あまりに何でも出来すぎてしまうためセキュリティホールの温床と化した。後にMicrosoftもこれを非推奨としたほどであり、Windowsも最近はセキュリティに傾きつつあると見るべきかもしれない。