| |
This is another
subject that I have heard much debate on.
As an example lets use
the Linux operating system. I have heard many people claim that if Linux
was as popular as windows it would have just as many viruses. While I
do agree it would have more I do not agree it would be to the same
extent. Currently windows has approximately 60,000 viruses compared to
Linux having around 40. I have heard a few estimates so I do not know
how accurate those numbers are but I know that the scale is tipped that
far. So do these numbers reflect the fact that Linux is not as popular
as windows.
I dont think so and heres why. Windows has always
been the user friendly operating system. Because of this user
friendliness security concerns have been ignored. One thing right off
the bat you notice between a windows and Linux system is in Linux the
root account is downright voodoo to use while by default Windows makes
its users administrators. Many people not familiar to Linux dont decern
the difference but theres a huge one. Even the limited windows
accounts have access to modify important system files. The best way to
explain this is to explain the way a Linux system works compared to
Windows. Since MAC OSX is a BSD based OS its very similar to Linux in
regards to what I am about to share.
In windows a system has a
drive that corresponds to a drive letter. For example c:\ is normally
the drive that is used to store system and user files. If another hard
drive is added it normally gets assigned another drive letter d:\ for
example. In a windows system the most important operating system files
are mostly located in c:\windows\ and user files are located in
c:\documents and settings\{user profile}\ finally most programs are
located in c:\program files\. On 64bit systems this has been modified to
be two septate directorys c:\program files\ for 64 bit software and
c:\program files {x86}\ for older 32 bit programs. This sounds organized
but its not because many files are mixed up and in different places on
many windows systems. Also administrators and limited users both have
access to modifying files in all of these directorys, while limited
accounts dont have full access a system can still be destroyed by a
limited account. Also on a windows system executable files are mixed up
with user settings, registry hives as well as user data.
Now a
Linux system is a much different animal and many new users to Linux are
stupified by this when they first start because of how accustomed they
are to Windows. I know I was completely confused by the Linux file
system when I first started using it until I understood how it worked
and why. The Linux file system starts at / or {root} No drive letters
nothing just / In the root directory there are several directorys that
have different reasons as well as different rights managements. These
are bin/ dev/ home/ lost+found/ proc/ sbin/ usr/ boot/ etc/ lib/ mnt/
root/ tmp/ var/ Sound confusing yet, well dont worry its not that bad.
Each directory has a specific purpose and this is one of the big reasons
Linux is a more secure environment. /sbin/ contains many of the
critical operating system files as well as commands that can only be
used by the root or administrator account. /bin/ contains commands that
can be used by a limited user account. /boot/ this is where the Linux
kernel is located as well as backups on the hard drives boot sector. the
/dev/ directory contains files that correspond with devices on your
computer. I dont want to get to involved with how Linux works but
basically the Linux operating system has nothing but files and
directorys so if you want to make a device work the operating system
must write to its device file, this is where those files are stored.
The /etc/ directory is where the systems configuration files are stored.
the /home/ directory is where each user profile is stored. An example
of this would be /home/{user profile}/ This directory would contain each
users specific configuration files as well as data. The /lib/ directory
is where all the shared resources or librarys are stored. The
/lost+found/ directory stores partial files that are recovered after a
system failure. This can include a power failure. The /mnt/ directory is
a location for mounting file systems. When you plug a USB drive in to a
Linux system it will normally auto mount the file system in this
directory. The /opt/ directory is the locating that many programs not
being part of the original distribution are stored. The /proc/ directory
isnt really a directory as much as its a dynamic file system that is
used to keep track of system state and other things. The /root/
directory is where the user files and configuration files for the root
user are stored. The /tmp/ directory is a temporary directory. The /usr/
directory is where all the programs for the system are stored. Finally
the /var/ directory stores mail printer spools and the system logs. Now
as you can see the Linux file is a lot more organized Even better each
directory has specific permissions. while the /usr/ directory can be
read by a limited user it cannot be changed. Each programs configuration
is stored in the users specific /home/{user profile}/ directory. So
when a program is executed it cannot even write to its own directory but
must use a temporary file system or directory to write to.
No
how does this make Linux more secure then Windows or the better question
if Linux had as many users as Windows would it have just as big of a
virus problem. The quick answer is no.
Now for the long answer.
On a Linux system when a program is downloaded from the
Internet it is not automatically executable also it cannot be installed
on the system without root or administrators permissions. So how does
this make it safer? On windows files that are executable can be ran by
any user and from any location. While there are some restrictions and
modern versions of windows are getting better at this a limited user can
still install a program. On a Linux system only the root account can
install software to the system. Now that does not mean that the user
cant execute a file its just that program cannot harm the core operating
system.
So if Linux was as popular as Windows would it have the
same virus problem. No it would not. The reason is Linux is a very
hostel environment for a virus to be able to replicate. Now while there
would be an increase in viruses that would effect Linux they would never
get out of hand like they do on Windows. Most viruses would be stopped
very quickly. If you dont believe me just look at some of the user and
security enhancements in Windows 7. I have been very pleased by the
steeps Microsoft is taking to make Windows more secure but honestly its
the same stuff Linux has been doing for decades. The only problem is
Microsoft is trying to make it to user friendly and that in turn effects
security and creates a breading ground for viruses.
Also another
thing that Linux has over Windows is Windows is created by Microsoft, a
single company so there operating system in nature has no diversity.
Linux on the other hand has hundreds of distributions created by
hundreds of different companys. All containing diversity from one
another. If a virus was to affect one distribution it would not affect
all. Just like in the animal kingdom diversity protects species from
viruss wiping out an entire species the Linux operating system has the
same diversity. Also if a virus was able to affect a specific
distribution by its open source nature the fix can be created much more
efficiently many times before an exploit is able to be used by a virus.
This lowers the chance of many if not all zero day viruses.
Anyway
writing this I have lost track of time, sorry its so long and if you
made it this far then thanks for reading.
|
|