Firma Cisco zaprezentowała nową, istotną wersję wolnego pakietu antywirusowego ClamAV 0.104.0. Przypomnijmy, że projekt przeszedł w ręce Cisco w 2013 roku po zakupie firmy Sourcefire, która rozwijała ClamAV i Snort. Kod projektu jest dostępny na licencji GPLv2.
Jednocześnie firma Cisco ogłosiła rozpoczęcie tworzenia gałęzi ClamAV z długoterminowym wsparciem (LTS), które będą poddawane wsparciu przez trzy lata od momentu publikacji pierwszej wersji w danej gałęzi. Pierwszą gałęzią LTS będzie ClamAV 0.103, dla której aktualizacje usuwające luki i krytyczne problemy będą publikowane do 2023 roku.
Aktualizacje dla zwykłych gałęzi, które nie są zaliczane do kategorii LTS, będą publikowane przynajmniej przez kolejne 4 miesiące po wydaniu pierwszej wersji następnej gałęzi (na przykład aktualizacje dla gałęzi ClamAV 0.104.x będą publikowane jeszcze 4 miesiące po wydaniu ClamAV 0.105.0). Możliwość pobrania bazy sygnatur dla gałęzi nie-LTS również będzie zapewniona przez co najmniej 4 miesiące po wydaniu następnej gałęzi.
Kolejną znaczącą zmianą było wprowadzenie oficjalnych pakietów instalacyjnych, które umożliwiają aktualizację bez konieczności ponownego kompilowania z kodu źródłowego oraz czekania na dostępność pakietów w dystrybucjach. Pakiety zostały przygotowane dla systemu Linux (w formatach RPM i DEB dla architektur x86_64 i i686), macOS (dla x86_64 i ARM64, w tym wsparcie dla chipu Apple M1) oraz Windows (x64 i win32). Dodatkowo rozpoczęto publikację oficjalnych obrazów kontenerów w Docker Hub (proponowane są obrazy zarówno z wbudowaną bazą sygnatur, jak i bez niej). W przyszłości zaplanowano publikację pakietów RPM i DEB dla architektury ARM64 oraz umieszczenie wersji dla FreeBSD (x86_64).
Kluczowe ulepszenia w ClamAV 0.104:
- Przejście na system budowy CMake, którego posiadanie jest teraz obowiązkowe do budowy ClamAV. Wsparcie dla systemów budowy Autotools i Visual Studio zostało zaprzestane.
- Usunięto wbudowane komponenty LLVM na rzecz wykorzystania już istniejących zewnętrznych bibliotek LLVM. W czasie wykonywania, do przetwarzania sygnatur z wbudowanym kodem bajtowym, domyślnie używany jest interpreter kodu bajtowego, który nie obsługuje JIT. W razie konieczności użycia LLVM zamiast interpretera kodu bajtowego, podczas budowy należy wyraźnie wskazać ścieżki do bibliotek LLVM 3.6.2 (wsparcie dla nowszych wydań planowane jest w przyszłości).
- Procesy clamd i freshclam są teraz dostępne jako usługi w Windows. Aby zainstalować te usługi, można użyć opcji „—install-service”, a do uruchomienia używać standardowej komendy „net start [name]”.
- Dodano nową opcję skanowania, która ostrzega o przesyłaniu uszkodzonych plików graficznych, przez które potencjalnie mogą być wykorzystywane luki w bibliotekach graficznych. Sprawdzenie poprawności formatu jest realizowane dla plików JPEG, TIFF, PNG i GIF i jest włączane przez ustawienie AlertBrokenMedia w clamd.conf lub opcję wiersza poleceń „—alert-broken-media” w clamscan.
- Dodano nowe typy CL_TYPE_TIFF i CL_TYPE_JPEG dla spójności z definicją plików w formatach GIF i PNG. Typy BMP i JPEG 2000 wciąż są określane jako CL_TYPE_GRAPHICS, ponieważ nie ma dla nich wsparcia w analizie formatu.
- W ClamScan dodano wyraźny wskaźnik postępu ładowania sygnatur i kompilacji silnika, które są realizowane przed rozpoczęciem skanowania. Wskaźnik nie jest wyświetlany przy uruchamianiu spoza terminala lub po podaniu jednej z opcji „—debug”, „—quiet”, „—infected”, „—no-summary”.
- W libclamav dodano wywołania zwrotne do wyświetlania postępu, cl_engine_set_clcb_sigload_progress(), cl_engine_set_clcb_engine_compile_progress() oraz engine free: cl_engine_set_clcb_engine_free_progress(), które pozwalają aplikacjom śledzić i oceniać czas realizacji wstępnych etapów ładowania i kompilacji sygnatur.
- Do opcji VirusEvent dodano wsparcie dla maski formatowania ciągu „%f” do podstawienia ścieżki do pliku, w którym wykryto wirusa (analogicznie do maski „%v” z nazwą wykrytego wirusa). W VirusEvent podobna funkcjonalność jest również dostępna za pośrednictwem zmiennych środowiskowych $CLAM_VIRUSEVENT_FILENAME i $CLAM_VIRUSEVENT_VIRUSNAME.
- Udoskonalono działanie modułu dekompresji skryptów AutoIt.
- Dodano wsparcie do ekstrakcji obrazów z plików *.xls (Excel OLE2).
- Zapewniono możliwość wgrywania hashy Authenticode na bazie algorytmu SHA256 w postaci plików *.cat (służą do weryfikacji plików wykonywalnych Windows, podpisanych cyfrowo).
Źródło: opennet.ru
