Przegląd wirusów komputerowych

 

 

Wirus komputerowy (łacińskie "virus" oznacza truciznę) 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.

 

Podział wirusów:

 

 

Plikowe

 

Wirusy plikowe infekują wszystkie pliki uruchamialne. Ostatnio nawet DOC i XLS. Dołączane są do kodu infekowanego programu. Mogą dołączać się na jego końcu, początku i w środku. Istnieją również wirusy plikowe, które zamazują część kodu programu uszkadzając go już nieodwracalnie. Zazwyczaj wirusy plikowe są uruchamiane przed właściwym programem, jednak istnieją i takie, które zostają uaktywnione po zakończeniu działania pierwotnego programu. Przykładem może być wirus BeTaViRiLaTiOn lub GEOv1.0 napisane w Turbo Pascal'u. Wirusów plikowych jest najwięcej, z tego względu, że są proste do napisania i szybko się rozprzestrzeniają.

 

Wirusy Boot sector'a

 

Wirusy tego typu zmieniają zawartość sektora głównego dysku (boot sector'a) lub sektora ładowania. Zamiast prawdziwego kodu zapisują tam część samego siebie, a dobrą kopię zapisują zazwyczaj w innym miejscu. Takie wirusy uaktywniają się tylko podczas startu z zarażonego dysku. Kiedy "ruszymy" z takiego nośnika wirus znajdujący się tam zostaje uaktywniony. Wczytuje on wówczas resztę swojego kodu, który się tam nie zmieścił i prawdziwy sektor. Jeśli mamy zainfekowany dysk twardy, to by go wyleczyć trzeba uruchomić komputer z dyskietki systemowej i uruchomić dobry program antywirusowy.

 

Towarzyszące

 

Wirusów towarzyszących jest znacznie mniej od plikowych. Zarażają one pliki EXE. Sposób postępowania takiego wirusa jest następujący: znalezienie katalogu, w którym znajduje się EXE'k do zainfekowania. Stworzenie tam pliku o tej samej nazwie, lecz z rozszerzeniem COM, do którego zostanie zapisany kod wirusa. Większość ludzi nie zwraca uwagi na to, czy dany plik ma rozszerzenie EXE, czy COM. Po wpisaniu np. polecenia NC (Norton Commander) DOS szuka najpierw pliku NC.COM i jeśli go znajdzie to uruchamia, a dopiero później (gdy nie znajdzie COM'a) szuka NC.EXE. Wirusów tego typu jest mało i bardzo wolno się one rozprzestrzeniają.

 

Sprzęgające

 

Wirusów sprzęgających jest bardzo mało, z tego względu, że są bardzo trudne do napisania. Wirusy takie nie zmieniają zawartości żadnego pliku. Ich "praca" polega na zmianie jednostki alkolacji pliku (JAP). JAP "mówi" gdzie zapisany jest na dysku dany program. Wirusy sprzęgające dopisują tam adres swojego kodu, przez co uruchomienie zarażonego programu spowoduje wykonanie najpierw kodu wirusa. Najbardziej znanym wirusem sprzęgającym jest DIR-2. Podczas pracy na zarażonym systemie tym wirusem nie dzieją się żadne dziwne rzeczy, jednak jeśli uruchomimy komputer z niezarażonej dyskietki i spróbujemy skopiować jakiś plik z zarażonego dysku, zostanie stworzony plik z kodem wirusa.

 

Hybrydowe (mieszańce)

 

Wirusy hybrydowe, są to wirusy, które łączą w sobie różne typy wirusów. Wirusów tych jest bardzo wiele. Rozprzestrzeniają się one bardzo szybko. Najczęstsze łączenie typów to: wirus plikowy i boot sektora.

 

Polimorficzne

 

Wirusy tego typu są najgroźniejsze, gdyż najtrudniej jest je wykryć. Twórcy wirusów, by utrudnić życie programistom piszącym programy antywirusowe zaczęli szyfrować swoje dzieła. Szyfrowane są one w różny sposób, np. przez XOR-owanie. Każda kopia wirusa jest więc inna, ale nie dokońca, gdyż procedura szyfrująca jest zawsze taka sama i po niej skanery rozpoznają wirusa. Jest na to jeden lek. Trzeba szyfrować również procedurę szyfrującą, ale jak? Otóż zobaczmy na kody instrukcji:

 

31 C0 90 90

90 31 C0 00

B8 00 00 90

B0 00 B4 00

Pierwsza to:

 

XOR AX,AX

NOP

NOP

 

Druga:

NOP

XOR AX,AX

NOP

 

Trzecia:

 

MOV AX,0

NOP

 

Czwarta:

MOV AL,0

MOV AH,0

 

Wszystkie one wykonują to samo zadanie. Zerują rejestr AX. Istnieje jeszcze wiele innych instrukcji, które wykonują to samo zadanie, a mają inne kody, np. INC można zastąpić przez ADD, itp. W ten właśnie sposób działają wirusy polimorficzne. Procedura szyfrująca wirusa za każdym razem jest inna, mimo, że wykonuje to samo zadanie. W ten sposób może mieć kilkaset różnych postaci i dlatego skanery się po prostu GUBIĄ .

bw100 - Biological Warfare Virus Creation Kit - biblioteka polimorficzna 45.2KB

mte - Mutation Engine 0.93 - kolejna biblioteka polimorficzna 10.1KB

tpe - Trident Polymorphic Engine - jeszcze jedna biblioteka polimorficzna 8.7KB

vcs - Kod źródłowy biblioteki polimorficznej 6KB.

 

 

Wirusy dzielą się również na następujące grupy:

 

Koń trojański (trojan) - program, który nadużywa zaufania użytkownika wykonując bez jego wiedzy dodatkowe, szkodliwe czynności. Konie trojańskie często podszywają się pod pożyteczne programy jak np. zapory sieciowe, wygaszacze ekranu lub też udają standardowe usługi systemowe jak np. logowanie. Koń trojański jest trudno wykrywalny i może być poważnym zagrożeniem dla bezpieczeństwa systemu.

 

Zagrożenia

 

Najpopularniejszymi szkodliwymi działaniami są:

 

 

Szczególnie groźny dla użytkownika jest fakt, że nielegalne działania są rejestrowane jako pochodzące z jego numeru IP, a jego komputer służy w tym przypadku jako proxy dla komputerowego przestępcy.

 

Profilaktyka

 

Ponieważ działanie trojanów opiera się na niefrasobliwości użytkownika, podstawową metodą obrony przed nimi powinna być profilaktyka. Polega ona na:

nie odbieraniu załączników z podejrzanych wiadomości e-mail

nie ściąganiu nieznanych plików wykonywalnych *.exe, *.com, *.scr oraz skryptów *.vbs

używaniu oprogramowania antywirusowego

używaniu zapory sieciowej - firewall'a

systematycznym uaktualnianiu systemu operacyjnego.

 

Robak komputerowy to samoreplikujący się program komputerowy, podobny do wirusa komputerowego.

 

Główną różnicą między wirusem, a robakiem jest to, że podczas gdy wirus potrzebuje nosiciela - jakiegoś pliku wykonywalnego, który modyfikuje doczepiając do niego swój kod wykonywalny, to robak jest pod tym względem samodzielny a rozprzestrzenia się we wszystkich sieciach podłączonych do zarażonego komputera poprzez wykorzystanie luk w systemie operacyjnym oraz naiwność użytkownika. Oprócz replikacji, robak może mieć wbudowane procedury dodatkowe, takie jak niszczenie plików, wysyłanie poczty lub pełnienie roli backdoora lub konia trojańskiego.

 

Historia

 

Komputerowa nazwa robak wzięła się z powieści science fiction The Shockwave Rider (1975), której autorem jest John Brunner. Pierwsze robaki Creeper i Reaper pojawiły się w 1970 roku w sieci Arpanet. Pierwszym robakiem sieci Internet był napisany przez Roberta Tappana Morrisa Jr. Robak liczący 99 linii kodu został wypuszczony "na wolność" 2 listopada 1988 i w ciągu kilku godzin sparaliżował kilka tysięcy komputerów. Stało się tak ze względu na błąd w kodzie, który umożliwił powtórne infekowanie komputera, co powodowało zawieszanie się komputerów. Efektem było ponad 6 tys. zablokowanych maszyn.

 

Spyware to programy komputerowe, których celem jest szpiegowanie działań użytkownika.

 

Programy te gromadzą informacje o użytkowniku i wysyłają je często bez jego wiedzy i zgody autorowi programu. Do takich informacji należeć mogą:

 

 

Programy te czasami mogą wyświetlać reklamy lub rozsyłać spam (patrz botnet).

 

Do najbardziej znanych programów tego typu należą:

 

 

Programy tego typu zaliczane są do kategorii Malware. W chwili obecnej funkcjonują one niemal wyłącznie w środowisku Microsoft Windows. Do wykrywania, usuwania i zwalczania tego typu programów służą różne programy jak:

 

 

 

Dialer to wyspecjalizowany rodzaj programu komputerowego do łączenia się z Internetem za pomocą modemu. Niekiedy program tego rodzaju instalowany w komputerze bez wiedzy i zgody użytkownika jest wykorzystywany do nawiązywania połączenia z siecią.

 

Ogólne znaczenie pojęcia

 

Dialer wykorzystuje nieświadomość użytkownika i łączy się poprzez numer dostępowy, o kosztach wielokrotnie przekraczających typowe koszty dostępu do Internetu. Zwykle jest to numer w odległym i egzotycznym kraju. W wyniku tego nielegalnego procederu użytkownik jest zmuszony płacić wysokie rachunki telefoniczne. Przestępca, którego dialer zostaje zainstalowany w komputerze użytkownika, posiada umowę z egzotyczną kompanią telefoniczną, która dzieli się z nim zyskami.

 

Nieświadoma instalacja dialera ma najczęściej miejsce przy wchodzeniu na strony pornograficzne lub z nielegalnym oprogramowaniem i plikami mp3.

 

Czasem dialery są wykorzystywane przez właścicieli serwisów pornograficznych w sposób otwarty, za zgodą i wiedzą użytkownika, w celu ominięcia konieczności posługiwania się kartą kredytową do zapłaty za usługi takiego serwisu.

 

Programy zagrażają użytkownikowi tylko wtedy, kiedy używa modemu podłączonego do linii telefonicznej.

 

Usuwanie:

 

 

 

Keylogger - typ programów komputerowych służących do wykradania haseł.

 

Programy te działają na zasadzie przejęcia kontroli nad procedurami systemu operacyjnego (głównie Microsoft Windows) służącymi do obsługi klawiatury. Każde wciśnięcie klawisza jest odnotywowane w specjalnym pliku. Opcjonalnie informacje o wciśniętych klawiszach poszerzone są o dodatkowe informacje, jak nazwa aktywnego programu lub okna.

 

Keyloggery zawierają funkcje chroniące je przed wykryciem przez niedoświadczonego użytkownika komputera, a plik w którym zapisywane są dane ukryty jest np. w katalogach systemowych. Dzięki temu długo mogą rezydować niewykryte na komputerze ofiary i przyczyniać się do ujawnienia wszystkich wykorzystywanych haseł.

 

Keyloggery sprzętowe mają postać małych przejściówek służących do wpięcia do portu klawiatury komputera. Klawiaturę wpina się następnie do gniazda w przejściówce, która potem zapisuje wszystkie wciskane klawisze we wbudowanej pamięci lub wysyła je drogą radiową. W przypadku keyloggerów pierwszego typu konieczny jest fizyczny dostęp do urządzenia dla odczytania danych. Można również spotkać keylogger sprzętowy wbudowany w klawiaturę lub przewód łączący klawiaturę z komputerem.

 

Phishing

 

Phishing jest zjawiskiem polegającym na rozsyłaniu wiadomości mailowych, których celem jest najczęściej wyłudzenie informacji o koncie bankowym. Autorzy takiej wiadomości podszywają się zwykle pod znany i godny zaufania bank i informują o pilnej konieczności zweryfikowania przez posiadacza rachunku bankowego danych osobowych. W mailu jest podany link do fałszywej strony internetowej tegoż banku, gdzie użytkownik proszony jest o podanie wszystkich danych osobowych łącznie z nazwą użytkownika konta i hasłem dostępu. Informacje te są następnie wykorzystywane do kradzieży pieniędzy z konta bankowego ofiary. W ostatnim czasie zjawisko phishingu wyraźnie przybiera na sile i pojawiają się wiadomości podszywające się także pod inne instytucje, np. organizacje charytatywne.

 

Stealware

 

Stealware to swego rodzaju nowość dla użytkowników. O Stealware aktualnie jeszcze mało osób wie, dlatego moduły tego typu mają duże pole działania. Stealware (z ang. "Stealing Software" - oprogramowanie okradające) służy do okradania użytkowników z pieniędzy. Moduł okradający śledzi wszelkie poczynania użytkownika w systemie. Gdy ten chce zapłacić za jakąś usługę przez Internet, odpowiedni moduł okradający uaktywnia się i przekierowuje dany przekaz pieniężny na odpowiednie konto (poprzez odpowiednią modyfikacje cookes „ciasteczek”). Oprogramowanie Stealware posiadają bardzo popularne programy P2P: Morpheus, Kazaa, BearShare oraz LimeWire. Co ważne moduły stealware działają nawet wtedy, gdy wymienione programy nie są uruchomione. Aktualnie modułów typu Stealware jest niedużo, ale ich liczba szybko wzrasta.

 

Żarty (jokes)

 

Programy nie powodujące bezpośrednich zniszczeń na zainfekowanym komputerze, ale wyświetlające jakiś zabawny komunikat lub efekt graficzny (np. odwrócenie ekranu do góry nogami). Zwykle do rozprzestrzeniania się potrzebują udziału człowieka - ktoś musi je nam po prostu przesłać. Ich szkodliwość polega głównie na wykorzystaniu zasobów komputera i tym samym często spowolnieniu jego pracy. Większość programów antywirusowych rozpoznaje popularne żarty i pozwala na ich usunięcie.

 

Backdoor

 

Backdoor jest programem otwierającym dostęp do zainfekowanego komputera hackerowi. Najczęściej działa w ten sposób, że po zainstalowaniu się na zaatakowanym komputerze otwiera w jego systemie (Windows) określone porty, które normalnie są zamknięte ze względów bezpieczeństwa. Następnie wysyła powiadomienie do zdalnego hackera, że w komputerze o danym adresie została stworzona "dziura" w systemie bezpieczeństwa i może zostać zaatakowany. Określenie programu jako "backdoor" dotyczy tylko jego działania umożliwienie ataku zdalnemu hackerowi. Jeżeli chodzi o sposób rozprzestrzeniania się backdoor może być wirusem, koniem trojańskim lub robakiem komputerowym.

 

Adware

 

Adware jest programem, który zbiera informacje o użytkowniku, na którego komputerze jest zainstalowany a następnie wyświetla na ekranie monitora reklamy w postaci wyskakujących okienek reklamowych lub banerów. Treść reklam jest dobierana na podstawie informacji zbieranych na bieżąco o użytkowniku. Programy adware dostają się na komputer najczęściej przy okazji instalacji bezpłatnych programów, ale są też często roznoszone przez robaki komputerowe, konie trojańskie lub wirusy.

 

Techniki stosowane przy tworzeniu wirusów:

 

 

    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 nie przydzielone.

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".

 

    Inną metodą analizy kodu wirusa jest jego śledzenie pod kontrolą programu śledzącego (ang. debugger).W tym trybie kod wirusa jest wykonywany krok po kroku. Aby to było możliwe debugger wstawia w kodzie śledzonym specjalne bajty tzw. punkty zatrzymania (ang. breakpoint) .

 

 

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 asemblera 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 ?

 

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 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:

 

 

 

Spam w poczcie

 

 

Ochrona adresu e-mail przed spamerami

 

Adres e-mail jest cenny, należy go chronić przez pozyskaniem przez spamerów. Praktyka codziennego używania poczty elektronicznej i Internetu oraz przeprowadzone badania (wspomniane już Center for Democracy & Technology) wskazują, iż kluczowe znaczenie ma ochrona adresów podawanych na stronach WWW i grupach dyskusyjnych news. W tym artykule wskażemy proste i efektywne metody ochrony adresu e-mail.

 

Ochrona adresu na stronach WWW

 

Ochrona adresu na stronach WWW ma znacznie z tej przyczyny, że podobnie, jak na grupach dyskusyjnych news, tak i na WWW spamerzy używają robotów przeszukujących strony WWW w poszukiwaniu adresów e-mail. Ich łupem padają wszelkie przypadki odszukania charakterystycznego znaku „@” i/lub znacznika HTML „mailto:”. Wynika z tego, że najprostsze wyjście to ukrywać te dwie oznaki występowania adresu e-mail.

 

Rozbij adres

 

1. Wyjście najprostsze: rozbicie adresu e-mail. Zwykle ma on kształt „nazwa@adres.pl”. Zatem zawsze można go zapisać w formie „nazwa @ adres.pl” lub podobnie: „nazwa @ adres . pl”. Ponieważ znak „@” potocznie zwany „małpą” wymawia się w języku angielskim „at”, można budować analogiczne twory postaci: „nazwa AT adres.pl” lub konsekwentniej „nazwa AT adres DOT pl”. Gdyby nawet oprogramowanie spamerski wyłuskało taki adres, to wysyłka spamu na adres „nazwa @ adres.pl” nic nie da: list oczywiście nie dojdzie nigdzie. A przy tym podanie adresu w którejś z powyższych form jest czytelne tylko dla człowieka.

 

Zakryj adres

 

2. Zakrycie adresu specjalnymi znacznikami (encjami) języka HTML. I tak adres „nazwa@adres.pl” wyglądałby w ten sposób „nazwa@adres.pl”.

Obrazek zamiast napisu

 

3. Zakrycie adresu pisanego obrazkiem – czyli zamiast pisać tekstem dany adres e-mail, należy na jego miejsce włożyć obrazek z tym właśnie adresem.

 

Użyj Java Scriptu

 

4. Zakrycie adresu prostym skryptem języka Java Script, który będzie zawierał w sobie zarówno „@”, jak i znacznik mailto:

 

Formularze zamiast adresu

 

5. Używanie skryptów do wysyłania poczty zamiast podawania wprost, jawnie na stronach naszego adresu e-mail. Bardziej złożone skrypty do obsługi formularzy nie przechowują w źródle strony WWW adresu e-mail w czystej postaci. Zwykle jest on używany tylko w momencie wysyłki poczty z formularza.

 

Takich i podobnych metod jest dość wiele, są relatywnie proste i zarazem wydajne. Podanie adresu na stronach w postaci niejawnej lub czytelnej tylko dla ludzkiego oka gwarantuje, że nasz cenny adres nieprędko trafi do baz adresowych spamerów. Ale nie bądźmy tu naiwni – wyścig z spamerami i ich narzędziami przypomina trochę wyścig zbrojeń: jak powstaje broń „M”, to wcześniej czy później pojawia się broń „AM” służąca do zwalczania swej poprzedniczki.

 

Ochrona adresu w artykułach na grupach dyskusyjnych

 

Pamiętać należy, że poszczególne serwery wymagają pewnych autoryzacji – czyli nie są publicznie dostępne dla dowolnych użytkowników. Przykładowo serwer news://news.onet.pl wymaga posiadania konta pocztowego w Onet.pl – autoryzacja następuje przez podanie loginu w formie pełnego konta pocztowego „nazwa@adres.pl” i hasła dostępowego do tego konta. Dokładnie taka sama metoda jest stosowana na serwerze news://news.gazeta.pl. Natomiast news://news.tpi.pl pozwala wysyłać posty wyłącznie użytkownikom połączeń sieci Telekomunikacji.

 

Spamerzy pobierający adresy e-mail z usenetu przede wszystkim poszukują ich tam, gdzie można się ich spodziewać: czyli w polu „From” (Adres e-mail), „Reply-To” (Adres zwrotny) lub w treści artykułów.

 

Uwaga: w naszych artykułach posługujemy się standardowymi i ogólnie przyjętymi nazwami. Bywa jednak, iż poszczególni producenci danego oprogramowania (w szczególności odnosi się to produktów Microsoft) stosują własne nazwy. Ponadto polskojęzyczne wersje programów mogą mieć jeszcze inne nazewnictwo. Przykładowo dla Outlook Express „From”nazywa się „Adres e-mail”, natomiast „Reply-To” widnieje jako „Adres zwrotny”.

 

Najważniejsze w Polsce serwery news pozwalają wpisać niemal dowolne napisy w polu "From" (Adres e-mail) i w polu "Reply-To" (Adres zwrotny). Sugerujemy zatem przy konfigurowaniu konta grup dyskusyjnych news podawanie w polach "From/Reply-To" nieprawdziwych adresów e-mail. Spotyka się tu często tzw. wstawki antyspamowe - czyli ciągi znaków czytelne tylko dla człowieka: "nazwa@WYTNIJTO.adres.pl" lub "nazwaNOSPAM@adres.pl" i podobne. Podanie takiego zawoalowanego adresu pozwala uniknąć wykorzystania naszego adresu w bazach spamerskich, a jednocześnie nie zamyka to możliwości bezpośredniej korespondencji z właścicielem tak zakrytego adresu. Taki adres można bez problemu wpisać przynajmniej w polu "From" (Adres e-mail) czytnika grup dyskusyjnych. Trwają jednak spory, czy powinno się tak samo uzupełniać wpis w "Reply-To" (Adres zwrotny). Piszący te słowa uważa, iż "Reply-To" (Adres zwrotny) można pozostawić puste.

 

Adres e-mail ze wstawką antyspamową można także używać w treści artykułów - będzie to dodatkowa wskazówka dla dyskutantów, jaki jest rzeczywisty adres interlokutora.

 

Bywa, że użytkownicy zaawansowanych czytników news (40tude Dialog, Xnews i in.) prawdziwy adres "szyfrują" tzw. metodą ROT13. Polega ona na prostym przestawieniu liter o 13 pozycji alfabetu łacińskiego: napis "aabbcc" zostanie zastąpiony napisem "nnoopp" itd. Tak "zaszyfrowany" adres powinien być oznaczony, np. "nazwa@adres.pl" zamienia się w "ROT13_anmjn@nqerf.cy_ROT13".

 

Podobnie jak w przypadku zakrywania adresów e-mail na stronach WWW metody stosowane w grupach dyskusyjnych są proste i skuteczne. Jednak trzeba zachować zdrowy rozsądek dla tych prostych spraw – nie możemy oczywiście zamknąć sobie możliwości prywatnego kontaktu z uczestnikami grupy: czyli nie powinniśmy całkowicie rezygnować z pokazywania rzeczywistego adresu e-mail w naszych postach słanych na grupę.

 

Adres e-mail można też zakryć podczas dyskutowania na grupach news za pomocą przeglądarki WWW, a nie prawdziwego czytnika news. Mamy na myśli interfejsy http://niusy.onet.pl czy http://www.gazeta.pl/usenet - czyli dostęp do grup news przez przeglądarkę. Obydwa interfejsy pozwalają użytkownikowi włączyć „wstawkę antyspamową”, o której była mowa wcześniej.

 

Inne metody ochrony adresu

 

Warto wiedzieć, że spotyka się także inne metody ochrony adresu - zarówno na stronach WWW, grupach dyskusyjnych, czy nawet w zwykłej codziennej korespondencji.

 

Aliasy

 

Czyli dodatkowe nazwy dla danej skrzynki e-mail działające jak zwykły adres. Przykładowo: nowo założona skrzynka pocztowa nazywa się „nazwa@adres.pl” natomiast posiada ona alias „czterech.pancernych@adres.pl”. Aliasy są dostępne zarówno jako dodatkowa funkcjonalność skrzynki pocztowej (najczęściej w skrzynkach płatnych) lub można je założyć w rozmaitych wyspecjalizowanych w takich usługach serwisach internetowych w Polsce i za granicą. Alias może być przydatny, bo kiedy padnie ofiarą spamerów, można z niego zwyczajnie zrezygnować – uznać, że już się zużył. Łatwiej pozbyć się aliasu niż rzeczywistej, działającej skrzynki e-mail zwłaszcza, gdy wszyscy nasi znajomi już mają nasz kontakt w swoich książkach adresowych.

 

Druga skrzynka pocztowa.

 

Spotyka się ludzi, którzy celowo zakładają dwa konta pocztowe – jedno dla celów publicznych dyskusji (news, fora dyskusyjne, lity mailingowe itd.), drugie dla prywatnego użytku – np. tylko do korespondencji ze znajomymi. Kiedy skrzynka „publiczna” ściąga już za dużo śmiecia internetowego, można z niej zrezygnować bez obawy kłopotów komunikacyjnych ze znajomymi.

 

Dłuższy adres e-mail.

 

Codzienna obserwacja uczy, iż niektóre adresy e-mail szybciej ściągają spam, a inne nie. Najszybciej spam spływa na krótkie adres e-mail, które są wyrazami języka potocznego – w szczególności imionami. Niestety ta sama prosta obserwacja codziennej praktyki internetowej dowodzi, że takie właśnie konta użytkownicy zakładają najchętniej. Dotyczy to także wariantów imion z liczbami – np. „ala124@adres.pl”. Nic dziwnego, iż potem pojawiają się utyskiwania na zalew niechcianej poczty.

 

Sugerujemy, aby przy zakładaniu konta poczty elektronicznej poszukiwać nazw dłuższych, które nie mają wiele wspólnego z wyrazami języka potocznego. To prawda dość zdroworozsądkowa – trudno bowiem przypuszczać, aby spamer z Korei, czy Nigerii łatwo wpadł na pomysł przysłania spamu na konto „jankowalski@adres.pl” ! Prędzej sam sobie wygeneruje słownikowo nazwę „alicja@adres.pl”.

 

Podobna sytuacja dotyczy kont pocztowych z jakimś specjalnym znakiem w nazwie: kropką, podkreśleniem dolnym „_” czy pauzą „-”. Uzasadnienie stosowania znaków specjalnych jest dość proste: dodanie tych znaków znacznie podnosi liczbę kombinacji, które musi wykonać oprogramowanie spamera, aby metodą ataku słownikowego odgadnąć nazwę konta.

 

Wniosek

 

Sugerujemy stosowanie wskazanych wyżej metod. Praktyka wskazuje, że mogą się one istotnie przyczynić do ograniczenia spamu spływającego do naszych skrzynek pocztowych. Jest na to szansa, jeśli metody, o których mowa będą konsekwentnie stosowane od początku – czyli od chwili założenia skrzynki poczty elektronicznej. Cóż bowiem za pożytek z tych metod, gdy nasz adres już wcześniej gdzieś ujawniliśmy w rzeczywistym jego kształcie i stał się on łupem harvesterów.

 

 

Żeby skutecznie chronić swój komputer potrzebujemy:

 

 

1. Ochrony typu "firewall" pytającą o zgodę na każdą operację w sieci. Obsługującą wszystkie protokoły sieciowe. Automatycznie blokującą „próby włamań”.

 

2. Dobrego programu antywirusowego wykrywającego i neutralizującego wszystkie rodzaje "wrogich programów". Zaglądającego do makr i plików spakowanych. Posiadającego możliwość przenoszenia podejrzanych plików do kwarantanny. Codziennie aktualizującego bazy wirusów. Skanującego zarówno całe dyski jak i pojedyncze pliki.

 

3. Programu rejestrującego i usuwającego wszystko to, co przybyło na dysku i w rejestrach systemowych w trakcie korzystania z Internetu (cofającego "wrogie działania"). Posiadającego możliwość usuwania z "Autostartu" (rejestry) wpisów dotyczących "wrogich programów" (niszczenia ich aktywności). Czyszczącego foldery: Temp, Temporary Internet Files, Cookies, History, Recent, Recycled a także pamięć podręczną Cache.