Okna w nowych ramach

Szyfrowanie danych

W systemie Windows Vista zmienia się kilka fundamentalnych założeń dotyczących bezpieczeństwa. Usługi systemowe zostały oddzielone od normalnych sesji użytkowych i używają najmniej uprzywilejowanego konta. Prawa do zasobów dla danej usługi przypisane są kluczowi SID. Ten SID i lista ACL generują token, który nie ma prawa zapisać danych do przestrzeni innego procesu. Innymi słowy, usługa będzie w stanie uszkodzić tylko to, co należy do jej przestrzeni.

Dostępne są specjalne komunikaty, które pozwalają przekazywać informacje do/z usługi (i np. dynamicznie ją konfigurować). Pojawia się też rodzaj bezpiecznego środowiska uruchamiania procesów z uprawnieniami zwykłego użytkownika, co w pewnym sensie zabezpiecza przed uszkodzeniem systemu przez użytkownika, który np. otworzył "agresywną" stronę WWW. Mechanizmy te będą w pełni działać dopiero w wersji Beta 2 systemu.

W Windows Vista/Longhorn Server zmianie ulegnie CAPI (Cryptography API). Dostępne będzie wsparcie dla szyfrowania na poziomie jądra systemu, w tym szyfrowanie pełnej partycji - także na urządzeniu Flash/USB. Uproszczony zostanie moduł wtyczek, a co za tym idzie, łatwiejsza będzie centralna konfiguracja wielu systemów. Pojawi się także obsługa algorytmów eliptycznych (ECDH, ECDSA) itp. Nowością będzie moduł zarządzania hasłami i kluczami - Credential Management. W Longhorn Server ma być zintegrowany Right Management Server.

Algorytmy z CNG (Crypto Next Generation) mogą być używane w innych protokołach, np. SSL, S/Mime. Microsoft zapowiedział, że API zgodne z CAPI 1.0 będzie dostępne w Windows Vista, ale w kolejnych wersjach Windows nie będzie już wspierane. Model wtyczek w CNG pozwala dołączać zarówno komponenty działające w trybie jądra, jak i w trybie użytkownika. Izolacja klucza prywatnego ma być zgodna z wymaganiami Common Criteria.

Standardowo mechanizmy API będą umożliwiać zdefiniowanie typu usługi, m.in. szyfrowanie symetryczne/asymetryczne, liczenie skrótów kryptograficznych (hash), generowanie liczby losowej, uzgodnienie tajnej wiadomości, podpis elektroniczny, a także żądanego poziomu bezpieczeństwa, np. długości klucza. Algorytm szyfrujący będzie można wybrać, albo też administrator będzie mógł go narzucić. Klucze prywatne mogą być przechowywane na zewnętrznych urządzeniach, albo też w przyszłym, wbudowanym w komputer "bezpiecznym schowku". W Windows Vista zmienił się proces żądania certyfikatów X.509 - nie ma już kontrolek ActiveX Xenroll czy ScrdEnrl.

Zarządzanie tożsamością

Okna w nowych ramach

Interfejs Windows Vista: Na razie nie widać wielkich zmian w stosunku do windows XP, ale gdy pojawią się aplikacje pisane w XAML, różnica będzie znacząca.

W tej dziedzinie zmian jest wiele. W Vista/Longhorn definiowany jest tzw. Identity Metasystem - warstwa "nadrzędna", zarządzająca różnymi sposobami identyfikacji użytkownika. Jest on też związany z kontraktem w WCF - gdzie można określić, jaki użytkownik (a raczej endpoint, czyli zdalna usługa lub urządzenie) ma mieć dostęp do danego kanału komunikacyjnego. Niezależnie od tego istnieje możliwość określenia warunków dla operacji, w której można sprawdzić, czy uwierzytelniony użytkownik ma prawo do wykonania operacji.

W procesie logowania znika komponent GINA (obecny od Windows NT 3.1). Zastępuje go usługa Credential Providers, która nie zapewnia jednak własnego, oddzielnego ekranu logowania, lecz "dołącza się" do standardowego interfejsu logowania. Możliwe więc będzie równoległe wykorzystanie wielu sposobów uwierzytelniania i kontroli uprawnień.

Usługa Active Directory w Longhorn Server będzie miała wbudowane mechanizmy integrujące różne systemy uwierzytelniania, m.in. Centrify, Vintela, PingID (Linux). Obsługiwane będą mechanizmy WS-Trust (co pozwoli na translację tokenów) oraz tokeny Kerberos i SAML 1.1, a całe rozwiązanie będzie nazywane Active Directory Federation Services. Warto też dodać, że w Longhorn Server wprowadzono nową opcję pracy Active Directory, w której katalog będzie dostępny w trybie "tylko do odczytu". Rozwiązanie to jest przeznaczone głównie dla oddziałów firm.

Równocześnie Active Directory staje się usługą taką, jak inne usługi Windows, a nie "innym" trybem działania systemu. Zniknie więc część operacji, które musiały być wykonywane w specjalnym trybie Directory Services Restore Mode. Tak naprawdę aby "przedstawić" się w Vista, wystarczy odpowiedni token. Firmy Axalto i Memory Experts zaprezentowały na PDC 2005 urządzenia, które mogą wydawać tokeny do uwierzytelniania (używają WS-Trust), tak by użytkownik mógł je podłączyć do komputera i "być zalogowanym". Jest to rozbudowana koncepcja SmartCards.

W Vista pojawia się też zapowiadany od dawna komponent Network Access Protection (NAP). Zabezpiecza on sieć przed podłączeniem do niej komputerów niespełniających wymogów w dziedzinie zabezpieczeń. Poprzez NAP można wymusić, by komputer miał zainstalowane aktualne poprawki i definicje wirusów, właściwą politykę bezpieczeństwa na zaporze itd. Wszystko kontrolowane jest za pośrednictwem polis - w zależności od ustawień komputer można całkowicie odciąć od dostępu do sieci, albo też pozwolić mu jedynie komunikować się z usługami, które umożliwią jego zabezpieczenie. NAP intensywnie wykorzystuje IPsec.

Windows Filtering Platform to nowy komponent systemu, który stanowi pewnego rodzaju API dla zapór sieciowych (wypada tu wspomnieć, że usługa ta prawidłowo obsługuje IPsec). Równocześnie nie ma konieczności stosowania warstw TDI/NDIS w sterowniku karty sieciowej, co było przyczyną istotnej liczby zgłaszanych zawieszeń systemu. Na marginesie warto dodać, że w zapowiedziach API dla Windows Vista/Longhorn Server pojawia się mechanizm obsługi gniazdek sieciowych (sockets) z automatycznie włączonym mechanizmem IPsec. W takich okolicznościach można łatwo stworzyć mechanizmy wzajemnego uwierzytelnienia.

W warstwie prezentacji (WPF - Windows Presentation Framework) jasno zostały nakreślone granice bezpieczeństwa. Mechanizm bazuje na koncepcji CAS, czyli mechanizmie .Net pozwalającym określać uprawnienia wynikowe na podstawie źródeł pochodzenia kodu i praw użytkownika. Microsoft wbudował w system także predefiniowane polisy dla określonych scenariuszy użycia, dzięki którym można łatwo opanować bardzo rozbudowane opcje CAS.

Dotyczy to zwłaszcza aplikacji nowego typu aplikacji WPF - Web Based Application, gdzie tak naprawdę mamy pomieszane technologie przeglądarki, XAML i aplikacji Windows. Aby zapobiegać pishingowi, domyślnie taka aplikacja nie może utworzyć okna. Poza tym pracuje ze specjalnym obszarem dokumentów. Może je zapisywać, ale w określonym miejscu i pod pewnymi warunkami, jeśli więc aplikacji pojawi się luka, straty nie będą wielkie.

Sterowniki po nowemu

Obszarem, do którego Microsoft bardzo się w Windows Vista przyłożył, są sterowniki. Zmienił się model tworzenia sterowników audio (który, jak i sterowniki graficzne, miał zaszłości jeszcze w Windows 16-bitowym), urządzeń dyskowych, kart sieciowych itp. W przypadku tych ostatnich znacznie więcej operacji jest przekazywanych na kartę. Dotychczas albo robili to producenci w sposób nie całkiem standardowy, albo co najwyżej karta liczyła sumy kontrolne, odciążając procesor. Zmiany w tej dziedzinie są związane z technologią Chimney, zgodną z koncepcją akceleracji komunikacji oferowaną przez urządzenia typu TOE (TCP Offload Engines).

Internet Explorer 7

Nowy IE7 obsługuje zakładki z możliwością grupowania, zapisu grupy itp. Podgląd wydruku ma wreszcie opcję autosize, co pozwala, by strona WWW zmieściła się na kartce. Opcje analizy pishingu pozwalają zaznaczać witryny z podejrzanymi elementami albo powiadomić użytkownika, gdy witryna znajduje się na "czarnej liście". Inną pożyteczną funkcją jest mechanizm ochrony rodzicielskiej. Obejmuje nie tylko IE, ale też np. uruchamiane gry - w tym przypadku możliwa jest kontrola na bazie ratingu wg ESRB lub europejskiego PEGI. Można będzie kontrolować czas pracy użytkownika (wtedy 15 min wcześniej jest on informowany, że zaraz zostanie wyłączony/wylogowany).

Monitorowane są żądania Get/Post, co pozwala np. eliminować osadzone treści z różnych portali, które będą nieodpowiednie dla dzieci. Co ciekawe, jeżeli gra nie jest odpowiednio podpisana - można uznać że "nieocenione" aplikacje w ogóle nie mogą być przez pociechę uruchamiane. Ograniczenia na uruchamianie mogą być określone w liście ACL, możliwe jest blokowanie określonych tytułów (baza jest aktualnie konstruowana i obecnie zawiera ok. 2 tys. pozycji). Aplikacja może także zawierać opis w pliku GDF (Game Definition File) i używać stosownego API.

Dla programistów dostępna jest biblioteka funkcji API, ale te ustawienia można kontrolować także poprzez WMI. Podobnie jest z pobieraniem plików czy uruchamianiem instalacji (niezależnie od uprawnień użytkownika). Oczywiście, tych samych mechanizmów można użyć także do zarządzania użytkowaniem komputerów w firmie.

Warto dodać, że w Vista, jeżeli uruchamiamy jakiś program instalacyjny, czy też inny potencjalnie niebezpieczny proces, jesteśmy pytani, czy na pewno chcemy wykonać daną operację. Warto tu podkreślić różnicę w stosunku do mechanizmu runas (czy w pewnym sensie analogicznego mechanizmu w Unixach). Tam określane jest, że dany program uruchamiany jest z pełnymi prawami (administratora). Tu - ostrzeżenie pojawia się wtedy, gdy program ma zamiar wykonać ryzykowną operację - czyli cała aplikacja nie musi działać na "pełnych" prawach.

Bezpieczne API

Zmiany związane z bezpieczeństwem sięgają samego API. W Vista na pewno ograniczony będzie dostęp do pewnych mechanizmów niskopoziomowych z poziomu aplikacji użytkowych. Utrudni to m.in. obchodzenie zabezpieczeń płyt DVD itp. Część, a być może nawet wszystkie operacje dotyczące obsługi audio-wideo będą wykonywane w specjalnym, chronionym środowisku, do którego aplikacja będzie wysyłać polecenia (zacznij odtwarzanie, przewiń itp.). Ma to na pewno związek z ochroną praw, ale w równej mierze jest to efekt zmiany modelu sterowników i kodeków, których niestabilność była dotychczas zbyt często przyczyną niestabilności całego systemu.

Warto też pamiętać, że od pewnego czasu część API w MSDN jest oznaczane z "Security Alert". Takie funkcje, jak wcsncpy czy StrCat, które z uwagi na zaszłości nie mogą sprawdzać przepełnienia bufora, są specjalnie oznaczane i podczas kompilacji Visual Studio .Net zgłaszane są ostrzeżenia. Nie wiadomo, jak będzie się zachowywać to API w ostatecznej wersji Windows Vista - w wersjach beta działa, natomiast wiele źródeł podaje, że planowane jest wprowadzenie list zabronionych odwołań API dla typowych aplikacji. Bardzo wygodną opcją - zwłaszcza dla użytkowników domowych - jest Forgotten Password Wizard. Tworzy on dysk, który pozwala resetować hasła w danej instalacji systemu w sytuacji, gdy "zaginie" hasło administratora.


TOP 200