News

Dlaczego Pingwiny żyją dłużej?

O atakach na Linuksa...

Temat wirusów dla systemów uniksowych jest dość kontrowersyjny. Mała ilość informacji w internecie, brak wiarygodnych źródeł, a przede wszystkim dość popularna wśród linuksowych nowicjuszy opinia, że Linux jest systemem odpornym na wszelkiego rodzaju zagrożenia, z jakimi zmaga się użytkownik systemu Windows - wszystko to może wpływać na zniekształcenie rzeczywistego obrazu sytuacji. Jak jest naprawdę? Czy wirusy dla Linuksa rzeczywiście nie powstają? Czy używając tego systemu możemy się czuć zupełnie bezpieczni w sieci? A jeśli nie, jak możemy zapewnić sobie podstawowe bezpieczeństwo? Na te i wiele innych pytań postaramy się odpowiedzieć w tym artykule.

Słabości Linuksa

Wśród niektórych użytkowników Linuksa panuje przekonanie, że Linux to twierdza nie do zdobycia, że to system sam z siebie bezpieczny, wolny od zagrożeń, ponieważ techniczne możliwości ich tworzenia są ograniczone. Tacy ludzie w swojej ignorancji bądź fascynacji "Pingwinem" ślepo wierzą, że Linux jest systemem pozbawionym nie tylko słabości, znanych z systemów z Redmond, ale pozbawionym słabości w ogóle. Nic bardziej błędnego! Jakie zatem więc słabe punkty ma legendarny system-twierdza? Na ogół takie, jak każdy inny system operacyjny.

Przede wszystkim należy zwrócić uwagę na liczne luki i błędy w jądrze systemu i systemowych programach. Jeśli ktoś interesuje się nowinkami ze świata Linuksa wie, że krytyczne luki dotyczące bezpieczeństwa nie są wcale niczym obcym i egzotycznym w tym środowisku. Linuksa również tworzą ludzie, a istota ludzka nie jest nieomylna. Dlaczego programiści Linuksa mieliby popełniać mniej pomyłek, niż programiści komercyjnych systemów operacyjnych? Ktoś mógłby powiedzieć, że o błędach w systemie Windows słyszy się dużo częściej, ale i taki argument można zbić bez problemu. Logiczne jest, że o popularnym systemie - tak o jego zaletach, jak i słabościach - mówi i pisze się więcej. Nie trzeba też chyba dodawać, że nawet jeśli jakieś błędy nie zostały wykryte, to wcale nie znaczy, że ich nie ma. Tezę o bezbłędności Linuksa można zatem włożyć między bajki.

Przyjmujemy więc do wiadomości istnienie luk w linuksowym jądrze i programach. W tym miejscu zazwyczaj pojawia się argument koronny: "ale przecież Linux ma otwarte źródła!". Racja, plusy wynikające z otwartego kodu są niezaprzeczalne. Jest on dostępny dosłownie dla każdego - każdy może do niego zajrzeć, znaleźć błąd i podesłać łatkę, każdy może włączyć się w jego doskonalenie i rozwijanie. Ludzie z różnych stron świata posiadający różne umiejętności, różne pomysły i tę samą pasję, mogą stanowić większy potencjał twórczy, niż stała, zamknięta grupa programistów, zobowiązana do utrzymywania efektów swojej pracy w tajemnicy. Rozwój systemu o otwartych źródłach jest w tym świetle dużo bardziej dynamiczny, a czas reakcji na wykryte błędy zazwyczaj bywa krótszy. Jednak otwartość źródeł posiada również pewne ciemne strony. To, co jest ogromną przewagą, stanowi jednocześnie duże zagrożenie dla bezpieczeństwa otwartego oprogramowania. Twierdzenie bowiem, że każdemu człowiekowi, który "grzebie" w źródłach systemu w poszukiwaniu dziur, przyświeca chlubny cel, byłoby co najmniej niepoprawnym optymizmem. Podczas gdy znalezienie luk w programie o zamkniętym kodzie wiąże się z próbami atakowania programu na chybił-trafił, bądź też z dekompilacją i analizowaniem kodu na poziomie asemblera, co jest czasochłonne i wymaga dużych umiejętności, w programach spod znaku open source sytuacja jest dużo łatwiejsza. Często wystarczy tylko wiedzieć, gdzie i czego mniej więcej szukać i mieć jakieś pojęcie o programowaniu. Tam, gdzie jeden człowiek napisze łatkę na znalezioną lukę, inny może ową lukę wykorzystać do napisania exploita.

W dyskusji na temat bezpieczeństwa Linuksa często się mówi o dobrze rozwiązanej kwestii uprawnień. Owszem, podejście Linuksa wypada znacznie korzystniej od podejścia Windowsa sprzed czasów Visty. Jednak ostatecznie i tak wszystko zależy od administratora systemu, ponieważ może on w każdej chwili zmienić konto lub uprawnienia, z jakimi pracuje użytkownik. Przyjmijmy, że większość użytkowników Linuksa przestrzega uniksowej zasady i nie korzysta z konta roota do codziennej pracy. Czy są oni całkowicie bezpieczni? Uzyskanie uprawnień administratora to punkt kluczowy ataków na systemy uniksowe, bez tego nie sposób przejąć systemu, ukryć się w nim, czy wyrządzić jakiejkolwiek większej szkody. Gdyby było to niemożliwe (pomijając element ludzki, w tym socjotechnikę), Linux rzeczywiście zasługiwałby na miano najbezpieczniejszego systemu na świecie. Istnieją jednak pewne mechanizmy, mogące ułatwić niepożądanym osobom zdobycie tych uprawnień. Jednym z nich są atrybuty suid (Set User ID) oraz sgid (Set Group ID). Procesy, które powstają w wyniku wykonania się programu z ustawionym bitem suid/sgid mają uprawnienia właściciela tego pliku - zazwyczaj roota. Jest to niezbędne w momencie, gdy zwykły użytkownik musi dokonać akcji, do której nie ma uprawnień. Dobrym przykładem będzie tu możliwość zmiany własnego hasła (passwd) i preferencji własnego konta (chfn, chsh), możliwość planowania zadań (at, crontab), czy zdalny dostęp do komputera (ssh, rlogin). Niebezpieczeństwo polega na tym, iż wykorzystując lukę w takim programie, atakujący może uruchomić na maszynie ofiary kod z prawami administratora.

Mamy więc błędy w jądrze i luki w programach, które można łatwo odnaleźć dzięki otwartym źródłom, mamy też możliwość wykorzystania tych luk do przejęcia władzy nad systemem. Co z tego - powie ktoś - skoro przecież istniejące szkodliwe programy dla Linuksa można wyliczyć na palcach jednej ręki? Jakie jest prawdopodobieństwo, że akurat nam się coś przytrafi? Otóż nie jest ono wcale tak małe, jak by się mogło wydawać. Po pierwsze, jeśli coś nie jest znane, nie znaczy, że nie istnieje. Najstarsze wersje rootkitów i exploitów zazwyczaj powstają w podziemiu na długo przed tym, zanim zostaną złapane "na gorącym uczynku"; cześć z nich zaś może nigdy nie zostać wykryta. Po drugie - i najważniejsze - trzeba zdawać sobie sprawę z różnic pomiędzy charakterem szkodliwych programów dla systemu Windows i ich uniksowych odpowiedników.

Podczas gdy te pierwsze mają zazwyczaj na celu zainfekować jak największą liczbę przypadkowych komputerów, te drugie najczęściej są przeznaczone dla jednej, konkretnej maszyny. Dlaczego akurat nasza maszyna miałaby się stać celem takiego ataku? Powodów jest wiele, jednym z nich może być sam fakt posiadania Linuksa! Brak zwyczaju korzystania z jakiegokolwiek oprogramowania antywirusowego i zbytnie poczucie bezpieczeństwa większości użytkowników "pingwina" sprawia, że raz zainstalowany rootkit może egzystować w systemie znacznie dłużej, niż na przeciętnym komputerze z Windowsem, gdzie program antywirusowy to wymuszona codzienność. W ten sposób nasz Linux może stanowić świetną platformę do przeprowadzania ataków na inne maszyny, za które w razie wykrycia odpowiadać będziemy my. Oczywiście nie znaczy to, że w Linuksie równie łatwo jest paść ofiarą rootkita, co w systemie Windows - jednak na wszelki wypadek lepiej jest liczyć się z taką możliwością.

Najczęstszym obiektem ataków są jednak różnego rodzaju serwery działające pod kontrolą Linuksa. Takie serwery powinny być szczególnie chronione, ponieważ mogą stać się źródłem zagrożenia dla wszystkich komputerów w sieci, które korzystają z oferowanych przez nie usług. Bardzo popularną ostatnio techniką jest wykorzystywanie błędów w serwerach WWW i infekowanie przechowywanych na nich plików php i html szkodliwymi skryptami javy, które z kolei poprzez luki w przeglądarkach dokonują instalacji szkodliwego oprogramowania na komputerze oglądającego stronę użytkownika.

Inną kwestię stanowią linuksowe serwery pocztowe i serwery plików świadczące usługi dla klientów z systemem Windows. Mimo, że szkodniki dla Windowsa nie są w stanie wyrządzić krzywdy takiemu serwerowi, mogą się poprzez niego bez przeszkód rozprzestrzeniać. Skaner antywirusowy z aktualnymi bazami sygnatur wydaje się być w takich przypadkach niezbędny.

W sporach zwolenników Windowsa z sympatykami Linuksa z obu stron padło wiele niesłusznych oskarżeń, lecz padło też wiele trafnych argumentów. Racja jak zwykle leży mniej więcej po środku. Skrajne poglądy zawsze dają zniekształconą, subiektywną wizję rzeczywistości, więc nawet jeśli Linux stał się dla kogoś pasją i życiem, nie można podchodzić do niego bezkrytycznie i idealizować go, zamykając oczy na oczywiste niedoskonałości i usterki. Prawda jest taka, że każdy system operacyjny posiada luki i błędy, a im jest on bardziej rozbudowany i skomplikowany, tym więcej się owych niedociągnięć i pomyłek programistycznych można spodziewać.

Jedną z największych słabości Linuksa jest przekonanie jego użytkowników o tym, że nie ma on wad. Pamiętajmy - jeśli ktoś się czuje się całkowicie bezpiecznie, nie zachowuje należytej ostrożności, a wtedy jest najbardziej podatny na atak.

Strona: 1 2 3 4 5 6 Następna
Zgłoś błąd