Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Sesje,stacjeokien,pulpityikomunikatyokien
49
wnarzędziuRegedit.Zewzględunapoziomyabstrakcjiwystępującepomiędzyfizycz-
nymnaciśnięciemklawiszaawynikowymikomunikatamiokienodbieranymiprzez
programGUI,jestpraktycznieniemożliwe,abyprogramdocelowywiedziałnapew-
no,czyklawiszzostałfaktycznienaciśnięty
,czyteżjakiśinnyprogramzasymulował
tonaciśnięcie,przesyłającodpowiednikomunikatokna(jesttoprawdądlawszystkich
systemów„okienkowych”,nietylkodlasystemuWindows).
Zwyjątkiemwprowadzeniaobsługiwielowątkowościw32-bitowychwersjach
Windows,taarchitekturakomunikatówokiendatujesięażodwersjiWindows1.0
iniesiezesobąwielezaszłościhistorycznych.Wszczególności,obiektyokiennie
posiadajądeskryptorówzabezpieczeńanilistkontrolidostępu.Towłaśniedlatego
zezwalanienawyświetlanieokiennapulpicieużytkownikaprzezusługibyłobardzo
złympomysłem–programyużytkownikamogłyprzesyłaćzniekształconelubspecjal-
niespreparowanekomunikatydookiennależącychdoprocesówuruchomionychjako
System,awprzypadkuudanegowykorzystaniaprzejąćkontrolęnadtymiprocesami
(jesttoczęstonazywaneatakiemwstrząsowym–shatterattack).Jeśliużytkowniknie
byładministratorem,podniesienieuprawnieństawałosiętrywialnieproste.Towłaśnie
jestgłównympowodem,dlaktóregointeraktywniużytkownicynigdyjużnielogują
sięwsesji0.
Wprzypadku„standardowegoużytkownika”,cojestdomyślnymtrybemdziałania
systemuWindowsVistainowszych–atakżemechanizmupodnoszeniauprawnień
poprzezUAC,umożliwiającegouruchamianieaplikacjizuprawnieniamiadmini-
stracyjnyminatymsamympulpicie,naktórymdziałająprocesynieadministracyj-
ne–potrzebnajestpewnadodatkowaochronawceluzredukowaniaryzykaataku
wstrząsowegowobecokienotwartychprzezprocesyopodwyższonychuprawnieniach.
WynikiemjestmechanizmUserInterfacePrivilegeIsolation–UIPI(Izolacjauprawnień
interfejsuużytkownika).
DziękiUIPI,gdymenedżerokienpośredniczywprzekazywaniukomunikatuokna,
którymożezmienićstanprocesudocelowego(takiegojakkomunikatokliknięciu
przycisku),menedżerporównujepoziomintegralności(IL)procesuwysyłającego
komunikatzILprocesuposiadającegooknobędąceadresatem8.JeślinadawcamaIL
niższeniżodbiorca,UIPIblokujetenkomunikat.Towłaśniejestpowód,dlaktórego
narzędzieRegJumpianalogicznedoniegofunkcjeJumpTomusząbyćwykonywane
przyILconajmniejtakwysokim,jakto,któregoużywaRegedit.Dodatkowo,jeśli
nadawcajestaplikacjądziałającąwkontenerzeaplikacji,UIPIzezwalanaprzekazy-
waniekomunikatówtylkodoinnychokienztegosamegokontenera.
WięcejinformacjinatematMICiUIPIzawieradokumentWindowsVistaIntegrity
MechanismTechnicalReference,dostępnypodadresemhttp://msdn.microsoft.com/en-us/
library/bb625964.aspx.
8Poziomyintegralnościzostałyomówionewpodrozdziale„Izolacjaaplikacji”wcześniejwtym
rozdziale.