Computer >> Máy Tính >  >> Hệ thống >> Windows 7

Cách Windows xác định rằng tệp đã được tải xuống từ Internet

Trong một trong các bài viết trước, chúng tôi đã đề cập rằng khi cố gắng mở tệp thực thi được tải xuống từ Internet, Windows sẽ hiển thị cảnh báo bảo mật về việc chạy nội dung nguy hiểm tiềm ẩn (Để biết chi tiết, hãy xem Cách tắt cảnh báo bảo mật trong Windows). Làm cách nào để hệ thống xác định rằng tệp đã được tải xuống từ Internet? Hãy thử tìm hiểu xem.

Cách Windows xác định rằng tệp đã được tải xuống từ Internet

Tất cả các tệp thực thi được tải xuống từ Internet trong trình duyệt đều có một điểm đánh dấu đặc biệt. Quy tắc này không chỉ được hỗ trợ bởi Internet Explorer mà còn được hỗ trợ bởi các trình duyệt phổ biến khác như Mozilla Firefox và Google Chrome. Khi sao chép, đổi tên hoặc di chuyển tệp sang phân vùng NTFS khác, điểm đánh dấu vẫn ở nguyên.

Điểm đánh dấu này là luồng tệp NTFS thay thế .

Lưu ý . Các luồng dữ liệu NTFS thay thế cho phép tạo một số luồng dữ liệu bổ sung (siêu dữ liệu) cho mỗi tệp NTFS. Theo mặc định, tất cả dữ liệu tệp được lưu trữ trong luồng chính, nhưng có thể tạo cho tệp một hoặc nhiều luồng bổ sung và kích thước của chúng thậm chí có thể vượt quá kích thước của luồng chính của tệp chính. Phần lớn các ứng dụng (bao gồm cả Windows Explorer) chỉ hoạt động với luồng tiêu chuẩn và không thể đọc dữ liệu từ các luồng dữ liệu NTFS thay thế.

Để đảm bảo rằng một điểm đánh dấu đặc biệt đã được gán cho một tệp được tải xuống từ Internet, hãy hiển thị danh sách các tệp cho thư mục chứa các bản phân phối bằng lệnh sau:

dir /r

Cách Windows xác định rằng tệp đã được tải xuống từ Internet

Như chúng ta có thể thấy, luồng thay thế Zone.Identifier đã được gán cho các tệp thực thi, như install_flash_player_16_active_x.exe:Zone.Identifier .

Mở luồng thay thế trong Notepad:

Notepad.exe install_flash_player_16_active_x.exe:Zone.Identifier

Cách Windows xác định rằng tệp đã được tải xuống từ Internet

Chúng ta có thể thấy rằng luồng này là một tệp chứa một phần [ ZoneTransfer ], trong đó ID vùng chuyển ( ZoneId) được quy định. (Đây là các vùng bảo mật có thể tìm thấy trong cài đặt IE.) ID vùng chuyển có thể chứa một trong năm giá trị từ 0 đến 4.

  1. ZoneId =0:Máy cục bộ
  2. ZoneId =1:Mạng nội bộ cục bộ
  3. ZoneId =2:Trang web đáng tin cậy
  4. ZoneId =3:Internet
  5. ZoneId =4:Các trang web bị hạn chế

Cách Windows xác định rằng tệp đã được tải xuống từ Internet

Khi bạn tải xuống một tệp từ vùng bảo mật, trình duyệt sẽ gán một ZoneId tương ứng cho nó. Khi cố gắng chạy một tệp có ZoneId bằng 3 hoặc 4 trong luồng NTFS thay thế của nó, dựa trên ID này, hệ thống phát hiện rằng một tệp đã được tải xuống từ Internet hoặc một nguồn không đáng tin cậy. Windows đã kiểm tra điểm đánh dấu này của các tệp thực thi kể từ Windows XP SP2.

Để xóa điểm đánh dấu này (luồng thay thế) theo cách thủ công, bạn chỉ nên nhấp vào Bỏ chặn trong thuộc tính tệp.

Cách Windows xác định rằng tệp đã được tải xuống từ Internet

Đảm bảo rằng tệp này hiện không có luồng thay thế.

Cách Windows xác định rằng tệp đã được tải xuống từ Internet

Mẹo . Để ngăn việc gán điểm đánh dấu cho các tệp đã tải xuống, bạn có thể lưu các tệp được tải xuống từ Internet vào hệ thống tệp khác với NTFS, như FAT, exFat, v.v.

Trên thực tế, Windows không có bất kỳ công cụ nào để xử lý các luồng dữ liệu thay thế. Ví dụ:nếu bạn phải xóa chúng khỏi một số tệp cùng một lúc, tốt hơn bạn nên sử dụng công cụ bảng điều khiển bên thứ ba của Mark Rusinovich - luồng .

Ví dụ:để xóa đệ quy các luồng thay thế của tất cả các tệp thực thi trong c:\ Download \, hãy chạy lệnh này:

c:\TOOLS\streams.exe -s -d c:\Download\*.exe

Trong dấu nhắc lệnh, bạn có thể thấy rằng luồng thay thế của tệp đã bị xóa: Đã xóa:Zone.Identifier:$ DATA

Quan trọng . Luồng xóa tất cả các luồng thay thế của các tệp được chỉ định và không cho phép nhắm mục tiêu một luồng nhất định. Vì vậy, không chạy luồng lệnh dưới dạng stream.exe -s -d c:\ *. exe , vì nó có thể dẫn đến lỗi hệ thống sau khi thông tin quan trọng có trong các luồng NTFS thay thế đã bị xóa.

Cách Windows xác định rằng tệp đã được tải xuống từ Internet
Trong PowerShell 3.0, bạn có thể hiển thị danh sách các tệp có luồng Zone.Identifier trong một thư mục sử dụng lệnh này:

Get-ChildItem -Recurse | Get-Item -Stream Zone.Identifier -ErrorAction SilentlyContinue | Select-Object FileName

Thuộc tính bị xóa như sau:

Remove-Item .\install-file.exe -Stream Zone.Identifier

Trong Windows PowerShell 4.0, bạn có thể xóa Zone.Identifier bằng một lệnh ghép ngắn riêng:

Unblock-File install-file.exe

Bạn có thể gán điểm đánh dấu cho bất kỳ tệp nào chạy lệnh này theo cách thủ công:

notepad.exe install_flash_player_16_active_x.exe:Zone.Identifier

Vì không có luồng, hệ thống sẽ nhắc tạo một tệp mới. Đồng ý và sao chép văn bản sau vào cửa sổ Notepad:

[ZoneTransfer]
ZoneId=3

Cách Windows xác định rằng tệp đã được tải xuống từ Internet Lưu các thay đổi. Đảm bảo rằng một luồng thay thế đã được chỉ định cho tệp.

Cách Windows xác định rằng tệp đã được tải xuống từ Internet