Wirusy w systemie GNU / Linux: fakt czy mit?

Za każdym razem, gdy pojawia się debata na temat wirusów i systemu GNU/Linux , nie mija dużo czasu, zanim pojawi się użytkownik (zazwyczaj z systemu Windows) i powie:

„ W systemie Linux nie ma wirusów, ponieważ twórcy tych złośliwych programów nie tracą czasu na tworzenie czegoś dla systemu operacyjnego, z którego prawie nikt nie korzysta”.

Na co zawsze odpowiadałem:

„Problem nie polega na tym, ale twórcy tych złośliwych programów nie będą tracić czasu na tworzenie czegoś, co zostanie poprawione przy pierwszej aktualizacji systemu, nawet w mniej niż 24 godziny”

I nie myliłem się, jak pokazał mi ten znakomity artykuł opublikowany w numerze 90 (rok 2008) magazynu Todo Linux . Jego autor, David Santo Orcero, przedstawia nam techniczne (ale łatwe do zrozumienia) wyjaśnienie, dlaczego w systemie GNU/Linux brakuje tego typu złośliwego oprogramowania.

Polecam w 100%. Teraz będziesz miał więcej niż wystarczająco przekonującego materiału, żeby uciszyć każdego, kto wypowiada się na ten temat bez solidnych podstaw.

Pobierz artykuł (PDF): Mity i fakty: Linux i wirusy

EDYTOWANO:

Oto przepisany artykuł, ponieważ uważamy, że znacznie wygodniej jest czytać w ten sposób:

============================================ ======================

Debata na temat Linuksa i wirusów nie jest niczym nowym. Co jakiś czas na liście pojawia się e-mail z pytaniem, czy istnieją wirusy dla systemu Linux; i automatycznie ktoś odpowiada twierdząco i twierdzi, że jeśli nie są bardziej popularni, to dlatego, że Linux nie jest tak rozpowszechniony jak Windows. Istnieją również częste komunikaty prasowe od twórców oprogramowania antywirusowego, które informują, że publikują wersje wirusów dla systemu Linux.

Osobiście sporadycznie rozmawiałem z różnymi osobami za pośrednictwem poczty lub listy dystrybucyjnej na temat tego, czy wirusy istnieją w Linuksie, czy nie. To mit, ale obalenie mitu lub raczej mistyfikacji jest skomplikowane, zwłaszcza jeśli jest to spowodowane interesem gospodarczym. Ktoś jest zainteresowany przekazaniem idei, że jeśli Linux nie ma tego rodzaju problemów, to dlatego, że używa go bardzo niewiele osób.

W momencie publikowania tego raportu chciałbym napisać ostateczny tekst na temat istnienia wirusów w Linuksie. Niestety, gdy szaleją przesądy i interes gospodarczy, trudno jest zbudować coś ostatecznego.
Postaramy się jednak przedstawić tutaj dość kompletny argument, aby rozbroić ataki każdego, kto chce się spierać.

Co to jest wirus?

Przede wszystkim zaczniemy od zdefiniowania, czym jest wirus. Jest to program, który kopiuje i działa automatycznie, a jego celem jest zmiana normalnego funkcjonowania komputera bez zgody lub wiedzy użytkownika. W tym celu wirusy zastępują pliki wykonywalne innymi zainfekowanymi ich kodem. Definicja jest standardowa i stanowi jednowierszowe podsumowanie wpisu Wikipedii na temat wirusów.
Najważniejszą częścią tej definicji i tym, co odróżnia wirusa od innych złośliwych programów, jest to, że wirus instaluje się sam, bez zgody lub wiedzy użytkownika. jeśli się nie zainstaluje, nie jest wirusem: może to być rootkit lub trojan.

Rootkit to łatka jądra, która pozwala ukryć niektóre procesy przed narzędziami obszaru użytkownika. Innymi słowy, jest to modyfikacja kodu źródłowego jądra, której celem jest to, aby narzędzia, które pozwalają nam zobaczyć, co jest uruchomione w danym momencie, nie wyświetlają określonego procesu lub określonego użytkownika.

Trojan jest analogiczny: jest to modyfikacja kodu źródłowego określonej usługi w celu ukrycia pewnych nieuczciwych działań. W obu przypadkach konieczne jest uzyskanie kodu źródłowego dokładnej wersji zainstalowanej na komputerze z systemem Linux, poprawienie kodu, ponowna kompilacja, uzyskanie uprawnień administratora, zainstalowanie załatanego pliku wykonywalnego i zainicjowanie usługi - w przypadku trojana - lub systemu operacyjnego. kompletne - w przypadku
rootkit–. Jak widzimy, proces ten nie jest trywialny i nikt nie może tego wszystkiego zrobić „przez pomyłkę”. Oba wymagają w swojej instalacji, aby ktoś z uprawnieniami administratora świadomie wykonał szereg kroków podejmując decyzje o charakterze technicznym.

Co nie jest nieistotnym niuansem semantycznym: aby wirus sam się zainstalował, wystarczy, że uruchomimy zainfekowany program jako zwykły użytkownik. Z drugiej strony, w przypadku instalacji rootkita lub trojana istotne jest, aby złośliwy człowiek osobiście wszedł na konto root maszyny i wykonał w sposób niezautomatyzowany szereg kroków, które są potencjalnie wykrywalne. wirus rozprzestrzenia się szybko i skutecznie; rootkit lub trojan potrzebuje ich do namierzania nas.

Przenoszenie wirusów w systemie Linux:

Dlatego mechanizm przenoszenia wirusa jest tym, co tak naprawdę go definiuje i jest podstawą jego istnienia. system operacyjny jest bardziej wrażliwy na wirusy, tym łatwiej jest opracować skuteczny i zautomatyzowany mechanizm transmisji.

Załóżmy, że mamy wirusa, który chce się rozprzestrzeniać. Załóżmy, że został uruchomiony przez zwykłego użytkownika, niewinnie, podczas uruchamiania programu. Wirus ten ma wyłącznie dwa mechanizmy transmisji:

  • Replikuj się, dotykając pamięci innych procesów, zakotwiczając się do nich w czasie wykonywania.
  • Otwieranie plików wykonywalnych systemu plików i dodawanie ich kodu - payload - do pliku wykonywalnego.

Wszystkie wirusy, które możemy uznać za takie, mają co najmniej jeden z tych dwóch mechanizmów transmisji. O dwóch. Nie ma więcej mechanizmów.
Jeśli chodzi o pierwszy mechanizm, pamiętajmy o architekturze pamięci wirtualnej Linuksa i o tym, jak działają procesory Intel. Mają cztery pierścienie ponumerowane od 0 do 3; im niższa liczba, tym większe uprawnienia ma kod działający w tym pierścieniu. Pierścienie te odpowiadają stanom procesora, a więc co można zrobić z systemem znajdującym się w określonym pierścieniu. Linux używa pierścienia 0 dla jądra i pierścienia 3 dla procesów. nie ma kodu procesu działającego na pierścieniu 0 i nie ma kodu jądra działającego na pierścieniu 3. Jest tylko jeden punkt wejścia do jądra z pierścienia 3: przerwanie 80h, które pozwala przeskoczyć z obszaru, w którym się znajduje kod użytkownika do obszaru, w którym znajduje się kod jądra.

Architektura Uniksa w ogóle, a Linuksa w szczególności nie umożliwia rozprzestrzeniania się wirusów.

Jądro, używając pamięci wirtualnej, sprawia, że ​​każdy proces wierzy, że ma całą pamięć dla siebie. Proces - który działa w pierścieniu 3 - może zobaczyć tylko pamięć wirtualną, która została dla niego skonfigurowana, dla pierścienia, w którym działa. Nie chodzi o to, że chroniona jest pamięć o innych procesach; polega na tym, że dla jednego procesu pamięć innych znajduje się poza przestrzenią adresową. Gdyby proces pokonał wszystkie adresy pamięci, nie byłby w stanie nawet odwołać się do adresu pamięci innego procesu.

Dlaczego nie można tego oszukać?
Aby zmodyfikować to, co zostało skomentowane - na przykład, wygeneruj punkty wejścia w pierścieniu 0, zmodyfikuj wektory przerwań, zmodyfikuj pamięć wirtualną, zmodyfikuj LGDT… - jest to możliwe tylko z pierścienia 0.
Oznacza to, że aby proces mógł dotknąć pamięci innych procesów lub jądra, powinien to być samo jądro. A fakt, że istnieje jeden punkt wejścia i że parametry są przepuszczane przez rejestry, komplikuje pułapkę - w rzeczywistości jest ona przekazywana przez rejestr do czasu, co należy zrobić, co jest następnie realizowane jako przypadek w procedurze uwagi. 80h przerwa.
Innym scenariuszem jest przypadek systemów operacyjnych z setkami nieudokumentowanych wywołań dzwonka 0, gdzie jest to możliwe - zawsze może istnieć źle zaimplementowane zapomniane wywołanie, na które można stworzyć pułapkę - ale w przypadku systemu operacyjnego z taki prosty mechanizm krokowy nie jest.

Z tego powodu architektura pamięci wirtualnej zapobiega temu mechanizmowi transmisji; żadne procesy - nawet te z uprawnieniami roota - nie mają możliwości dostępu do pamięci innych. Moglibyśmy argumentować, że proces może zobaczyć jądro; ma to mapowane z adresu pamięci logicznej 0xC0000000. Ale z powodu pierścienia procesora, na którym działa, nie można go modyfikować; wygenerowałby pułapkę, ponieważ są to obszary pamięci należące do innego pierścienia.

„Rozwiązaniem” byłby program, który modyfikuje kod jądra, gdy jest to plik. Ale fakt, że są one ponownie kompilowane, uniemożliwia to. Pliku binarnego nie można załatać, ponieważ na świecie są miliony różnych jąder binarnych. Po prostu podczas ponownej kompilacji umieścili lub usunęli coś z pliku wykonywalnego jądra lub zmienili rozmiar jednej z etykiet identyfikujących wersję kompilacji - coś, co jest zrobione nawet mimowolnie - nie można zastosować poprawki binarnej. Alternatywą byłoby pobranie kodu źródłowego z Internetu, poprawienie go, skonfigurowanie dla odpowiedniego sprzętu, skompilowanie, zainstalowanie i ponowne uruchomienie komputera. Wszystko to powinno być wykonywane automatycznie przez program. Dość wyzwanie dla dziedziny sztucznej inteligencji.
Jak widać, nawet wirus jako root nie może pokonać tej bariery. Jedynym rozwiązaniem, które pozostało, jest transmisja między plikami wykonywalnymi. Co też nie działa, jak zobaczymy poniżej.

Moje doświadczenie jako administratora:

Od ponad dziesięciu lat zarządzam Linuksem, instalując go na setkach maszyn w centrach danych, laboratoriach studenckich, firmach itp.

  • Nigdy nie „dostałem” wirusa
  • Nigdy nie spotkałem kogoś, kto to zrobił
  • Nigdy nie spotkałem kogoś, kto spotkał kogoś, kto miał

Znam więcej ludzi, którzy widzieli potwora z Loch Ness niż wirusy Linuksa.
Osobiście przyznaję, że byłem lekkomyślny i uruchomiłem kilka programów, które samozwańczy „specjaliści” nazywają „wirusami dla Linuksa” - odtąd będę je nazywać wirusami, żeby tekst nie był pedantyczny - z mojego zwykłego konta na moim komputerze, aby sprawdzić, czy wirus jest możliwy: zarówno wirus bash, który krąży w okolicy - i który, nawiasem mówiąc, nie zainfekował żadnych plików - oraz wirus, który stał się bardzo sławny i pojawił się w prasie. Próbowałem go zainstalować; i po dwudziestu minutach pracy poddałem się, gdy zobaczyłem, że jednym z jego żądań było posiadanie katalogu tmp na partycji typu MSDOS. Osobiście nie znam nikogo, kto utworzyłby określoną partycję dla tmp i sformatował ją do FAT.
W rzeczywistości niektóre tak zwane wirusy, które testowałem pod Linuksem, wymagają wysokiego poziomu wiedzy i zainstalowania hasła roota. Moglibyśmy przynajmniej zakwalifikować się jako „beznadziejny” wirus, gdyby potrzebował naszej aktywnej interwencji w celu zainfekowania maszyny. Ponadto w niektórych przypadkach wymagają rozległej wiedzy na temat systemu UNIX i hasła roota; co jest dość dalekie od automatycznej instalacji, która powinna być.

Infekowanie plików wykonywalnych w systemie Linux:

W systemie Linux proces może po prostu zrobić to, na co pozwala jego efektywny użytkownik i efektywna grupa. To prawda, że ​​istnieją mechanizmy wymiany prawdziwego użytkownika na gotówkę, ale niewiele więcej. Jeśli spojrzymy na to, gdzie są pliki wykonywalne, zobaczymy, że tylko root ma uprawnienia do zapisu zarówno w tych katalogach, jak iw zawartych w nich plikach. Innymi słowy, tylko root może modyfikować takie pliki. Dzieje się tak w systemie Unix od lat 70., w Linuksie od jego początków, a także w systemie plików obsługującym uprawnienia, nie pojawił się jeszcze żaden błąd, który umożliwia inne zachowanie. Struktura plików wykonywalnych ELF jest znana i dobrze udokumentowana, więc jest technicznie możliwe, aby plik tego typu załadował ładunek w innym pliku ELF ... o ile efektywny użytkownik poprzedniej lub efektywna grupa pierwszej ma uprawnienia dostępu. odczyt, zapis i wykonanie na drugim pliku. Ile plików wykonywalnych systemu plików może zainfekować jako zwykły użytkownik?
To pytanie ma prostą odpowiedź, jeśli chcemy wiedzieć, ile plików możemy "zainfekować", uruchamiamy polecenie:

$ find / -type f -perm -o=rwx -o \( -perm -g=rwx -group `id -g` \) -o \( -perm -u=rwx -user `id -u` \) -print 2> /dev/null | grep -v /proc

Wykluczamy katalog / proc, ponieważ jest to wirtualny system plików, który wyświetla informacje o działaniu systemu operacyjnego. Pliki typu plików z uprawnieniami do wykonywania, które znajdziemy, nie stanowią problemu, ponieważ często są to wirtualne łącza, które wydają się być odczytywane, zapisywane i wykonywane, a jeśli użytkownik spróbuje, to nigdy nie działa. Odrzucamy również wiele błędów - ponieważ szczególnie w / proc i / home jest wiele katalogów, do których zwykły użytkownik nie może wejść -. Ten skrypt zajmuje dużo czasu. W naszym przypadku, na maszynie, na której pracują cztery osoby, odpowiedź brzmiała:

/tmp/.ICE-unix/dcop52651205225188
/tmp/.ICE-unix/5279
/home/irbis/kradview-1.2/src
/kradview

Dane wyjściowe pokazują trzy pliki, które mogłyby zostać zainfekowane, gdyby został uruchomiony hipotetyczny wirus. Pierwsze dwa to pliki typu gniazda Unix, które są usuwane podczas uruchamiania - i nie mogą na nie wpływać wirusy - a trzeci to plik programu deweloperskiego, który jest usuwany za każdym razem, gdy jest rekompilowany. Z praktycznego punktu widzenia wirus się nie rozprzestrzenia.
Z tego, co widzimy, jedynym sposobem na rozproszenie ładunku jest posiadanie uprawnień roota. W takim przypadku, aby wirus działał, użytkownicy muszą zawsze mieć uprawnienia administratora. W takim przypadku może zainfekować pliki. Ale tutaj jest haczyk: aby rozprzestrzenić infekcję, musisz pobrać inny plik wykonywalny, wysłać go do innego użytkownika, który używa maszyny tylko jako root, i powtórzyć proces.
Taka sytuacja może mieć miejsce w systemach operacyjnych, w których konieczne jest bycie administratorem do typowych zadań lub uruchamianie wielu codziennych aplikacji. Ale w systemie Unix trzeba być administratorem, aby skonfigurować maszynę i zmodyfikować pliki konfiguracyjne, więc liczba użytkowników, których konto root używa jako konto codzienne, jest niewielka. To więcej; niektóre dystrybucje Linuksa nie mają nawet włączonego konta root. W prawie wszystkich z nich, jeśli uzyskasz dostęp do środowiska graficznego jako takiego, tło zmienia się na intensywną czerwień i powtarzają się ciągłe komunikaty, które przypominają, że to konto nie powinno być używane.
Wreszcie wszystko, co należy zrobić jako root, można wykonać za pomocą polecenia sudo bez ryzyka.
Z tego powodu w Linuksie plik wykonywalny nie może infekować innych, dopóki nie używamy konta roota jako konta do wspólnego użytku; I chociaż firmy antywirusowe upierają się przy twierdzeniu, że istnieją wirusy dla Linuksa, tak naprawdę najbliższą rzeczą, jaką można stworzyć w Linuksie, jest trojan w obszarze użytkownika. Jedynym sposobem, w jaki te trojany mogą wpłynąć na coś w systemie, jest uruchomienie go jako root i z niezbędnymi uprawnieniami. Jeśli zwykle używamy maszyny jako zwykli użytkownicy, nie jest możliwe, aby proces uruchomiony przez zwykłego użytkownika zainfekował system.

Mity i kłamstwa:

Znajdujemy wiele mitów, żartów i po prostu kłamstw na temat wirusów w Linuksie. Zróbmy ich listę na podstawie dyskusji, która miała miejsce jakiś czas temu z przedstawicielem producenta oprogramowania antywirusowego dla Linuksa, który był bardzo urażony artykułem opublikowanym w tym samym magazynie.
Ta dyskusja jest dobrym przykładem odniesienia, ponieważ dotyczy wszystkich aspektów wirusów w Linuksie. Mamy zamiar przejrzeć wszystkie te mity jeden po drugim, tak jak zostały omówione w tej konkretnej dyskusji, ale które były wielokrotnie powtarzane na innych forach.

Mit 1:
"Nie wszystkie złośliwe programy, w szczególności wirusy, wymagają uprawnień roota, aby zarażać, zwłaszcza w przypadku wirusów wykonywalnych (format ELF), które infekują inne pliki wykonywalne".

Odpowiedź:
Ktokolwiek wysuwa takie twierdzenie, nie wie, jak działa system uprawnień Unix. Aby mieć wpływ na plik, wirus musi mieć przywilej odczytu - musi zostać odczytany, aby go zmodyfikować - i zapisać - musi zostać zapisany, aby modyfikacja była poprawna - w pliku wykonywalnym, który chce wykonać.
Tak jest zawsze, bez wyjątków. W każdej z dystrybucji użytkownicy inni niż root nie mają tych uprawnień. Wtedy po prostu nie będąc rootem, infekcja nie jest możliwa. Test empiryczny: w poprzedniej sekcji widzieliśmy prosty skrypt sprawdzający zakres plików, na które może mieć wpływ infekcja. Jeśli uruchomimy go na naszym komputerze, zobaczymy, że jest on pomijalny, aw przypadku plików systemowych zerowy. Ponadto, w przeciwieństwie do systemów operacyjnych, takich jak Windows, nie trzeba mieć uprawnień administratora, aby wykonywać typowe zadania za pomocą programów powszechnie używanych przez zwykłych użytkowników.

Mit 2:
"Nie muszą też być rootem, aby zdalnie wejść do systemu, w przypadku Slappera, robaka, który wykorzystując lukę w zabezpieczeniach protokołu SSL Apache (certyfikaty umożliwiające bezpieczną komunikację), utworzył własną sieć maszyn zombie we wrześniu 2002 roku.".

Odpowiedź:
Ten przykład nie odnosi się do wirusa, ale robaka. Różnica jest bardzo ważna: robak to program wykorzystujący usługę do transmisji siebie przez Internet. Nie ma to wpływu na programy lokalne. Dlatego dotyczy tylko serwerów; nie do konkretnych maszyn.
Robaki zawsze były bardzo nieliczne, a ich częstość występowania była znikoma. Trzy naprawdę ważne narodziły się w latach 80-tych, kiedy internet był niewinny i wszyscy ufali każdemu. Pamiętajmy, że to one miały wpływ na sendmail, fingerd i rexec. Dziś sprawy są bardziej skomplikowane. Chociaż nie możemy zaprzeczyć, że pozostają i że jeśli nie są kontrolowane, są niezwykle niebezpieczne. Ale teraz czasy reakcji na robaki są bardzo krótkie. Tak jest w przypadku Slappera: robaka utworzonego w oparciu o lukę wykrytą i załataną na dwa miesiące przed pojawieniem się samego robaka.
Nawet zakładając, że wszyscy używający Linuksa mieli zainstalowany i uruchomiony Apache przez cały czas, po prostu comiesięczna aktualizacja pakietów byłaby więcej niż wystarczająca, aby nigdy nie ryzykować.
Prawdą jest, że błąd SSL, który spowodował Slapper, był krytyczny - w rzeczywistości był to największy błąd znaleziony w całej historii SSL2 i SSL3 - i jako taki został naprawiony w ciągu kilku godzin. Że dwa miesiące po tym, jak ten problem został znaleziony i rozwiązany, ktoś zrobił robaka na błędzie, który został już poprawiony i że jest to najpotężniejszy przykład, jaki można podać jako lukę, przynajmniej uspokaja.
Z reguły rozwiązaniem dla robaków nie jest kupowanie programu antywirusowego, instalowanie go i marnowanie czasu na przetwarzanie danych na jego rezydenturę. Rozwiązaniem jest skorzystanie z systemu aktualizacji bezpieczeństwa naszej dystrybucji: po zaktualizowaniu dystrybucji nie będzie żadnych problemów. Uruchamianie tylko usług, których potrzebujemy, jest również dobrym pomysłem z dwóch powodów: usprawniamy wykorzystanie zasobów i unikamy problemów z bezpieczeństwem.

Mit 3:
"Nie sądzę, że rdzeń jest niezniszczalny. W rzeczywistości istnieje grupa złośliwych programów o nazwie LRK (Linux Rootkits Kernel), które są oparte właśnie na fakcie, że wykorzystują luki w zabezpieczeniach modułów jądra i zastępują pliki binarne systemu.".

Odpowiedź:
Rootkit to w zasadzie łatka na jądro, która pozwala ukryć istnienie niektórych użytkowników i procesów przed zwykłymi narzędziami, dzięki temu, że nie pojawią się one w katalogu / proc. Normalną rzeczą jest to, że używają go pod koniec ataku, w pierwszej kolejności zamierzają wykorzystać zdalną lukę, aby uzyskać dostęp do naszej maszyny. Następnie podejmą sekwencję ataków, aby eskalować uprawnienia do momentu uzyskania konta roota. Problem, kiedy to robią, polega na tym, jak zainstalować usługę na naszym komputerze bez wykrycia: tu pojawia się rootkit. Tworzony jest użytkownik, który będzie efektywnym użytkownikiem usługi, którą chcemy ukryć, instaluje rootkita i ukrywa zarówno tego użytkownika, jak i wszystkie procesy należące do tego użytkownika.
To, jak ukryć istnienie użytkownika jest przydatne dla wirusa, to coś, o czym moglibyśmy długo dyskutować, ale wirus, który używa rootkita do instalacji, wydaje się zabawny. Wyobraźmy sobie mechanikę wirusa (w pseudokodzie):
1) Wirus dostaje się do systemu.
2) Zlokalizuj kod źródłowy jądra. Jeśli tak nie jest, instaluje go sam.
3) Skonfiguruj jądro dla opcji sprzętowych, które mają zastosowanie do danej maszyny.
4) Skompiluj jądro.
5) Zainstaluj nowe jądro; modyfikowanie LILO lub GRUB, jeśli to konieczne.
6) Uruchom ponownie maszynę.

Kroki (5) i (6) wymagają uprawnień roota. Nieco skomplikowane jest to, że kroki (4) i (6) nie są wykrywane przez zainfekowanych. Ale zabawne jest to, że jest ktoś, kto wierzy, że istnieje program, który może automatycznie wykonać krok (2) i (3).
W kulminacji, jeśli spotkamy kogoś, kto mówi nam, że „gdy będzie więcej komputerów z systemem Linux, będzie więcej wirusów” i zaleci „instalowanie programu antywirusowego i jego ciągłe aktualizowanie”, prawdopodobnie jest to związane z firmą, która sprzedaje program antywirusowy i aktualizacje . Uważaj, prawdopodobnie ten sam właściciel.

Antywirus dla systemu Linux:

Prawdą jest, że istnieje dobry program antywirusowy dla systemu Linux. Problem polega na tym, że nie robią tego, co twierdzą zwolennicy oprogramowania antywirusowego. Jego funkcją jest filtrowanie poczty, która przechodzi ze złośliwego oprogramowania i wirusów do systemu Windows, a także weryfikowanie obecności wirusów Windows w folderach eksportowanych przez SAMBA; więc jeśli używamy naszej maszyny jako bramy pocztowej lub serwera NAS dla maszyn Windows, możemy je chronić.

Małż-AV:

Nie zakończymy naszego raportu bez omówienia głównego programu antywirusowego dla systemu GNU / Linux: ClamAV.
ClamAV to bardzo potężny program antywirusowy GPL, który kompiluje się dla większości systemów Unix dostępnych na rynku. Służy do analizowania załączników do wiadomości pocztowych przechodzących przez stację i filtrowania ich pod kątem wirusów.
Ta aplikacja doskonale integruje się z sendmailem, umożliwiając filtrowanie wirusów, które mogą być przechowywane na serwerach Linux dostarczających pocztę do firm; posiadanie codziennie aktualizowanej bazy danych wirusów z obsługą cyfrową. Baza danych jest aktualizowana kilka razy dziennie i jest to żywy i bardzo ciekawy projekt.
Ten potężny program jest w stanie analizować wirusy nawet w załącznikach w bardziej złożonych formatach do otwarcia, takich jak RAR (2.0), Zip, Gzip, Bzip2, Tar, MS OLE2, pliki MS Cabinet, MS CHM (HTML COprinted) i MS SZDD.
ClamAV obsługuje także pliki pocztowe w formacie mbox, Maildir i RAW oraz pliki Portable Executable skompresowane przy użyciu UPX, FSG i Petite. Clam AV i para spamassassin to idealna para do ochrony naszych klientów Windows przed serwerami pocztowymi Unix.

WNIOSEK

Na pytanie Czy w systemach Linux są luki? odpowiedź z pewnością brzmi tak.
Nikt przy zdrowych zmysłach w to nie wątpi; Linux to nie OpenBSD. Inną rzeczą jest okno luk w zabezpieczeniach systemu Linux, które jest odpowiednio zaktualizowane. Jeśli zadamy sobie pytanie, czy istnieją narzędzia do wykorzystania tych luk w zabezpieczeniach i ich wykorzystania? Cóż, tak, ale to nie są wirusy, to exploity.

Wirus musi pokonać kilka innych trudności, które obrońcy Windowsa zawsze stawiali jako lukę / problem Linuksa i które komplikują istnienie prawdziwych wirusów - przekompilowanych jąder, wielu wersji wielu aplikacji, wielu dystrybucji, rzeczy, które nie są automatycznie przekazywane użytkownikowi w sposób przejrzysty itp .–. Obecne teoretyczne „wirusy” należy zainstalować ręcznie z konta roota. Ale tego nie można uznać za wirusa.
Jak zawsze powtarzam swoim uczniom: nie wierzcie mi, proszę. Pobierz i zainstaluj rootkita na komputerze. A jeśli chcesz więcej, przeczytaj kod źródłowy „wirusów” na rynku. Prawda jest w kodzie źródłowym. Trudno jest „samozwańczym” wirusowi nazywać go w ten sposób po przeczytaniu jego kodu. A jeśli nie wiesz, jak czytać kod, jeden prosty środek bezpieczeństwa, który zalecam: używaj konta root tylko do zarządzania maszyną i aktualizuj aktualizacje zabezpieczeń.
Tylko dzięki temu wirusy nie dostaną się do Ciebie i jest bardzo mało prawdopodobne, że robaki lub ktoś zaatakują Twoją maszynę.


Dodaj jako preferowane źródło w Google