1 stycznia 1970, czyli jak namieszać urządzeniom elektronicznym
1 stycznia 1970 roku to problematyczna data dla branży technologicznej. Może doprowadzić nawet do... wybuchów urządzeń.
05.07.2019 13:50
Produkty firmy Apple słyną z ukrytych odniesień do kultury popularnej i historii komputeryzacji, a także z żartów z samych siebie. Po premierze animacji „Lego Batman: Film” cyfrowa asystentka Siri potrafiła zamienić iPhone’a w Bat-komputer, jeśli tylko użytkownik znał potrzebne do tego magiczne zaklęcie. System operacyjny iOS 8.3 pozwalał fanom serii „Star Trek” odblokować specjalny emotikon z salutem Wolkanów. Kiedy niektóre wersje systemu OS X pobierają pliki, ich niekompletne wersje wyświetlają datę powstania 24 stycznia 1984 roku, czyli dzień, w którym Steve Jobs zaprezentował oryginalny komputer Macintosh.
Fani Apple’a uwielbiają te ukryte treści, toteż odkrycie każdej kolejnej niespodzianki natychmiast wywołuje wielki szum w mediach społecznościowych. W Walentynki w roku 2016 taki właśnie szum wywołało odkrycie sposobu na odblokowanie „wyglądu retro” na iPhone’ach. Sugestia brzmiała: ustaw datę na 1 stycznia 1970 roku, zrestartuj urządzenie, a zobaczysz proces startu systemu przypominający komputery Macintosh z lat siedemdziesiątych, włącznie ze słynną tęczową ikoną jabłka. Niestety, szybko okazało się, że zamiast ukrytej niespodzianki procedura uruchamiała niebezpieczny błąd w systemie.
Każdy, kto kiedykolwiek oglądał filmy science fiction, wie, że podróże w czasie są niebezpieczne, jeśli cofniemy się w zbyt odległą przeszłość. A styczeń 1970 roku okazał się zdecydowanie zbyt odległą przeszłością dla iPhone’a. Nie było czegoś takiego, jak „start systemu komputerów Macintosh z lat siedemdziesiątych” z tej prostej przyczyny, że pierwszy Mac powstał w roku 1984. Smartfony ustawione na rok 1970 blokowały się w czasie uruchamiania, a bezradni użytkownicy nic nie mogli na to poradzić. Zablokowane iPhone’y musiały trafić do serwisu, gdzie były wymieniane na nowe.
Przyczyna tego problemu nigdy nie została oficjalnie potwierdzona, ale 1 stycznia 1970 roku to dla informatyki ważna data, często łączona z dwoma źródłami błędnych założeń. Ludzie myślą o datach, ale komputery nie znają tego pojęcia, „rozumieją” tylko liczby. Większość urządzeń cyfrowych rejestruje czas jako ilość
sekund, które upłynęły od początku 1970 roku według uniwersalnego czasu koordynowanego (Universal Time Coordinated, UTC).
Oznacza to, że dla większości telefonów, komputerów, zegarków cyfrowych czy nawet domowych urządzeń użytkowych 1 stycznia 1970 roku to „dzień zerowy”. To dlatego wielu ludzi narzeka, że zegar na ich kuchence mikrofalowej po awarii zasilania wybrał się w podróż w czasie do lat siedemdziesiątych…
Pierwszy problem z tą niezwykłą datą polega na tym, że cyfra 0 (zero) jest używana czasami do oznaczania nieprawidłowych wartości lub braku informacji – zwłaszcza w polach zawierających dane numeryczne – dlatego niektóre biblioteki systemowe mogą „eksplodować”, kiedy wpiszemy w nie „brakującą” datę. Co więcej, ustawiając datę na 1 stycznia osoby mieszkające na terenie stref czasowych na wschód od Greenwich, mogą wręcz ustawiać w swoich urządzeniach czas ujemny. I tu pojawia się drugi problem, bo programiści oczekują, że czas zawsze będzie wartością dodatnią.
Specjaliści badający kwestie bezpieczeństwa cyfrowego, Patrick Kelley i Matt Harrigan, przenieśli problem „zerowej daty” na zupełnie nowy poziom. Oryginalny kawał walentynkowy z 2016 roku zakładał, że użytkownicy ręcznie ustawią tę datę na swoich urządzeniach, ale Kelley i Harrigan postanowili ten proces zautomatyzować. Za pomocą sprzętu kosztującego łącznie zaledwie 120 dolarów byli w stanie zdalnie zmusić urządzenia z systemem iOS do samozniszczenia.
Większość przenośnych urządzeń firmy Apple automatycznie łączy się z wcześniej zapisanymi sieciami Wi-Fi. Każdy może ustawić fałszywą, otwartą sieć Wi-Fi, używając jakiejś popularnej nazwy – na przykład nazwy znanej sieci hoteli czy kawiarni – i „wabić” znajdujące się w pobliżu urządzenia z systemem iOS, aby się z nią połączyły. Samo w sobie nie jest to duże zagrożenie, jednak kontrolując sieć bezprzewodową, nasi badacze mogli stworzyć fałszywy adres time.apple.com, aby dostarczać urządzeniom fałszywych danych o dacie i godzinie. A urządzenia automatycznie dostosowywały do tego swoje wewnętrzne zegary.
Taka podróż w czasie sprawiała, że większość badanych telefonów i tabletów zaczynała źle działać, zawieszała się i restartowała. Ponieważ aplikacje blokowały się i zawieszały, cały czas próbując dalej działać i walcząc o dostęp do zasobów procesora, urządzenia nagrzewały się. Kilka iPadów zaczęło nawet liczyć czas do tyłu – niektóre doszły aż do roku 1965. Jeden z tabletów rozgrzał się do 54 stopni Celsjusza, a potem popełnił samobójstwo.
Firma Apple 21 marca 2016 roku ostatecznie naprawiła ten problem w jednej z kolejnych wersji systemu (iOS 9.3), ale wtedy właściciele iPhone’ów zaczęli donosić, że dostają fikcyjne e-maile z roku 1970. Pomijając fakt, że pierwszy e-mail został wysłany dopiero w roku 1972, wiadomości te były puste, nie miały tematu ani treści, a na domiar złego – nie dało się ich skasować.
Połączenie przechowywania dat jako liczb i zaznaczania brakujących lub niekompletnych danych za pomocą specjalnych cyfr, takich jak 0 lub –1, to w zasadzie gwarancja, że jeśli na naszych urządzeniach zobaczymy datę 1 stycznia 1970 roku, to znaczy, że mamy do czynienia z jakimś błędem. Dla osób żyjących w USA – albo gdziekolwiek na zachód od strefy czasowej Greenwich – tę samą rolę odgrywa data 31 grudnia 1969 roku.
Facebook, PayPal i 1 stycznia 1970
Nie tylko firma Apple ma problem z „datą zerową”. W czerwcu 2016 roku PayPal, operator płatności internetowych, pokazywał, że niektóre konta są zablokowane od 31 grudnia 1969 roku. Także 1 stycznia 2016 roku niektórzy użytkownicy Facebooka otrzymali gratulacje, że przyjaźnią się z kimś innym na stronie od 46 lat – mimo że Facebook powstał w połowie pierwszej dekady XXI wieku, a większość jego użytkowników nie ma nawet 46 lat. Proste obliczenia wystarczą, aby dojść do tego, jaka data była dokładnie 46 lat przed 1 stycznia 2016 roku.
Innym częstym problemem dotyczącym dat jest ich górny limit. Kalendarz w realnym świecie nie ma żadnego końca – ale kalendarz cyfrowy musi się kiedyś skończyć. I temu problemowi przyjrzymy się w kolejnej opowieści.
*Artykuł jest fragmentem książki "Człowiek vs komputer" autorstwa Gojko Adzic.