I’m writing this post because I recently
overheard a conversation between two friends where one recommended that
the friend switch from Windows to Mac or Linux because the latter
operating systems are virus-proof and never get malware or rootkits.
Uhhh, wrong. Totally wrong. Unfortunately, there are many people who
believe this and think buying a Mac or installing Ubuntu will protect
them somehow.
There is some truth to the fact that Linux is a bit more secure, but
OS X and Linux both have their share of viruses. Also, since a lot of
people don’t run anti-virus software on their Macs because it’s deemed
not necessary, when a virus starts spreading on OS X, it spreads like
wildfire and no one even realizes they have a virus. The
Flashback virus in 2012 infected over 600,000 machines and took Apple weeks/months to release a proper fix.
In this article, I wanted to go through the reasons why there are
more viruses for Windows and explain whether Linux is really more secure
than Windows and why.
Malware Comes From Many Places
The first thing that I explain to people is that all operating
systems are prince to malware or viruses from the web and from email
attachments. It doesn’t matter which OS you are on, if you visit a
malware-infecting site, click on unscrupulous links or download and open
unknown attachments, your computer can become easily infected.
Unfortunately, this is how most people end up with malware and
viruses on their computer. It’s not as common to get virus or get
hacked by someone because of an OS level security flaw. Researchers are
always finding security holes in Windows, IE, Office, etc, but the
systems normally get patched up before the virus starts to spread or
someone can take over your computer
.
Since Windows is by far the most prevalent operating system, just the
sheer number of devices ensures that Windows users will end up getting
more viruses. Now that Macs are selling pretty well, the number of
incidents of viruses and malware has gone up too. OS X is inherently not
any more secure than Windows. The same is not true for Linux, which is
inherently slightly more secure. I’ll explain that further down. When a
Linux user does get a virus, though, it’s almost always related to an
Internet-facing application like a mail server or web app.
Linux Users are Technically Savvy
In order to run Linux on a daily basis, you need to know a lot more
about computers than a Windows or Mac user, plain and simple. Even
though Linux in the consumer arena is quite small, Linux is huge on the
back-end like web servers, etc. What’s surprising is that a lot of Linux
servers don’t run any anti-virus. Why? Because the people who maintain
them know what they are doing and the servers are hardened against
potential attacks.
People who install Ubuntu also are less likely to get a virus by
visiting a shady website (they’ll visit the site in a virtual machine)
or downloading an infected attachment from their email. A lot of people
in this category install extensions like
NoScript,
which prevent any scripts from running while browsing the web.
Obviously, if you go to those lengths to ensure your security, you’ll be
far less likely to be compromised.
Linux vs Windows Permissions
One huge advantage that Linux has over both OS X and Windows is user
privileges. There are lots of annoying issues with Windows like the fact
that someone can name a file “CuteGirl.jpg.exe” and when you
double-click it to open, the file will be executed and your computer
will now be infected. This kind of hack cannot be done in Linux. Why?
In order to execute a file in Linux, you have to make it executable.
This means you have to specifically set it permissions in order for it
to run. Another reason why Linux is more secure is that you need root
level access in order to do anything. Most Linux users use a normal
account and only log into the root account when they need to make
specific changes to the system.
Windows also has Administrator and normal user accounts, but 99% of
Windows users just log into their computer using the Administrator
account, thereby losing all security advantages that the normal account
would provide. Even if something manages to run in Linux, it can’t do
anything unless it can gain access to the root account.
The special permissions needed and the use of non-root accounts in
Linux make it a lot harder to create a virus that will actually spread
like it can in Windows or OS X.
Linux is Open Source and That Matters
Another big advantage to using Linux is that everything is open
source. You can see all the code and therefore it’s really hard to hide a
virus in Linux software. If someone does create a proprietary software
package for Linux, it’ll automatically be considered untrustworthy
unless it’s coming from some huge well-known company.
Most people using Linux install software from the official package
repositories of their Linux distribution. There is no official Microsoft
repository for Windows software, it exists everywhere and anywhere.
Even someone like me who works with computers all the time, I’ve
downloaded and installed a piece of software that I thought was legit,
but ended up with some spyware hidden. In my case, I only install
unknown software in a virtual machine first and if everything runs fine
in the VM, then I install it on my main machine.
On OS X, Apple has recently added a feature to the OS that will
prevent installation of any software that is not in the Mac App store or
a set of identified software developers. You can manually change the
setting so that you can install any Mac software, but it’s a safeguard
that I recommend Mac users enable as it gives you better security than a
Windows machine where anything can be installed.
Other Factors
There are a couple of other factors that dictate why you don’t see as many viruses for Linux:
1.
Linux is a heterogenous environment. If you have
ever thought about using Linux, the first thing you probably had to do
was decide which Linux distribution (flavor) to install. There are
literally thousands of Linux distributions out there and they are all
different. The Linux Kernel is different and they all come with
different packages and configurations. This is not the case with
Windows. Having so many different forms of the OS makes it hard to write
a virus that will spread through everything.
2.
Linux has special command and functions for security purposes. When
you learn Linux, you learn a lot about commands that let you perform
certain security related tasks like sudo or chroot. These commands make
performing special tasks in Linux more secure.
3.
Linux Kernel is smaller. This one can probably be
debated, but overall the Linux kernel is a lot smaller than the Windows
kernel, when talking about the areas of the OS where permissions are
checked and enforced. A smaller leaner kernel doesn’t necessarily mean
more secure, but it definitely helps to keep things to a minimum.
4.
Security-enhanced Linux. There are some Linux
distributions that have a feature called SELinux or Security-enhanced
Linux. It’s basically a set of kernel modifications that make it more
secure. It’s part of Red Hat, CentOS, and even Ubuntu.
Hopefully, these article gives you a few more details as to why Linux
is considered safer than Windows. It’s definitely not virus-proof and
if one day everyone starts downloading and using Linux, the hackers will
find new and innovative ways to get viruses there too! Enjoy!