RAPORT TECHNICZNY |
W miarΩ zbli┐ania siΩ roku 2000 coraz czΩ£ciej pojawiaj╣ siΩ w╣tpliwo£ci dotycz╣ce przystosowania oprogramowania do przej£cia w kolejne tysi╣clecie. Pragniemy udzieliµ Pa±stwu odpowiedzi na trzy podstawowe zwi╣zane z tym pytania:
Czym jest
problem roku 2000?
Na ca│ym £wiecie przyjΩte jest aby do okre£lenia bie┐╣cego roku u┐ywaµ tylko
dw≤ch jego ostatnich cyfr. Stwierdzenia typu "urodzi│em siΩ w 71" s╣ dla nas
ca│kowicie jasne. Tendencja ta zosta│a przeniesiona do dziedziny programowania. Kilka
czy kilkana£cie lat temu nikt nie przypuszcza│, ┐e jego program bΩdzie wci╣┐
wykorzystywany w nastΩpnym stuleciu. Program komputerowy numeruj╣cy lata tylko dwoma
ostatnimi cyframi nie rozpoznaje dnia 1 stycznia 2000 jako nastΩpnego po 31 grudnia 1999.
Spowoduje to b│Ωdy w obliczeniach daty. Problemy mog╣ wyst╣piµ przy okre£laniu lat
przestΩpnych. Lata podzielne przez cztery s╣ przestΩpnymi za wyj╣tkiem pierwszego roku
w nowym wieku, kt≤ry musi dzieliµ siΩ przez 400. Lata 1700, 1800 i 1900 nie by│y
przestΩpnymi, natomiast 2000 bΩdzie. Niekt≤re aplikacje s╣ tak zaprogramowane, ┐e nie
bΩd╣ traktowaµ roku 2000 jako przestΩpnego. Po 28 lutego przejd╣ od razu do 1 marca.
I tym razem obliczenia daty bΩd╣ nieprawid│owe. Program zaprojektowany tak, by
bezproblemowo przej£µ w nastΩpny wiek powinien poprawnie operowaµ dat╣ przed, w
trakcie i po roku 2000. Powinien te┐ rozpoznaµ rok 2000 jako przestΩpny. Nale┐y
zwr≤ciµ uwagΩ na to, ┐e aplikacja posiadaj╣ca prawid│owo zaimplementowan╣ datΩ
mo┐e dzia│aµ niew│a£ciwie za spraw╣ systemu operacyjnego lub innych program≤w.
Jakie znaczenie
ma data dla systemu Sophos Anti-Virus
Zadaniem Sophos Anti-Virus jest wykrywanie i usuwanie wirus≤w komputerowych. Daty nie
maj╣ dla niego praktycznego znaczenia. Nawet je£li system jest u┐ywany razem z
programami, kt≤re podaj╣ nieprawid│ow╣ datΩ, w ┐adnym stopniu nie wp│ynie to na
ochronΩ antywirusow╣ jak╣ system zapewnia. Sophos Anti-Virus wykorzystuje obliczenia
zwi╣zane z dat╣ jedynie w dw≤ch przypadkach. Pierwszym z nich jest moment, w kt≤rym
system jest startowany. Por≤wnywana jest wtedy data systemowa z dat╣ wygenerowan╣ przez
Sophos Anti-Virus i przechowywan╣ w pliku. Zapisana jest ona w formacie YYYYDDMM
wykorzystuj╣cym cztery cyfry do zapisu roku. Data systemowa powinna zawsze zgadzaµ siΩ,
lub ewentualnie byµ p≤ƒniejsza od daty wygenerowanej przez system antywirusowy. Je£li
tak nie jest na ekranie pojawia siΩ komunikat: "System clock date is incorrect"
(data systemowa jest nieprawid│owa). W przypadku, gdy data systemowa jest wiΩksza o
ponad cztery miesi╣ce od daty Sophos Anti-Virus wy£wietlona zostaje informacja:
"Usefull life of SWEEP has been exceeded" (ta wersja SWEEPa jest ju┐
przestarza│a). Pomaga to ostrzec u┐ytkownik≤w przed u┐ywaniem nieaktualnego
oprogramowania antywirusowego, kt≤re mo┐e nie wykryµ nowopowsta│ych wirus≤w. Po raz
drugi Sophos Anti-Virus korzysta z daty kiedy │adowane s╣ pliki IDE zawieraj╣ce
identyfikatory nowych wirus≤w. Pliki te wysy│ane s╣ do u┐ytkownik≤w w wypadku je£li
pomiΩdzy aktualizacjami zostanie wykryty nowy wirus. Informacja o nowym wirusie jest
p≤ƒniej umieszczana w bazie wirus≤w nastΩpnej wersji systemu. Oznacza to, ┐e ka┐dy
plik IDE starszy ni┐ trzy miesi╣ce jest ca│kowicie zbΩdny. W przypadku natrafienia na
taki w│a£nie plik Sophos Anti-Virus wy£wietla komunikat: "File
C:\SWEEP\NEWVIRUS.IDE is older than 90 days" (plik C:\SWEEP\NEWVIRUS.IDE ma wiΩcej
ni┐ 90 dni). Wyliczenie "wieku" pliku IDE odbywa siΩ na zasadzie por≤wnania
daty bΩd╣cego w u┐yciu pliku z dat╣ systemow╣.
Jak przekonaµ
siΩ czy Sophos Anti-Virus jest przystosowany do przej£cia w nowe tysi╣clecie?
Na pocz╣tek nale┐y zainstalowaµ aktualn╣ wersjΩ Sophos Anti-Virus na komputerze
przeznaczonym do test≤w a nastΩpnie uruchomiµ system antywirusowy. Upewniµ siΩ, ┐e
nie s╣ wy£wietlane ┐adne komunikaty maj╣ce zwi╣zek z dat╣. NastΩpnie cofn╣µ datΩ
systemow╣ o jeden rok i ponownie uruchomiµ Sophos Anti-Virus. Powinien pojawiµ siΩ
komunikat: "System clock date is incorrect". Ustawiµ datΩ w systemie o rok
naprz≤d i zn≤w wystartowaµ Sophos Anti-Virus. Tym razem pojawi siΩ komunikat:
"Usefull life of SWEEP has been exceeded". Taka sama informacja bΩdzie
wy£wietlona je£li datΩ systemow╣ ustawimy na 31 grudnia 1999 a nastΩpnie na 1
stycznia 2000. Oznacza to, ┐e system prawid│owo rozpoznaje pierwszy dzie± dwudziestego
pierwszego wieku jako nastΩpuj╣cy po ostatnim dniu dwudziestego. To czy oprogramowanie
zainstalowane na testowym komputerze uznaje rok 2000 jako przestΩpny czy te┐ nie dla
systemu Sophos Anti-Virus nie ma znaczenia gdy┐ jest to kwestia jednego dnia.
⌐ 1998 SAFE COMPUTING Sp. z o.o., http://www.safecomp.com/, email: info@safecomp.com
Tel/fax (022) 6198956, 6700756, 6700956; 03-733 Warszawa, ul.Targowa 34