Niniejszy dokument jest opisem trzeciego testu programów antywirusowych dla systemu Linux mojego autorstwa.
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. 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.
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:
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:
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.
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 |
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 |
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 |
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 |
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 |
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.
Test | Wyniki wszystkie | Wyniki ważne |
---|---|---|
Wirusy z okresu 13.09.2005 - 15.02.2006. | Zobacz wszystkie wyniki | Zobacz różnice | Zobacz "ważne" wyniki | Zobacz różnice |
Wirusy z okresu 1.06.2005 - 13.09.2005. | Zobacz wszystkie wyniki | Zobacz różnice | Zobacz "ważne" wyniki | Zobacz różnice |
Wirusy z okresu 1.05.2005 - 31.05.2005. | Zobacz wszystkie wyniki | Zobacz różnice | Zobacz "ważne" wyniki | Zobacz różnice |
Wirusy z okresu 15.02.2006 - 17.08.2006. | Zobacz wszystkie wyniki | Zobacz różnice | Zobacz "ważne" wyniki | Zobacz różnice |
Wirusy z okresu 18.08.2005 - 8.10.2006. | Zobacz wszystkie wyniki | Zobacz różnice | Zobacz "ważne" wyniki | Zobacz różnice |
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:
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.