Data Execution Prevention

DEP (Data Execution Prevention) – zabezpieczenie stosowane we współczesnych systemach operacyjnych, takich jak Microsoft Windows, Linux i Android. Jego celem jest uniemożliwienie wykonywania kodu z segmentu danych. Pomaga to w ochronie przed exploitami wykorzystującymi przepełnienie bufora.

DEP działa w dwóch trybach: sprzętowym, w którym procesor oznacza strony pamięci jako niewykonywalne, oraz programowym, który daje ograniczoną ochronę i jest stosowany wtedy, gdy procesor nie potrafi oznaczyć stron pamięci jako niewykonywalne.

Po raz pierwszy technologia DEP w systemach Microsoftu pojawiła się w Windows XP Service Pack 2. Następnie została zaimplementowana we wszystkich kolejnych edycjach systemu Windows. Od wydania Vista Menadżer zadań wyświetla informacje o włączeniu lub wyłączeniu ochrony DEP dla konkretnego procesu.

Inne systemy

DEP jest w jądrze Linuksa od 2004 roku (od kernela 2.6.8[1]). W systemach deskopowych firmy Apple od roku 2006 kiedy Apple przeszło na procesory Intela[2]. Istnieje też jego dość prymitywna wersja na iOS5[3] i Androida 4.1[4] (też w tych systemach o wyższych numerach).

Konfiguracja pod Windows

DEP można skonfigurować bezpośrednio zmieniając opcje w pliku Boot.ini lub korzystając z zakładki System Panelu Sterowania.

Ustawienia w pliku Boot.ini wyglądają następująco: /noexecute = poziom_bezpieczeństwa, gdzie poziom_bezpieczenstwa zastępujemy jednym z wyrażeń: AlwaysOn, AlwaysOff, OptIn lub OptOut.

OPTIN: domyślne ustawienie w systemach Windows XP oraz Windows Vista. DEP obejmuje ochroną tylko programy systemu Windows.

OPTOUT: domyślne ustawienie w systemie Windows Server 2003 SP1. DEP obejmuje ochroną wszystkie procesy. W zakładce System Panelu Sterowania można jednak wprowadzić listę programów, których ochrona DEP ma nie obejmować.

ALWAYSON: Ta opcja włącza pełną ochronę DEP dla systemu. Wszystkie procesy są kontrolowane przez DEP i nie ma możliwości stworzenia wyjątków.

ALWAYSOFF: Ta opcja powoduje wyłączenie ochrony DEP niezależnie od tego, czy jest wspierana sprzętowo czy nie.

Zobacz też

Przypisy