Co to jest wirus.doc

(47 KB) Pobierz
Wirus komputerowy jest to samoreplikujący się segment wykonywalnego kodu , umieszczony w innym programie lub w inny sposób sprzężony z nim

Co to jest wirus?

 

Wirus komputerowy jest to kod, który wskutek braku systemowej ochrony zasobów w jednoprogramowych systemach operacyjnych komputerów osobistych dokonuje zaprogramowanych przez jego autora, niepożądanych zmian w środowisku systemowym, uszkadzając dane, programy, zmieniając sposób działania sprzętu itp. W uproszczeniu wirus jest obcym fragmentem kodu, dołączonym do programu. Wykonanie tego kodu po uruchomieniu programu powoduje odnajdywanie na dysku innych, “niezarażonych” programów i dołączanie do nich kodu wirusa. W ten sposób wirus zaraża coraz to więcej programów w komputerze, a “zainfekowane” nim programy, przenoszone na dyskietkach lub przesyłane siecią niszczą zasoby innych komputerów. Wirus może też atakować sektor rozruchowy dyskietki lub dysku. Skutki powodowane przez wirusy mają znamiona przestępstwa polegającego na naruszeniu dóbr chronionych prawem.

 

Niektóre wirusy mają też inne skutki uboczne:

·         kasowanie i niszczenie danych

·         niszczenie sprzętu komputerowego

·         rozsyłanie spamu

·         dokonywanie ataków na serwery internetowe

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

·         wyłączenie komputera

·         wyświetlanie napisów lub rysunków na ekranie

·         uniemożliwienie pracy na komputerze

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

 

Podział wirusów:

Ze względu na sposób infekcji

·         Dyskowe

·         Pasożytnicze (plikowe)

·         Towarzyszące

·         Sprzęgające

·         Hybrydowe

Ze względu na zachowanie się po uzyskaniu kontroli:

·         Rezydentne

·         Nierezydentne

·         Hybrydowe

 

Podział wirusów ze względu na sposób infekcji:

 

Dyskowe

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 ROM-y, popularyzacją kompresji danych (na dyskietkach znajdowały się zwykle trudne do zarażenia archiwa) oraz rozpowszechnieniem Internetu. Dzisiaj są one właściwie niespotykane. Najbardziej znane przykłady wirusów z tej kategorii: Brain, Stoned, Michelangelo.

 

Wirusy sektora ładowania

    Wirusy sektora ładowania są rozpowszechniane przez fizyczną wymianę każdego nośnika, który może być wykorzystany do uruchomienia systemu operacyjnego. Komputer zostaje zainfekowany wirusem sektora ładowania tylko wtedy, gdy użytkownik zainicjuje działanie systemu z zainfekowanego dysku. Całkowicie bezpieczne jest włożenie zainfekowanej dyskietki do kieszeni napędu i skopiowanie z niej danych.

 

Pasożytnicze (plikowe)

    Wirusy tego typu modyfikują zawartość plików wykonywalnych (COM, EXE, SYS i innych). Dołączają się one do pliku pozostawiając nienaruszoną większość programu. Przebieg wykonywania programu zostaje odwrócony w taki sposób, aby kod wirusa był wykonywany jako pierwszy. Po wykonaniu programu wirusa następuje uruchomienie oryginalnego programu. Jedną z odmian wirusów pasożytniczych są wirusy zamazujące. Infekując program zamazują jego początek własnym kodem. Uruchomienie takiego programu powoduje, że wirus poszukuje następnej ofiary a oryginalny program nigdy nie jest uruchamiany.

 

    Wirusy pasożytnicze rozpowszechniają się za pomocą każdego nośnika, który może być użyty do przechowywania lub przekazywania programu wykonywalnego np. dyskietki, taśmy, sieci itp. Ogólnie infekcja się rozpowszechnia, gdy zainfekowany program jest wykonywany.

 

Towarzyszące

    Wykorzystują tę właściwość DOS-a, że gdy w katalogu występują dwa programy o tej samej nazwie, to system operacyjny wykonuje plik COM przed plikiem EXE. Wirus towarzyszący tworzy plik COM o tej samej nazwie, co plik EXE, umieszczając w nim swój własny kod. Gdy użytkownik poda nazwę programu (bez rozszerzenia) do uruchomienia, system operacyjny wczyta COM, co spowoduje wykonanie kodu wirusa i w następstwie, załadowanie i wykonanie pliku EXE. Wirus tego typu nie powoduje żadnych zmian w zawartości "zainfekowanego" pliku EXE.

Sprzęgające

 

Hybrydowe

    Wirusy hybrydowe łączą w sobie jedne z powyższych metod. Najbardziej popularne jest łączenie wirusa sektora ładowania z wirusem pasożytniczym plikowym. Daje to największe możliwości replikacji, a jednocześnie utrudnia leczenie zainfekowanego systemu.

 

 

Rezydentne

    Wirusy tego typu instalują się w pamięci jako rezydentne programy usługowe TSR (ang. Terminate and Stay Resident). Przejmują jedno lub więcej przerwań i infekują, gdy spełnione są określone warunki np. uruchomienie programu.

 

Nierezydentne

    Są aktywne jedynie wtedy, gdy jest wykonywany zainfekowany program użytkowy. Wykonują one całkowicie swój program na tym etapie i nie pozostają w pamięci.

 

Hybrydowe

    Wykorzystują kombinacje powyższych metod. Możliwy jest przykład, gdy wirus jest nie rezydentny a po uzyskaniu kontroli pozostawia w pamięci rezydentny fragment swojego kodu.

 

 

Inne typy programów sabotażowych:

 

Bomba logiczna

Złośliwy kod umieszczony w programie, który uaktywni się, gdy zostaną spełnione określone warunki, np. program załamania systemu po usunięciu nazwiska autora z listy płac.

 

Koń trojański

Dowolny program, który zawiera kod realizujący funkcje inne niż te, których spodziewa się użytkownik lub deklarowanych w dokumentacji systemu (programu). Obejmuje to również bomby logiczne. Koniem trojańskim może być np. Norton Commander z dołączonym kodem, który sformatuje dysk twardy po obejrzeniu w oknach Nortona 10 000 plików.

 

Robak

Program, który mnoży się w sposób nie kontrolowany w sieci komputerowej.

 

Królik

Program wykorzystujący w pełni określone zasoby systemu na skutek nie kontrolowanego powielania się.

 

Wirus Makr

Wirus Makr nie jest programem w dosłownym znaczeniu. Jest on zbudowany z poleceń rozumianych przez konkretny program np. edytorski i infekuje jedynie dokumenty tekstowe lub arkusze kalkulacyjne.

 

 

Techniki stosowane przy tworzeniu wirusów:

 

Wirusy wielopostaciowe (polimorficzne)

 

    Od dawna twórcy wirusów marzyli, aby ich "dzieła" były niewykrywalne przez skanery antywirusowe. Rozwiązanie było proste: wczesne skanery antywirusowe posługiwały się próbką (łańcuchem bajtów charakterystycznych) ze złapanego i przeanalizowanego wirusa. Taki skaner przeszukując plik porównywał jego strukturę ze składowanymi w swojej bazie próbkami. W razie wykrycia podobieństwa wszczynany był alarm. Wystarczyło stworzyć wirusa, z którego nie można było pobrać próbki. Aby było to możliwe wirus po każdym swoim powieleniu powinien wyglądać inaczej.

 

    Początkowo wprowadzono procedury szyfrujące kod wirusa za pomocą stałego lub zmiennego klucza. Ta procedura zawsze wyglądała jednakowo i z niej można było wyznaczyć bajty charakterystyczne. Następnie programiści poszli dalej. Aby "zamydlić oczy" skanerowi wprowadzono do kodu procedury deszyfrującej dodatkowych, nieistotnych dla algorytmu instrukcji, zmienianych podczas każdej infekcji. W odpowiedzi na to autorzy skanerów antywirusowych wprowadzili do swoich próbek tzw. znaki zastępcze (np. bajt ignorowany, przyjmujący dowolną wartość).

 

    Kolejnym ruchem autorów wirusów było utworzenie algorytmów generujących od kilkudziesięciu do nawet 1 miliarda różnych postaci procedury deszyfrującej. Przy procedurach, które generują małą ilość wariantów możliwe jest wykrywanie przez zapisanie w bazie skanera wszystkich możliwych do wygenerowania ciągów. Jednak przy dzisiejszych możliwościach autorów i ich wirusów ta metoda wykrywania nie zdaje egzaminu.

 

    Autorzy nowoczesnych wirusów stosują metody: zastępowania i przestawiania instrukcji procedury deszyfrującej, mieszania instrukcji właściwego kodu procedury z instrukcjami "jałowymi" np. NOP (nic nie rób) oraz rozsiewania kodu procedury deszyfrującej w kodzie nosiciela. Metoda szyfrowania polimorficznego jest również stosowana dla kodu wirusa rezydującego w pamięci komputera. Utrudnia to jego identyfikację i obezwładnienie.

Wirusy utajnione (ang. Stealth)

 

    Jedną z metod uczynienia wirusa niewykrywalnym jest jego utajnienie. Na ogół kod wirusa jest widoczny w kodzie zarażonego programu. Możemy się o tym przekonać oglądając zarażony program np. edytorem binarnym. Metoda utajniania polega na podsuwaniu programom czytającym zarażony plik, obrazu jego sprzed infekcji.

 

    Wirus wykorzystujący technikę STEALTH przechwytuje odpowiednie przerwania i na żądanie odczytu odkaża nosiciela (wirusy plikowe) lub podsuwa oryginalny kod ze swojej przechowalni (wirusy dyskowe). W przypadku wirusów plikowych plik odkażony po zamknięciu jest ponownie infekowany. Wirusy dyskowe ukrywają swój kod na dysku również w inny sposób. Formatują sobie dodatkową ścieżkę, na której umieszczają swój kod. Do tak spreparowanej ścieżki system operacyjny nie ma dostępu i kod wirusa nie jest narażony na wykrycie. Wirusy typu STEALTH przekłamują odczyty rozmiaru pliku, odejmując od oryginalnego rozmiaru wielkość wirusa. Użytkownik komputera nie zauważy, więc faktu powiększenia się rozmiarów zbiorów na skutek infekcji. Aby ukryć fakt rezydowania w pamięci komputera wirusy typu STEALTH podsuwają programom oryginalne adresy wektorów przerwań oraz ukrywają zajęte przez siebie bloki pamięci oznaczając je najczęściej jako nieprzydzielone.

 

Wirusy opancerzone (ang. Armory)

 

    Dobry wirus musi nie tylko się ukrywać, ale również musi być odporny na jego analizę. Aby zapobiec de-asemblacji kodu wirusa, autorzy wstawiają do jego kodu wiele pojedynczych bajtów dobranych w taki sposób, aby przy próbie przetłumaczenia go występowały przekłamania. Procesor wykonujący rozkazy kodu wirusa w jednoznaczny sposób "wie”, jakie rozkazy pobrał i ma wykonać, lecz program tłumaczący ten kod w mniejszym lub większym stopniu nie jest w stanie zinterpretować instrukcji, które zostały obstawione "lewymi bajtami".

 

...
Zgłoś jeśli naruszono regulamin