[PL] TrustedInstaller.exe czyli jak Windows Vista pilnuje spójności aktualizacji systemu


Przy zabawach z Powershellem na poziomie plików systemowych odkryłem coś, czego jako szeregowy deweloper w zasadzie pewnie bym nie odkrył (bo i po co).

Ale najpierw przygoda. Pozmieniałem parę plików help’a do Powershell’a, zgodnie z własną instrukcją. Potem odinstalowałem Powershell v2 i wróciłem na moment do Powershella v1 aby sprawdzić jak się u niego wygląda struktura plików w systemie (wcześniej nie zwróciłem na to uwagi).

Wszystko było okay i to co sobie wykombinowałem zadziałało, potem chciałem z powrotem wrócić do Powershell’a v2 i co? Nie chciał się zainstalować i zwracał komunikaty błędów o dostępie do folderów w których chciał przebywać.

Sprawdziłem te foldery i się okazało, że po odinstalowaniu Powershella v1 zostały tam moje pliki i zarazem standardowe podkatalogi jakie Powershell sobie stworzył. Jak sprawdziłem uprawnienia na tych plikach i folderach to się okazało, że nawet Administrator nie ma do nich dostepu.

Łapę na nich trzymały uprawnienia zdefiniowane rolą TrustedInstaller. Wybadałem co to takiego i okazuje się, że to część serwisu systemowego Windows Module Installer (TrustedInstaller.exe), który odpowiada za poprawną instalację, deinstalację oraz modyfikację aktualizacji systemowych jakie przychodzą od Windows Update lub jakie sami sobie zainstalujemy z plików instalacyjnych MSU.

Aby cokolwiek z takim plikiem zrobić trzeba z powrotem podebrać własność obiektu (Ownership) i wtedy zmienić uprawnienia i działać. Problem na standardowych plikach? Gdy TrustedInstaller zauważy taką podmianę jak najszybciej stara się przywrócić oryginalny plik.

Jak tego uniknąć? Po naszych modyfikacjach należy z powrotem zmienić właściciela pliku na TrustedInstaller.

Działanie jak najbardziej słuszne. Choć przypadek plików txt, które podmieniałem może wydawać się średnio niebezpieczny, tego typu obejście zabezpieczeń przy komponentach wykonywalnych już wyobrażam sobie, że mogło by być przykre w działaniu.

Tak czy siak przez to, że Powershell v1 jest aktualizacja systemową (Powershell v2 w wersji CTP jeszcze nie), stwarza trochę komplikacji przy takiej surowej modyfikacji plików.

Wow, poczułem się trochę <ironia=on> chakerem </ironia> (specjalnie przez Ce-Ha) :>


Comments (4)

  1. Macsun says:

    Trustedinst. pilnuje spójności aktualizacji a ja mam czasami wrażenie jakby udostępniał jednocześnie wejście do samego systemu poprzez usługę msc i okno wiersz polecenia.

  2. Słuchaj,

    Taki komponent jak TrustedInstaller napewno jest narażony na testy hackerów i domorosłych i tych bardziej pro w poszukiwaniu dziur i możliwych exploitów.

    Pytanie czy znamy jakiś faktyczny hack na ten komponent czy rozważamy teoretycznie?

  3. Krupers says:

    Ja wiem tyle, że TrustedInstaller to najgorsza rzecz w Viście – obciąża kompa każdorazowo po uruchomieniu i niepotrzebnie współpracuje z "svchost.exe -k netsvcs" :/ Psu w tyłek prawie 0,5GB pamięci zajmuje przez ponad kwadrans… I po co to? Kosztem zasobgów komputera?

  4. Krzysiek says:

    Przez ten przeklęty TrustedInstaller nie mogę usunąć starszej przeglądarki internetowej.

    Mało tego to jeszcze ta starsza otwiera się samoczynnie i wp……..la mi jakieś tam cuda niewidy i chociaż

    co mogłem usunąć z filles to nie mogę usunąć skrótu na pulpicie.

    Mimo to zainstalowałem internet 10, a jak się pozbyć tego starszego???.

    Pomóżcie błagam.

    Podaję swoją pocztę: kjaworow@onet.pl

    Byłbym bardzo wdzięczny jak ktoś wyśle do mnie instrukcję z pozbyciem się tego szajsu.

    Pozdrawiam wszystkich.