W Windows XP w SP2 pojawiła się technologia DEP. W skrócie chodzi o to, by ewentualny kod, który zostanie umieszczony w obszarze danych (na przykład przez buffer overflow) nie mógł być wykonany. W sumie nic odkrywczego, pomysł stosowany z powodzeniem od dłuższego czasu w innych systemach operacyjnych. Problem w tym, że system Windows ciągnie za sobą bagaż zgodności wstecznej, w związku z czym Microsoft, choć wprowadził DEP, to nie zrobił tego tak na 100%, choć dał użytkownikom prawo wyboru.
O DEP i jak go skutecznie włączyć
W przypadku DEP istnieją cztery polityki:
- OptIn,
- OptOut,
- AlwaysOff,
- AlwaysOn,
Domyślną polityką jest OptIn, czyli proces nie jest objęty ochroną DEP, chyba, że "sam się zgłosi", lub zrobi to za niego użytkownik. Standardowo ochroną objęte są niektóre obszary systemu. Co konkretnie, można łatwo zobaczyć przy pomocy narzędzia Process Explorer (należy dodać kolumnę DEP status). Wybór takiej domyślnej polityki wydaje się być uzasadniony. Łatwo sobie wyobrazić "aferę", która pojawiłaby się, gdyby po zainstalowaniu SP2 przestało działać 50% programów.
OptOut jest drugą polityką, która z kolei obejmuje ochroną DEP wszystkie procesy, chyba, że proces "sam się zgłosi", że nie radzi sobie z DEP, lub zrobi to świadomie użytkownik. Problem jest z tym "sam się zgłosi". Z moich obserwacji wynika, że sam się zgłasza na przykład Firefox oraz OpenOffice. W obu przypadkach sytuacja ta podoba mi się umiarkowanie, bo zwłaszcza Firefox okazji do wykorzystania ewentualnej dziury daje sporo.
Polityki AlwaysOff nie trzeba chyba nikomu tłumaczyć, po prostu DEP nie funkcjonuje.
Ostatnią dostępną opcją jest AlwaysOn, która powoduje, że każdy proces jest objęty ochroną DEP, nie ważne, czy tego chce, czy nie chce. Po ustawieniu tej polityki miałem drobny problem z Firefoxem, ale w tym przypadku wystarczy wyłączyć Talkback.
Od pojawienia się SP2 dla XP używałem OptOut, jakiś czas temu doszedłem do wniosku, że programiści już chyba nauczyli się żyć z DEP i przeszedłem na AlwaysOn. No ale ja jestem specyficzny i prędzej poszukam jakiegoś "zastępnika" niedziałającego programu, lub kompletnie z niego zrezygnuję, niż będę korzystał z knota... Nie każdy ma jednak taki komfort.
W GUI istnieje możliwość przełączania się tylko między OptIn i OptOut, aby włączyć AlwaysOn lub AlwaysOff należy zmodyfikować boot.ini.
Przesłany: Jan 16, 16:47