Zniewolenie czy bezpieczeństwo

Brak sukcesów w wojnie z wirusami i zwykłymi kradzieżami przed Internet sprzyja sięganiu po środki nadzwyczajne. Takie jak inicjatywa Trusted Computing.

Brak sukcesów w wojnie z wirusam i i zwykłymi kradzieżami przed Internet sprzyja sięganiu po środki nadzwyczajne. Takie jak inicjatywa Trusted Computing.

Wyobraźmy sobie świat bez wirusów, koni trojańskich i robaków sieciowych. Komputer nie będzie uruchamiać aplikacji z nieznanego źródła, więc złośliwe programy zaprojektowane do niszczenia po prostu nie będą działać. W ten sposób zyskamy pewność, że nic, co ściągnęliśmy z Internetu, nie zawiera wirusów. Będzie można bezpiecznie robić zakupy w sklepach internetowych, obsługiwać swoje konto, a następnie zostawić wszystkie hasła i pozostałe dane o nim w komputerze, ponieważ nikt postronny nie będzie miał do nich dostępu. Skończą się łańcuszki szczęścia usuwające najważniejsze dokumenty z twardego dysku, komputer nie będzie się zawieszał bez widocznego powodu, a numer karty kredytowej będzie dobrze strzeżony przed złodziejami. Czyż nie jest to opis raju?

A teraz wyobraźmy sobie, że ktoś napisał przydatny program, który bez akredytacji jednej z czołowych korporacji programistycznych nie będzie współdziałał z innymi aplikacjami w komputerze. Ktoś potrzebuje narzędzia z poprzedniej epoki - niestety, nie ma go na liście "pewnych", więc nie będzie miało dostępu do dokumentów. Być może, jeden z programów z płyty dołączonej do tego numeru PCWK akurat okazałby się przydatny, lecz komputer jest doskonale zabezpieczony, więc i to się nie uda. Czy jesteś jeszcze panem swego komputera? No cóż, niezbyt rajski obrazek.

Zabawne, że to dwie strony jednego medalu. Oba scenariusze są możliwe w wyniku wprowadzenia względnie nowej inicjatywy nazywanej Trusted albo Trustworthy Computing (TC). W tym artykule opiszemy, czym jest TC, kto jest zaangażowany w jego rozwój, co już zostało zrobione i jakie są widoki na przyszłość. Zastanowimy się również nad etycznymi aspektami sprawy oraz spróbujemy odpowiedzieć na pytanie, czy TC faktycznie zasługuje na zaufanie.

Trochę historii

Idea TC w obecnej formie narodziła się niedawno, w drugiej połowie lat 90., chociaż w istocie stanowi rozwinięcie technologii stosowanej w komputerach od czasu ich powstania. Pierwotnie chodziło o rozwiązanie problemów z prawami cyfrowymi w dobie Internetu. Obecnie TC obejmuje dużo więcej zagadnień i zajmiemy się tym w dalszej części artykułu.

TC Nexus pracuje równolegle ze zwykłym systemem, jednocześnie pozostaje odseparowany.

TC Nexus pracuje równolegle ze zwykłym systemem, jednocześnie pozostaje odseparowany.

Zbliżone pomysły pojawiały się od wielu lat, zwłaszcza w kręgach wojskowych w Stanach Zjednoczonych. Wiemy, że Mark Sefik mówił o szerokim zastosowaniu "zaufanych systemów" (trusted systems) w PARC (Palo Alto Research Center, interdyscyplinarne centrum badawcze) Xeroksa w 1996, a Bill Arbaugh, Dave Farber i Jonathan Smith dyskutowali o podobnej technologii pod nazwą bootstrap mechanism w 1997 na sympozjum IEEE (Institute of Electrical and Electronics Engineers).

Bootstrap to mały program ładowany przez BIOS, który dawniej był zapisany w pamięci stałej ROM i stamtąd kopiowany do RAM w celu przyspieszenia wykonywania poleceń, a tym samym rozruchu komputera. I choć pojawiały się wirusy wykorzystujące słabości flash ROM, to właśnie trudność w manipulowaniu przez zewnętrzne programy pamięcią ROM była mocną stroną takiego rozwiązania. Dziś jednak bootstrap to zazwyczaj pierwszy sektor twardego dysku. To oznacza, że łatwo stworzyć program uszkadzający system poprzez zmianę zawartości tego sektora - to właśnie robią wirusy infekujące MBR (Master Boot Record, sektor rozruchowy dysku). W ten sposób modyfikują pierwszy etap ładowania systemu operacyjnego, dzięki czemu potem mogą zrobić z nim praktycznie wszystko. Dlatego pierwszym etapem zapewnienia komputerowi bezpieczeństwa powinno być sprzętowe zabezpieczenie bootstrapu.

Taki pomysł zrealizowano w TC. Pierwotnie bootstrap TC miał nadzorować cały proces ładowania systemu operacyjnego. Obecna specyfikacja nakazuje uruchamianie modułu monitorującego, który przechowuje sumę kontrolną wyliczoną ze szczegółów zainstalowanych urządzeń (karty graficznej, audio i innych rozszerzeń) oraz oprogramowania. Jeśli suma będzie się zgadzać, systemowi operacyjnemu zostanie udostępniony zestaw kluczy kryptograficznych wymaganych do odkodowania aplikacji zgodnych z TC i danych do nich. Jeśli system nie przejdzie weryfikacji, klucze nie zostaną udostępnione. Komputer będzie mógł nadal uruchamiać aplikacje i otwierać pliki niezabezpieczone przez TC, ale materiały chronione nie będą dostępne.

Przeprowadzeniem weryfikacji zajmuje się wyspecjalizowany układ nazywany "Fritz" - ku czci senatora Fritza Hillingsa z Południowej Karoliny, aktywnie wspierającego tę technologię. "Fritz" jest wbudowany w płytę główną komputera i obecnie dostarcza się już kolejną jego wersję. W przyszłości takie układy będą stanowiły część procesora.

Trzy asy

Aby w pełni zastosować TC, trzeba spełnić cztery wymagania sprzętowe. Musi być możliwe wydzielenie części pamięci systemowej w taki sposób, aby żadna zwykła aplikacja nie miała do niej prawa odczytu i zapisu.

W czasie rozruchu komputera TPM gromadzi informacje o stanie bezpieczeństwa.

W czasie rozruchu komputera TPM gromadzi informacje o stanie bezpieczeństwa.

Bezpieczne procedury wejścia/wyjścia (I/O) mają zapobiegać przechwytywaniu naciśniętych klawiszy oraz zawartości ekranu, czyli ulubionych czynności koni trojańskich, dzięki którym mogą one zarejestrować nazwę użytkownika i hasło. W ten sposób uniemożliwia się obcym programom udawanie użytkownika. Opcje kopiowania i wklejania oraz zapisywania obrazów z ekranu umożliwiają wyniesienie zawartości dokumentów poza bezpieczne środowisko. Bezpieczne I/O uszczelnia tzw. dziurę analogową poprzez szyfrowanie sygnału monitora, wideo i audio za pomocą RSA z 2048-bitowym kluczem.

Klucze kryptograficzne muszą być zabezpieczone, bo gdyby ktoś je wykradł, nie potrzebowałby łamać mocnego algorytmu szyfrującego. Problem pozostawiania niezabezpieczonych kluczy na twardym dysku zauważono już dawno. Można to porównać do przyklejenia karteczki z hasłem do monitora. Nie ma problemu, jeśli nikt się nie włamie do biura, ale w przeciwnym wypadku tracimy wszystko. Bezpieczne przechowywanie nie polega na pozostawieniu kluczy w chronionym miejscu. Generuje się je za każdym razem, gdy zażąda ich akredytowany program z zarejestrowanego komputera. Nieuprawnione aplikacje nie mają do nich dostępu, a zaszyfrowane dane skopiowane do innego komputera będą nieczytelne. Dzięki temu listę kontaktów i archiwum listów będzie można wykorzystać tylko poprzez twojego klienta poczty. Na przykład robak e-mailowy SirCam przestałby się rozprzestrzeniać, nie mogąc odszyfrować książki adresowej. Nawet kiedy dane są przeglądane przez uprawnione oprogramowanie, pozostają bezpieczne. W połączeniu z ochroną pamięci i bezpiecznym I/O utrudnia to maksymalnie nieautoryzowanemu oprogramowaniu dostęp do danych również wtedy, gdy akurat muszą być odszyfrowane.

Czwarty joker

Najwięcej kontrowersji budzi jednak czwarte wymaganie stawiane przez TC: zdalne atestowanie. Umożliwia ono wykrycie nieautoryzowanych zmian w oprogramowaniu, a więc udaremnia ataki polegające na zamianie części aplikacji bądź systemu operacyjnego na kod wirusa. Do każdego programu generowany jest kryptograficzny numer, który następnie porównuje się z zapisanym w bazie danych. Jeśli numery są różne, świadczy to o zmianach w oprogramowaniu.

Kluczowe jest słowo "zdalne". Te informacje trafią nie tylko do ciebie, lecz także do twoich znajomych. Zaletą rozwiązania jest to, że koledzy zostaną ostrzeżeni, by nie wysyłali ci ważnych dokumentów do czasu, gdy naruszony system zostanie naprawiony. Jednak część legalnych zmian również mogłaby zostać zidentyfikowana jako nielegalna. Na przykład sporo banków internetowych wymaga używania Internet Explorera. Użytkownicy innych przeglądarek radzą sobie z tym, każąc oprogramowaniu zgłaszać się serwerom sieciowym jako IE. Ze zdalnym atestowaniem byłoby to niemożliwe, a więc użytkownicy byliby zmuszeni do używania konkretnego programu. Narzucanie IE w tym wypadku nie wiąże się bezpieczeństwem, lecz raczej zapobiega używaniu przeglądarek blokujących reklamy typu pop-up.

Zdalne atestowanie mogłoby zablokować działanie wszystkich aplikacji tworzonych poza wielkimi korporacjami. Na przykład otwarty projekt dostępu do plików z innych systemów, Samba Windows, może się okazać niekompatybilny z przyszłymi wersjami Windows. Podobnie programy typu Instant Messenger mogą blokować używanie konkurencyjnych klientów. Najoczywistszym powodem tego ograniczenia może być znów chęć zmuszenia do oglądania reklam. Dodatkowo alternatywne programy nie miałyby również dostępu do bezpiecznie przechowywanych zaszyfrowanych danych.

Seth Shoen z EFF (Electronic Frontier Foundation) uważa, że zdalne atestowanie stawia użytkownika komputera w roli potencjalnego przeciwnika. Z jednej strony, może dać zdalnym serwisom pewność, że ich klienci używają właściwego oprogramowania. Z drugiej jednak zmusi użytkowników do korzystania z konkretnych aplikacji, mimo że niekoniecznie wszyscy je lubią. Nie podoba ci się Outlook jako klient poczty? Przykro nam, twój dostawca usług internetowych mówi, że musisz go używać. Pomimo tych kontrowersji technologia powoli jest wdrażana (patrz ramka).


Zobacz również