[PL] Trochę faktów o User Account Control

Przy Windows 7 zauważyłem, że Microsoft bardzo ostrożnie zarządza zmianami, które mogły by spowodować problemy z kompatybilnością aplikacji zaprojektowanymi pod starsze wersje systemu. Dobrym przykładem jest ten sam co w Windows Vista model sterowników. Tego typu założenia powinny pomóc w wdrożeniu Windows 7, gdy mamy na uwadze cały pakiet krytycznych dla nas aplikacji.

Ponieważ większość aplikacji i sterowników działających pod Windows Vista powinny pracować zgodnie z Windows 7 jeśli posiadacie aplikacje, które chociażby przeszły proces certyfikacji “Certified for Windows Vista” nie powinniście mieć żadnych problemów z poprawnym działaniem tych aplikacji na nowszej wersji systemu.

Jest jeden mechanizm systemu, na który mimo wszystko, ponownie chciałbym zwrócić uwagę, a jest nim UAC (User Account Control).

Przed Windows Vista większość użytkowników systemu operacyjnego Windows miała standardowo uprawnienia Administratora. Oczywistym jest, jakie zagrożenia taka sytuacja za sobą niesie. W Windows Vista wprowadzono nowy mechanizm i model bezpieczeństwa, który daje użytkownikowi minimum konieczne przywilejów w systemie operacyjnym potrzebne do uruchomienia aplikacji i zabrania wykonania operacji mogącej zmienić system operacyjny bez potwierdzenia administratora. Aplikacje, które zaprojektowano (świadomie lub nie) z założeniem z poprzednich systemów mogą podobnie jak w przypadku Windows Vista także w przypadku Windows 7 spowodować problemy z kompatybilnością. Tak się dzieje najczęściej w przypadku gdy aplikacja próbuje spowodować zmiany w systemie poza modułami instalacyjnymi, konfiguracyjnymi lub dedykowanymi modułami administracyjnymi uwzględniającymi kontekst administratora.

W oparciu o dane Microsoft Customer Experience  (źródło: Directions on Microsoft) wraz z wprowadzeniem na rynek Windows Vista ponad 700 tysięcy aplikacji wygenerowało zapytanie UAC z prośbą o potwierdzenie operacji. Dosyć często zapytania UAC przez te aplikacje powodowały, że ok 50% czasu spędzonego na sesji było poświęcone na reakcję na te zdarzenia.

W tej sytuacji nie dziwią mnie spontaniczne komentarze zwykłych użytkowników, z którymi miałem okazję porozmawiać, że UAC jest szatańskim pomysłem, który jedyne co pożytecznego robi, to działa im na nerwy. Jednak jeśli spojrzymy na to z innej strony, dla mnie to sygnał jak niewiele twórców aplikacji rozsądnie i świadomie podchodziło do tematu bezpieczeństwa w ich aplikacjach gdy system nie oferował tak dokładnej kontroli.

W sierpniu 2008 roku (to samo źródło) podobne badanie wykazało spadek ilości takich zapytań o ~80%. Dla mnie to sygnał, że jednak dało się te aplikacje tak napisać inaczej.
Ze strony Microsoft wprowadzenie takiego mechanizmu to może specyficzne “brute force” na deweloperów, którzy do tej pory bezpieczeństwo w aplikacjach traktowali umownie, natomiast jak patrzę po wynikach – ruch warty świeczki.

Windows 7 wprowadzi zmiany w UAC dające przyjemniejsze doświadczenie i kontrolę nad tym co ten mechanizm tak naprawdę pokazuje, natomiast przyznam szczerze, te liczby powinny dać do myślenia jeśli w jakikolwiek sposób uczestniczymy w procesie projektowania i tworzenia aplikacji.

Kiedyś, po paru geekowatych rozmowach z kumplem, który jest uczulony na punkcie bezpieczeństwa w systemie operacyjnym, zrobiłem sobie jeszcze na Windows XP pewien test. Swojemu standardowemu użytkownikowi wyłączyłem uprawnienia Administratora. Instalacja aplikacji i inne administracyjne zadania oczywiście wymagały ode mnie paru dodatkowych operacji w systemie, natomiast przeraziło mnie to, jak wiele aplikacji zaczynało odmawiać mi posłuszeństwa dając niezrozumiałe komunikaty. Aplikacje, które do poprawnej pracy nie powinny mieć wymagań administratora. Tak mi się przynajmniej wydawało. Jeśli wciąż posiadacie Windows XP, polecam taki eksperyment. Od razu inaczej się na UAC spogląda i na to jak się projektuje aplikacje pod Windows mając na uwadze bezpieczeństwo.

Technorati Tagi: Polish posts,Windows Vista,Windows 7,compatibility,security