20 lat temu komputery miały oszaleć, a z nieba spaść samoloty. Czy pluskwa milenijna była zwykłym mitem?

Daniel Maikowski
31 grudnia 1999 roku cały świat wstrzymał oddech nie tylko z powodu nadejścia nowego tysiąclecia (formalnie miało się ono zresztą rozpocząć rok później). Poważne obawy budziła tzw. pluskwa millenijna, a panikę podsycały media. Czy było się czego bać?
Zobacz wideo

W odniesieniu do problemu roku 2000 (Y2K problem) używamy określeń "pluskwa milenijna" bądź "milenijny robak". Tak naprawdę są to określenia błędne, gdyż zagrożenie to nie było żadnym wirusem, pluskwą czy trojanem, a jedynie efektem krótkowzroczności programistów.

W tym momencie musimy cofnąć się do zamierzchłych czasów, kiedy komputery były wielkimi "szafami" zajmującymi całe pomieszczenia, a laptopy stanowiły jedynie futurystyczną wizję.

W pierwszej połowie XX wieku dane wprowadzane do komputerów umieszczano na tzw. kartach perforowanych. Ograniczona ilość miejsca na kartach sprawiała, że programiści wymyślali coraz to nowe sztuczki, by "upchnąć" jak najwięcej danych, jak najmniejszym kosztem.

Jeden z takich trików dotyczył sposobu zapisywania daty. Ktoś doszedł do wniosku, że nie ma sensu zużywać czterech znaków na zakodowanie roku, gdyż komputerowi wystarczy informacja zawarta w dwóch ostatnich cyfrach. Rok 1938 zapisywano więc jako 38, a rok 1985 - jako 85.

Z tego samego triku korzystano też później, gdy karty perforowane zostały zastąpione dyskami twardymi. W latach 60 i 70 XX wieku ceny dysków były bardzo wysokie, a dla programistów liczył się każdy bit danych, dlatego skrócony zapis daty nadal był wszystkim na rękę.

Mijały kolejne lata, a oprogramowanie wielu komputerów wciąż korzystało z dawnego triku. Nie chodziło nawet o oszczędność danych, ale o to, aby zapewnić kompatybilność nowych aplikacji ze starszymi wersjami. I tak doszliśmy do lat 90, gdy ktoś stwierdził: "Houston, mamy problem!".

Komputerowy Armageddon i samoloty spadające z nieba

Skrócony zapis daty nie przewidywał nadejścia roku 2000. O ile komputery bez problemu mogły odróżnić rok 1938 od 1958 roku, o tyle - przy dotychczasowym zapisie - rok 1901 był przez nie kodowany tak jak rok 2001, co mogło nieść za sobą szereg nieprzewidzianych konsekwencji.

- Zakładano jednak, że do 2000 roku “jakoś sobie z tym poradzimy”, a komputery będą miały dużo większe możliwości - wspomina Michał Jarski, ekspert ds. cyberbezpieczeństwa.

Zapomniano o tym, że wsteczne uzależnienie technologiczne (funkcjonowanie w jednym systemie urządzeń nowoczesnych i starszej generacji, niemożliwych do aktualizacji) jest bardzo trudne do rozwiązania, a sama procedura aktualizacji systemów może okazać się niezwykle czasochłonna.

- dodaje Michał Jarski.

Za przykład weźmy oprogramowanie, z którego korzystały banki. Jeśli klient banku urodził się w 1959 roku, to w 1999 roku komputer obliczyłby wiek odejmując 59 od 99, a w efekcie otrzymałby wynik 40. Wykonując tp same obliczenie w roku 2000 komputer stwierdziłby natomiast, że ten sam klient ma... -59 lat. I nie powinien istnieć... Tak samo jak jego rachunek bankowy....

Podstawowym kłopotem była niemożność dokonania  automatycznej aktualizacji oprogramowania tak, jak to obecnie sobie wyobrażamy. Każdy system dotknięty problemem dwucyfrowego zapisu roku trzeba było ręczne zmodyfikować - bezpośrednio dostać się do tego urządzenia, włożyć dyskietkę, CDROM lub pendrive, wykonać aktualizację, a potem zweryfikować czy wszystko działa

- tłumaczy Michał Jarski.

Banki miały być tylko jedną z ofiar pluskwa milenijnej. Gdy zajrzymy do publikacji medialnych z końcówki lat 90-tych, to znajdziemy tam szereg apokaliptycznych wizji. Ostrzegano np., że 1 stycznia 2000 r. na skutek awarii oprogramowania pokładowego z nieba będą spadać samoloty.

Pluskwa milenijna miała też doprowadzić do problemów z dostępem do wody i prądu, awarii elektrowni atomowych, czy trwałego uszkodzenia domowego sprzętu komputerowego.

Czy rzeczywiście było się czego bać?

Pluskwa milenijna była realnym zagrożeniem, jednak świadomość istnienia tego problemu  pojawiła się na tyle wcześnie, że bez większych przeszkód został on w większości przypadków wyeliminowany, zanim mogło dojść do jakichkolwiek większych komplikacji. Z racji tego, że wizja globalnej awarii wielu systemów komputerowych jest atrakcyjna medialnie, mieliśmy do czynienia z dość sporym rozdmuchaniem tematu, mimo że realnie mógł dotyczyć niewielu przestarzałych rozwiązań.

- podkreśla Piotr Kupczyk z Kaspersky Lab Polska.

Medialną panikę skutecznie podsycały niektóre firmy, licząc na łatwy zarobek. Oferowały np. instalację oprogramowania "kompatybilnego z rokiem 2000", jak również przetestowanie istniejącego oprogramowania pod kątem zgodności z "Y2K".

Swoją szansę zwietrzyły też sklepy, które reklamowały komputery oraz inny sprzęt zgodny z rokiem 2000. Było to o tyle absurdalne, że problem roku 2000 nie dotyczyły sprzętu, ale oprogramowania. Takie "oferty" były więc zwykłym naciąganiem klientów na pieniądze.

Oczywiście takie apokaliptyczne wizje znakomicie działały na wyobraźnię i pluskwa milenijna”urosła do niebotycznych rozmiarów. Wykorzystywana przez nieuczciwe firmy do zarobienia na usługach i produktach mając zapobiec “Y2K”. Z drugiej strony, wydaje się, ze właśnie dzięki uświadomieniu naszej zależności od systemów IT uniknięto największych kłopotów.

 - zauważa Michał Jarski

Płyta z oprogramowaniem zgodny z YTKPłyta z oprogramowaniem zgodny z YTK Runxctry/CC BY-SA 4.0

Co stało się 1 stycznia 2000 roku?

Nadszedł 1 stycznia 2000 r. Wystrzeliły korki od szampanów. Komputerowy Armageddon wcale jednak nie nastąpił. Oczywiście pewne problemy się pojawiły, ale miały charakter incydentalny.

Pracownicy japońskiej  elektrowni jądrowej w Ishikawie natknęli się na awarię oprogramowania monitorującego poziom radiacji, a ich koledzy z Onagawy mogli najeść się strachu, gdy dwie minuty po północy rozbrzmiał fałszywy alarm. W dwóch australijskich stanach doszło do awarii automatów biletowych, a w Delware (USA) przestało działać 150 automatów hazardowych.

Do najpoważniejszego incydentu doszło w Sheffield w Wielkiej Brytanii, gdzie na skutek błędu 154 ciężarne kobiety otrzymały niepoprawne oceny ryzyka wystąpienia u płodu zespołu Downa . Na skutek błędu dwie kobiety dokonały aborcji (program źle obliczył ich wiek), a cztery urodziły dzieci z zespołem Downa, choć otrzymały informację, że należą do grupy niskiego ryzyka.

Nawet ten jeden tragiczny przypadek wyraźnie pokazuje, że problem roku 2000 rzeczywiście istniał. Z perspektywy 20 lat wydaje się jednak, że - w wymiarze globalnym - medialna panika wokół milenijnej pluskwy była zdecydowanie niewspółmierna do rzeczywistego zagrożenia.

Problem roku 2038

W ostatnim czasie coraz głośniej mówi się o problemie roku 2038. Wynika ze sposobu zliczania czasu stosowanego w niektórych wersjach systemu Unix, ale również w programach, które stosują taki sposób zapisu czasu, mimo że nie bazują na systemach uniksowych. 

Mówiąc precyzyjniej, informacje o czasie zapisuje się w takich aplikacjach z użyciem 32-bitowej liczby sekund, które upłynęły od 1 stycznia 1970 r. (data rozpoczęcia tzw. ery uniksa). Maksymalna liczba sekund dla wartości 32-bitowej wynosi 2 147 483 647, co daje datę 19 stycznia 2038 r. Po przekroczeniu tej wartości licznik sekund osiągnie wartość ujemną lub zostanie wyzerowany.

- podkreśla Piotr Kupczyk.

W tym wypadku rozwiązaniem problemu jest przejście na zapis daty w formacie 64-bitowym. Co ciekawe, po przejśćiu na nowy zapis analogiczny problem również się pojawi, ale dopiero za około 292 miliardy lat. Jest więc sporo czasu, aby przygotować się na kolejny Armageddon.

Więcej o: