Udostępnij za pośrednictwem


Przegląd zabezpieczeń automatyzacji interfejsu użytkownika

Uwaga

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacja interfejsu użytkownika zdefiniowanych w System.Windows.Automation przestrzeni nazw. Aby uzyskać najnowsze informacje na temat automatyzacja interfejsu użytkownika, zobacz Interfejs API usługi Windows Automation: automatyzacja interfejsu użytkownika.

W tym omówieniu opisano model zabezpieczeń firmy Microsoft automatyzacja interfejsu użytkownika w systemie Windows Vista.

Kontrola konta użytkownika

Bezpieczeństwo jest głównym celem systemu Windows Vista, a wśród innowacji jest możliwość uruchamiania użytkowników jako standardowych (innych niż administrator) bez konieczności blokowania uruchamiania aplikacji i usług, które wymagają wyższych uprawnień.

W systemie Windows Vista większość aplikacji jest dostarczana ze standardowym lub administracyjnym tokenem. Jeśli nie można zidentyfikować aplikacji jako aplikacji administracyjnej, zostanie ona domyślnie uruchomiona jako aplikacja standardowa. Zanim aplikacja zostanie zidentyfikowana jako administracyjna, system Windows Vista wyświetli użytkownikowi monit o zgodę na uruchomienie aplikacji jako podwyższonego poziomu uprawnień. Monit o wyrażenie zgody jest wyświetlany domyślnie, nawet jeśli użytkownik jest członkiem lokalnej grupy Administracja istratorów, ponieważ administratorzy działają jako użytkownicy standardowi do momentu, gdy aplikacja lub składnik systemu, który wymaga poświadczeń administracyjnych żąda uprawnień do uruchomienia.

Zadania wymagające wyższych uprawnień

Gdy użytkownik próbuje wykonać zadanie wymagające uprawnień administracyjnych, system Windows Vista wyświetla okno dialogowe z prośbą o zgodę użytkownika na kontynuowanie. To okno dialogowe jest chronione przed komunikacją między procesami, dzięki czemu złośliwe oprogramowanie nie może symulować danych wejściowych użytkownika. Podobnie ekran logowania pulpitu nie może być zwykle uzyskiwany przez inne procesy.

automatyzacja interfejsu użytkownika klienci muszą komunikować się z innymi procesami, niektóre z nich mogą działać na wyższym poziomie uprawnień. Klienci mogą również potrzebować dostępu do okien dialogowych systemu, które nie są zwykle widoczne dla innych procesów. W związku z tym automatyzacja interfejsu użytkownika klienci muszą być zaufani przez system i muszą działać z specjalnymi uprawnieniami.

Aby być zaufanym do komunikowania się z aplikacjami działającymi na wyższym poziomie uprawnień, aplikacje muszą być podpisane.

Pliki manifestu

Aby uzyskać dostęp do chronionego interfejsu użytkownika systemu, aplikacje muszą być kompilowane przy użyciu pliku manifestu zawierającego uiAccess atrybut w tagu requestedExecutionLevel w następujący sposób:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="highestAvailable"
        uiAccess="true" />
    </requestedPrivileges>
  </security>
</trustInfo>

Wartość atrybutu level w tym kodzie jest tylko przykładem.

uiAccess domyślnie ma wartość "false"; oznacza to, że jeśli atrybut zostanie pominięty lub jeśli nie ma manifestu dla zestawu, aplikacja nie będzie mogła uzyskać dostępu do chronionego interfejsu użytkownika.