Jak działa program antywirusowy?
2003-06-27 12:41
© fot. mat. prasowe
Od czasów pierwszych wirusów stworzonych eksperymentalnie w latach osiemdziesiątych, aż po dzisiejsze najzłośliwsze ich odmiany użytkownik żyje w obawie przed ingerencją w jego system komputerowy. Istnieją dwie podstawowe metody powstrzymania wirusa przed dostaniem się do systemu.
Po pierwsze można umieścić cały system w swego rodzaju ochronnej „bańce”. W praktyce oznacza to izolację komputera, odłączenie od Internetu, sieci, nie używanie stacji dyskietek, napędu CD-ROM czy innych środków przenoszenia danych. Postępowanie takie daje pewność, że żaden wirus nie wtargnie do systemu, chyba, że zostanie wpisany z klawiatury. Można więc posiadać najwspanialszy sprzęt, wykonujący niezwykle szybko każdy kod.... ale nie mający programów do wykonania, ani danych do przetworzenia. Użyteczność komputera zostanie sprowadzona do zera.
Po drugie można zainstalować program antywirusowy. Zaprojektowany tak by zapewnić spokój i pewność użytkownikowi, że jego system jest bezpieczny. Ale jak jest to osiągane? Jak to możliwe, że program ten pozwoli zainstalować np. grę, ale umie zapobiec instalacji wirusa? Oto i cała historia:
Program antywirusowy jest niczym więcej jak systemem analizującym informacje, potrafi stwierdzić czy coś zostało zainfekowane i przystępuje do leczenia. Informacje są analizowane (skanowane) na różne sposoby zależnie od tego skąd pochodzą. Inaczej działa program antywirusowy gdy monitoruje stację dyskietek, ruch w sieci lokalnej, czy e-mail. Główne zasady postępowania są niezmienne, ale istnieją subtelne różnice.
fot. mat. prasowe
Informacje (dane) pochodzą z “systemu źródłowego” i muszą osiągnąć „system docelowy”. Źródłem może być stacja dyskietek, celem natomiast np. dysk twardy komputera. Równie dobrze źródło to system pocztowy provider’a usług internetowych, a cel to klient poczty e-mail systemu Windows.
Systemy interpretacji informacji różnią się między sobą zależnie od sposobu ich implementacji I umiejscowienia. Inaczej wygląda realizacja tych zadań na poziomie systemu operacyjnego, aplikacji czy przy pomocy zastosowania dodatkowych metod.
Mechanizm interpretacyjny zależy od systemu operacyjnego i jego części składowych. Od całego środowiska w które wdrażana jest aplikacja antywirusowa. Dla przykładu w Windows 9x sterownik wirtualny VxD może posłużyć do ciągłego monitorowania aktywności dysków. W ten sposób za każdym razem, gdy program żąda dostępu do dysku, antywirus przechwyci to wywołanie i przeskanuje dane zapisywany czy odczytywane. W systemach Windows NT/2000/XP operacja ta jest przeprowadzana przez sterowniki działające w trybie jądra systemu. System Novell natomiast posiada NLM pozwalające również przechwycić aktywność operacji dyskowych.
Program antywirusowy nie zaprojektowany specjalnie dla konkretnego systemu operacyjnego, ale nadbudowany na konkretne aplikacje ma odmienny sposób działania. Na przykład antywirus dla CVP Firewall’a. Tutaj to firewall, przez swoje protokoły dla np. SendMail dostarcza systemowi antywirusowemu informacji, które mają być przeskanowane. Proces interpretacji zależy więc od podanych danych (od filtrów i mechanizmów MilterAPI).
Czasami mechanizm interpretacji nie wchodzi w skład ani programu antywirusowego (jak VxD), ani aplikacji (jak CVP). W tym przypadku należy stworzyć specjalny sposób komunikacji aplikacji, antywirusa i systemu operacyjnego. Innymi słowy sposób przechwytywania danych do analizy i przekazywania ich programowi antywirusowemu musi zakładać pełną integracje wszystkich składowych systemu.
oprac. : Panda Software