Wirus komputerowy




Pobierz 46.7 Kb.
NazwaWirus komputerowy
Data konwersji26.11.2012
Rozmiar46.7 Kb.
TypDokumentacja
Wirus komputerowy – najczęściej prosty program komputerowy, który w sposób celowy powiela się bez zgody użytkownika. Wirus komputerowy w przeciwieństwie do robaka komputerowego do swojej działalności wymaga nosiciela w postaci programu komputerowego, poczty elektronicznej itp. Wirusy wykorzystują słabość zabezpieczeń systemów komputerowych lub właściwości systemów oraz niedoświadczenie i beztroskę użytkowników.

Często wirusami komputerowymi mylnie nazywane są wszystkie złośliwe programy.

Do zwalczania, usuwania i zabezpieczania się przed wirusami używane są programy antywirusowe.

Definicja


Wirus komputerowy to krótki program komputerowy, zwykle szkodzący systemowi operacyjnemu lub utrudniający pracę użytkownikowi komputera. Każdy wirus ma zdolność samopowielania. Jest to warunek konieczny, aby dany program można było nazywać wirusem.

Wirusy przenoszone są przeważnie w zainfekowanych wcześniej plikach (wirusy plikowe) lub w pierwszych sektorach fizycznych (na zerowej ścieżce) dysku twardego (wirusy dyskowe). Proces infekcji polega na odpowiedniej modyfikacji struktury plików lub sektorów. Zainfekowaną ofiarę nazywa się nosicielem, a proces samopowielania replikacją.

Długość typowego wirusa w czasach panowania DOS-u wahała się w granicach od kilkudziesięciu bajtów do kilku kilobajtów, choć już wtedy były wirusy o rozmiarze kilkudziesięciu kilobajtów. Obecnie klasyczne wirusy spotyka się rzadziej – częściej jest to hybryda wirusa z robakiem, a rozmiar kilkadziesiąt i więcej kilobajtów nie dziwi – tyle kodu bez problemu można ukryć w wielomegabajtowych bibliotekach czy programach. Rozmiar wirusa zależy od czynników takich jak:

  • umiejętności programistyczne twórcy wirusa – wirus lepszego programisty napisany w tym samym języku będzie mniejszy lub będzie miał więcej funkcji;

  • użyty język programowania – wirus o podobnej funkcjonalności napisany w języku maszynowym (asembler) zwykle będzie mniejszy niż w języku skryptowym czy języku wysokiego poziomu;

  • przewidywana funkcjonalność wirusa – prosty wirus będzie mniejszy od szkodnika wykonującego wiele różnych czynności; najmniejsze wirusy potrafią tylko się powielać;

  • wykorzystanie cech środowiska operacyjnego – wirus napisany jako maksymalnie niezależny musi mieć wbudowane wszystkie potrzebne biblioteki, wirus korzystający w pełni ze środowiska ma tylko minimum kodu niezbędne do wywołania dostępnych w tym środowisku funkcji.

Od programisty zależą także efekty, jakie wirus będzie wywoływał po zainfekowaniu systemu, na przykład:

  • kasowanie i niszczenie danych

  • rozsyłanie spamu

  • dokonywanie ataków na serwery internetowe

  • kradzież danych (hasła, numery kart płatniczych, dane osobowe)

  • wyłączenie komputera

  • wyświetlanie grafiki lub odgrywanie dźwięków

  • uniemożliwienie pracy na komputerze

  • umożliwienie przejęcia kontroli nad komputerem osobie nieupoważnionej

  • tworzenie botnetu

Języki programowania wykorzystywane do pisania wirusów


Do napisania prostego wirusa wystarczy znajomość dowolnego popularnego języka programowania, takiego jak Pascal czy Język C. Najwięcej wirusów pisanych jest jednak w czystym asemblerze. Spowodowane jest to głównie zwięzłością kodu generowanego przez ten język. Kod programu, który z punktu widzenia użytkownika nie robi nic, w językach wysokiego poziomu zajmie od kilkuset bajtów do nawet kilkuset kilobajtów. W asemblerze podobny program zajmie zaledwie kilka bajtów. Jest tak dlatego, ponieważ do każdego wygenerowanego przez siebie programu kompilatory języków wysokiego poziomu dodają sporo kodu niewidocznego dla programisty. Kod ten odpowiedzialny jest między innymi za obsługę błędów, obsługę stosu oraz operacji wejścia-wyjścia. Na korzyść asemblera przemawia również to, że z jego poziomu mamy bardzo dużą swobodę w dostępie do pamięci i portów, a programista ma możliwość świadomego wpływu na kształt przyszłego programu, na przykład w zakresie używanych instrukcji czy rozwiązań programowych. Programy napisane w asemblerze są optymalne pod względem szybkości działania i długości kodu, a więc język ten jest jakby stworzony do programowania wirusów. Jedyną wadą asemblera jest to, że programów w nim napisanych nie można przenosić na komputery o innej architekturze, stąd mogą one egzystować tylko w jednej rodzinie komputerów.

Oprócz typowych języków programowania do stworzenia wirusa można wykorzystać języki makr wbudowane w nowoczesne edytory tekstów lub arkusze kalkulacyjne. Zawarte w nich mechanizmy pozwalają na infekcję każdego otwieranego przez program dokumentu lub arkusza. Są one wymarzonym narzędziem do tworzenia wirusów dla początkujących programistów, gdyż wszystkie operacje na fizycznych obiektach są zaimplementowane w makrach i wykonują się bez konieczności ingerencji programisty.

Platformy programistyczne


Uważa się, że systemy komputerowe o architekturze uniksowej są lepiej zabezpieczone przed wirusami niż systemy operacyjne Microsoftu. Główną przyczyną takiego stanu rzeczy jest ciągła praca z uprawnieniami administratora we wcześniejszych systemach (DOS, Windows 9x). W nowszych wersjach Windows zostało to poprawione, lecz ze względu na kompromisy związane z łatwością używania i przyzwyczajenia użytkowników, wciąż uprawnienia administratora nie są dostatecznie chronione w domyślnej instalacji. Popularność wirusów komputerowych jest związana z popularnością danej platformy, która tworzy środowisko do rozprzestrzeniania się wirusa. Wynika to z działania wirusów komputerowych w środowiskach homogenicznych.

Generatory wirusów


Istnieje wiele programów umożliwiających stworzenie własnego wirusa, nawet bez znajomości systemu czy mechanizmów wykorzystywanych przez wirusy. Można je bez problemu znaleźć w Internecie. Korzystają one z gotowych modułów w asemblerze i umożliwiają stworzenie wirusa o zadanych parametrach wybieranych zwykle przy pomocy przyjaznego użytkownikowi menu. Można w nim określić zakres infekowanych obiektów oraz rodzaj efektów które ma on wywoływać. Oprócz kodu wynikowego wirusa, generatory tworzą także źródła w asemblerze, co umożliwia zainteresowanemu pisaniem wirusów użytkownikowi dokształcenie się w tej dziedzinie.

Rodzaje wirusów komputerowych


Wirusy można podzielić według wielu kryteriów. Przykładowy podział ze względu na infekowany obiekt:

  • wirusy dyskowe, infekujące sektory startowe dyskietek i dysków twardych

  • wirusy plikowe, które infekują pliki wykonywalne danego systemu operacyjnego

  • wirusy skryptowe

  • makrowirusy, których kod składa się z instrukcji w języku wysokiego poziomu, wykonywane przez interpreter.

  • wirusy komórkowe, na razie rzadkie ale być może w przyszłości mogą stanowić istotne zagrożenie w związku z rozwojem oprogramowania dla telefonów komórkowych i dostępnych usług. Przykładem może być wirus Cabir napisany w 2004 roku.

Pierwszy rodzaj wirusów był bardzo rozpowszechniony w czasach, kiedy powszechne było kopiowanie danych i programów na dyskietkach. Wirusy te przenosiły się między komputerami za pośrednictwem dyskietek. Uruchomione w środowisku nie posiadającym odpowiednich zabezpieczeń, zarażały pliki wykonywalne oraz kolejne dyskietki. Ich zmierzch przyszedł razem z wyparciem dyskietek przez CD-ROMy oraz rozpowszechnieniem Internetu. Dzisiaj są one właściwie niespotykane. Najbardziej znane przykłady wirusów z tej kategorii: Brain, Stoned, Michelangelo.

Wirusy plikowe są najpowszechniejszym, obok makrowirusów, typem wirusów. Tworzone są głównie w asemblerze. Wirusy te są programami, które potrafią dołączać swój kod do kodu wykonywalnego innego programu. Infekują pliki na dysku, w udostępnionych zasobach sieciowych lub wysyłają się w e-mailach poprzez SMTP. Przykładowe wirusy plikowe: Frodo, W95.CIH, W32.Magistr.

Wirusy skryptowe to samoreplikujące się skrypty powłoki. Zwykle infekują one inne skrypty. W DOS-ie występują jako pliki .bat, pod Linuksem jako skrypty bashowe, pod systemem Windows jako np. Visual Basic script (.vbs). Przykładowe wirusy: Bat.Rous, VBS.LoveLetter, SH.Sizer.

Inny rodzaj wirusów to programy zapisane jako makra. Infekują one dokumenty programów biurowych a rozprzestrzeniają się głównie za pośrednictwem poczty elektronicznej. Przykładowe wirusy: W95M.Concept, W97M.Melissa, W97M.Laroux.

Wirusy pasożytnicze


Większość z istniejących wirusów to tzw. wirusy pasożytnicze. Charakteryzują się one tym, że wykorzystują swoje ofiary do transportu. Modyfikują ich strukturę wewnętrzną i oczywiście nie naprawiają jej. Plik użyty do transportu jest uszkodzony. Jedynym dla niego ratunkiem może być użycie szczepionki lub kopii zapasowych dla zainfekowanych plików. Ze względu na miejsce zajmowane w zainfekowanych plikach wirusy pasożytnicze dzielimy na:

  • Wirusy lokujące się na końcu pliku (ang. end of file infectors). Dopisują kod wirusa na koniec pliku, a następnie modyfikują początek pliku tak, aby wywołanie pliku uruchamiało wirusa

  • Wirusy nadpisujące. Lokują się na początku pliku, zwykle nie zapamiętują poprzednich danych w pliku i nieodwracalnie go niszczą

  • Wirusy nagłówkowe (ang. header infectors). Lokują się w nagłówkach plików EXE przeznaczonych dla systemu DOS. Ich nagłówek jest zawsze standardowo ustawiany przez programy linkujące na wielokrotność jednego sektora (512 bajtów). Wirusy te nie przekraczają rozmiaru jednego sektora

  • Wirusy lokujące się w pliku w miejscach gdzie jest jakiś pusty obszar. Obszar ten wypełniony jest ciągiem zer i można go nadpisać nie niszcząc pliku. Są to cave infectors

  • Wirusy lokujące się w dowolnym miejscu pliku. Są bardzo rzadkie i trudne do napisania, to tzw. surface infectors

  • Wirusy wykorzystujące część ostatniej JAP (Jednostki Alokacji Pliku). Korzystają z faktu, iż plik rzadko zajmuje dokładnie wielokrotność jednej JAP. Są to tzw. slack space infector

Wirusy towarzyszące


Wirusy te zwykle tworzone są w językach wysokiego poziomu. Wykorzystują hierarchię stosowaną przez system DOS, dotyczącą kolejności uruchamiania programów o tych samych nazwach a innych rozszerzeniach. Jeśli w jednym katalogu jest kilka programów o tej samej nazwie ale o różnych rozszerzeniach (EXE, COM, BAT), to w przypadku podania nazwy programu bez rozszerzenia, w pierwszej kolejności poszukiwany jest plik o rozszerzeniu COM, potem EXE, a na końcu BAT. Wirusy towarzyszące wykorzystują tę właściwość systemu DOS. Jeśli program ma rozszerzenie COM to wirus towarzyszący nie dokona infekcji. Jeśli natomiast program ma rozszerzenie EXE lub BAT, to plik z wirusem będzie miał rozszerzenie COM i może zostać omyłkowo uruchomiony nawet przez samego użytkownika systemu. Próba uruchomienia programu bez podania rozszerzenia w pierwszej kolejności uruchomi plik COM zawierający kod wirusa. Następnie wirus po uaktywnieniu się przekaże sterowanie do programu macierzystego.

Sprytnym rozszerzeniem tej techniki jest sposób infekcji wykorzystujący zmienną środowiskową PATH. Zmienna ta definiowana jest w pliku autoexec.bat i określa listę katalogów przeszukiwanych przez system DOS podczas uruchamiania programu. Wirus wykorzystujący tę technikę tworzy plik zawierający kod wirusa w dowolnym katalogu którego ścieżka znajduje się w zmiennej PATH przed katalogiem, w którym znajduje się zarażana ofiara.

Przykładowe zastosowanie tej techniki

Załóżmy, że plik autoexec.bat zawiera następującą linię: PATH = C:\;C:\DOS;C:\WINDOWS

Po podaniu nazwy programu przez użytkownika, w pierwszej kolejności przeszukiwany będzie dysk C, następnie katalog DOS a dopiero na końcu katalog WINDOWS. Przykładowy wirus towarzyszący do katalogu C:\DOS skopiuje plik o nazwie win.bat zawierający kod powodujący jakieś szkody w systemie. Użytkownik próbując uruchomić system WINDOWS zwykle z dowolnego katalogu wyda polecenie WIN i wciśnie ENTER. W pierwszej kolejności zostanie przeszukany katalog główny na dysku C. Następnie katalog DOS. System będzie szukał programu WIN o rozszerzeniach COM, EXE, BAT. W naszym przypadku zostanie odnaleziony program WIN.BAT zawierający kod wirusa. W ten sposób użytkownik sam zainfekuje swój system. Następnie wirus uruchomi system WINDOWS plikiem WIN.COM i użytkownik nawet nie będzie wiedział że dokonał infekcji.

Wirusy plików wsadowych


Są to tzw. batchviruses, gdyż pliki wsadowe to pliki o rozszerzeniu BAT. Wirusy te wykorzystują do transportu właśnie pliki BAT. Potrafią wbrew pozorom być bardzo niebezpieczne i infekować również pliki COM oraz EXE, a nawet tablice partycji dysku. Po uruchomieniu zainfekowanego pliku wsadowego tworzony jest plik uruchamialny COM lub EXE, który zawiera właściwy kod infekujący pliki BAT. Plik BAT jest następnie kasowany, a plik wykonywalny jest uruchamiany.

Makrowirusy


Makrowirusy nie zarażają programów uruchamialnych lecz dokonują destrukcji dzięki wykonywaniu swojego kodu zapisanego w plikach dokumentów Microsoft Office (doc, xls). W programie Microsoft Word jest to język WordBasic, a w programie Microsoft Excel jest to Visual Basic for Applications. Są to wirusy bardzo łatwo wykrywalne, a ponadto ich działanie może zostać zablokowane przez macierzyste aplikacje. Od chwili, gdy aplikacje Microsoft Office ostrzegają o istnieniu makr, wirusy tego typu nie są bardzo groźne, nie powstają także nowe. Wirusy tego typu mogą działać w programach Microsoft Office w środowisku Macintosh, pojawiały się jeszcze w pierwszych latach XXI wieku, ale nie były szczególnie groźne ani powszechne.

Inne programy o działaniu destrukcyjnym


Obok powyżej opisanych rodzajów wirusów, istnieje szereg programów, które często uważane są za wirusy, lecz nimi nie są, gdyż ich sposób działania jest niezgodny z definicją wirusa. Również są szkodliwe dla komputera, ale w przeciwieństwie do wirusów, nie podczepiają się do innych plików. Są to:

  • robaki

  • bomby logiczne

  • króliki

  • fałszywki

  • zakraplacz

  • programy szpiegujące

Robaki – programy, których działanie polega na tworzeniu własnych duplikatów. Nie atakują one żadnych obiektów jak to czynią wirusy, a jedynie same się powielają. Oprócz zajmowania miejsca na dysku niekiedy wywołują również negatywne skutki uboczne. Robaki są najbardziej popularne w sieciach, gdzie mają do dyspozycji różne protokoły transmisji sieciowej dzięki którym mogą się rozprzestrzeniać.

Konie trojańskie – program będący koniem trojańskim, po uruchomieniu wykonuje normalną pracę i użytkownikowi wydaje się, że uruchomił zwykły program bądź grę. Jednak dodatkowo wykonywane są operacje szkodliwe, niezauważalne dla użytkownika. Konie trojańskie najłatwiej podrzucić w plikach udających nowe, popularne programy bądź gry.

Bomby logiczne – różnią się od konia trojańskiego tym, że ukryte operacje nie są wykonywane od razu po ich uruchomieniu, lecz dopiero w odpowiednim czasie. Może to być zajście określonego zdarzenia w systemie bądź wielokrotne uruchomienie danego programu. Często uruchomienie ukrytych operacji następuje automatycznie po upłynięciu określonej liczby dni od momentu uruchomienia bomby.

Króliki, określane są również jako bakterie – programy, które nie niszczą plików. Ich jedynym celem jest samokopiowanie. Typowy program w rodzaju bakterii lub królika może na przykład jednocześnie uruchomić kilka swoich kopii w systemach wieloprogramowych, lub stworzyć dwa nowe pliki z których każdy jest kopią oryginalnego pliku źródłowego bakterii. Oba programy mogą następnie skopiować się podwójnie i w ten sposób mogą rozmnożyć się do bardzo dużej liczby. Bakterie reprodukują się wykładniczo, zabierając całą moc obliczeniową procesora. Ten rodzaj ataku jest jedną z najstarszych form zaprogramowanych zagrożeń.

Fałszywki, zwane hoaxy – to inaczej ostrzeżenia przed nieistniejącymi wirusami. Cechą charakterystyczną fałszywego ostrzeżenia jest prośba o przesłanie go do możliwie dużej liczby osób – rzekomo w trosce o ich bezpieczeństwo. Początkujący internauci rozsyłają fałszywe alarmy do kogo się tylko da, co pozwala fałszywkom krążyć po internecie całymi miesiącami w milionach egzemplarzy, doprowadzając do wściekłości osoby, które otrzymują je po raz n-ty. Możemy również otrzymać e-maila z wiadomością, że plik o podanej nazwie jest wirusem i można się go pozbyć jedynie poprzez usunięcie go. W rzeczywistości plik ten nie jest wirusem i może być nawet częścią systemu operacyjnego, a jego usunięcie może spowodować nieprzewidziane skutki. Jeśli trafi do nas takie ostrzeżenie, najlepiej wejść na stronę dowolnego producenta programów antywirusowych i sprawdzić czy nie jest to fałszywka.

Z punktu widzenia memetyki fałszywki należy uznać za wirusy umysłu, infekujące nie komputery jako takie, lecz umysły użytkowników, wykorzystując ich naiwność lub niedoświadczenie jak lukę w systemie.

Podział wirusów ze względu na ich działanie

Wirusy nierezydentne (ang. non-resident viruses)


Wirusy te są najprostszą odmianą wirusów zarażających pliki wykonywalne. Po uruchomieniu pliku nosiciela wirus poszukuje kolejnego obiektu, który może zarazić. Jeśli takowego nie znajdzie, sterowanie oddawane jest do nosiciela, a jeśli znajdzie to kolejny obiekt jest infekowany. Sposób poszukiwania ofiary może być różny. Zwykle przeszukiwany jest bieżący katalog oraz podkatalogi bieżącego katalogu, a także katalog główny oraz katalogi określone w zmiennej środowiskowej PATH.

Wirusy nierezydentne posiadają dwie zasadnicze wady. Pierwszą z nich jest to, że poszukiwanie ofiar po uruchomieniu pliku nosiciela wiąże się ze sporym opóźnieniem w uruchomieniu właściwego programu, oraz z łatwo zauważalną przez użytkownika wzmożoną aktywnością przeszukiwanego nośnika. Drugą wadą jest to, iż zarażają one inne pliki tylko i wyłącznie po uruchomieniu nosiciela, a więc nie mogą efektywnie infekować plików ani też skutecznie maskować swej obecności w systemie, tak jak czynią to wirusy rezydentne. Wirusy nierezydentne są najczęściej tworzone przez początkujących twórców wirusów. Bardzo łatwo jest stworzyć prostego wirusa nierezydentnego w asemblerze.

Wirusy rezydentne (ang. resident viruses)


Można powiedzieć, że wirusy nierezydentne są dość ograniczone, gdyż łatwo je wykryć. Stąd też wzięły się poszukiwania aby odkryć coś nowego. Za czasów systemu DOS trzeba było wynaleźć jakiś mechanizm, który pozwalałby w typowo jednozadaniowym środowisku stworzyć mechanizm sztucznej wielozadaniowości. Tak powstały wirusy rezydentne. Ich zasada działania polega na zainstalowaniu się w pamięci operacyjnej komputera i przejęciu odpowiednich odwołań do systemu w sposób podobny do tego, w jaki czynią to programy typu TSR (ang. Terminate but Stay Resident). Wirus rezydentny to w zasadzie program TSR, który po zainstalowaniu ukrywa swój kod przed programami przeglądającymi pamięć. Będąc jednocześnie aktywnym i ukrytym w pamięci ma o wiele szersze pole działania niż wirusy nierezydentne. Używa on techniki tzw. stealth do ukrywania się. Zawładnięcia systemem dokonuje poprzez przejęcie odpowiednich przerwań sprzętowych i funkcji obsługiwanych przez ogólnie dostępne przerwania programowe.

Ze względu na szybkość mnożenia się wirusy rezydentne dzielimy na szybkie infektory i wolne infektory.

Szybkie infektory (ang. fast infectors): ich celem jest jak najszybsza infekcja całego systemu. Przejmują wszystkie możliwe funkcje systemu DOS używane do obsługi plików i zarażają wszystko, co się da w maksymalnie krótkim czasie. Często pierwszą czynnością wykonywaną przez wirusa jest zniszczenie kodu w pamięci operacyjnej, dotyczącego zamazywalnej części interpretatora poleceń, co sprawia, że przy następnym wywołaniu jakiegokolwiek polecenia z poziomu DOS plik zawierający interpretator poleceń (najczęściej plik command.com) zostanie ponownie uruchomiony i natychmiast zainfekowany. Duża aktywność wirusów tego typu może być łatwo zauważalna dla użytkownika. Użycie najlepszych nawet technik stealth także się nie sprawdzi, zwłaszcza gdy użytkownik wykonuje dużo operacji dyskowych.

Wolne infektory (ang. slow infectors): można powiedzieć, że są bardziej inteligentne od szybkich infektorów. Ich głównym celem jest jak najdłuższe przetrwanie i powolne infekowanie systemu tak, aby użytkownik się w niczym nie zorientował. Wirusy te używają wolnych, zmiennych procedur szyfrujących i techniki stealth. Infekują przeważnie tylko takie obiekty, które tworzy lub modyfikuje użytkownik. Powoduje to, że niedoświadczony użytkownik, nawet w przypadku sygnalizowania niebezpiecznej operacji przez program antywirusowy będzie przekonany, że potwierdza wykonywane przez siebie czynności. Wirusy tego typu są bardzo trudne do wykrycia i usunięcia nawet przez bardzo zaawansowane programy antywirusowe i zaawansowanych użytkowników znających dobrze system operacyjny.

Profilaktyka antywirusowa


Najlepszą metodą ustrzeżenia się przed wirusami jest ochrona prewencyjna, która opiera się na domyślnym odrzucaniu wszystkich plików, które docierają do naszego komputera. Niekiedy nawet pliki od zaufanych osób mogą zawierać wirusy, a osoby te mogą o tym po prostu nie wiedzieć. Ważnym elementem działań zapobiegawczych jest regularne tworzenie kopii awaryjnych dla najważniejszych plików, programów bądź dokumentów. Trzeba również regularnie tworzyć kopie zapasowe danych. W przypadku zainfekowania komputera nie należy od razu w panice formatować dysku twardego. Co więcej, wykonanie formatowania dysku wcale nie oznacza pozbycia się wirusa z systemu (np. w przypadku Viruta).

Ochrona przed wirusami plików wykonywalnych


Oprócz sprawdzenia programem antywirusowym, pliki wykonywalne można dodatkowo przeanalizować przy użyciu strony analizującej pliki pod kątem ich zainfekowania (np. virustotal.com). Dzięki temu rozwiązaniu można mieć niemalże 100% pewności, że dany plik jest/nie jest zainfekowany. Wyjątkiem mogą być wirusy, które są tak nowe, że żadna firma produkująca zabezpiecznie nia miała z nimi styczności, więc nie jest ich w stanie rozpoznać jako zainfekowane.

Ochrona przed bombami logicznymi i końmi trojańskimi


Konie trojańskie i bomby logiczne ze względu na sposób działania są trudne do wykrycia, gdyż właściwy, destrukcyjny kod może być umieszczony w dowolnym miejscu programu i trudno go odnaleźć. Niekiedy jest to wręcz niemożliwe. Z pomocą przychodzi tu technika heurystyczna. Polega ona na wykrywaniu potencjalnych agresorów na podstawie charakterystycznych sekwencji kodu. Programy poszukujące koni trojańskich w podejrzanych plikach najczęściej szukają w nich instrukcji wywołań przerwań programowych. Są to przerwania 13h lub 26h, używane do odczytywania i zapisywania sektorów. Ze względu na swe działanie, przerwania te występują bardzo rzadko w typowym oprogramowaniu użytkowym, gdyż normalne programy nie korzystają z bezpośrednich operacji zapisu na sektorach. Potencjalnymi końmi trojańskimi są także najnowsze wersje typowych i często używanych programów użytkowych, programów kompresujących czy nawet antywirusowych, zatem należy się z nimi obchodzić bardzo ostrożnie i przed uruchomieniem ich wypada je przeskanować. Dobrym rozwiązaniem, pozwalającym uchronić się przed większością koni trojańskich i bomb, może być zainstalowanie monitora antywirusowego. Konie trojańskie są zwykle pisane przez początkujących programistów, którzy do przeprowadzania destrukcji używają przerwań programowych, a te mogą być łatwo przechwytywane i kontrolowane przez monitor.

Ochrona przed makrowirusami


Bez programu antywirusowego trudno jest wykryć wirusy w plikach dokumentów DOC czy XLS, ale istnieją metody aby zminimalizować szansę zainfekowania systemu. Można w tym celu:

  • wyłączyć wszystkie makra automatyczne przy pomocy własnoręcznie napisanego makra:



Program antywirusowy (antywirus) – program komputerowy, którego celem jest wykrywanie, zwalczanie i usuwanie wirusów komputerowych. Współcześnie najczęściej jest to pakiet programów chroniących komputer przed różnego typu zagrożeniami.

Programy antywirusowe często są wyposażone w dwa niezależnie pracujące moduły (uwaga: różni producenci stosują różne nazewnictwo):

  • skaner – bada pliki na żądanie lub co jakiś czas; służy do przeszukiwania zawartości dysku

  • monitor – bada pliki ciągle w sposób automatyczny; służy do kontroli bieżących operacji komputera

Program antywirusowy powinien również mieć możliwość aktualizacji definicji nowo odkrytych wirusów, najlepiej na bieżąco, przez pobranie ich z Internetu, ponieważ dla niektórych systemów operacyjnych codziennie pojawia się około trzydziestu nowych wirusów.

Widoczna jest tendencja do integracji narzędzi do ochrony komputera. Kiedyś był to jedynie skaner, który wyszukiwał wirusy, początkowo na podstawie sygnatur znanych wirusów, a potem także typujący pliki jako zawierające podejrzany kod za pomocą metod heurystycznych.

Trzeba dodać, że współcześnie programy antywirusowe jako jedyna linia obrony nie wystarczają, Obecnie poza skanerem, monitorem i modułem do aktualizacji sygnatur z sieci, pakiet antywirusowy zawiera często także zaporę sieciową, moduły kontroli przesyłek poczty elektronicznej i plików pobieranych z sieci, moduł wykrywania i zapobiegania włamaniom, skaner pamięci i strażnika MBR. Wszystkie te moduły posiadają programy typu internet security - np. Kaspersky Internet Security, jednak można je zainstalować oddzielnie, co według licznych testów laboratoriów antywirusowych, oferują znacznie wyższy poziom ochrony przed malware niż pakiety bezpieczeństwa


Moduły programów antywirusowych

Skanery


Skanery to najstarszy i najprostszy sposób ochrony antywirusowej. Ich działanie polega na wyszukiwaniu określonej sekwencji bajtów w ciągu danych. W większości wirusów można wyróżnić unikalną sekwencję bajtów, tzw. sygnaturę, dzięki której możliwe jest odnalezienie wirusa w pamięci lub w zarażonej ofierze. Skuteczność skanera antywirusowego zależy od tego, jak bardzo charakterystyczna jest dana sekwencja. Najlepiej, jeżeli wirus zawiera w sobie jakiś bardzo specyficzny napis lub ciąg bajtów.

Wraz z pojawieniem się wirusów polimorficznych znaczenie skanerów trochę zmalało, jednak nadal jest to najważniejsza metoda walki z wirusami. Wirusy polimorficzne są trudne do wykrycia, gdyż ich różne próbki nie wyglądają tak samo. Często dwie próbki danego wirusa nie mają ze sobą nic wspólnego. Polimorfizm może być osiągnięty poprzez zakodowanie ciała wirusa. W przypadku tych wirusów również używa się skanera, choć dopiero w późniejszej fazie wykrywania

Monitory


Monitor to program antywirusowy zainstalowany jako TSR (ang. Terminate and Stay Resident) lub sterownik SYS, który – poprzez monitorowanie odpowiednich funkcji DOS i BIOS – pozwala na wykrywanie wszystkich wykonywanych za pomocą tych funkcji odwołań do dysków. To, czy monitor będzie działał prawidłowo zależy często od momentu, w którym przejął on kontrolę nad systemem (przed działaniem wirusa, czy już po) oraz od tego, jak głęboko wnika on w system operacyjny. Jak widać autorzy programów antywirusowych muszą korzystać z metod podobnych do tych, które stosują twórcy wirusów. Dużą wadą programów monitorujących jest to, że powodują one często fałszywe alarmy. Niekiedy zdarza się tak, że użytkownik po kolejnym potwierdzeniu jakiejś zwykłej operacji dyskowej staje się mniej uważny i nawet usuwa program antywirusowy z pamięci

Szczepionki


Są to programy skierowane przeciwko konkretnym wirusom. Na podstawie posiadanego czy wykrytego egzemplarza wirusa można, po odpowiedniej analizie jego kodu, zdefiniować tzw. sygnatury, na podstawie których wykrywa się kolejne kopie wirusa w systemie. Dokładna analiza kodu wirusa pozwala niekiedy odnaleźć w nim oryginalne wartości pewnych parametrów, które mogą posłużyć do wyleczenia plików. Większość z istniejących szczepionek to rozbudowane programy, które potrafią wykryć i usunąć kilka tysięcy określonych wirusów. Tylko w przypadkach nowych wirusów szczepionki nie są efektywne.

Programy autoweryfikujące


Programy te służą do sprawdzania czy dany program nie został w jakiś sposób zmieniony przez wirusa. Sprawdzanie to jest możliwe poprzez dodanie do wskazanego pliku określonego, krótkiego programu. Dodawany kod dopisuje się do pliku wykorzystując te same mechanizmy co wirusy, i pozwala on na autoweryfikację, czyli automatyczne sprawdzanie czy dany program nie został zmodyfikowany.

Niestety, programy tego typu najczęściej nie są odporne na technikę ukrywania kodu wirusa stealth i w systemie zainfekowanym przez wirusa używającego tej techniki okażą się całkowicie nieefektywne.

Programy zliczające sumy kontrolne


Działanie tego typu programów polega na obliczaniu odpowiednich sum kontrolnych dla żądanego pliku lub plików. Zliczane sumy kontrolne są przechowywane w osobnych plikach, tworzonych po pierwszym uruchomieniu programu. Jeżeli pliki te istniały już wcześniej, program antywirusowy wykorzystuje dane w nich zawarte aby porównać bieżąco wyliczoną sumę, z sumą poprzednio zachowaną w pliku.

Istnieje szereg algorytmów do tworzenia sum kontrolnych dla plików. Ogromną wadą programów tego typu jest to, że pliki przechowujące obliczone sumy kontrolne nie są wcale chronione. Dzięki znajomości wielu algorytmów stosowanych przez programy antywirusowe, niektóre wirusy potrafią zarazić określony plik i obliczyć dla niego nową sumę kontrolną.

Skanery antywirusowe on-line


Gdy użytkownik nie posiada programu antywirusowego, a chciałby szybko sprawdzić dysk lub tylko jeden plik, dobrym rozwiązaniem są skanery online – moduł programu antywirusowego, za pomocą którego komputer sprawdza określony przez użytkownika plik lub obszar na dysku twardym, dyskietce czy płycie. Po zakończeniu pracy skaner informuje o liczbie znalezionych wirusów i o tym, ile z nich udało mu się skutecznie usunąć. Aby zastosować skaner trzeba posłużyć się przeglądarką internetową.

Dodaj dokument na swoim blogu lub stronie

Powiązany:

Wirus komputerowy iconWirus komputerowy

Wirus komputerowy iconWirus komputerowy

Wirus komputerowy iconWirusy komputerowe Co to jest wirus komputerowy ?

Wirus komputerowy iconWirus komputerowy jest samoreaplikującym się segmentem kodu wykonywalnego, umieszczonym w innym programie. W rzeczywistości stanowią krótką sekwencję instrukcji

Wirus komputerowy iconKlasyczny wirus komputerowy to krótki program zdolny do powielania samego siebie. Łagodne wirusy poprzestają jedynie na bezobjawowym replikowaniu się. Inne

Wirus komputerowy iconWirus komputerowy(lacińskie"virus"oznacza truciznę)to program, który posiada zdolność samoczynnego powielania się I przenoszenia z jednego komputera na drugi

Wirus komputerowy iconWirus komputerowy-jest niewielkim programem potrzebuje do funkcjonowania drugiego, innego programu. Wirusy łączą się z naszymi plikami, które znajdują się na

Wirus komputerowy iconGrypę wywołują wirusy. Wyróżniamy grupy a b I C. wirus grypy został wykryty w latach 30 XX w wirus grypy "hiszpanki" to wirus grupy A, nosicielami tej grypy

Wirus komputerowy iconHiv – human immunodeficiency virus  ludzki wirus niedoboru odporności aids – zespół nabytego niedoboru odporności hbv – Hepatis b virus – wirus zapalenia wątroby typu B. Hcv hepatis c virus – wirus zapalenia wątroby typu C

Wirus komputerowy iconWirus to

Umieść przycisk na swojej stronie:
Rozprawki


Baza danych jest chroniona prawami autorskimi ©pldocs.org 2014
stosuje się do zarządzania
Rozprawki
Dom