Ochrona antywirusowa oparta o Open Source Franciszek Lewenda Zespół Integracji i Bezpieczestwa Systemów/NASK Franciszek.Lewenda@nask.pl Wirusy a poczta elektroniczna Kady, kto korzysta z dobrodziejstw dostpu do globalnej sieci komputerowej bez wtpienia zetknł si z problemem wirusów i robaków internetowych przenoszcych si za pomoc poczty elektronicznej. Ostatnie lata obfituj w incydenty wywołane przez błyskawicznie rozprzestrzeniajce si robaki. Rok 2003 to midzy innymi: SQL Slammer, którego głównym celem była propagacja. Okazało si, e była ona na tyle intensywna, e generowanie pakietów przez tego robaka skutkowało atakiem DoS. Szacuje si [1], e straty, jakie spowodował Slammer to około 1 mld $. Doszło nawet do tego, e przeniknł on sie elektrowni atomowej, wyłczajc na kilka godzin dwa wane systemy monitorujce [2]. Bugbear.B, który wysyłajc swoj kopi wybierał losowy list ze skrzynki uytkownika zainfekowanego komputera oraz wpisywał losowo wybranego nadawc i odbiorc. Spowodował w ten sposób niemało zamieszania w krgach administratorów. Sobig.F, który rozprzestrzeniał si w zastraszajcym tempie. On równie wstawiał losowo wybrany adres w pole From: nagłówka, powodujc zamieszanie wród uytkowników Internetu i utrudniajc wykrycie zainfekowanych komputerów. oraz inne takie, jak: Lirva; Deloder; Peido-B; Fizzer; Blaster czy Welchia, które oprócz masowego rozprzestrzeniania si, mniejsz lub wiksz sław zawdziczaj takim cechom, jak: wbudowane konie trojaskie (podsłuch klawiatury, bot IRCnet, serwer HTTP); próby unieszkodliwiania oprogramowania antywirusowego czy Personal Firewall; automatyczne uaktualnianie; udawanie wiadomoci systemowej z serwera pocztowego o niedostarczeniu korespondencji (zmylenie uytkownika tak, aby otworzył załcznik zawierajcy złoliwy kod); przejcie pełnej kontroli nad system (potencjalne przeprowadzenie z niego ataku).
Według firmy Sophos, w pierwszej połowie roku 2003 odnotowano 3855 nowych wirusów [3]. Wszystkie wirusy z pierwszej dziesitki jako medium propagacji wykorzystywały poczt elektroniczn. CERT/CC w lipcu biecego roku opublikował raport [4], w którym zwraca uwag na wzrastajc szybko rozprzestrzeniania si wirusów/robaków. Aby skutecznie broni si przed tym zagroeniem, naley zastosowa kilka warstw zabezpiecze, a take w miar moliwoci oprogramowanie rónych producentów. Co robi, eby skuteczniej si broni? Wród wielu uytkowników Internetu panuje mylne przewiadczenie, e oprogramowanie antywirusowe ochroni ich przed skutkami propagacji złoliwego kodu. Ciko jest w nich zaszczepi nawyki, dziki którym nie udostpnialiby zasobów sieciowych, nie uruchamiali załczników dostarczonych poczt elektroniczn (czsto od nieznanych nadawców) i programów nieznanego pochodzenia. Dlatego te dobrym pomysłem wydaje si by zaimplementowanie mechanizmów ochrony antywirusowej ju na etapie serwera pocztowego. Jeli serwer pocztowy bdzie w stanie odfiltrowa zainfekowane wiadomoci, to dziki temu wiadomo zawierajca wirusa nie dotrze do uytkownika. Przy czym nie moe to by jedyny element ochrony antywirusowej a raczej dodatkowy element majcy na celu zwikszenie skutecznoci działania systemu ochrony antywirusowej. Nie naley zapomina o zainstalowaniu oprogramowania antywirusowego na poszczególnych stacjach roboczych (oraz o jego aktualizacji), stosowaniu si do zasad profilaktyki antywirusowej (takich, jak na przykład zalecenia CERT Polska[5]). Jak to zrobi? Wielu dostawców oferuje gotowe, komercyjne systemy ochrony antywirusowej działajce na serwerze pocztowym. Jeli jednak miałby to by dodatkowy element systemu antywirusowego, to niejednokrotnie cena, jak naley zapłaci za roczn licencj potrafi skutecznie zniechci do wdroenia tego typu rozwizania. Z pomoc przychodz rozwizania Open Source. Pomimo tego, e s one darmowe, wikszo z nich rozwijana jest przez szerokie grono programistów, ma liczne grono uytkowników (a wic i testerów, którzy zgłaszaj developerom informacje o nieprawidłowociach funkcjonowania lub zgłaszaj zapotrzebowanie na nowe funkcjonalnoci), oferuje do
szerokie moliwoci i działa niezawodnie. Pozwalaj si zwykle instalowa na wielu popularnych darmowych platformach systemowych takich, jak choby systemy z rodziny *BSD, czy całe grono dystrybucji Linux a. Nie stanowi problemu uruchomienie ich na systemach takich, jak Solaris, HP-UX czy AIX. Do najpopularniejszych rozwiza Open Source umoliwiajcych ochron antywirusow i/lub anty-spam ow zaliczy mona (kade z nich ma swoje cechy, które predysponuj bd dyskwalifikuj je w konkretnych zastosowaniach): Exiscan [6] - jest to łata (ang. patch) na Exim a (do popularny Mail Transport Agent, instalowany na przykład domylnie wraz z dystrybucj Debian GNU/Linux), która rozszerza jego moliwoci o sprawdzanie zawartoci wiadomoci odbieranych przez ten MTA. Mona dziki niemu bada obecno wirusów, spam u, wskazanych wyrae regularnych (zarówno w treci, jak i w nagłówkach) oraz okrelonych rozszerze załczonych do wiadomoci plików. MIMEDefang [7] - jest to oprogramowanie, które słuy do szeroko pojtego filtrowania poczty elektronicznej. Współdziała z Sendmail em. Wykorzystywane zwykle jest do blokowania wirusów; blokowania spam u; usuwania czci wiadomoci napisanej w formacie HTML; dodawania stopki/sygnaturki do treci kadej wiadomo- ci; usuwania lub modyfikacji załczonych do wiadomoci plików; wstawiania zamiast załczników odsyłacza do lokalizacji, z której moe on by pobrany; konstruowania zasad dostpu do usługi e-mail. MailScanner [8] - oprogramowanie filtrujce poczt elektroniczn, które potrafi z niej usun wirusy, spam i zapobiec próbom wykorzystania znanych luk bezpieczestwa oprogramowania do obsługi poczty elektronicznej uytkownika kocowego. Potrafi współpracowa z rónymi MTA oraz rónorodnym oprogramowaniem antywirusowym (w tym komercyjnym), które potrafi automatycznie uaktualnia. Qmail-Scanner [9] - oprogramowanie oferujce funkcjonalnoci zblione do poprzedników, ale współdziała tylko z Qmail em. Potrafi równie podejmowa akcje wzgldem wiadomoci na podstawie zawartoci okrelonych nagłówków. AMaViS [10] - jest to rodzina produktów słuca podobnym celom co poprzednicy, wród których mona wyróni: amavis (dla serwerów słabo obcionych), amavisd
(dla serwerów bardziej obcionych), amavisd-new (dla serwerów bardziej obcionych wzbogacony o funkcje anty-spam owe), amavis-ng (modularna wersja amavis a). Filtrowanie poczty na serwerze - jak to działa? Zwykle serwer pocztowy zajmuje si jednoczenie przyjmowaniem wiadomoci przychodzcych i dostarczaniem ich pod właciwy adres. Ilustruje to Rys. 1. Oprogramowanie serwera pocztowego nasłuchuje na odpowiednim porcie w oczekiwaniu na wiadomoci przychodzce, umieszcza je nastpnie w kolejce a póniej, przy pierwszej moliwej okazji dostarcza je w miejsce przeznaczenia. Odbieranie poczty Dostarczanie poczty Serwer pocztowy Rys. 1. Zasada działania typowego MTA. Zastosowanie wymienionych w poprzednim rozdziale rozwiza owocuje rozdzieleniem tego procesu na dwa osobne, równolegle działajce procesy. Kady z nich ma osobn kolejk wiadomoci. Pierwszy z procesów zajmuje si odbieraniem wiadomoci przychodzcych i zapisywaniem ich w kolejce wiadomoci przychodzcych. Nastpnie do akcji wkracza oprogramowanie filtrujce, które pobiera wiadomoci z kolejki przychodzcej, sprawdza je (filtruje), odrzuca lub umieszcza w kolejce wiadomoci wychodzcych uruchamiajc jednoczenie proces dostarczania ich w miejsce przeznaczenia. Niektóre MTA pozwalaj na dokonanie takiego rozdziału kolejek nawet bez koniecznoci rekompilacji oprogramowania czy nawet jego rekonfiguracji - wystarczy zmodyfikowa parametry uruchamiania procesu.
Zasad działania serwera pocztowego po zastosowaniu powyszych modyfikacji ilustruje Rys. 2. Przyjmowanie poczty Kolejka przychodzca MTA 1 Filtrowanie wiadomoci Kolejka wychodzca MTA 2 Wysyłanie poczty Rys. 2. Działanie MTA przy rozdzieleniu kolejki wiadomoci. Skaner antywirusowy Oprogramowanie takie, jak MailScanner, Qmail-Scanner, Exiscan czy MIME- Defang co prawda potrafi wykry wirusy w filtrowanej poczcie elektronicznej, ale nie robi tego całkowicie samodzielnie - wykorzystuje do tego celu zewntrzne programy, którym zleca sprawdzenie konkretnych wiadomoci na obecno wirusów. Spełnia ono zatem rol elementu łczcego oprogramowanie serwera pocztowego ze skanerem antywirusowym. W zalenoci od tego, czy skaner antywirusowy znajdzie w wiadomoci złoliwy kod, czy nie, podejmuje ono odpowiednie, okrelone przez administratora działanie. Przeszukujc Internet w poszukiwaniu informacji o darmowych skanerach antywirusowych (równie do zastosowa komercyjnych), trafi mona na: OpenAntiVirus [11] - nie jest to projekt koncentrujcy si na rozwijaniu konkretnego oprogramowania a raczej stanowicy platform bdc miejscem wymiany in-
formacji pomidzy ludmi zainteresowanymi rozwijaniem rozwiza zwikszajcych bezpieczestwo systemów w kontekcie ochrony antywirusowej. Clam AntiVirus [12]- jest to zestaw narzdzi przeznaczonych do pracy w systemach nalecych do rodziny UNIX. W jego skład wchodz trzy elementy: daemon, skaner uruchamiany na danie oraz narzdzie automatyzujce aktualizacj bazy sygnatur wirusów (oparta ona jest na bazie udostpnianej przez OpenAntivirus Project, zawiera jednak sporo dodatkowych sygnatur i jest cigle aktualizowana). Programici zaangaowani w tworzenie ClamAV a zadbali o to, eby ich produkt działał niezawodnie oraz, eby dysponował aktualnymi bazami sygnatur wirusów. Umoliwiaj oni wysyłanie przez odpowiedni stron internetow (oraz przez poczt elektroniczn) zainfekowanych plików, które nie s dotychczas wykrywane. W ten sposób kady uytkownik Internetu moe pomóc w rozwoju projektu oraz przyczyni si do biecej aktualizacji bazy sygnatur a tym samym do skuteczniejszego wykrywania pojawiajcych si wirusów. MailScanner MailScanner wydaje si by najlepszy sporód wymienionych wczeniej rozwiza (jest to oczywicie opinia subiektywna, wynikajca z dotychczasowych do- wiadcze autora). Jego twórcy twierdz, e obecnie filtruje on wiadomoci na około 30 000 serwerów pocztowych. Posiada przejrzysty plik konfiguracyjny. Lista jego funkcjonalnoci moe przyprawi o zawrót głowy. Poniej znajduje si zaledwie par z nich, które wydaj si istotne z punktu widzenia samej ochrony antywirusowej. Potrafi on midzy innymi: współpracowa z szerok gam oprogramowania antywirusowego (do wyboru: Sophos, etrust, Trend, McAfee, F-Prot, Command, Kaspersky, Inoculate, Inoculan, Nod32, F-Secure, Panda, RAV, Antivir, ClamAV, Vscan, przy czym moliwe jest jednoczesne wykorzystanie kombinacji kilku z nich); automatycznie aktualizowa baz sygnatur wirusów; współpracowa z najpopularniejszymi MTA (Postfix, Sendmail, Exim lub ZMailer); rozpakowa skompresowane załczniki w celu zbadania ich zawartoci;
odrzuca (bd te nie) załczniki na podstawie dopasowania nazwy pliku do okre- lonych wzorców; zastpi zainfekowane załczniki powiadomieniami o infekcji; powiadamia administratora o kadej zainfekowanej wiadomoci; przechowywa usunite załczniki (kwarantanna); powiadamia nadawc wiadomoci o prawdopodobnej infekcji jego stacji roboczej; samodzielnie chroni si przed niektórymi atakami DoS, takimi jak Zip of Death; przesła zwykł wiadomo tekstow nawet jeli skaner antywirusowy przestanie poprawnie funkcjonowa; MailScanner podczas swojej pracy wykonuje bez koca ptl nastpujcych działa: pobiera wiadomoci z kolejki wiadomoci przychodzcych; podejmuje decyzj o ewentualnym zakwalifikowaniu ich jako spam; jeli s to wiadomoci czysto tekstowe, to automatycznie bez sprawdzania przenosi je do kolejki wiadomoci wychodzcych i uruchamia proces dostarczenia ich do adresata; dekomponuje struktur MIME kadej z pozostałych wiadomoci; sprawdza wszystkie zdekomponowane elementy na obecno wirusów (w tym celu uruchamia zewntrzne oprogramowanie antywirusowe); sprawdza czy nie zachodzi dopasowanie nazw plików do okrelonych przez administratora wzorców; sprawdza wiadomoci pod ktem prób wykorzystania znanych luk bezpieczestwa niektórych programów pocztowych (np. Outlook lub Eudora); jeli ustawiona była odpowiednia opcja, przenosi zainfekowane pliki do kwarantanny ; zastpuje usunite pliki powiadomieniami o zaistniałej infekcji; dodaje na pocztku oryginalnej wiadomoci prob o zapoznanie si odbiorcy z załczonymi powiadomieniami;
przenosi oryginały nie zainfekowanych wiadomoci do kolejki wiadomoci wychodzcych; ponownie buduje wiadomoci, które były wczeniej zainfekowane ale ju ze sprawdzonych elementów; kasuje oryginalne wiadomoci (zainfekowane) z kolejki wiadomoci przychodzcych; wyzwala proces dostarczania do adresatów wiadomoci znajdujcych si w kolejce wiadomoci wychodzcych; wysyła powiadomienia o infekcji do administratora i/lub nadawcy (o ile oczywicie tak włanie jest skonfigurowany); jeli to moliwe, dezinfekuje oryginalne załczniki i wysyła je do adresata wraz z powiadomieniem, e udało si je oczyci. Aby zminimalizowa niebezpieczestwo dostarczenia zainfekowanej wiadomo- ci, której nie udało si oczyci, proces skanowania ponawiany jest po kadej próbie dezinfekcji. Tylko te wiadomoci, które po ostatnim skanowaniu uznane zostały za bezpieczne s wysyłane do adresata. Jeli chodzi o antywirusa, to cena produktów komercyjnych chronicych poczt elektroniczn na poziomie serwera zwykle liczona jest w tysicach dolarów. MailScanner współpracujc z duo taszym oprogramowaniem (poniej 200$) lub nawet darmowym (ClamAV) spełnia te same funkcje, co drosza konkurencja. MailScaner moe by zainstalowany bezporednio na serwerze pocztowym (o ile oczywicie serwer ten spełnia wymagania sprztowe i programowe). Nic nie stoi jednak na przeszkodzie, aby zainstalowa go na osobnym komputerze (wymagania sprztowe s praktycznie minimalne). Wystarczy wtedy przekonfigurowa istniejcy serwer pocztowy tak, eby przed wysłaniem poczty przesyłał j do sprawdzenia na komputer z zainstalowanym MailScanner em. Pakiet ródłowy zawiera skrypty, które w znacznym stopniu ułatwiaj instalacj wymaganych modułów oprogramowania, jak i samego MailScanner a. Jak podaje autor, rekordzista zainstalował i skonfigurował cało oprogramowania (wraz z wymaganymi modułami i antywirusem) w niecałe 4 minuty. Oryginalny plik konfigu-
racyjny zawiera (bogato opisane) ustawienia domylne pozwalajce na bezproblemowe uruchomienie programu (wymagana jest zmiana tylko jednej opcji - nazwy zainstalowanego antywirusa). Dołczona dokumentacja stanowi instrukcj krok po kroku pozwalajc na bezproblemow integracj z sendmail em, Exim em, Postfix em lub ZMailer em. Przytoczone powyej informacje wiadcz o tym, e koszt oraz stopie skomplikowania wdroenia MailScanner a nie s wcale wysokie. Korzyci, jakie mona dziki niemu osign wydaj si oczywiste. Czy jest sens to robi? Oczywicie, e tak! Poniej znajduje si wykres przedstawiajcy ilo zainfekowanych wiadomoci (głównie przez W32/Sobig.F@mm) wyłapanych na przełomie sierpnia i wrzenia 2003 r. przez jeden z serwerów administrowanych przez autora (około 500 kont uytkowników). Wida na nim wyranie, e uniemoliwił dostarczenie ogromnej iloci (zwaywszy na ilo uytkowników) niepotrzebnych wiadomoci. W32/Sobig.F@ mm 4500 4000 3500 3000 2500 2000 1500 1000 500 0 15-08 17-08 19-08 21-08 23-08 25-08 27-08 29-08 31-08 2-09 4-09 6-09 8-09 10-09 12-09 14-09 Człowiek bywa omylny. Zdarzy si moe, e administrator sieci lokalnej konfigurujc stacj robocz pracownika, po prostu zapomni zainstalowa na niej oprogramowanie antywirusowe bd te nie zatroszczy si o aktualizacj sygnatur wirusów. Stacja taka podatna jest na infekcje choby poprzez współdzielone zasoby sieciowe lub
strony internetowe zawierajce złoliwy kod. Jeli dojdzie do zainfekowania jej wirusem, który jako medium propagacji wykorzystuje równie poczt elektroniczn, to spowoduje ona niemało zamieszania oraz przysporzy duo dodatkowej pracy zespołowi IT. Inne stacje robocze znajdujce si w pobliu (o ile oczywicie maj zainstalowane oprogramowanie antywirusowe) nie zostan zainfekowane. Natomiast ju jeden zawirusowany komputer potrafi wysyła ogromne iloci wiadomoci elektronicznych pod wszelkie znalezione na dysku adresy e-mail. Nie przyczynia si to z pewnoci do wzrostu zaufania wzgldem działu IT i/lub całej instytucji. Podsumowanie Oprogramowanie antywirusowe coraz czciej jest standardowym wyposaeniem stacji roboczych. A jeli nie jest, to powinno by. ycie uczy jednak, e ochrona oparta na jednym tylko elemencie bywa zawodna. Wdroenie jednego z wymienionych wczeniej rozwiza pozwala na zwikszenie skutecznoci działania ochrony antywirusowej przy stosunkowo niskich nakładach i bez dokonywania skomplikowanych zmian w strukturze sieci czy konfiguracji urzdze lub usług. Czsto mona si spotka z opini, e produkt darmowy nie jest produktem w pełni wartociowym. Niektórzy administratorzy boj si instalowa oprogramowanie darmowe. Twierdz, e nie ma ono gwarancji, e w kadej chwili moe zosta porzucone (nie bdzie dalej rozwijane), e nie mona liczy na pomoc w przypadku kłopotów. Nic bardziej mylnego! Pomysł na ciekawy i uyteczny software jest błyskawicznie podchwytywany przez szerokie grono Internautów, którzy zgłaszaj uwagi dotyczce poprawnoci działania, przydatnych funkcjonalnoci, przyłczaj si do prowadzenia projektu... Oprogramowanie Open Source bywa te wykorzystywane przez instytucje komercyjne, akademickie lub nawet militarne (lista uytkowników MailScanner a [13] wyglda naprawd okazale). Jeli napotykamy problemy przy instalacji, konfiguracji lub uytkowaniu danego oprogramowania, to pytanie skierowane na grupy dyskusyjne na pewno nie pozostanie bez odpowiedzi. Czsto wraz z oprogramowaniem powstaje forum jego uytkowników, na którym dziel si oni uytecznymi informacjami. Nie naley si ba oprogramowania Open Source. A jeli dziki niemu mona odnie korzyci takie, jak zwikszenie bezpieczestwa własnej sieci, to chyba czas je wdroy.
LITERATURA [1] http://news.com.com/2100-1001-982955.html [2] http://www.cert.pl/news/453 [3] http://www.sophos.com/pressoffice/pressrel/us/20030630topten.html [4] http://www.cert.org/incident_notes/in-2003-01.html [5] http://www.cert.pl/pdf/wirusom-nie.pdf [6] http://duncanthrax.net/exiscan-acl/ [7] http://www.mimedefang.org/ [8] http://www.sng.ecs.soton.ac.uk/mailscanner/ [9] http://qmail-scanner.sourceforge.net/ [10] http://www.amavis.org/ [11] http://www.openantivirus.org/ [12] http://clamav.elektrapro.com/ [13] http://www.sng.ecs.soton.ac.uk/mailscanner/users.shtml