WIRUSY KOMPUTEROWE

WIRUSY KOMPUTEROWE


Wirus komputerowy
to program komputerowy posiadający zdolność replikacji, tak jak prawdziwy wirus - stąd jego nazwa. Wirus do swojego działania potrzebuje i wykorzystuje system operacyjny, aplikacje oraz zachowanie użytkownika komputera. Wirusa komputerowego zalicza się do złośliwego oprogramowania. Do zwalczania i zabezpieczania się przed wirusami komputerowymi stosuje się programy antywirusowe oraz szczepionki antywirusowe.

Jak przenosi się i jak działa wirus komputerowy

Wirus komputerowy przenosi się poprzez pliki, co wymaga obecności systemu plików, lub przez bezpośredni zapis w wybranym sektorze bądź jednostce alokacji zewnętrznego nośnika danych np. dysku twardego, dyskietki lub pendrive'a. Proces replikacji wirusa komputerowego polega na odpowiedniej modyfikacji zawartości pliku, sektora lub jednostki alokacji. Tak zmodyfikowany nośnik danych nazywa się nosicielem wirusa komputerowego, analogicznie do prawdziwego nosiciela wirusa.

Rozmiary pierwszych wirusów komputerowych zawierały się w granicach od kilkudziesięciu bajtów do kilku kilobajtów. Obecnie, takie klasyczne wirusy spotyka się rzadziej, częściej jest to połączenie wirusa z robakiem komputerowym o rozmiarze rzędu kilkadziesiąt kilobajtów. Taką, stosunkowo niewielką ilość kodu binarnego, z łatwością można ukryć w dużym pliku zawierającym program komputerowy, o rozmiarze rzędu kilku megabajtów. Sam rozmiar wirusa zależy od czynników takich jak:

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

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, że 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.

Klasyfikacja wirusów komputerowych

Wirusy komputerowe najczęściej klasyfikuje się ze względu na infekowany obiekt:

wirusy dyskowe

wirusy plikowe

wirusy skryptowe

wirusy telefonów komórkowych

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

Wirusy nierezydentne

Wirusy nierezydentne (ang. non-resident viruses) są najprostszą odmianą wirusów zarażających pliki z programami. Po uruchomieniu programu z zarażonego pliku, kod binarny wirusa instaluje się w pamięci operacyjnej, uruchamia się i poszukuje kolejnego obiektu do zarażenia. Jeśli go nie znajdzie, sterowanie oddawane jest z powrotem do programu z zarażonego pliku. W poszukiwania pliku ofiary, wirus przeszukuje katalog bieżący wraz z podkatalogami, katalog główny oraz katalogi określone w odpowiedniej zmiennej środowiskowej systemu operacyjnego. Uaktywnieniu wirusa nierezydentnego towarzyszy wyraźne opóźnienie w uruchomieniu właściwego programu oraz, łatwo zauważalna, wzmożona aktywność nośnika danych: dysku twardego, dyskietki czy pendrive'a.

Wirusy rezydentne

Można powiedzieć, że wirusy nierezydentne są dość ograniczone, gdyż łatwo je wykryć. Dlatego pojawił się nowy rodzaj wirusa – wirus rezydentny (ang. resident virus). Jego zasada działania polega na zainstalowaniu się w pamięci operacyjnej komputera i korzystaniu z odwołań do systemu operacyjnego w taki sposób jak czynią to programy rezydentne (ang. Terminate but Stay Resident, TSR). Wirus rezydentny to w istocie program rezydentny ukrywający swój kod binarny przed programami zarządzającymi pamięcią operacyjną. Będąc jednocześnie aktywnym i ukrytym w pamięci ma o wiele szersze pole działania niż wirusy nierezydentne. Wirus rezydentny, aby działać, musi jednak korzystać z systemu przerwań i z tego powodu trudniej jest go programować.

Ze względu na szybkość działania, wirusy rezydentne dzielimy na:

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 zabezpieczenie nie 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ć.


Wyszukiwarka

Podobne podstrony:
Wirusy Komputerowe Jak Je Robić
Wirusy komputerowe i profilaktyka antywirusowa, edukacja i nauka, Informatyka
Wirusy Komputerowe
01 Wirusy komputeroweid 2974 ppt
Wirusy komputerowe
Informatyka, Wirusy komputerowe, Wirusy komputerowe
Wirusy komputerowe, Sytemy operacyjne i sieci komputerowe
22-23. Wirusy komputerowe, Semestr 1
Wirusy Komputerowe, Profilaktyka antywirusowa
Wirusy komputerowe Profilaktyka antywirusowa Programy antywirusowe
Wirusy komputerowe 2, edukacja i nauka, Informatyka
Wirusy komputerowe, Informatyka -all, INFORMATYKA-all
WIRUSY KOMPUTEROWE
Wirusy komputerowe, edukacja i nauka, Informatyka
Wirusy komputerowe i profilaktyka, Hacking i komputery, Wirusy
WIRUSY KOMPUTEROWE (2)
Wirusy komputerowe[1]
WIRUSY KOMPUTEROWE

więcej podobnych podstron