Linux uznawany jest za system bezpieczniejszy od Windowsa. Jednak mimo przemyślanych mechanizmów obronnych on również jest podatny na ataki.
Wirusy i konie trojańskie to główne zagrożenia komputerów z Windowsem. Takie ataki skierowane w Linuksy nie zdają egzaminu z powodu małej popularności i dużej różnorodności tego systemu. Szacuje się, że ok. 1% urządzeń sieciowych pracuje pod kontrolą Linuksa. Dziesiątki dystrybucji, setki wersji i miliony konfiguracji powodują, że stworzenie uniwersalnego wirusa jest praktycznie niewykonalne. Urządzeń na których szkodnik będzie działać jest znacznie mniej niż Windowsów w typowej konfiguracji.
Linux na serwery
Komputery z Windowsem to w znacznej części urządzenia pracujące na biurkach zwykłych użytkowników. Mogą być wykorzystane do wykradania haseł, wysyłania spamu i ataku na inne maszyny, jeśli połączy się je w sieć (tzw. botnet). Dla atakującego zwykły pecet nie jest idealnym celem ataku – jest stosunkowo często wyłączany, łącze internetowe nie jest zbyt szybkie, a zasoby takie jak pamięć mocno ograniczone. Urządzenia zarządzane przez Linuksa to m.in. serwery i routery.
Komputery z systemem uniksowym często pełnią ważną rolę – używa się ich na serwerach, routerach, switchach i hostach maszyn wirtualnych. Często pracują bez przerwy i wyposażone są w szybkie łącze. Z tego powodu atak na pojedynczy komputer z Linuksem może przynieść znacznie większe korzyści niż na typową maszynę pracującą pod kontrolą Windowsa.
Dla cyberprzestępcy opłacalnym może być stworzenie złośliwego kodu atakującego pojedynczy serwer. Pisane są więc tzw. exploity, czyli programy mające wykorzystać dziury w danym systemie. Często robione są na zamówienie pod konkrety komputer. Oczywiście nikt nie tworzyłby programu atakującego peceta typowego Kowalskiego wysyłającego e-maile i czytającego wiadomości z sieci. Byłoby to nieopłacalne, a pamiętać trzeba, że hacking to zwykły biznes. Inaczej może wyglądać sytuacja, jeśli Linux będzie bardziej powszechny – wtedy jeden exploit będzie mógł być wykorzystany wielokrotnie.
Jesteś najsłabszym ogniwem
Wraz z rosnącą popularnością Linuksa wśród typowych użytkowników można spodziewać się większej liczby ataków na masową skalę. To nie system stanowi o bezpieczeństwie, a użytkownik. Jeżeli ktoś jest świadomy tego co robi, a także stosuje się do ogólnie przyjętych zasad „surfowania” po Sieci, nie jest ważne, jaki system wybierze, bo przez swoje postępowanie przestaje być najsłabszym ogniwem w procesie zabezpieczeń – powiedziała Marta Janus, analityk zagrożeń Kaspersky Lab Polska.
Przez wiele lat Linuksy były wykorzystywane tylko przez doświadczonych użytkowników – administratorów sieci, programistów itp. Wraz z rozwojem łatwych w obsłudze dystrybucji takich jak Ubuntu czy SUSE w sposób naturalny obniża się poziom wiedzy przeciętnego użytkownika tego systemu. Windows może więc być bezpieczniejszy niż Linux – pod warunkiem, że jest dobrze użytkowany.
Różnice w architekturze
Do czasów Visty głównym problemem Windowsa była ciągła praca na koncie administratora. Niektóre aplikacje nie działały poprawnie jeśli uruchamiane były z uprawnieniami zwykłego użytkownika. W związku z tym złośliwe programy łatwo mogły zdobyć pełnię władzy nad systemem.
W Linuksie od zawsze było inaczej. Użytkownik i jego programy otrzymywali minimalne, ale wystarczające uprawnienia. Konto administratora (nazywanego tu rootem) używane jest tylko w wyjątkowych przypadkach, takich jak instalacja oprogramowania lub konfiguracja systemu. Wiąże się to z tym, że system ten stosowany był na urządzeniach z których w danej chwili korzystało wielu użytkowników. Wirus uruchomiony na koncie bez uprawnień roota miałby małe pole manewru, chociaż zagrożenie takie jak np. rozsyłanie spamu może być realne.
W Linuksach przeznaczonych do zastosowań domowych lub biurowych korzysta się z tzw. sudo, czyli wykonania akcji z uprawnieniami roota. Każde z takich zdarzeń jest wyraźnie komunikowane przez system, wymaga podania hasła i oczywiście wcześniejszego dopisania przez administratora do listy uprzywilejowanych użytkowników. Warto dodać, że Microsoft wprowadził rozwiązaniem wzorowane na sudo w Viście. Dzięki temu praca na koncie administratora nie jest już konieczna.
Mechanizm ten nie jest jednak całkowicie bezpieczny. Jeśli program uruchomiony z uprawnieniami roota zostanie zaatakowany przez szkodnika może przekazać mu swoje prawa. Twórcy wirusów szukają więc dziur w oprogramowaniu, które umożliwi przejęcie kontroli nad nimi, a co za tym idzie również nad całym systemem.
Jak dostać się do systemu?
Aby wirus mógł zagnieździć się w systemie należy zmusić użytkownika, żeby go zainstalował lub wykorzystać błąd w działających programach. Użytkownicy Windowsa sami pomagają w atakach instalując oprogramowanie pochodzące z niezaufanego źródła (zwłaszcza pirackie wersje znanych i drogich programów) lub bez zastanowienia korzystając z sieci.
W Linuksach zwykle łatwiej jest skorzystać z luki w działającym na komputerze serwerze wybranej usługi sieciowej (np. SSH lub poczty). Aby zminimalizować ewentualne szkody serwery takie działają jak oddzielni użytkownicy. Każdy z nich posiada minimalne uprawnienia, jednak czasem wystarczają one do ataku. Ponadto programy nie są pobierane ze znalezionych w Google miejsc, ale centralnych, zaufanych zbiorów zwanych repozytoriami. Dostępne w nich aplikacje są sprawdzone i z prawdopodobieństwem bliskim pewności pozbawione złośliwego kodu.
Otwierać źródła czy nie?
Okazuje się więc, że nie zawsze dziury leżą w samym jądrze systemu, ale w również uruchomionych usługach. W większości przypadków uruchomione pod Linuksem programy mają otwarte źródło (tak jak sam system). Oznacza to, że każdy może przejrzeć kod programu i w razie znalezienia błędów poprawić je lub zgłosić do ulepszenia. W przypadku Windowsa kod jest pilnie strzeżony, a typowi użytkownicy nie mają do niego bezpośredniego wglądu.
Kwestia otwartości jest sprawą dyskusyjną. Z jednej strony zamknięte źródło utrudnia wykrywanie błędów, a z drugiej chroni przed hackerami. Luki nie muszą bowiem zostać zgłoszone do poprawy, ale mogą być wykorzystane do ataku. W sieci pojawiają się nawet inicjatywy samych hackerów, którzy nawołują do zaprzestania oficjalnego komunikowania społeczności o znalezionych błędach. Celem miałoby być odcięcie od złośliwego oprogramowania osób korzystających z gotowych rozwiązań (tzw. script kiddies). Niestety ci, którzy wiedzieliby o lukach mogliby korzystać z nich znacznie dłużej bez ryzyka wykrycia.
Windows – na biurko, Linux – na serwery. To hasło doskonale sprawdza się w kwestiach bezpieczeństwa. Ataki skierowane w każdą z tych platform wynikają ze sposobu korzystania z systemu. Obydwa mogą stać się ofiarą cyberprzestępców, jednak posłużą do innych celów. Linux posiada mechanizmy, które w założeniu czynią go bezpieczniejszym od typowego Windowsa, jednak wraz z popularyzacją tego systemu jego bezpieczeństwo przestaje być aż tak oczywiste.