Syndrom Pegaza
Na podstawie tego tekstu przygotowano felieton zamiszczony w CRN nr 2022/3
Od początku tworzenia systemów operacyjnych dla mainframe’ów, serwerów i minikomputerów użytkowanych równocześnie przez wielu użytkowników, podstawową zasadą było, że żaden z działających programów użytkowych nie mógł mieć wpływu na inny działający równocześnie program, a w szczególności nie mógł się dostać w sposób niekontrolowany w obszar działania systemu operacyjnego. Argumenty funkcji, zwanych zleceniami (obecnie to API) systemu w chwili ich wywołania z programu były/są dokładnie kontrolowane co do prawidłowości zakresu wartości ich danych, tak aby nawet przypadkiem nie mogły mieć szkodliwego wpływu na działanie systemu. W przypadku wykrytego błędu, system „wyrzucał” z obsługi taki program z komunikatem FAULT.
Również zabezpieczano instalacje systemów komputerowe – do sali z komputerami i urządzeniami peryferyjnymi wstęp miała tylko upoważniona obsługa. Terminale dla użytkowników oraz karty z programami i wydruki wyników były w innej sali. Dzisiaj to może śmieszne, ale nawet linia telefonu wewnętrznego do sali komputerowej nie miała wyjścia na miasto. Pamiętajmy, że wtedy jeszcze nie było sieci komputerowych. Po uruchomieniu pierwszej sieci ARPANET w 1971 roku pojawił się pierwszy wirus – jeszcze mało groźny, bo tylko wyświetlił na atakowanym komputerze wiadomość: "I'm the creeper, catch me if you can!".
Sytuacja się zmieniła wraz z pojawieniem się mikrokomputerów personalnych do użytkowania przez jedną osobę. Ich pierwsze systemy operacyjne były bardzo proste i obsługiwały tylko jeden aktualnie wprowadzony do pamięci operacyjnej program. Nie było potrzeby dbać o bezpieczeństwo systemu i programu. Od 1982 roku zaczęły się pojawiać wirusy przekazywane do komputerów w plikach na dyskietkach. Czasem były niegroźne - odwracały napisy na ekranie, ale często niszczyły system plików na dysku – a ich autorzy mieli z tego powodu tylko czystą złośliwą satysfakcję. Wraz z pojawieniem się Internetu, coraz szybszego i szybko rozbudowywanego wszystkie komputery również te personalne oraz smartfony w sieci stały się dostępne na ataki hakerskie.
Deweloperzy oprogramowania systemowego starali się dokładnie go przetestować, aby nie było w nim błędów. Równocześnie umieszczali w programie sekretne wejścia do systemu, aby można było wykryć błędy w trakcie eksploatacji, włączając poprzez te wejścia śledzenie wykonywania się procesów oraz sprawdzając zmiany wartości kluczowych danych systemu. Takie sekretne wejścia pozostawia się też na żądanie służb, chociaż same firmy się do tego nie przyznają. Niestety liczba tych wejść i błędów – dziur w oprogramowaniu jest zbyt wiele i coraz to są one odkrywane przez inteligentnych programistów – wolnych strzelców. Po wykryciu mogą oni przekazać opis tego błędu do producenta oprogramowania, uzyskując stosunkowo niewielką nagrodę. Ale też wielu z nich taki eksplojt może wykorzystać dla własnej korzyści, przeważnie sprzedając go w szarej strefie osobom lub grupom hakerów. Szczególnie cenne są eksplojty dnia zerowego, czyli znane jeszcze tylko ich odkrywcy. A kim są ci odkrywcy dziur – genialni, profesjonalni informatycy oraz ci mający dostęp do kodu źródłowego tegoż oprogramowania. Oni niewiele ryzykują sprzedając swoje odkrycia. Producent noża nie odpowiada za morderstwo nim dokonane.
Producenci oprogramowania nie są w stanie usunąć wszystkich błędów z oprogramowania. Z 20 lat temu dowiedziałem się od osoby nadzorującej jedną z wersji znanego systemu operacyjnego, że firma znając lokalizację tych dziur, nie wszystkie je usuwa. Przyjmuje, że wystarczy jak dany system jest „good enough” bo według zasady Pareto usunięcie 80% błędów kosztuje 20%, a pozostałych 20% błędów kosztuje już 80% kosztów serwisowania systemu. Dowiedziawszy się tego, tego samego dnia zwiedzałem halę montażu Boeinga 777 (ma ok. 1 mln części). Zastanawiałem się czy tam też stosują „good enough”? Wtedy uważałem, że to jest niemożliwe. Ale w ostatnich latach właśnie błędy w oprogramowaniu, zamówionym po niższych kosztach poza firmą, były przyczyną uziemienia Boeingów 787 MAX czy też wymuszania restartów oprogramowania w Airbusach A350.
Producenci oprogramowania systemowego zabezpieczają się prawnie w umowie licencji przed odpowiedzialnością finansową z tytułu problemów mogących się pojawić z powodu istnienia błędów w oprogramowaniu. Mają też prawne pretensje do firm, które opracowują programy szpiegowskie korzystające z dziur do zainstalowania się w ich oprogramowaniu – jak Apple w stosunku producenta Pegasusa.
Okazuje się też, że również wobec oprogramowania open source trudno jest mieć pewność braku błędów, gdyż większość jego treści nie jest powszechnie weryfikowana przez innych. Użytkownicy są więc zmuszeni do korzystania z programów antywirusowych mających chronić użytkowane programy przed wirusami czy też innymi atakami hakerskimi. Niestety wiele coraz to nowych eksplojtów umożliwia hakerom przejęcie kontroli nad oprogramowaniem i uzyskania wglądu do danych, ich kradzieży lub wymuszenia okupu.
Pegasus nie jest jedynym systemem szpiegowskim, ale ten miał pecha bo został ujawniony, co już go silnie degraduje. Są jeszcze inne podobne oraz wiele utrzymywanych w sekrecie. Przecież władze US nie po to z rozgłosem zrezygnowały z Pegasusa, aby nie móc kontrolować terrorystów. Mają własne systemy, tym bardziej że mogą łatwiej poznać detale oprogramowania wiodących producentów amerykańskich mając Patriot Act. Również Chiny, Rosja, Niemcy, Anglia, Francja i inni oraz grupy cyberprzestępców niewątpliwie mają takie własne systemy, a tylko mniejsi muszą coś kupić z półki. Ale też w Polsce są głosy, że moglibyśmy sami taki system opracować – jest to możliwe, ale jakbym był projektantem czy nawet tylko programistą w takim zespole to chciałbym wiedzieć na jakiego zwierza będzie on stosowany. Pierwszym projektantom systemu Pesel w nowej rzeczywistości obniżono emerytury, bo pracowali w złej instytucji. A obecnie ABW oficjalnie poszukuje programistów i administratorów systemów oraz baz danych.
Podsłuchiwanie czy podglądanie innych było znane od wieków. Z chwilą pierwszych transmisji z wykorzystaniem elektroniki pojawiły się też elektroniczne urządzenia podsłuchowe. Dzięki podsłuchaniu i rozszyfrowaniu depesz sowieckich, udało się dokonać cudu na Wisłą w 1920 roku. W latach 30-tych Kwinto podsłuchał rozmowę telefoniczną Kramera. Dzięki uzyskaniu możliwości rozszyfrowania depesz Enigmy, skrócono WWII o dwa lata. Wraz z rozwojem elektroniki powstawały coraz czulsze mikrofony kierunkowe pozwalające też nagrać dźwięki z drgań szyby pomieszczenia, mikrokamery, a także urządzenia lokalizacyjne. Pokaz tych możliwości dobrze przedstawia film „Rozmowa” z 1974(!) roku, ale też pokazuje jak specjalista od podsłuchów Gene Hackman może stać się celem innych. Zorientowawszy się, że jest podsłuchiwany zdemolował całe mieszkanie coraz bardziej przerażony. Zdaje się, że podsłuch był zamontowany w obcasie jego znoszonego buta.
Wielu, nawet niewinnych, zadaje sobie pytanie, jak można się uchronić przed podglądaniem i podsłuchiwaniem przy korzystaniu z komputera oraz telefonu. Nie ma skutecznej rady. Wyjmowanie baterii, opakowanie w aluminium, używanie programów antywirusowych nie wystarcza. Jakimś rozwiązaniem jest używanie komórek starszych wersji z oprogramowaniem w ROM, czy też rzadszych typów. Ale i wtedy trzeba trzeba się liczyć z możliwością przejmowania rozmów przez „jaskółkę” – podstawiony BTS z silniejszym niż z prawdziwego sygnałem. Dopiero zastosowanie urządzeń ze specjalną ochroną danych, łącznie z ich szyfrowaniem, może być bezpiecznym połączeniem. Do czasu...