Porównanie programów antywirusowych dla systemu Linux
Wirusy rozprzestrzeniają się (albo przynajmniej próbują) między innymi przez pocztę elektroniczną. Najprostszą metodą obrony jest skanowanie całej poczty przychodzącej i wychodzącej programem antywirusowym na serwerze obsługującym pocztę.
Niestety jako że nie ma rzeczy doskonałych, w pewnym momencie staje się przed wyborem programu antywirusowego.
Test antywirusów
Oczywiście każdy producent zachwala swój produkt. Należy więc zastanowić się który produkt rzeczywiście działa dobrze, a który kiepsko.Niniejszy dokument jest opisem trzeciego testu programów antywirusowych dla systemu Linux.
Po raz trzeci przetestowałem kilka dostępnych programów pod kątem wirusów wychwyconych na serwerze pocztowym w IFM przez program Clam Antivirus. Okazuje się że w różnych okresach bazy tego programu wyłapały mi kilka plików które w świeżej wersji bazy nie są rozpoznawane jako zawirusowane!
Przetestowane programy
(wszystkie bazy wirusów były aktualizowane 12.06.2007 po godzinie 12:00):
| Nazwa | Wersja | Baza wirusów | Uruchomienie |
| Programy MKS, Avira oraz Panda posiadają kilkustopniową heurystykę, stąd 3-krotne wystąpienie tych programów w powyższej tabeli. |
Clam Antivirus |
0.91rc1 |
3406 (12.06.2007) |
clamscan --recursive ./ > OUT |
MKS |
2.0.1 |
11.06.2007 |
mks_unix -r --heuristic=0 ./* --logfile=OUT |
MKS |
2.0.1 |
11.06.2007 |
mks_unix -r --heuristic=2 ./* --logfile=OUT |
MKS |
2.0.1 |
11.06.2007 |
mks_unix -r --heuristic=4 ./* --logfile=OUT |
BitDefender |
7.60825 |
7.13392 (12.06.2007) |
bdscan ./ > OUT |
F-Prot wersja |
4.6.8 |
11.06.2007 |
f-prot ./ > OUT |
Avira |
2.1.10-47 |
6.38.2.21 |
antivir --scan-in-mbox -s --allfiles -z --heur-level=0 ./ > OUT |
Avira |
2.1.10-47 |
6.38.2.21 |
antivir --scan-in-mbox -s --allfiles -z --heur-level=1 ./ > OUT |
Avira |
2.1.10-47 |
6.38.2.21 |
antivir --scan-in-mbox -s --allfiles -z --heur-level=3 ./ > OUT |
Avast |
1.0.8 |
000748-4 (12.06.2007) |
avast -tA -n ./ > OUT |
Panda |
9.0.0 |
10/06/2007 |
pavcl -auto -aex -nob -heu 0 -nor ./ > OUT |
Panda |
9.0.0 |
10/06/2007 |
pavcl -auto -aex -nob -heu 1 -nor ./ > OUT |
Panda |
9.0.0 |
10/06/2007 |
pavcl -auto -aex -nob -heu 3 -nor ./ > OUT |
Niestety nie udało się przetestować następujących programów:
- F-Secure - wymaga systemu obsługującego pakiety RPM (RedHat/Mandriva/SuSE)
- NOD32 - nie ma wersji testowej
- Sophos - nie ma wersji testowej
- AVG - wersja free nie posiadała licencji
Uwaga - program ClamAV testowany był w wersji "Release Candidate" z
uwagi na błąd w obsłudze baz wirusów. W tej wersji problem został
rozwiązany.
Przy wyborze testowanych programów oparłem się na czterech
cechach:
- udało mi się znaleźć dany program antywirusowy;
- był w wersji dla Linuksa;
- była do pobrania wersja testowa/bezpłatna;
- program można zainstalować w dowolnej dystrybucji.
Posiadam 5 pakietów z zawirusowanymi listami.
| Nazwa | Ilość | Ilość ważnych | Rozmiar |
| Wirusy z okresu 13.09.2005 - 15.02.2006. |
12340 |
10111 |
595.28 MB |
| Wirusy z okresu 1.06.2005 - 13.09.2005. |
37087 |
35244 |
1016.24 MB |
| Wirusy z okresu 1.05.2005 - 31.05.2005. |
50785 |
50447 |
1.08 GB |
| Wirusy z okresu 15.02.2006 - 17.08.2006. |
12598 |
9403 |
624.87 MB |
| Wirusy z okresu 18.08.2005 - 8.10.2006. |
3289 |
717 |
99.39 MB |
| Suma wyników powyższych testów |
116099 |
105922 |
3.36 GB |
W poniższym zestawieniu użyte jest sformułowanie "ważne" wirusy.
Pojęciem tym określiłem wszystkie zagrożenia typu innego niż
HTML.Phishing.
Test: Wirusy z okresu 13.09.2005 - 15.02.2006.
| Program | Ilość wykrytych | % wykrytych | Ilość wykrytych ważnych | % wykrytych ważnych | Czas (s) | % czas w stosunku do najszybszego |
|
Najwięcej wykrytych
Najwięcej wykrytych ważnych
Najwięcej wykrytych (również najwięcej wykrytych ważnych)
Najszybszy
|
Clam AV |
12149 |
98.45 |
9920 |
98.11 |
309 |
572 |
MKS bez heurystyki |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z heurystyką 1 |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z pełną heurystyką |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
BitDefender |
10647 |
86.28 |
10093 |
99.82 |
500 |
926 |
F-Prot |
10108 |
81.91 |
10076 |
99.65 |
54 |
100 |
Avira bez heurystyki |
10581 |
85.75 |
10089 |
99.78 |
464 |
859 |
Avira z heurystyką 1 |
10581 |
85.75 |
10089 |
99.78 |
462 |
856 |
Avira z pełną heurystyką |
10589 |
85.81 |
10089 |
99.78 |
462 |
856 |
Avast |
10093 |
81.79 |
10047 |
99.37 |
288 |
533 |
Panda bez heurystyki |
6781 |
54.95 |
6773 |
66.99 |
376 |
696 |
Panda z heurystyką 1 |
6781 |
54.95 |
6773 |
66.99 |
377 |
698 |
Panda z pełną heurystyką |
6781 |
54.95 |
6773 |
66.99 |
377 |
698 |
Test: Wirusy z okresu 1.06.2005 - 13.09.2005.
| Program | Ilość wykrytych | % wykrytych | Ilość wykrytych ważnych | % wykrytych ważnych | Czas (s) | % czas w stosunku do najszybszego |
|
Najwięcej wykrytych
Najwięcej wykrytych ważnych
Najwięcej wykrytych (również najwięcej wykrytych ważnych)
Najszybszy
|
Clam AV |
37076 |
99.97 |
35233 |
99.97 |
889 |
1125 |
MKS bez heurystyki |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z heurystyką 1 |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z pełną heurystyką |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
BitDefender |
35678 |
96.2 |
35240 |
99.99 |
1759 |
2227 |
F-Prot |
35243 |
95.03 |
35238 |
99.98 |
79 |
100 |
Avira bez heurystyki |
35271 |
95.1 |
35239 |
99.99 |
968 |
1225 |
Avira z heurystyką 1 |
35271 |
95.1 |
35239 |
99.99 |
993 |
1257 |
Avira z pełną heurystyką |
35272 |
95.11 |
35239 |
99.99 |
993 |
1257 |
Avast |
35195 |
94.9 |
35190 |
99.85 |
543 |
687 |
Panda bez heurystyki |
32460 |
87.52 |
32447 |
92.06 |
646 |
818 |
Panda z heurystyką 1 |
32460 |
87.52 |
32447 |
92.06 |
626 |
792 |
Panda z pełną heurystyką |
32460 |
87.52 |
32447 |
92.06 |
614 |
777 |
Test: Wirusy z okresu 1.05.2005 - 31.05.2005.
| Program | Ilość wykrytych | % wykrytych | Ilość wykrytych ważnych | % wykrytych ważnych | Czas (s) | % czas w stosunku do najszybszego |
|
Najwięcej wykrytych
Najwięcej wykrytych ważnych
Najwięcej wykrytych (również najwięcej wykrytych ważnych)
Najszybszy
|
Clam AV |
50777 |
99.98 |
50439 |
99.98 |
1147 |
1159 |
MKS bez heurystyki |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z heurystyką 1 |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z pełną heurystyką |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
BitDefender |
50577 |
99.59 |
50444 |
99.99 |
2552 |
2578 |
F-Prot |
50444 |
99.33 |
50444 |
99.99 |
99 |
100 |
Avira bez heurystyki |
50451 |
99.34 |
50447 |
100 |
1261 |
1274 |
Avira z heurystyką 1 |
50451 |
99.34 |
50447 |
100 |
1272 |
1285 |
Avira z pełną heurystyką |
50452 |
99.34 |
50447 |
100 |
1231 |
1243 |
Avast |
50430 |
99.3 |
50428 |
99.96 |
647 |
654 |
Panda bez heurystyki |
49946 |
98.35 |
49946 |
99.01 |
847 |
856 |
Panda z heurystyką 1 |
49946 |
98.35 |
49946 |
99.01 |
853 |
862 |
Panda z pełną heurystyką |
49946 |
98.35 |
49946 |
99.01 |
847 |
856 |
Test: Wirusy z okresu 15.02.2006 - 17.08.2006.
| Program | Ilość wykrytych | % wykrytych | Ilość wykrytych ważnych | % wykrytych ważnych | Czas (s) | % czas w stosunku do najszybszego |
|
Najwięcej wykrytych
Najwięcej wykrytych ważnych
Najwięcej wykrytych (również najwięcej wykrytych ważnych)
Najszybszy
|
Clam AV |
12491 |
99.15 |
9296 |
98.86 |
323 |
659 |
MKS bez heurystyki |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z heurystyką 1 |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z pełną heurystyką |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
BitDefender |
9917 |
78.72 |
9394 |
99.9 |
832 |
1698 |
F-Prot |
9375 |
74.42 |
9366 |
99.61 |
49 |
100 |
Avira bez heurystyki |
11449 |
90.88 |
9395 |
99.91 |
733 |
1496 |
Avira z heurystyką 1 |
11449 |
90.88 |
9395 |
99.91 |
731 |
1492 |
Avira z pełną heurystyką |
11453 |
90.91 |
9395 |
99.91 |
732 |
1494 |
Avast |
9356 |
74.27 |
9356 |
99.5 |
275 |
561 |
Panda bez heurystyki |
6070 |
48.18 |
6070 |
64.55 |
298 |
608 |
Panda z heurystyką 1 |
6070 |
48.18 |
6070 |
64.55 |
297 |
606 |
Panda z pełną heurystyką |
6070 |
48.18 |
6070 |
64.55 |
297 |
606 |
Test: Wirusy z okresu 18.08.2005 - 8.10.2006.
| Program | Ilość wykrytych | % wykrytych | Ilość wykrytych ważnych | % wykrytych ważnych | Czas (s) | % czas w stosunku do najszybszego |
|
Najwięcej wykrytych
Najwięcej wykrytych ważnych
Najwięcej wykrytych (również najwięcej wykrytych ważnych)
Najszybszy
|
Clam AV |
3289 |
100 |
717 |
100 |
58 |
644 |
MKS bez heurystyki |
466 |
14.17 |
644 |
89.82 |
164 |
1822 |
MKS z heurystyką 1 |
469 |
14.26 |
647 |
90.24 |
163 |
1811 |
MKS z pełną heurystyką |
469 |
14.26 |
647 |
90.24 |
199 |
2211 |
BitDefender |
740 |
22.5 |
715 |
99.72 |
384 |
4267 |
F-Prot |
715 |
21.74 |
715 |
99.72 |
9 |
100 |
Avira bez heurystyki |
2360 |
71.75 |
717 |
100 |
256 |
2844 |
Avira z heurystyką 1 |
2360 |
71.75 |
717 |
100 |
255 |
2833 |
Avira z pełną heurystyką |
2360 |
71.75 |
717 |
100 |
257 |
2856 |
Avast |
713 |
21.68 |
713 |
99.44 |
50 |
556 |
Panda bez heurystyki |
616 |
18.73 |
616 |
85.91 |
47 |
522 |
Panda z heurystyką 1 |
616 |
18.73 |
616 |
85.91 |
47 |
522 |
Panda z pełną heurystyką |
616 |
18.73 |
616 |
85.91 |
47 |
522 |
Test: Suma wyników powyższych testów
| Program | Ilość wykrytych | % wykrytych | Ilość wykrytych ważnych | % wykrytych ważnych | Czas (s) | % czas w stosunku do najszybszego |
|
Najwięcej wykrytych
Najwięcej wykrytych ważnych
Najwięcej wykrytych (również najwięcej wykrytych ważnych)
Najszybszy
|
Clam AV |
115782 |
99.73 |
105605 |
99.7 |
2726 |
940 |
MKS bez heurystyki |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z heurystyką 1 |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
MKS z pełną heurystyką |
B/D |
B/D |
B/D |
B/D |
B/D |
B/D |
BitDefender |
107559 |
92.64 |
105886 |
99.97 |
6027 |
2078 |
F-Prot |
105885 |
91.2 |
105839 |
99.92 |
290 |
100 |
Avira bez heurystyki |
110112 |
94.84 |
105887 |
99.97 |
3682 |
1270 |
Avira z heurystyką 1 |
110112 |
94.84 |
105887 |
99.97 |
3713 |
1280 |
Avira z pełną heurystyką |
110126 |
94.86 |
105887 |
99.97 |
3675 |
1267 |
Avast |
105787 |
91.12 |
105734 |
99.82 |
1803 |
622 |
Panda bez heurystyki |
95873 |
82.58 |
95852 |
90.49 |
2214 |
763 |
Panda z heurystyką 1 |
95873 |
82.58 |
95852 |
90.49 |
2200 |
759 |
Panda z pełną heurystyką |
95873 |
82.58 |
95852 |
90.49 |
2182 |
752 |
Widać jest iż w przypadku programu Panda działanie skanera heurystycznego jest dosyć wątpliwej skuteczności. Również heurystyka programu Avira
jest niezbyt skuteczna - dzięki włączeniu skanowania heurystycznego Avira wykrywa dodatkowo 14 zagrożeń typu HTML.Phishing w stosunku do tego samego programu w wyłączoną heurystyką.
Patrząc na szybkość działania, łatwo zauważyć, iż podobnie jak w poprzednich testach najszybszy jest program F-Prot. Jednak różnica w szybkości działania jest tym razem kolosalna.
ClamAV jest średnio 9,5-krotnie wolniejszy od F-Prota!
Oczywiście mierzenie w taki sposób szybkości działania jest niezbyt
obiektywne. Wkrótce test zostanie ponowiony z użyciem wersji usługi
działającej stale (daemon). Czasy na pewno ulegną zmianie. Podejrzewam
że różnice pozostaną i zmieni się jedynie współczynnik czasu. A okaże
się już wkrótce.
Wracając do wyników - pozytywnie zaskoczył program Avira (następca programu H+BEDV), który w poprzednich testach nie zachwycił wynikami. Nowość w teście, program Panda, niestety nie okazał się czarnym koniem.
Wprawdzie szybkoś działania jest pocieszająca, jednak nie to jest najważniejsze. Kiepski wynik programu ClamAV można łatwo wyjaśnić. Program raportuje pliki z uszkodzonymi archiwami zip nie testując ich pod kątem zawirusowania.
Podobnie program MKS
raportuje uszkodzone archiwa niw sprawdzając ich pod kątem
zawirusowania. Na liście mailingowej dotyczącej programu ClamAV
znalazłem informację iż jest to celowe działanie - uszkodzone archiwum
nie jest w stanie skutecznie uaktywnić kodu wirusa, a dzięki temu
skraca się czas skanowania pod kątem zawirusowania. Dodatkowo można
ustalić w zewnętrznej aplikacji korzystającej z wyników działania
antywirusa, aby uszkodzone archiwa były odpowiednio obsłużone (np.
usunięte tak jak pliki zawirusowane).
Niestety programiści MKS'a mają dosyś dziwną interpretację
pojęcia "rekursywny". Próba przeskanowania więcej niż 5000 plików
rozmieszczonych w kilkunastu podkatalogach przerasta możliwości
skanera. W Linuksie często katalogi zawierają po kilkadziesiąt tysięcy
plików, więc ograniczenie tego typu nie jest zbyt korzystne. Po
wykonaniu skanu na najmniejszej próbce wirusów podjąłem decyzję o
odpuszczeniu skanowania
tym programem pozostałych próbek (zbyt dużo czasu należałoby poświęcić
na przygotowanie katalogów dla MKS'a,
a uzyskane wyniki w jednej próbie pozwalają podejrzewać że wynik nie
znajdzie się w czołówce).
Program ten będzie poddany jeszcze jednej próbie - skanowania poprzez
skaner rezydentny (w trybie daemona). Może wtedy uda się uzyskać pełne
wyniki.
Poniżej prezentuję listę uzyskanych wyników.
Pozostaje jeszcze podsumowanie.
Oczywiście każdy potrafi sam ocenić
przedstawione liczby. Niestety tak na prawdę liczby te nie oznaczają
bezwzględnie jakości poszczególnych programów. Przede wszystkim zwrócić
należy uwagę na fakt, iż wszystkie skanowane listy są listami
wychwyconymi przez programy antywirusowe pracujące w różnych okresach
czasu na serwerze pocztowym Instytutu Fizyki Molekularnej PAN. Nie jest
zatem w 100% pewne, czy wśród tych listów nie ma błędnie oznakowanych
zawirusowań (false positives). Należy brać jeszcze pod uwagę możliwość
wystąpienia wirusów których nie wykrywa program ClamAV, a które
wykrywane są przez inne z testowanych programów.
Test ten daje jednak pewien konkretny obraz dotyczący różnic pomiędzy
programami. Różnice są, i niestety są znaczne. Przede wszystkim ClamAV
jest nastawiony na wykrywanie prób phishingu, w przeciwieństwie do pozostałych programów, które z założenia pozostawiają tą kwestię programom anty-spyware'owym.
Osobiście zaskoczony jestem postępem programu Avira. W
poprzedniej wersji (H+BEDV) wyniki były niezbyt pozytywne. Tym razem
program uzyskał najlepszy wynik, przepuszczając tylko 35 zawirusowanych
na 105922 testowanych listów.
Przyglądając się bliżej listom nieoznakowanym jako zawirusowane, widać
iż Avira nie wykryła:
- W pierwszym teście:
- 1 szt. Worm.Sober.U-3 - wykryty przez ClamAV, BitDefender, F-Prot i Panda
- 1 szt. JS.Feebs.G - wykryty przez ClamAV, BitDefender, Avast i Panda
- 1 szt. Worm.Sober.U-2 - wykryty przez ClamAV, BitDefender i Avast
- 19 szt. wirus nie oznakowany przez nowsze wersje ClamAV - najświeższy ClamAV wykrył 1 spośród tych 19 listów jako zawirusowany
- W drugim teście:
- 4 szt. Trojan.Dropper.Agent-9-zippwd - wykryty przez ClamAV, BitDefender i F-Prot
- 1 szt. wirus nie oznakowany przez nowsze wersje ClamAV - żaden progam nie wykrył w tym liście wirusa
- W czwartym teście:
- 5 szt. Email.Phishing.Pay-5 - wykryty przez ClamAV
- 2 szt. wirus nie oznakowany przez nowsze wersje ClamAV - żaden progam nie wykrył w tym liście wirusa
- 1 szt. W32.CIH.1003 - wykryty przez ClamAV i BitDefender
Widać iż 9 spośród tych 35 listów zostało wykrytych przez co
najmniej 2 inne programy antywirusowe. Można więc z pewną dozą
niepewności uznać, iż Avira zdała test z wynikiem 105913/105922, co
daje 99.992% skuteczności.
Ten test zakończę bez wystawiania żadnych dodatkowych ocen.
Zainteresowani mogą sami przeanalizować na wszelkie potrzebne sposoby
zebrane przeze mnie dane. Są one dostępne w formacie tabel HTML, które
łatwo można otworzyć w dowolnym arkuszu kalkulacyjnym.
Ostatnia aktualizacja: 20.06.2007 19:30
Wszystkie testy wykonane przez autora tekstu na sprzęcie Instytutu Fizyki Molekularnej PAN.
Konfiguracja: 2x AMD Athlon MP 2.0GHz, 2GB RAM, kernel 2.6.7 (SMP), libc 2.3.3.
Użyty serwer w czasie testów nie wykonywał żadnych innych zadań.
Wszelkie prawa zastrzeżone. Jeżeli chcesz umieścić wyniki pracy autora w swojej publikacji - musisz uzyskać zgodę autora.
---
|