Użytkownicy programów w Polsce są moim zdaniem szczególnie narażeni na działanie nowej zarazy komputerowej szerzącej się w zastraszającym tempie. Niczym nieskrępowana wymiana oprogramowania przychodzącego głównie z zagranicy jedynie sprzyja przenoszeniu wirusów z jednej programoteki do drugiej; możliwość wykrycia "chorego" oprogramowania jest prawie żadna, ponieważ nie istnieją żadne uniwersalne programy "szczepionki", a jeśli nawet to są one chowane dość skrzętnie, gdyż na oprogramowaniu tym można oczywiście nieźle zarobić.
Poniższy program pochodzi z lutowego wydania magazynu "64'er" z 1988 roku i pozwala wykryć wirus o nazwie BHP (BAYERISCHE HACKERPOST). Oryginalna wersja programu była rozbudowana dodatkowo o opcję usuwania wirusa, którą zdecydowałem się jednak z programu usunąć, ponieważ nie miałem stuprocentowej pewności czy nie wprowadza ona wirusa na dyskietkę ! Taki wypadek zdarzył się już kilkakrotnie np. w wypadku Atari i programu "zabezpieczającego" przed działaniem wirusa YDO. W omawianym wypadku program powinien usuwać "zarażone" pliki z dyskietki, tymczasem były one rozbudowywane o kilka dodatkowych bloków i stąd dla pewności usunąłem ten fragment kodu.
Program ma cztery opcje: wyszukiwanie wirusa, wyświetlanie listy zbiorów "zarażonych", wyświetlanie katalogu dyskietki oraz koniec pracy. Po wykryciu wirusa na ekranie wyświetlany jest komunikat "WIRUS BHP W wraz z nazwą "chorego" programu.
Celowo napisałem, że wirusy mają dość ograniczone pole działania w komputerach 8-bitowych. Po pierwsze posiadacze takich komputerów nie dysponują raczej dyskami twardymi, stąd też infekcja dotyczy zwykle zbiorów na jednej dyskietce (co wcale nie znaczy, że ich utrata bądź zmiana nie jest bolesna!). Przenoszenie wirusa można w prosty sposób ograniczyć poprzez działania profilaktyczne — wyłączenie komputera i stacji dysków na ok. 30 sekund jeśli pracowaliśmy z dyskietką na której podejrzewamy obecność wirusa. Dzięki temu wirus ten znajdujący się prawdopodobnie w pamięci RAM stacji lub komputera nie ma żadnych szans na zainfekowanie następnej dyskietki. Czy jednak w każdej sytuacji wirus jest bez szans?
Odpowiedź na to pytanie nie jest prosta. Dobrym przykładem może być zainfekowany kompilator BASIC; każdy poddany kompilacji program stanie się wnet roznosicieleni zarazka. Generalnie wirus może doczepić się wszędzie — do katalogu dyskietki, do tytułu programu na taśmie {zaraz za nazwą), w dowolny sektor dyskietki czy na koniec programu. Po przeniknięciu na typowy {dla Commodore) nośnik, wirus może się uaktywnić jedynie w czasie gdy taśma bądź dyskietka są aktualnie wykorzystywane. Aktywizacja ta może mieć różne formy — od "doczepiania" się do kolejnych programów (tylko w wypadku dyskietki), których spis jest zawarty w katalogu, do ataku polegającego najczęściej na całkowitym skasowaniu zawartych na dyskietce zbiorów. Tego rodzaju działanie jest niemożliwe w wypadku kasety.
Dopisanie jakiegokolwiek kodu i w jakiekolwiek miejsce dyskietki jest jednak możliwe wyłącznie wtedy, gdy wycięcie zabezpieczające dyskietkę przed zapisem jest niezaklejone. Załóżmy, że mamy wirusa na dyskietce i wraz z programem został on wczytany do pamięci komputera, czy (co jest bardziej prawdopodobne) do pamięci RAM stacji dysków. Jeśli teraz rozpoczniemy pracę na dyskietce "zdrowej" zabezpieczonej przed zapisem, to nie ma możliwości jej zainfekowania — wpisanie wirusa udaremnia DOS stacji. Ponieważ pamięci ROM, w której system operacyjny stacji jest zawarty nie da się zmienić, wirus jest nieszkodliwy, chyba, że przepisuje on zawartość ROM do RAM i odpowiednio modyfikuje DOS zawarty teraz już w RAM: w tym wypadku jednak musi to być dość auży program.
Zgoła inaczej wygląda sytuacja, gdy na dyskietce zapisujemy jakieś dane. Zawarty w RAM komputera czy stacji, przeważnie bardzo krótki fragment kodu maszynowego będący naszym wirusem, ma możliwość wtargnięcia nie tylko na samą dyskietkę, ale również do każdego z zawartych na niej zbiorów. Jeśli zbiór taki przeniesiemy na inny dysk, to zarazek przeniesie się również i dalej, następuje już reakcja łańcuchowa.
Dyskietki i programy z wykrytym (lub nawet spodziewanym) wirusem powinny być natychmiast formatowane bez przenoszenia zbiorów na nich zawartych na jakąkolwiek inną dyskietkę. Przed przystąpieniem do pracy z inną dyskietką wyłącz wszystkie urządzenia zestawu — masz wtedy gwarancję, że wirus ulegnie likwidacji jeśli nawet znajdował się w komputerze. A swoją drogą lepiej nie "wymieniać" programów pochodzących z niepewnych źródeł...
Klaudiusz Dybowski



