Định cấu hình hoặc tắt DEP (Ngăn chặn thực thi dữ liệu) trong Windows

Ngăn chặn thực thi dữ liệu(Data Execution Prevention) ( DEP ) là một trong những thứ bị 'làm mờ' đó. Đó là một phước lành hầu hết thời gian khi nó làm công việc của mình và không can thiệp, nhưng bị nguyền rủa khi nó can thiệp. 

Hãy xem xét DEP và cách cấu hình nó, hoặc tắt DEP , tùy thuộc vào nhu cầu của bạn.

DEP là gì và nó có tác dụng gì?(What Is DEP & What Does It Do?)

Theo Microsoft, DEP là:

Một tập hợp các công nghệ phần cứng và phần mềm thực hiện kiểm tra bổ sung trên bộ nhớ để giúp ngăn chặn mã độc hại chạy trên hệ thống. (a set of hardware and software technologies that perform additional checks on memory to help prevent malicious code from running on a system.)”  

Dell đơn giản hóa nó một chút và cho chúng tôi biết rằng DEP

“… Có thể giúp bảo vệ máy tính của bạn bằng cách giám sát các chương trình của bạn để đảm bảo rằng chúng sử dụng bộ nhớ hệ thống một cách an toàn.”(“…can help protect your computer by monitoring your programs to make sure that they use system memory safely.”)

Điều đó nghĩa là gì? Có một số vùng nhất định trong bộ nhớ của máy tính không dành cho mã chạy trong chúng, nhưng đôi khi mã vẫn chạy ở đó. 

Thông thường, mã sẽ chạy ở đó là mã độc. DEP sẽ giám sát những khu vực đó và nếu thấy điều gì đó đang diễn ra trong những khu vực đó, DEP sẽ đóng cửa. Nếu bạn muốn tìm hiểu sâu hơn về cách hoạt động của nó, hãy đọc mô tả chi tiết của Microsoft về Ngăn chặn thực thi dữ liệu( Microsoft’s detailed description of Data Execution Prevention) .

Vậy tại sao DEP lại gây ra vấn đề?(So Why Does DEP Cause Problems?)

Ngay cả ngày nay, máy tính cũng không hoạt động. Họ không thể suy luận, họ chỉ có thể sử dụng những gì cơ bản nhất của logic. Thêm vào đó, logic đó được đưa vào chúng bởi con người nên máy tính cũng mắc lỗi của chúng ta vào chúng. 

Đôi khi, các chương trình tốt sẽ đi lạc vào các khu vực mà DEP giám sát và hoạt động trong các không gian đó. 

Khi điều này xảy ra, DEP đôi khi sẽ tắt toàn bộ chương trình và cho bạn biết qua thông báo lỗi(error message) . Nhưng đôi khi DEP sẽ chỉ khiến chương trình chạy rất kém và sẽ không có bất cứ điều gì rõ ràng để cho bạn biết lý do tại sao. 

Chương trình nào gặp vấn đề với DEP?(What Programs Have Problems With DEP?)

Các chương trình xung đột với DEP thường là các chương trình cũ hơn hoặc được xây dựng trên cơ sở mã cũ. Rất nhiều phần mềm Hoạch định Nguồn lực Doanh nghiệp(Enterprise Resource Planning) ( ERP ) được xây dựng trên cơ sở mã từ những năm 1970. Khi đó không có DEP , vì vậy chương trình sẽ đi vào các khu vực mà DEP tuần tra.

Các chương trình 64-bit được tạo ra sau khi DEP được thiết lập tốt, vì vậy chúng được phát triển để tuân thủ. Hầu hết các chương trình xung đột với DEP sẽ là các chương trình 32-bit(will be 32-bit programs)

Các chương trình không phải của Microsoft tương tác nhiều với Dịch vụ (Services)Windows hoặc chạy (Windows) Dịch vụ (Services)Windows của riêng họ có thể bị DEP chặn . Nếu đúng như vậy, nhà cung cấp sẽ khuyên bạn nên tắt hoàn toàn DEP .

Đối với người dùng gia đình(home user) , các trò chơi cũ 32-bit và một số trình giả lập để chơi các trò chơi cũ hơn( emulators for playing even older games) , có nhiều khả năng xung đột với DEP nhất .

Trình điều khiển thiết bị cũ(Old device) hoặc trình điều khiển được tải xuống từ các nguồn không chính thức cũng có thể gây ra lỗi DEP . Chỉ tải xuống trình điều khiển từ nhà sản xuất phần cứng hoặc Microsoft(hardware manufacturer or Microsoft)cập nhật trình điều khiển của bạn thường xuyên( update your drivers regularly) .

Làm cách nào để biết liệu DEP có phải là vấn đề không?(How Do I Know If DEP Is The Problem?)

Bạn có thể phải vào Trình xem sự kiện và sàng lọc các nhật ký cho ID sự kiện 1000(Event ID 1000) . Nếu bạn tìm thấy một, nó có thể trông như thế này:

Event ID : 1000 - DEP Error : Generic host for Win32 servicesGeneric Host Process for Win32 Services - DEP : Application Error
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000

 Bạn có thể thấy các lỗi khác liên quan đến những thứ như:

  • 0xFC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY - xảy ra khi trình điều khiển thiết bị(device driver) đang cố gắng chạy trong bộ nhớ. Nó có thể là một trình điều khiển xấu hoặc lỗi thời. Bạn sẽ muốn cập nhật trình điều khiển của mình. 
  • STATUS_ACCESS_VIOLATION (0xc0000005) - xảy ra khi các chương trình đang cố gắng chạy trong không gian bộ nhớ(memory space) được bảo vệ DEP .

Cách định cấu hình hoặc tắt DEP(How To Configure Or Turn Off DEP)

Trong Windows 10 , DEP được mặc định thành cài đặt Chỉ bật DEP cho các chương trình và dịch vụ Windows cần thiết(Turn on DEP for essential Windows programs and services only) . Hầu hết thời gian, điều này là đủ. Điều đó có nghĩa là phần lớn các chương trình của bạn sẽ bị DEP bỏ qua . 

Nhưng nếu DEP giúp bảo vệ máy tính và nó không ảnh hưởng đến hiệu suất(performance hit) , bạn có thể muốn chọn Bật DEP cho tất cả các chương trình ngoại trừ những chương trình mà tôi chọn(Turn on DEP for all programs except those that I select) . Sau đó, nếu bạn tìm thấy một chương trình có vấn đề với DEP , chúng tôi có thể thêm chương trình đó làm ngoại lệ. Hãy xem làm thế nào để làm điều đó.

  • Mở Bảng điều khiển(Control Panel ) rồi mở Hệ thống(System) .

  • Ở bên trái của cửa sổ Hệ thống(System ) , nhấp vào Cài đặt Hệ thống Nâng cao(Advanced System Settings) .

  • Cửa sổ Thuộc tính Hệ thống(System Properties ) sẽ mở ra và đã được đặt thành tab Nâng cao . (Advanced)Trong khu vực Hiệu suất(Performance ) , nhấp vào Cài đặt(Settings) .

  • Trong cửa sổ Tùy chọn Hiệu suất(Performance Options ) , bấm vào tab Ngăn chặn Thực thi Dữ liệu .(Data Execution Prevention )

  • Với Bật DEP cho tất cả các chương trình ngoại trừ những chương trình mà tôi đã chọn(Turn on DEP for all programs except those that I select) đã chọn, hãy nhấp vào nút Thêm(Add ) ở gần cuối cửa sổ.

  • Điều hướng đến tệp thực thi cho chương trình mà chúng tôi muốn thêm làm ngoại lệ. Rất có thể nó sẽ nằm trong C:/Program Files (x86)
  • Trong ví dụ này, chúng tôi đang thêm MediaMonkey , một tiện ích máy nghe nhạc(music player utility) cũ . Nhấp(Click) vào tệp .exe khi chúng tôi tìm thấy nó và nhấp vào Mở(Open) .

  • Trong Tùy chọn Hiệu suất, nhấp vào Áp dụng(Apply) . Bây giờ, MediaMonkey sẽ chạy bên ngoài bảo vệ DEP(DEP protection) trong khi tất cả những người khác sẽ chạy trong bảo vệ DEP(DEP protection) .

Tắt hoàn toàn DEP(Turn DEP Completely Off)

Nếu bạn muốn tắt hoàn toàn DEP , chúng tôi khuyên bạn chỉ nên làm điều đó như một phần của việc khắc phục sự cố. DEP ở đó để bảo vệ bạn. 

Vì đó là điều không được khuyên dùng, nên không có cách nào tốt để thực hiện việc đó. Hãy xem cách chúng ta có thể tắt DEP .

  • Mở cửa sổ Lệnh với tư cách (Command )Quản trị(Administrator) viên . Thực hiện việc này bằng cách nhập cmd vào trường tìm kiếm chương trình(program search field) gần menu Bắt đầu(Start) .

  • Nhập lệnh bcdedit.exe /set {current} nx AlwaysOff và nhấn enter.

bcdedit.exe là một tiện ích Windows để chỉnh sửa b oot c onfiguration d ata, do đó bdcedit .

/set yêu cầu bcedit đặt một mục nhập giá trị tùy chọn(option value entry) trong cấu hình khởi động(boot configuration) .

{current} ra lệnh cho becedit hoạt động với cấu hình khởi động(boot configuration) đang được sử dụng ngay bây giờ.

nx là viết tắt của n o e x ecute và là tên cài đặt(setting name) cho DEP trong cấu hình khởi động(boot configuration) .

AlwaysOff tự giải thích.

  • Khởi động lại máy tính.
  • DEP bây giờ sẽ bị tắt hoàn toàn và vĩnh viễn.

Bật DEP cho mọi thứ(Turn DEP On For Everything)

Để bật DEP hoàn toàn cho mọi thứ, quy trình và lệnh(process and command) giống như trên.

  • Mở cửa sổ Lệnh với tư cách (Command )Quản trị(Administrator) viên, làm theo hướng dẫn trong quy trình ở trên.
  • Nhập lệnh bcdedit.exe /set {current} nx AlwaysOn

  • Khởi động lại máy tính.
  • DEP sẽ được bật và tất cả các chương trình được giám sát.

Sau khi bật DEP thành luôn bật hoặc luôn tắt, nó KHÔNG(NOT) THỂ thay đổi được qua tab Ngăn chặn Thực thi Dữ liệu(Data Execution Prevention tab) trong cài đặt hệ thống. 

Hãy xem cách thay đổi nó để có thể sử dụng lại các nút radio trong tab DEP .(DEP tab)

Đặt DEP trở lại hành vi mặc định(Set DEP Back To Default Behavior)

Để đặt hành vi DEP trở lại mặc định và có thể quản lý lại nó thông qua cài đặt hệ thống, hãy làm như sau.

  • Mở cửa sổ Lệnh với tư cách (Command )Quản trị(Administrator) viên .
  • Nhập lệnh bcdedit.exe /set {current} nx OptIn .

  • Khởi động lại máy tính.
  • Giờ đây, bạn có thể truy cập lại các nút radio trong tab DEP(DEP tab) trong cài đặt hệ thống.

DEP hoặc không DEP(To DEP Or Not To DEP)

Chúng tôi khuyên bạn nên để DEP trên cài đặt mặc định(default setting) của nó là Chỉ bật DEP cho các chương trình và dịch vụ cần thiết(Turn on DEP for essential Windows programs and services only, ) của Windows, trừ khi cần thay đổi nó để khắc phục sự cố có thể liên quan đến DEP(DEP-related) .



About the author

Tôi là Chuyên gia Windows và đã làm việc trong ngành phần mềm hơn 10 năm. Tôi có kinh nghiệm với cả hệ thống Microsoft Windows và Apple Macintosh. Các kỹ năng của tôi bao gồm: quản lý cửa sổ, phần cứng máy tính và âm thanh, phát triển ứng dụng, v.v. Tôi là một nhà tư vấn giàu kinh nghiệm có thể giúp bạn khai thác tối đa hệ thống Windows của mình.



Related posts