Exportovat (0) Tisk
Rozbalit vše
Expand Minimize

Zabránění spuštění dat

K čemu slouží funkce Zabránění spuštění dat?

Zabránění spuštění dat (DEP) je sada hardwarových a softwarových technologií, které slouží k provádění dalších kontrol paměti a přispívají tak k ochraně před ohrožením škodlivými kódy. V systému Windows Server 2003 s aktualizací Service Pack 1 je funkce DEP používána na hardwarové i softwarové úrovni.

Funkce DEP na hardwarové úrovni

Funkce DEP na hardwarové úrovni označí všechna umístění v paměti v určitém procesu jako nespustitelná, pokud dané umístění explicitně neobsahuje spustitelný kód. Při útocích určité třídy dochází k vložení kódu a jeho spuštění z nespustitelných umístění v paměti. Funkce DEP zabrání těmto útokům tím, že je zachytí a vyvolá výjimku.

Pomocí hardwaru procesoru označí hardwarová funkce DEP paměť atributem, který označuje, že z dané části paměti nemá být spuštěn kód. Technologie DEP funguje na základě stránky virtuální paměti a obvykle označí stránku paměti změnou bitu v položce stránkovací tabulky (PTE).

Skutečná hardwarová implementace technologie DEP a označování stránky virtuální paměti se liší podle architektury procesoru. Procesory, které podporují technologii DEP na hardwarové úrovni, však mohou vyvolat výjimku, pokud je spuštěn kód ze stránky označené příslušnou sadou atributů.

Společnosti Advanced Micro Devices (AMD) a Intel Corporation definovaly a dodávají architektury kompatibilní se systémem Windows, které jsou kompatibilní s technologií DEP.

32bitové verze systému Windows Server 2003 s aktualizací Service Pack 1 využívají funkci procesoru ochrany stránek před spuštěním (NX) definovanou společností AMD nebo funkci Execute Disable Bit (XD) definovanou společností Intel. Procesor musí být spuštěn v režimu rozšíření fyzické adresy (PAE), aby bylo možné tyto funkce procesoru využít. 64bitové verze systému Windows používají funkci procesoru NX nebo XD u procesorů s 64bitovým rozšířením a určité hodnoty pole položky stránkovací tabulky (PTE) pro přístupová práva u procesorů řady Itanium (IPF).

Očekává se, že všechny budoucí 32bitové a 64bitové procesory budou podporovat technologii DEP na hardwarové úrovni. Společnost Microsoft spolupracuje s dodavateli procesorů a doporučuje jim přijetí a vývoj technologie DEP.

Funkce DEP na softwarové úrovni

Do systému Windows Server 2003 s aktualizací Service Pack 1 byla přidána další sada kontrol zabezpečení pomocí funkce DEP. Tyto kontroly, označované jako funkce DEP na softwarové úrovni, jsou navrženy ke zmírnění ohrožení souvisejících s mechanismy zpracování výjimek v systému Windows. Funkci DEP na softwarové úrovni lze spustit u libovolného procesoru, který může pracovat se systémem Windows Server 2003 s aktualizací Service Pack 1.Ve výchozím nastavení chrání funkce DEP na softwarové úrovni pouze omezené systémové binární soubory, bez ohledu na možnosti použití technologie DEP na hardwarové úrovni u procesoru.

Koho se tato funkce týká?

Vývojáři aplikací a ovladačů by měli mít znalosti o technologii DEP a požadavcích softwaru spuštěného na platformě, která tuto technologii podporuje. U aplikací, které generují kód JIT (just-in-time) nebo spouštějí paměť z výchozího zásobníku procesů nebo haldy, je třeba věnovat zvýšenou pozornost požadavkům technologie DEP.

Vývojářům ovladačů je doporučeno pracovat s ohledem na režim PAE u platforem podporujících technologii DEP na hardwarové úrovni. Díky změně vlastností režimu PAE u systémů se spuštěným systémem Windows Server 2003 Standard Edition s aktualizací Service Pack 1 došlo ke zlepšení kompatibility ovladačů.

Jaké nové funkce byly přidány k této funkci v aktualizaci Windows Server 2003 Service Pack 1?

Zabránění spuštění dat u 32bitových a 64bitových verzí systému Windows a aplikací

Podrobný popis

Funkce DEP na hardwarové úrovni

Pro účely zajištění konzistence vývoje aplikací a ovladačů je model ochrany paměti (včetně funkce DEP) navržen shodně pro 32bitové i 64bitové verze systému Windows.

Vývojáři aplikací by měli mít znalosti o chování funkce DEP v uživatelském režimu. Výsledkem výjimky funkce DEP v uživatelském režimu systémů Windows je kód STATUS_ACCESS_VIOLATION (0xc0000005). První parametr ExceptionInformation , který je umístěn uvnitř struktury EXCEPTION_RECORD, obsahuje typ narušení přístupu, k němuž došlo. Hodnota 8 u položky ExceptionInformation[0] označuje, že se jedná o narušení přístupu typu narušení spuštění.

Ve většině procesů nebude výjimka STATUS_ACCESS_VIOLATION zpracována a jejím výsledkem bude ukončení procesu.

Funkce DEP je použita také u ovladačů v režimu jádra. Funkci DEP pro oblasti paměti nelze v režimu jádra povolit nebo zakázat. Ve 32bitových verzích systému Windows je funkce DEP ve výchozím nastavení použita u zásobníku. Toto nastavení je odlišné od funkce DEP v režimu jádra u 64bitových verzí systému Windows, kde je funkce DEP použita u zásobníku, stránkovaného fondu a fondu relací.

Ovladače zařízení nemohou spustit kód ze zásobníku, pokud je povolena funkce DEP. Výsledkem narušení přístupu funkce DEP v režimu jádra bude chyba 0xFC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY.

Funkce DEP na softwarové úrovni

Funkce DEP na softwarové úrovni provádí další kontroly mechanismů zpracování výjimek v systému Windows. Jestliže vytvořené soubory bitových kopií programu zahrnují bezpečné strukturované zpracování výjimek (SafeSEH), zajistí funkce DEP na softwarové úrovni před odesláním výjimky registraci popisovače výjimek v tabulce funkcí umístěné v souboru bitové kopie.

Pokud vytvořené soubory bitových kopií programu nezahrnují funkci SafeSEH, zajistí funkce DEP na softwarové úrovni před odesláním výjimky umístění popisovače výjimek do oblasti paměti označené jako spustitelné.

Ukončení aplikace funkcí DEP

U většiny aplikací nejsou s funkcí DEP problémy. Pokud však v aplikaci nastanou potíže s funkcí DEP, zobrazí se zpráva o zabránění spuštění dat, která uživatele na potíže upozorní.

Zpráva o zabránění spuštění dat označuje, že v aplikaci došlo k potížím souvisejícím s funkcí DEP, a poskytuje uživateli možnost získání dalších informací o funkci DEP a volitelného zakázání funkce DEP u aplikace, která byla ukončena.

ImportantDůležité informace
Jestliže dojde v aplikaci k potížím s funkcí DEP, doporučuje společnost Microsoft požádat dodavatele aplikace o aktualizaci. Před zakázáním funkce DEP u aplikace je třeba důkladně zvážit důsledky tohoto kroku týkající se zabezpečení. Možnost změny nastavení funkce DEP pro ukončenou aplikaci pomocí tlačítka Změnit nastavení v okně zprávy Zabránění spuštění dat závisí na konfiguraci funkce DEP v celém systému. Změny ochrany pomocí funkce DEP u aplikace je možné provést pouze v případě, že je systémová konfigurace funkce DEP nastavena na režim OptOut.

Zpráva o zabránění spuštění dat se zobrazí bezprostředně před oknem Hlášení o chybě systému Windows, které poskytuje možnost odeslat hlášení o potížích s funkcí DEP společnosti Microsoft.

V systému Windows Server 2003 s aktualizací Service Pack 1 se zpráva o zabránění spuštění dat zobrazí při příštím interaktivním přihlášení správce k systému. Toto chování je v systému Windows Server 2003 s aktualizací Service Pack 1 jiné než v systému Windows XP s aktualizací Service Pack 2, protože nástroj Hlášení o chybě systému Windows je ve výchozím nastavení konfigurován v režimu fronty. Režim fronty způsobí zařazení zpráv o chybách do fronty do doby příštího interaktivního přihlášení správce k systému.

Chcete-li získat další informace o nástroji Hlášení o chybě systému Windows nebo konfigurovat nástroj Hlášení o chybě systému Windows tak, aby byly zprávy týkající se funkce DEP a hlášení o chybách systému Windows zobrazeny ihned po výskytu potíží s aplikací, přečtěte si článek Using Windows Server 2003 in a Managed Environment: Windows Error Reporting (Použití systému Windows Server 2003 ve spravovaném prostředí: hlášení o chybách systému Windows) na webu společnosti Microsoft na adrese http://go.microsoft.com/fwlink/?LinkId=38443.

Pokud je aplikace ukončena funkcí DEP, generuje nástroj Hlášení o chybě systému Windows identifikaci chyby. Identifikaci chyby je možné zobrazit klepnutím na příslušný odkaz v dialogovém okně Hlášení o chybě systému Windows. Identifikace chyby při potížích s funkcí DEP obsahuje následující atributy:

 

Parametr Ukázková hodnota Popis

EventType

BEX

Označuje přetečení paměti (/GS) nebo výjimku DEP. (Hodnota BEX64 označuje přetečení paměti (/GS) nebo výjimku DEP u 64bitových verzí systému Windows.)

P1

DEPDemo.exe

Název spustitelného souboru aplikace, ve které došlo k potížím

P2

5.1.2600.2180

Verze spustitelného souboru aplikace, ve které došlo k potížím

P3

416725f2

Razítko chybující aplikace

P4

DEPDemo.exe

Název chybujícího modulu

P5

5.1.2600.2180

Verze chybujícího modulu

P6

416725f2

Razítko chybujícího modulu

P7

00002060

Posun chyby (adresa instrukce, pokud není modul zaveden na chybující adrese)

P8

C0000005

Označuje výjimku STATUS_ACCESS_VIOLATION. (Pokud má tento parametr hodnotu c0000409, jsou potíže spojeny s chybou přepínače /GS.)

P9

00000008

Označuje výjimku STATUS_ACCESS_VIOLATION. (Hodnota 00000002 označuje výjimku STATUS_ACCESS_VIOLATION u 64bitových verzí systému Windows pro architekturu Intel Itanium.)

Zpráva o zabránění spuštění dat se po vzniku potíží s funkcí DEP u některých aplikací nemusí zobrazit, bez ohledu na konfiguraci nástroje Hlášení o chybě systému Windows. Tyto aplikace zpracují výjimku STATUS_ACCESS_VIOLATION vyvolanou funkcí DEP nebo nainstalují filtr neošetřených výjimek (UEF), který přepíše výchozí filtr UEF systému Win32. Výchozí filtr UEF systému Win32 zajišťuje spuštění zpráv Zabránění spuštění dat i Hlášení o chybě systému Windows. Zpráva o zabránění spuštění dat se nemusí zobrazit také v případě, že byla v aplikaci volána funkce SetErrorMode() s příznakem SEM_NOGPFAULTERRORBOX.

Proč je tato změna důležitá? Jaká nebezpečí pomáhá zmírňovat?

Hlavním přínosem funkce DEP je skutečnost, že přispívá k zabránění spuštění kódu z datových stránek, například výchozí haldy, různých zásobníků a fondů paměti. Při běžných činnostech systému není obvykle spouštěn kód z výchozí haldy a zásobníku. Funkce DEP na hardwarové úrovni rozpozná kód, který je spuštěn z uvedených umístění, a pokud dojde ke spuštění, vyvolá výjimku. Není-li výjimka zpracována, bude proces ukončen. Výsledkem spuštění kódu z chráněné paměti v režimu jádra je chyba.

Přestože ukončení procesu nebo způsobení selhání systému s chybou není zřejmě ideálním výsledkem, přispívá tento způsob k zabránění spuštění škodlivého kódu. Zabránění spuštění škodlivého kódu v systému může zabránit poškození systému nebo rozšíření nebezpečného kódu, jehož škodlivé účinky mohou být závažnější než účinky ukončení procesu nebo systémové chyby.

Funkce DEP může zabránit zneužití, při němž je pomocí viru nebo jiného útoku vložen do procesu spustitelný kód a potom je proveden pokus o spuštění vloženého kódu. V systému s funkcí DEP by spuštění vloženého kódu mělo vyvolat výjimku. Funkce DEP na softwarové úrovni může zmírnit riziko zneužití mechanismů zpracování výjimek v systému Windows.

Vedlejší přínos funkce DEP souvisí s kvalitním návrhem a doporučenými postupy pro vývojáře aplikací a ovladačů. Funkce DEP přinutí vývojáře, aby nepoužívali spuštění kódu z datových stránek, pokud dané stránky nejsou explicitně označeny jako spustitelné.

Co funguje jinak?

Kompatibilita aplikací

Je očekáváno, že některé vlastnosti aplikací nebudou kompatibilní s funkcí DEP. U aplikací, které provádějí dynamické generování kódu (například generování kódu JIT (just-in-time)) a které neoznačí generovaný kód explicitně oprávněním ke spouštění, mohou mít potíže s kompatibilitou funkce DEP. U vytvořených aplikací, které nezahrnují funkci SafeSEH, musí být popisovače výjimek umístěny ve spustitelných oblastech paměti.

Aplikace, které se pokusí narušit funkci DEP, obdrží výjimku s kódem stavu STATUS_ACCESS_VIOLATION (0xC0000005). Jestliže aplikace požaduje spustitelnou paměť, musí být explicitně nastaven daný atribut u příslušné paměti pomocí zadání položky PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE nebo PAGE_EXECUTE_WRITECOPY do argumentu ochrany paměti u funkcí přidělení paměti Virtual* . Haldy přidělené pomocí funkcí malloc() a HeapAlloc() nejsou spustitelné.

Kompatibilita ovladačů

Problémy týkající se kompatibility ovladačů s funkcí DEP jsou většinou problémy s kompatibilitou vyvolané režimem PAE.

notePoznámka
Režim PAE je vyžadován pouze v systémech používajících 32bitové verze systému Windows s procesory, které podporují funkci DEP na hardwarové úrovni.

Vlastní technologie DEP může způsobit potíže s kompatibilitou u ovladačů, které provádějí generování kódu nebo používají jiné techniky generování spustitelného kódu v reálném čase. Přestože by mnoho ovladačů s takovými vlastnostmi mělo být opraveno (protože u ovladačů zavedených do 64bitových verzí systému Windows je funkce DEP vždy zapnuta), neexistuje žádná záruka, že byly všechny ovladače aktualizovány. Tyto techniky však používá málo ovladačů a neočekává se, že samotná funkce DEP způsobí velké množství potíží s kompatibilitou ovladačů.

Hlavní problematiku kompatibility ovladačů představuje spuštění režimu rozšíření fyzické adresy (PAE) v 32bitových systémech. Režim PAE umožňuje procesorům adresovat více než 4 gigabajty (GB) paměti. Základní rozdíl mezi stránkováním paměti v režimu PAE a stránkováním paměti mimo režim PAE spočívá v další úrovni stránkování, která je požadována v režimu PAE (tři úrovně místo dvou).

Zavedení některých ovladačů se při povolení režimu PAE nemusí zdařit, protože dané zařízení nemusí provést 64bitové adresování nebo ovladače mohou předpokládat, že režim PAE vyžaduje více než 4 GB paměti RAM (random access memory). Takové ovladače očekávají, že v režimu PAE obdrží vždy 64bitové adresy a že ovladače nebo příslušná zařízení nejsou schopny adresu interpretovat.

Jiné ovladače mohou být v režimu PAE zavedeny, způsobují však nestabilitu systému přímou změnou položek stránkovací tabulky (PTE) systému. Tyto ovladače očekávají 32bitové položky PTE, v režimu PAE však obdrží pouze 64bitové položky PTE.

Největší část problematiky kompatibility ovladačů v režimu PAE zahrnuje přenosy v režimu přímého přístupu do paměti (DMA) a přidělení registru pro mapování. Řada zařízení, která podporují režim DMA (obvykle 32bitové adaptéry), nemůže provádět 64bitové fyzické adresování. Při spuštění v 32bitovém režimu může zařízení adresovat celý fyzický adresní prostor. V režimu PAE je možné, že data budou umístěna na fyzické adrese větší než 4 GB. Je-li třeba, aby přístroje s těmito omezeními fungovaly v tomto scénáři, poskytuje systém Windows 2000 Server a novější operační systémy u transakce DMA dvojnásobné ukládání do vyrovnávací paměti pomocí 32bitové adresy, která je označena registrem pro mapování. Zařízení může provést transakci DMA na 32bitovou adresu a jádro zkopíruje paměť na 64bitovou adresu, která je poskytnuta ovladači.

Pokud je ve spuštěném systému režim PAE zakázán, nepožadují ovladače 32bitových zařízení zálohování registru pro mapování fyzickou pamětí. To znamená, že dvojnásobné ukládání do vyrovnávací paměti není nutné, protože všechna zařízení a ovladače jsou obsaženy ve 32bitovém adresním prostoru. Na základě testování ovladačů pro 32bitová zařízení v počítačích používajících 64bitové procesory lze předpokládat, že většina ovladačů testovaných klientem, které jsou schopny pracovat v režimu DMA, očekává neomezené registry pro mapování.

Pro účely omezení problémů s kompatibilitou zahrnuje systém Windows Server 2003, Standard Edition s aktualizací Service Pack 1 změny vrstvy HAL (hardware abstraction layer), které simulují chování vrstvy HAL ve 32bitovém režimu DMA. Pokud je systém spuštěn v režimu PAE, přidělí změněná vrstva HAL neomezené registry pro mapování. Správce paměti jádra také ignoruje jakoukoli fyzickou adresu větší než 4 GB. Systémová paměť RAM za hranicí 4 GB nebude adresovatelná systémem Windows a nebude v systému použitelná. Po omezení adresního prostoru na 4 GB nebude pro zařízení s funkcí ovládání sběrnice v 32bitovém režimu DMA dostupná transakce s adresou nad hranicí 4 GB. Vzhledem ke skutečnosti, že tyto změny odstraňují potřebu dvojnásobného ukládání transakcí do vyrovnávací paměti, je možné u některých ovladačů předejít určité třídě chyb souvisejících se správnou implementací podpory dvojnásobného ukládání do vyrovnávací paměti.

Všimněte si, že chování v režimu PAE se u systémů Windows Server 2003, Enterprise Edition s aktualizací Service Pack 1 a Windows Server 2003, Datacenter Edition s aktualizací Service Pack 1 neliší od verzí bez aktualizace Service Pack.

Díky těmto změnám vrstvy HAL a správce paměti je očekáván minimální účinek na kompatibilitu ovladačů zařízení u systémů používajících systém Windows Server 2003 s aktualizací Service Pack 1 s povolenou funkcí DEP.

Kompatibilita systému

Poslední problematická oblast kompatibility funkce DEP se vztahuje na systémy se zapnutým režimem PAE, a to i v případě, že nemusí být navrženy k použití více než 4 GB fyzické paměti RAM. Během interního testování společností Microsoft bylo zjištěno, že se nezdaří spuštění některých systémů s procesory, které podporují funkci DEP na hardwarové úrovni, nebo u nich dochází k jiným problémům se stabilitou, pokud je procesor spuštěn v režimu PAE.

Režim PAE je požadavkem pro využívání funkce procesoru NX. Návrháři systémů a vývojáři firmwaru by proto měli pamatovat na to, že systém může být spuštěn v režimu PAE, přestože jeho sada čipů a firmware nemusely být navrženy k podpoře více než 4 GB fyzické paměti.

Zvláštní pozornost je třeba věnovat systémovému firmwaru, který na základě interpretace položek stránkovací tabulky určuje instrukce prováděné operačním systémem. Pokud je procesor spuštěn v režimu PAE, jsou položky stránkovací tabulky rozšířeny na délku 64 bitů. Návrhářům systémů a vývojářům firmwaru je doporučeno obrátit se na dodavatele procesorů a sad čipů a požádat je o další informace týkající se způsobu bezpečného určení instrukcí prováděných operačním systémem.

Návrháři systémů pracující s procesory AMD mohou získat další informace v dokumentu BIOS and Kernel Developer’s Guide for AMD Athlon 64 and AMD Opteron Processors (Příručka vývojáře systému BIOS a jádra pro procesory AMD Athlon 64 a AMD Opteron). Chcete-li získat tento dokument, přejděte na web AMD Athlon 64 na adrese http://go.microsoft.com/fwlink/?LinkId=28165 a klepněte na odkaz BIOS and Kernel Developer’s Guide for AMD Athlon 64 and AMD Opteron Processors.

Společnost Intel nedává veřejně k dispozici podrobné informace o režimu SMM (System Management Mode). Návrhářům systémů pracujícím s procesory Intel doporučujeme, aby o další informace požádali přímo společnost Intel.

Další informace týkající se podpory režimu PAE v systému Windows získáte v článku Physical Address Extension - PAE Memory and Windows (Rozšíření fyzické adresy – paměť PAE a systém Windows) na webu společnosti Microsoft na adrese http://go.microsoft.com/fwlink/?LinkId=45912.

Jak tyto problémy vyřešit?

Aplikace, které požadují spustitelné oblasti paměti, musí při přidělování paměti používat atributy PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE nebo PAGE_EXECUTE_WRITECOPY. Spouštění aplikací nemůže být vedle toho prováděno z výchozí haldy procesů nebo zásobníku. Kompatibilitu většiny aplikací, které provádějí akce nekompatibilní s funkcí DEP, bude nutné zajistit pomocí jejich aktualizace. Vytvořené aplikace musí také zahrnovat funkci SafeSEH nebo zajistit umístění popisovačů výjimek do paměti, která je explicitně označena jako spustitelná.

Aplikace může přidělit spustitelnou paměť s příslušnými možnostmi ochrany paměti pomocí funkce rozhraní API (application programming interface) VirtualAlloc(). Měla by být použita minimálně možnost ochrany paměti PAGE_EXECUTE. Je doporučeno, aby po generování spustitelného kódu nastavila aplikace ochranu paměti, která znemožní přístup pro zápis do přidělené paměti. Aplikace mohou zakázat přístup pro zápis do přidělené paměti pomocí funkce rozhraní API VirtualProtect(). Zakázání přístupu pro zápis zajišťuje maximální ochranu spustitelných oblastí adresního prostoru procesů.

Jestliže se škodlivý proces pokusí vložit kód do spustitelné oblasti, bude výsledkem přístupu výjimka zápisu STATUS_ACCESS_VIOLATION. Aplikace by se měla pokusit používat nejmenší možné spustitelné oblasti adresního prostoru. Díky tomu se zmenší rozsah možného útoku, při kterém by mohla být do adresního prostoru procesů vložena a poté spuštěna spustitelná paměť.

Vyspělejší aplikace mohou také řídit rozložení virtuální paměti a vytvářet spustitelné oblasti. Tyto aplikace by se měly pokusit umístit spustitelné oblasti do nižší úrovně paměťového prostoru než nespustitelné oblasti. Účelem umístění spustitelných oblastí pod nespustitelné oblasti je ochrana před přetečením vyrovnávací paměti do spustitelné paměti.

Malý počet spustitelných souborů a knihoven může obsahovat spustitelný kód v datové části souboru bitové kopie. V některých případech mohou aplikace do datových částí umístit malé segmenty kódu (běžně označované termínem thunks). Funkce DEP však označí části souboru bitové kopie zavedeného v paměti jako nespustitelné, pokud není u dané části použit atribut pro spouštění.

Spustitelný kód v datových částech je proto třeba přesunout do kódové části, nebo by datová část obsahující spustitelný kód měla být explicitně označena jako spustitelná. Atribut pro spouštění IMAGE_SCN_MEM_EXECUTE (0x20000000) by měl být přidán do pole Characteristics v odpovídajícím záhlaví u částí, které obsahují spustitelný kód.

Propojovací program společnosti Microsoft, který je distribuován s produkty Microsoft Visual Studio, může přidat atribut pro spouštění k určité části pomocí možnosti propojovacího programu /SECTION. Možnost propojovacího programu /SECTION má následující formát:

/SECTION: název ,[E][R][W][S][D][K][L][P][X][,ALIGN=#]

Hodnota E označuje atribut pro spouštění (0x20000000). Další informace o možnosti /SECTION a dalších možnostech propojovacího programu společnosti Microsoft jsou k dispozici na webu MSDN na adrese http://go.microsoft.com/fwlink/?LinkId=28167.

Atributy částí stávajícího souboru bitové kopie je možné změnit také pomocí nástroje Editbin.exe (Editor binárních souborů ve formátu COFF) společnosti Microsoft. Nástroj Editbin obsahuje možnost /SECTION s následujícím formátem:

/SECTION: název [= nový_název ][,[[!]{CDEIKOMPRSUW}][A{1248PTSX}]]

Hodnota C označuje atribut kódu a hodnota E označuje atribut pro spouštění. Další informace o nástroji Editbin a možnosti /SECTION získáte na webu MSDN na adrese http://go.microsoft.com/fwlink/?LinkId=28168.

Společnost Microsoft poskytla aktualizace Service Pack pro rozhraní Microsoft .NET Framework verze 1.0 a verze1.1, které umožňují využít výhody funkce DEP v systému Windows Server 2003 s aktualizací Service Pack 1. Aplikace, které používají rozhraní Microsoft .NET Framework, budou dále fungovat normálně, nebudou však moci využívat výhody funkce DEP (je-li povolena), pokud není nainstalována příslušná aktualizace Service Pack pro rozhraní Microsoft .NET Framework.

Společnost Microsoft doporučuje vývojářům aplikací, kteří dále distribuují rozhraní Microsoft .NET Framework, aby provedli aktualizaci na rozhraní Microsoft .NET Framework verze 1.0 s aktualizací Service Pack 3 nebo verze 1.1 s aktualizací Service Pack 1, u nichž je možné používat funkci DEP.

Jaké nastavení bylo přidáno nebo se změnilo v aktualizaci Windows Server 2003 Service Pack 1?

Konfigurace funkce DEP v celém systému

Hlavní odlišnost chování funkce DEP v systému Windows Server 2003 Service Pack 1 v porovnání se systémem Windows XP Service Pack 2 (SP2) spočívá v tom, že výchozí konfigurace serverového operačního systému je určena k ochraně všech aplikací a služeb. Ve výchozím nastavení systému Windows XP SP2 byla funkce DEP zapnuta pouze u základních programů a služeb operačního systému Windows.

Konfigurace funkce DEP pro systém je řízena pomocí přepínačů souboru Boot.ini. Byly provedeny také změny panelu Systém v Ovládacích panelech, které koncovým uživatelům umožní snadnou konfiguraci nastavení funkce DEP, pokud jsou k systému přihlášeni jako správci.

Systémové nastavení konfigurace funkce DEP se vztahuje pouze na 32bitové aplikace a procesy spuštěné v 32bitových nebo 64bitových verzích systému Windows. Pokud je v 64bitových verzích systému Windows k dispozici funkce DEP na hardwarové úrovni, je vždy použita u 64bitových procesů a prostorů paměti jádra a pomocí žádného nastavení konfigurace systému ji nelze zakázat.

Systém Windows podporuje čtyři konfigurace celého systému pro funkci DEP na hardwarové i softwarové úrovni.

Konfigurace funkce DEP

Konfigurace Popis

OptIn

(výchozí u systémů Windows XP SP2 a Windows XP 64-bit edition)

V systémech s procesory podporujícími funkci DEP na hardwarové úrovni je funkce DEP povolena ve výchozím nastavení pro omezená binární data systému a aplikace, které jsou přihlášeny. Ve výchozím nastavení s touto možností jsou funkcí DEP pokryta pouze binární data systému Windows.

OptOut

(výchozí u systému Windows Server 2003 Service Pack 1)

Ve výchozím nastavení je funkce DEP povolena pro všechny procesy. Uživatelé mohou pomocí panelu Systém v Ovládacích panelech ručně vytvořit seznam určitých aplikací, které funkci DEP nepoužívají. Odborníci v oblasti IT mohou k vyjmutí jedné nebo více aplikací z ochrany funkce DEP použít sadu nástrojů kompatibility aplikací. Opravy kompatibility systému („záplaty“) na funkci DEP mají vliv.

AlwaysOn

Tato konfigurace zajišťuje úplné pokrytí systému funkcí DEP. Všechny procesy jsou vždy spouštěny s funkcí DEP. Seznam výjimek, konkrétních aplikací nepodléhajících ochraně pomocí funkce DEP, není k dispozici. Opravy kompatibility systému („záplaty“) na funkci DEP nemají vliv. Aplikace, které byly odhlášeny pomocí sady nástrojů kompatibility aplikací, jsou stále spouštěny pomocí funkce DEP.

AlwaysOff

Tato konfigurace nezajišťuje pokrytí žádné části systému funkcí DEP, i přes hardwarovou podporu funkce DEP. Procesor však u 32bitových verzí systému Windows nebude fungovat v režimu PAE, pokud nebude ve spouštěcí položce nahrazen parametr /noexecute=alwaysoff parametrem /execute.

Funkce DEP na hardwarové i softwarové úrovni je konfigurována stejným způsobem. Pokud je u zásady DEP v celém systému nastaven režim přihlášení, budou funkcí DEP na hardwarové i softwarové úrovni chráněny stejné základní binární soubory a aplikace systému Windows. Není-li systém vybaven technologií DEP na hardwarové úrovni, budou základní binární soubory a aplikace systému Windows chráněny pouze funkcí DEP na softwarové úrovni.

Podobně pokud je u zásady DEP v celém systému nastaven režim odhlášení, budou aplikace, které byly vyjmuty z ochrany funkcí DEP, vyjmuty z ochrany funkcí DEP na hardwarové i softwarové úrovni.

Čtyři konfigurace funkce DEP v celém systému jsou řízeny pomocí přepínačů souboru Boot.ini. Nastavení souboru Boot.ini:

/noexecute=policy_level

kde úroveň_zásady je definována jako AlwaysOn, AlwaysOff, OptIn nebo OptOut.

Žádné stávající nastavení přepínače /noexecute v souboru Boot.ini se po instalaci aktualizace Windows Server 2003 Service Pack 1 ani přesunutí bitové kopie operačního systému Windows mezi počítači s podporou a bez podpory funkce DEP na hardwarové úrovni nezmění.

Během instalace aktualizace Windows Server 2003 Service Pack 1 je ve výchozím nastavení povolena úroveň zásady OptOut, pokud není při bezobslužné instalaci zadána jiná úroveň zásady. Pokud soubor Boot.ini pro verzi systému Windows, která podporuje funkci DEP, neobsahuje nastavení /noexecute=úroveň_zásady, bude chování stejné, jako by byla zahrnuta možnost /noexecute=OptIn.

Koncoví uživatelé, kteří jsou přihlášeni jako správci, mohou funkci DEP ručně konfigurovat v rozsahu zásad OptIn a OptOut pomocí karty Zabránění spuštění dat v dialogovém okně Možnosti výkonu. Následující postup popisuje ruční konfiguraci funkce DEP v počítači.

Konfigurace nastavení funkce DEP
  1. Klepněte na tlačítko Start, potom na příkaz Ovládací panely a potom poklepejte na panel Systém.

  2. Klepněte na kartu Upřesnit. Potom klepněte ve skupinovém rámečku Výkon na tlačítko Nastavení.

  3. Klepněte na kartu Zabránění spuštění dat.

  4. Klepnutím na přepínač Zapnout omezení spouštění dat pouze pro důležité systémové programy a služby vyberte zásadu OptIn.

  5. Klepnutím na přepínač Zapnout omezení spouštění dat pro všechny programy a služby kromě: vyberte zásadu OptOut.

  6. Jestliže jste vybrali zásadu OptOut, klepněte na tlačítko Přidat a přidejte aplikace, u kterých nechcete funkci DEP použít.

Odborníci v oblasti IT mohou konfiguraci funkce DEP v celém systému řídit různými způsoby. Soubor Boot.ini je možné upravit přímo pomocí skriptovacích mechanismů nebo nástroje Bootcfg.exe, který je součástí aktualizace Windows Server 2003 Service Pack 1.

U bezobslužných instalací systému Windows Server 2003 s aktualizací Service Pack 1 můžete pomocí souboru Unattend.txt předem zadat specifickou konfiguraci funkce DEP. K zadání konfigurace funkce DEP v celém systému je možné použít položku OSLoadOptionsVar v části [Data] souboru Unattend.txt.

Konfigurace funkce DEP u aplikací

Pro účely kompatibility aplikací v případě, že je u funkce DEP nastavena úroveň zásady OptOut, je možné funkci DEP výběrově zakázat u jednotlivých 32bitových aplikací. U 64bitových aplikací je však funkce DEP vždy povolena.

Koncoví uživatelé mohou k výběrovému zakázání funkce DEP u aplikace použít kartu Zabránění spuštění dat v okně Vlastnosti systému.

Pro odborníky v oblasti IT je do aktualizace Windows Server 2003 Service Pack 1 zahrnuta nová oprava kompatibility aplikací s názvem DisableNX. Oprava kompatibility DisableNX zakáže funkci DEP u programu, u kterého je použita.

Opravu kompatibility DisableNX je možné u aplikace použít pomocí sady nástrojů kompatibility aplikací. Další informace o kompatibilitě aplikací v systému Windows naleznete v tématu Windows Application Compatibility (Kompatibilita aplikací v systému Windows) na webu společnosti Microsoft na adrese http://go.microsoft.com/fwlink/?LinkId=23302.

Byl tento obsah pro vás užitečný?
(Zbývající počet znaků: 1500)
Děkujeme za váš názor.

Obsah vytvořený komunitou

Přidat
Zobrazit:
© 2014 Microsoft