Wirusy komputerowe.

Wirus komputerowy, 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, “nie zaraż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.
Przyjmuje się, że fabryczne dyskietki z oprogramowaniem są wolne od wirusów. Lecz i tu znane są przypadki złośliwego zawirusowania dyskietek fabrycznych przez niezadowolonych pracowników w akcie zemsty na pracodawcy.
Ochrona przed wirusem polega, oprócz unikania dyskietek z programami niewiadomego pochodzenia, na systematycznym kontrolowaniu systemu plików przez program antywirusowy. Stuprocentową gwarancję zwalczania wirusów daje tylko formatowanie dysku, niszczące jednak całą jego zawartość. Dlatego zawsze należy dbać o przechowywanie kopii zapasowych ważnych plików pamiętanych na dysku podstawowym.
Program antywirusowy, program, którego zadaniem jest wykrywanie, rozpoznawanie i usuwanie wirusów z systemu komputerowego.

Skąd się biorą wirusy komputerowe ?
-Wirus jak każdy program zostaje stworzony przez programistę. W żadnym wypadku wirus komputerowy nie może powstać samoistnie.
Aby walczyć z wirusem należy poznać jego budowę i sposób działania. Niektórzy mogą zarzucić mi , że podając takie informacje wręcz zachęcam do pisania wirusów , ale najlepszym sposobem obrony jest atak.
Posiadając wiedzę jak działa wirus , w jaki sposób się mnoży oraz przeprowadza destrukcję możemy w łatwy sposób napisać szczepionkę na złapanego wirusa.
Większość wirusów pisana jest w języku assemblera ponieważ w najmniejszej ilości kodu można zawrzeć największą ilość "inteligencji" , taki program jest najbardziej optymalny i najgłębiej wnika w strukturę systemu operacyjnego. Oczywiście wirusy powstają także w innych "wysokich" językach programowania takich jak C czy Turbo Pascal. Wirusy tego typu są na tyle prymitywne i mało agresywne , że można je pominąć.
Można powiedzieć , że wśród wirusów powstał pewien sposób standaryzacji infekcji i zachowań. Jeżeli złapiemy jakiegoś nieznanego wirusa to po krótkiej analizie jego kodu możemy wywnioskować że:
· Jest szyfrowany/nie szyfrowany.
· Infekuje doklejając się na końcu / początku / wewnątrz nosiciela / nadpisując nosiciela / sprzęga się z nosicielem modyfikując FAT (File Allocation Table) Tablicę Rozmieszczenia Plików.
· Na początku pliku COM umieszcza skok do swojego kodu (np. JMP ADRES_WIRUSA).
· Infekuje inne pliki / dyski (boot sector).
· Oznacza pliki zainfekowane sygnaturę: wewnątrz zainfekowanego pliku / oznacza czas lub datę / oznacza w inny sposób.
Pomijając inne bardziej szczegółowe działania wirusa oraz to czy wirus jest odporny na analizę możemy utworzyć szczepionkę w następujący sposób:
· Pobieramy 16 lub więcej bajtów kodu wirusa w celu identyfikacji go w zarażonych zbiorach / dyskach (o ile nie jest szyfrowany zmienną procedurą).
· Ustalamy długość infekującą wirusa (wirusy plikowe).
· Ustalamy co wirus zmienia infekując plik / dysk i gdzie przechowuje te informacje.

Jak zabezpieczyć się przed wirusem ?j
-Profilaktyka to najlepszy sposób obrony
Najprostszym sposobem obrony jest profilaktyka czyli nie kopiowanie i nie przenoszenie oprogramowania z nieznanych źródeł. Najwięcej wirusów jest przenoszone poprzez nielegalne kopiowanie oprogramowania. Jeżeli już korzystamy z oprogramowania kopiowanego z innych komputerów powinniśmy zainstalować rezydentny program monitorujący. Program ten analizuje każdą dyskietkę wkładaną do napędu , każdy uruchamiany lub kopiowany program , nadzoruje newralgiczne punkty systemu jak tablicę wektorów przerwań , czy próby nielegalnego przydzielenia pamięci. Najbardziej rozbudowane programy potrafią określić jakim wirusem został zarażony plik lub dysk. Posługują się przy tym plikami sum kontrolnych lub bazą sygnatur (wzorców). Potrafią także nadzorować pliki przesyłane poprzez sieć np.INTERNET. Zaletą tych programów jest to , że potrafią one wykryć i obezwładnić wirusa zanim on przejmie kontrolę nad systemem , wadą natomiast to , że są one bardzo pamięciożerne i w znacznym stopniu spowalniają odwołania do napędów dyskowych. Jeżeli nie posiadamy takiego programu to w walce z wirusami może pomóc nierezydentny skaner antywirusowy który uruchomiony co pewien czas skanuje powierzchnię twardego dysku lub dyskietek. Programy tego typu są bardzo szybkie i oprócz wykrycia wirusa potrafią jego obezwładnić lub usunąć. Jednak programy te stają się przydatne jedynie wtedy gdy system lub program został już zainfekowany wirusem. Programy tego typu nie potrafią zapobiec infekcji a jedynie z nią walczą.
Jeżeli posiadamy oba typy programów antywirusowych najlepiej jest skorzystać z nich obu.
Aby wyjść naprzeciw autorom wirusów i ułatwić życie zwykłym użytkownikom komputerów specjaliści do walki z "mikrobami" przystąpili do tworzenia pakietów antywirusowych.
Obecnie na rynku jest mnóstwo programów tego typu np. AVP , AVSCAN , TBVAW , WEB.
Najbardziej jednak popularne są programy: VSAFE rezydentny monitor dołączany do każdej wersji MS-DOS , oraz antywirusowy skaner MKS_VIR.
Program VSAFE jest rezydentnym monitorem potrafiącym nadzorować sektory startowe dysków i dyskietek , programy rezydentne , oraz potrafi zabezpieczyć twardy dysk przed formatowaniem niskopoziomowym oraz pliki wykonywalne przed modyfikacjami. VSAFE analizuje uruchamiane programy i potrafi wykryć wirusa posługując się sygnaturami lub sumami kontrolnymi. Ponieważ większość zaawansowanych wirusów potrafi go obezwładnić lub całkowicie usunąć z pamięci , używanie tego programu jest wątpliwe.
MKS_VIR jest programem polskiej produkcji , całkowicie przystosowanym do wykrywania naszych lokalnych wirusów.
MKS_VIR posiada zdolność wykrywania wirusów stosujących biblioteki MtE i TPE oraz wirusów utworzonych za pomocą generatorów takich jak np. IVP , G2. Wirusy polimorficzne MKS_VIR wykrywa przy pomocy kontrolowanego uruchomienia i interpretacji kodu programu. Autor Marek Sell wbudował w swój program mechanizmy umożliwiające wykrywanie i usuwanie wirusów dyskowych oraz wirusów makr Word'a i Excel'a. W obecnej wersji BETA MKS_VIR dla Windows 95 posługuje się również sumami kontrolnymi w celu wykrycia nieznanych w trakcie tworzenia programu wirusów.

-Co robić gdy nie mamy programu antywirusowego ?
· Nadać wszystkim plikom na dysku atrybut Read Only (ang. tylko do odczytu).Większość prymitywnych wirusów nie potrafi go ominąć.
· Nazwy katalogów powinny posiadać rozszerzenie. Wirusy nie rezydentne skanujące dysk w poszukiwaniu ofiary najczęściej nie widzą takiego katalogu.
· Podejrzany program uruchamiać w katalogu w którym brak innych programów które mogłyby zostać zainfekowane. Proste wirusy nie rezydentne nie potrafią przeszukiwać dysku i infekują w katalogu aktualnym.
· Jeżeli BIOS komputera na to pozwala włączyć opcję VIRUS PROTECTION lub podobną która chroni sektor startowy dysków twardych przed zapisem.

-Co robić gdy "złapaliśmy" zwykłego wirusa lub typu Stealth? Jak go zobaczyć ?
· Uruchamiamy system z czystej dyskietki. Będzie wtedy widać które zbiory zwiększyły swoją długość , datę modyfikacji lub atrybuty.
· Jeżeli nie posiadamy dyskietki awaryjnej możliwe jest skopiowanie zarażonych plików na dyskietkę i zabezpieczenie jej przed zapisem. O ile powiększenie długości zainfekowanych zbiorów wirus będzie w stanie ukryć to zawartość zainfekowanego zbioru będzie widoczna z doklejonym kodem wirusa. Stanie się tak dlatego ponieważ wirus nie będzie w stanie odkazić zainfekowanego zbioru aby ukryć fakt infekcji.
· Jeżeli wirus nie jest typu stealth a jest wirusem towarzyszącym to każdy "zainfekowany" zbiór EXE powinien posiadać swojego odpowiednika typu COM.
· Jeżeli wirus stealth jest "głupi" to możemy odinfekować pliki wykonywalne kopiując je wraz ze zmianą nazwy rozszerzenia np. z EXE na EXX , COM na COO.

-Co robić gdy "złapaliśmy" wirusa i po "odczuciu" wiemy że został napisany w C lub w Pascalu?
*Wirusy napisane w C lub Pascalu są wirusami o "dużych gabarytach" , a stosowanie przez nie metody ukrywania swojego kodu jest rzadkością. Wirusy takie są z reguły nieryzdentne bardzo powolne i awaryjne w działaniu. Jedyną ich zaletą jest to , że trudna jest ich analiza.
Tak więc wirusa tego typu jest łatwo wykryć , ale co z tego , że wiemy gdzie jest , jeżeli nie wiemy jak go ubić.
Wirusy napisane w językach wyższego poziomu najczęściej stosują taki schemat infekcji:
-przenoszą początek programu nosiciela na jego koniec
-wciskają się na początek programu nosiciela
Uruchomienie zainfekowanego programu odbywa się w następujący sposób:
-uruchomienie wirusa i infekcja innych programów
-odkażenie nosiciela
-uruchomienie nosiciela
-zarażenie nosiciela
Tak więc już wiadomo jak pozbyć się intruza. Wystarczy po uruchomieniu zarażonego programu zablokować zapis do dysku lub plików EXE lub COM i wirus sam się usunie!. Dzięki programowi VSAFE dołączanego do każdej wersji MS-DOS możemy walczyć nawet z nieznanym wirusem. Oczywiście zwycięstwo nie leży po stronie tego programu lecz postronnie jego użytkownika. A oto jak go użyć w walce:
1. Uruchamiamy VSAFE.COM
2. Wciskamy ALT-V i wyłączamy funkcje 3,4,8 A potem ESC
3. Uruchamiamy zarażony program
4. Wciskamy ALT-V i włączamy funkcję 3 A potem ESC
5. Wychodzimy z programu
6. Program VSAFE informuje nas o próbach zapisu. Na pytanie czy można zapisać odpowiadamy NO
7. Gdy VSAFE skończy się pytać zbiór jest wolny od wirusa!

Przykłady wirusów:
Michał Anioł (Michelangelo virus), mocno nagłośniony przez prasę, radio i telewizję wirus komputerowy typu bomba zegarowa, który miał się uaktywnić i dokonać spustoszeń 6 marca 1992, w 517 rocznicę urodzin Michała Anioła. W większości zlokalizowany i zniszczony przed tą datą. Wpłynął korzystnie na obroty w handlu oprogramowaniem antywirusowym.
Koń trojański (angielskie Trojan horse), program który nadużywa praw dostępów domenie użytkownika korzystającego z jego usług. Na przykład edytor tekstu mógłby zawierać kod, który po wyszukaniu w redagowanym pliku pewnych słów kluczowych skopiowałby cały plik do specjalnego obszaru dostępnego dla twórcy edytora.Innym przykładem jest program, który naśladuje usługę rejestrowania użytkownika w systemie: niczego nie podejrzewającemu użytkownikowi wydaje się, że wpisał błędne hasło, ponieważ za drugim razem wszystko jest w porządku. Koń trojański zdążył natomiast przechwycić nazwę i hasło użytkownika i przechować w dostępnym dla siebie miejscu, a użytkownikowi wydrukował sygnał o błędzie rejestracji.Koń trojański jest trudno wykrywalny i może być poważnym zagrożeniem dla bezpieczeństwa systemu.
EnerKaz jest wirusem, który infekuje pliki Windows PE (portable executable) w folderach wykorzystywanych przez Internet Explorera i KazaA. Ten ostatni jest aplikacją do intrernetowej wymiany plików.

EnerKaz został stworzony za pomocą Delphi 6. Rozmiar - 47,104 Bajtów.
Sposoby rozprzestrzeniania się: Głównym kanałem dystrybucji wirusa jest KazaA, aplikacja do internetowej wymiany plików.
Objawy i działanie: Kod wirusa zawiera tekst:
HANTA-Vjoiner ,si que lo hice yo, ErGrone/GEDZAC los senoritos de PERU, en especial a Machado, que no tiene la educación necesariapara responder un E-Mail...y para los que se enojaron con CPL, jeje, paque ocupan Hotmail!!!, teniendo miles de mailbox gratis y con mas espacio.....Falla la Heuristica y contra una técnica antigua JoJOjOO-Escrito en Delphi 6.
Aby usunąć wirus można skorzystać z bezpłatnego skanera antywirusowego online: ActiveScan.

W97M/BlackoutBlackout jest robakiem rozprzestrzeniającym się głównie za pomocą kanału IRC. Unieruchamia opcję Shut down w Menu Start systemu Windows. Ponadto zaraża wszystkie otwarte pliki Word i czasami wyświetla na ekranie monitora wiadomość: Po raz pierwszy pojawił się 5 lutego 2003 roku. Blackout został napisany w języku Visual Basic. Plik odpowiedzialny za infekcję zajmuje 3,038 bajtów. Atakuje komputery z następującymi systemami: Windows XP/2000 Pro/NT/Me/98/95. Blackout głównie rozprzestrzenia się za pomocą kanału IRC, przesyłając plik README.TXT przez te kanały używając komendy DCC. Plik ten zawiera kopię zainfekowanego kodu. Blackout powoduje następujące skutki:· Uruchamia opcję Shut down w menu Start systemu Windows.· Czasami wyświetla wiadomość na ekranie monitora.· Infekuje dokumenty Word (pliki w rozszerzeniem DOC) kiedy są otwarte. Blackout tworzy następujące pliki w głównym katalogu dysku twardego:· BLACKOUT.VBS. Panda Antywirus wykrywa ten plik jako wirusa VBS/Blackout· BLACKOUT.VXD. Plik ten zawiera kod do zainfekowania Worda. Panda wykrywa ten plik jako W97/Blackout.Src. · README.TXT. Plik ten jest kopią zainfekowanego pliku Word, który Blackout próbuje rozesłać poprzez kanał IRC. · Jeśli komputer posiada zainstalowany program IRC, Blackout tworzy wówczas jeszcze nowy plik nazywany SCRIPT.INI (wykrywany przez Pandę jako mIRC/Blackout). Dzięki temu plikowi wirus rozprzestrzenia się za pomocą kanału IRC. Blackout tworzy następujące klucze w rejestrze Windows:· HKLM Software Microsoft Windows CurrentVersion Run = Registry "blackout" "c:blackout.vbs"· HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer NoClose "1"Aby usunąć wirus można skorzystaćz bezpłatnego skanera antywirusowego online: ActiveScan.