2 điểm bởi GN⁺ 2025-01-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trình diễn cách dump RAM trong môi trường Windows 11 24H2 bằng Memory-Dump-UEFI để tìm FVEK, khóa mã hóa toàn bộ volume, và truy cập volume được BitLocker bảo vệ
  • Nếu kẻ tấn công có thể tiếp cận vật lý thiết bị, họ có thể nhắm vào khóa còn sót lại trong RAM ngay sau khi khởi động lại, nhưng thời gian mất điện càng lâu thì nguy cơ hỏng nội dung RAM càng cao
  • Bản trình diễn sử dụng cách chập reset pins trên bo mạch chủ để khởi động lại mà không làm mất nguồn, và không đi sâu vào các trường hợp vượt qua Secure Boot
  • Trong dump của Windows 11, FVEK được tìm thấy dưới thẻ dFVENone thay vì FVEc của Windows 7 hay Cngb của Windows 8.1/10
  • Dù Microsoft cố hủy khóa bằng các hàm như SymCryptSessionDestroy, khóa vẫn có thể còn lại trên heap, nên cách tiếp cận trực diện nhất để phân tích cách triển khai BitLocker là debug ở mức kernel

Phạm vi trình diễn vượt qua BitLocker trên Windows 11

  • Mục tiêu là Windows 11 version 24H2, với phương pháp trích xuất FVEK, khóa mã hóa toàn bộ volume của BitLocker, từ bộ nhớ
  • Sử dụng ứng dụng UEFI Memory-Dump-UEFI để dump nội dung RAM
  • Giả định cốt lõi là kẻ tấn công có quyền tiếp cận vật lý với thiết bị

Điều kiện để dump RAM khả thi

  • RAM của phiên Windows vừa chạy gần đây có thể vẫn còn chứa thông tin nhạy cảm như FVEK
  • Khi mất điện, nội dung RAM sẽ hỏng đi rất nhanh, nên cần giảm tối đa khoảng thời gian máy tính tắt hẳn trong quá trình khởi động lại
  • Các cách giảm hỏng RAM gồm làm lạnh vật lý hoặc duy trì cấp nguồn ngoài; trong bản trình diễn này, tác giả chập reset pins trên bo mạch chủ để khởi động lại mà không mất nguồn
  • Secure Boot là tiêu chuẩn bảo mật giới hạn những gì được phép chạy khi thiết bị khởi động, nhưng đã có các trường hợp vượt qua bằng shim; phần này không được bàn chi tiết trong bản demo

Chuẩn bị USB boot và tạo dump

  • USB boot cần có thiết bị lưu trữ lớn hơn dung lượng RAM của hệ thống mục tiêu
  • Script flashimage.sh giúp đơn giản hóa việc chuẩn bị ứng dụng có thể khởi động
  • Quy trình tạo và sử dụng ứng dụng boot được tổng hợp tại MemoryDumpUEFI
  • Khả năng tìm thấy FVEK cao nhất khi khởi động lại lúc Windows đang trong quá trình tải nhưng trước khi màn hình đăng nhập xuất hiện
  • Sau đó boot ngay từ thiết bị USB vào Memory-Dump-UEFI rồi chạy app.efi trong UEFI shell
    • Cách chạy có thêm các bước trong README của ứng dụng
    • Thời gian dump phụ thuộc vào dung lượng RAM và tốc độ của thiết bị USB
    • Để tránh ghi nhầm sang ổ khác, nên tháo các thiết bị lưu trữ USB khác

Xử lý file dump và công cụ tìm kiếm

  • Memory-Dump-UEFI có thể tạo ra nhiều file dump
  • Để phù hợp với đặc tả UEFI, cần dùng hệ thống file FAT32, nhưng FAT32 có giới hạn kích thước file 4GB
  • concatDumps trong thư mục tools ghép nhiều dump thành một file duy nhất theo thứ tự thời gian
  • Dump là dữ liệu thô đang có trong bộ nhớ tại thời điểm đó, nên có thể xem dễ hơn bằng công cụ như xxd
  • searchMem cho phép tìm mẫu hex trong dump và di chuyển đến offset nơi mẫu được phát hiện

Pool tag và vị trí FVEK

  • Pool tag là định danh 4 ký tự cho biết vùng memory pool nào của kernel Windows đang được sử dụng
  • Memory pool do kernel Windows cấp phát có thể là vị trí tốt để tìm thông tin nhạy cảm
  • pooltag.txt chứa danh sách các pool tag và thông tin về mục đích của chúng
  • Ở các phiên bản Windows trước, vị trí khóa BitLocker khác nhau
    • Trên Windows 7, có thể khôi phục khóa từ pool tag FVEc, tương ứng với vùng cấp phát mã hóa của fvevol.sys
    • Trên Windows 8.1 và Windows 10, có thể tìm khóa trong memory pool mang thẻ Cngb, tương ứng với module ksecdd.sys
  • Trong dump của Windows 11, không tìm thấy khóa ở FVEc hay Cngb; thay vào đó FVEK xuất hiện ở hai vị trí
    • Vị trí thứ nhất là dưới pool tag dFVE, biểu thị vùng nhớ do dumpfve.sys cấp phát
    • dumpfve.sys liên quan đến full volume encryption crash dump filter của BitLocker drive encryption
    • Vị trí dFVE là nơi khóa được tìm thấy dễ nhất và ổn định nhất
    • Trước khóa ở vị trí này có giá trị 0x0480 biểu thị kiểu mã hóa; trong môi trường trình diễn, nó có nghĩa là XTS-AES-128
    • Vị trí thứ hai là dưới thẻ None, liên quan đến lời gọi ExAllocatePool
    • Ở vị trí này, nửa đầu của khóa xuất hiện hai lần, còn nửa sau xuất hiện một lần

Truy cập volume BitLocker bằng FVEK

  • Khóa thu được cần được thêm giá trị thuật toán mã hóa đang dùng ở phía trước
  • Trong ví dụ, giá trị thuật toán 0x8004 được thêm vào trước khóa dưới dạng little endian là 0480
  • Giá trị tạo ra theo cách này có thể được lưu thành file để dùng dưới dạng output.fvek
  • Bộ công cụ dislocker được khuyến nghị để xác định thuật toán và giá trị cần thiết, cũng như mở khóa phân vùng được BitLocker bảo vệ
  • Nếu làm đúng quy trình, có thể dùng output.fvek để truy cập dữ liệu trên volume được BitLocker bảo vệ

Phân tích triển khai BitLocker và khóa còn lại trên heap

  • Cách trực diện nhất để hiểu cách triển khai BitLocker là debug ở mức kernel bằng windbg
  • Kernel debugging có thể thực hiện tương đối dễ bằng máy ảo hoặc cáp crossed over USB 3.0 A/A
  • Việc theo dõi từng bước quá trình boot của Windows và quan sát hoạt động BitLocker đã giúp xác định vị trí khóa
  • Microsoft cố hủy khóa bằng các hàm như SymCryptSessionDestroy, nhưng khóa vẫn có thể còn lại trên heap nên không thể loại bỏ hoàn toàn mọi khóa

Liên kết tham khảo

1 bình luận

 
GN⁺ 2025-01-01
Các ý kiến trên Hacker News
  • Tôi cho rằng BitLocker phát huy lợi ích lớn nhất khi dùng TPM (PCR 7+11)+PIN
    Nếu không có PIN thì không thể đọc được FVEK, nên có thể giảm nhẹ cuộc tấn công này; và nếu BitLocker được triển khai đúng, khi nhập sai PIN quá nhiều lần thì TPM sẽ chuyển sang chế độ khóa chống tấn công từ điển
    Tôi đã cố thử cấu hình tương tự trên Linux suốt mấy tháng, nhưng systemd-cryptsetup/cryptenroll là dành cho LUKS, còn trường hợp của tôi là muốn dùng fscrypt để mã hóa vài thư mục nhạy cảm (khóa secure boot và /home) trên eMMC tích hợp chậm
    Khi vượt quá mức cơ bản, tôi thấy lập trình TPM cực kỳ khó: phải ràng buộc với PCR 7, ràng buộc với PCR 11 vốn thay đổi mỗi khi cập nhật kernel/init/cmdline, dùng PIN chứ không phải AuthValue, dùng cùng chính sách ủy quyền để đặt lại bộ đếm khóa DA khi đăng nhập, đồng thời vẫn có mật khẩu dài/AuthValue cho việc đặt lại thủ công, rồi còn phải khớp cả chữ ký PCR 11 và khóa công khai do systemd-stub cung cấp
    Ngoài các hướng dẫn TPM cơ bản thì gần như không có tài liệu, nên nếu có chuyên gia nào thì tôi rất muốn được giúp đỡ. Đây là dự án cá nhân, nhưng nếu một ngày nào đó hoàn thành, tôi định sẽ viết lại thành bài

    • LUKS có nhiều key slot, nên tôi nhớ là có thể dùng một slot để mở khóa bằng TPM và một slot khác để khôi phục bằng mật khẩu dài
      Cách đó đáng cân nhắc như một cơ chế khôi phục
      Một trong những lý do ít người mày mò TPM mã nguồn mở như thú vui là vì có nhiều lựa chọn thay thế giải quyết nhu cầu tương tự dễ hơn nhiều
      Nếu muốn gắn khóa mã hóa quan trọng với phần cứng thì mua Yubikey là được; nếu mật khẩu mã hóa ổ đĩa laptop quá phiền, có thể dùng chế độ chờ khi đóng nắp thay vì tắt máy hoàn toàn
      Nếu mật khẩu đăng nhập bất tiện thì có đầu đọc vân tay hoặc Yubikey hỗ trợ sinh trắc học; còn nếu cần khởi động không mật khẩu như kiosk không người trực hay phòng máy tính trường học, thì cứ đặt máy trong hộp kim loại chắc chắn rồi xích vào tường
      Nếu máy chủ trung tâm dữ liệu cần khởi động không người trực, hãy chuyển nó vào trung tâm dữ liệu có an ninh vật lý đáng tin cậy; nếu vẫn lo, dùng Dropbear hoặc Tang để máy chỉ khởi động khi ở đúng mạng
      Nếu bạn đang nghịch TPM cho homelab như một thú vui, tốt nhất nên tự kiểm tra xem làm việc với TPM có thật sự vui không, và rất có thể bạn sẽ nhận ra là không
    • Ngay cả khi Windows yêu cầu PIN để TPM lấy FVEK lần đầu, cuối cùng nó vẫn sẽ giữ FVEK trong RAM
      Nếu không thì chẳng lẽ mỗi lần giải mã một block đĩa lại phải nhập PIN? Ảnh hưởng hiệu năng khi gọi TPM cho từng thao tác đĩa cũng rất lớn
      Cuộc tấn công này đọc khóa từ RAM, nên tôi không hiểu TPM PIN giảm nhẹ rủi ro bằng cách nào
    • Tôi nghĩ dùng mã hóa khóa phân mảnh hoặc khóa bí mật đã mã hóa có lẽ tốt hơn
      Nếu trước khi boot phải nhập mật khẩu, và mật khẩu đó phải kết hợp với khóa TPM mới mở được ổ đĩa, thì điều đó sẽ hữu ích trong tình huống về sau khóa TPM bị phát hiện
      Tuy vậy, khó chắc được biện pháp nào sẽ giúp được bao nhiêu trước cuộc tấn công này. Để OS duy trì quyền đọc/ghi ổ đĩa, nó phải giữ khóa ở đâu đó, nên nếu chỉ thay đổi nơi tìm khóa thì trong hầu hết kịch bản vẫn có thể khôi phục dữ liệu RAM kiểu này
      Tôi nhớ các thiết bị Apple không để khóa rời khỏi vùng bảo mật (enclave), nên có lẽ không dễ bị kiểu tấn công này. TPM 3.0 có vẻ cần tiến gần hơn nhiều theo hướng đó
    • Tôi nghĩ mật khẩu bật nguồn của BIOS cũng phải có tác dụng chứ. Nếu không có nó, hệ thống sẽ không thể đi đến điểm TPM giải phóng FVEK
      Trên ThinkPad có thể dùng vân tay thay cho mật khẩu bật nguồn, và cấu hình này khiến thiết bị gần như vô dụng với kẻ trộm, nên tôi thích nó hơn BitLocker PIN
      Tất nhiên mật khẩu bật nguồn và xác thực vân tay cũng chỉ mạnh ngang TPM, nhưng BitLocker TPM+PIN cũng vậy chẳng phải sao
    • Tôi có cảm giác TPM giống một kiểu honeypot
      Việc sau các phần mềm mã hóa mã nguồn mở thành công lại chuyển sang TPM khiến tôi thấy kỳ lạ. Trông như kiểu “đã có kho lưu trữ siêu an toàn do các tập đoàn lớn cung cấp, nên đừng lo lắng hay đặt câu hỏi”
      Tôi nghi rằng chắc chắn có một cửa hậu cho phép cơ quan tình báo tải xuống mọi PIN và mật khẩu rồi truy cập dữ liệu
  • Về cơ bản tôi không hiểu rõ mô hình bảo mật của BitLocker
    Trong hầu hết các bản cài đặt, có vẻ như chỉ cần nhấn nút nguồn là máy sẽ khởi động vào Windows
    Vậy nếu ai đó đánh cắp một thiết bị có ổ cứng đã mã hóa, họ chỉ cần bật máy lên là được sao? Chắc chắn không phải vậy, nhưng đồng thời tôi cũng không biết cách ngăn cuộc tấn công cụ thể này
    Có lẽ phải giả định rằng lưu lượng bus SPI được mã hóa nên không thể dump khóa theo cách này, nhưng dù sao thì có vẻ máy vẫn khá dễ dàng nhả khóa ra
    LUKS ít nhất còn có prompt nhập mật khẩu để mở khóa ổ đĩa

    • Lưu lượng bus SPI không được mã hóa
      Lạ là Microsoft không dùng mã hóa tham số TPM, nên cứ mỗi 1–2 năm lại có nhà nghiên cứu bảo mật chế tạo một thiết bị sniff TPM để trình diễn
      LUKS cũng tùy cấu hình. Linux cũng có thể được cấu hình theo cách giống Windows ở đây, và máy chủ an ninh video gia đình của tôi cũng cần khởi động lại âm thầm nên tôi đã thiết lập như vậy. Tôi biết nó dễ bị tấn công warm/cold boot và bề mặt tấn công phần mềm, nhưng nếu ai đó chỉ tháo ổ đĩa đi thì vẫn an toàn
      Windows cũng có thể được cấu hình để yêu cầu mật khẩu hoặc dùng khóa TPM được niêm phong bằng xác thực PIN
      Bỏ qua vấn đề mã hóa tham số và sniff bus, BitLocker dịch chuyển ranh giới từ “bất kỳ ai cũng có thể đọc ổ đĩa” sang “phải thực hiện tấn công cấp nền tảng để lấy nội dung bộ nhớ, hoặc hack các dịch vụ chạy ở màn hình đăng nhập”
      Nó chặn rất tốt các tình huống kiểu đánh cắp dữ liệu tài chính từ ổ cứng được tái sử dụng tùy tiện, nên thực tế đây là một cải thiện bảo mật khá tốt
    • Nếu bật thiết bị bị đánh cắp lên thì cũng chỉ đến được màn hình đăng nhập, và không thể đi xa hơn nếu không có mật khẩu hoặc xác thực sinh trắc học
      Cần có cách vượt qua như lỗ hổng thực thi mã từ xa hoặc khởi động bằng bootloader Windows cũ có lỗ hổng. Vì ổ đĩa đang bị khóa nên không dùng được kiểu vượt qua phổ biến “đổi bàn phím phần mềm thành cmd.exe”
      Không có BitLocker thì có thể cắm ổ Windows vào PC khác và xem mọi tệp. Có BitLocker thì phải vật lộn với phần mềm Microsoft dễ tổn thương, lỗ hổng, bộ nhớ bị dump và những thứ tương tự, mà cũng không phải lúc nào cũng thành công
      Nếu thiết lập BitLocker ở chế độ TPM+PIN thì vì không có mật khẩu để mở TPM, ngay cả việc đó cũng không làm được. Cũng có thể để BitLocker ở chế độ chỉ dùng mật khẩu, nhưng như vậy dễ bị brute force hơn nhiều
      LUKS cũng tương tự; hiện nay hầu hết các bản phân phối Linux đều hỗ trợ TPM và TPM+PIN
    • Đúng, nhưng ý đồ là ở màn hình đăng nhập (winlogon), nếu không có thông tin xác thực tài khoản trên máy đó hoặc đăng ký sinh trắc học thì thực sự gần như không làm được gì
      Nếu cố khởi động lại vào safe mode, hoặc khởi động lại sang OS khác, tiện ích cập nhật firmware, v.v. thì sẽ phải nhập khóa khôi phục BitLocker
      Tôi không rõ việc “hack” cảm biến vân tay hoặc webcam nhận diện khuôn mặt hoạt động nội bộ như thế nào
    • Mục đích chính khi dùng BitLocker với PIN+TPM là biến máy tính đang tắt nguồn hoặc chính ổ đĩa thành cục gạch
      Cần giả định rằng TPM không có lỗ hổng trích xuất khóa
      Điểm mấu chốt là khi máy đang tắt nguồn
      Với mã hóa ổ đĩa đa dụng, TPM quá chậm để giải mã dữ liệu khối lượng lớn thực sự, nên cuối cùng OS vẫn có khóa có thể bị trích xuất
    • Volume BitLocker có thể có nhiều protector và có thể dùng tệp khóa, passphrase, PIN, kho lưu trữ TPM: https://learn.microsoft.com/en-us/windows-server/administrat...
      Trên bản Pro, cũng có thể dùng Group Policy để yêu cầu bước tương tác khi khởi động. Nó hoạt động ngay cả khi không có TPM; trong trường hợp này, mỗi lần khởi động sẽ hỏi mật khẩu
  • Việc này có thể bị chặn hoàn toàn bằng https://trustedcomputinggroup.org/resource/pc-client-work-gr...
    Nếu được bật, trong trường hợp OS không tắt bình thường nên không có cơ hội xóa khóa mã hóa, firmware sẽ dừng lại trước lần khởi động tiếp theo và xóa RAM
    Tôi tò mò không biết Windows không dùng tính năng này, hay hệ thống được thử nghiệm không triển khai nó

    • Windows được biết là có dùng tính năng này: https://learn.microsoft.com/en-us/windows/security/operating...
      Tài liệu nói rằng “BitLocker sử dụng TCG Reset Attack Mitigation, còn gọi là bit MOR (Memory Overwrite Request), trước khi trích xuất khóa vào bộ nhớ”
      Tuy nhiên tôi hoàn toàn không tin hầu hết các triển khai nền tảng. Tôi chưa từng thấy nền tảng UEFI nào, dưới bất kỳ hình thức nào, triển khai gần đúng nghĩa
      Sẽ thú vị nếu biết nhà nghiên cứu này đã dùng nền tảng nào, và nền tảng đó có tuyên bố hỗ trợ bit MOR hay không
    • Biện pháp giảm thiểu đó rất vụng về, vì vẫn có thể can thiệp trong lúc ghi đè RAM
      Chỉ cần xem Team Tweezers đã tấn công Wii đời đầu như thế nào là đủ
      Biện pháp giảm thiểu thực sự là tính năng mã hóa bộ nhớ của CPU hiện đại. Vì nó nằm bên trong die nên nhíp không chạm tới được; chỉ cần xóa khóa là mất ngay lập tức, và ngay cả khi sống sót qua chu kỳ nguồn thì cũng rất khó can thiệp
    • Dù vậy, nó vẫn không ngăn được việc tháo toàn bộ mô-đun RAM ra và dump offline
      Lý tưởng nhất là khóa chỉ nên nằm trong bộ nhớ đệm SRAM của CPU và tuyệt đối không bao giờ đi ra ngoài die CPU
  • Tôi là người viết bài. Nếu có câu hỏi, có thể nhắn cho tôi qua tài khoản này
    Công việc này thực sự rất thú vị và cảm ơn mọi người đã quan tâm nhiều

  • Bài trình bày 38C3 liên quan đến việc vượt qua BitLocker trên Windows 11: https://media.ccc.de/v/38c3-windows-bitlocker-screwed-withou...

  • Khá nhiều người đã biết rằng BitLocker chỉ bảo vệ đúng nghĩa khi máy tính đã tắt, và ngay cả vậy cũng chỉ khi BitLocker được cấu hình để yêu cầu mật khẩu khởi động
    [0] https://en.wikipedia.org/wiki/BitLocker#TPM_alone_is_not_eno...

  • Windows có tùy chọn mã hóa bộ nhớ được đề xuất cùng với nén bộ nhớ
    Cả Intel lẫn AMD đều đang đưa tính năng này vào CPU
    Tuy nhiên, mục tiêu có vẻ không phải là laptop mà là các máy chủ chạy nhiều máy ảo

    • Microsoft đang ngày càng chuyển sang bảo mật dựa trên ảo hóa, bao gồm khả năng chạy “enclaves” để bảo vệ một số phần mềm cụ thể: https://learn.microsoft.com/en-us/windows/win32/trusted-exec...
      Sẽ không có gì đáng ngạc nhiên nếu chẳng bao lâu nữa các “máy ảo” được mã hóa được dùng làm phương tiện lưu trữ những giá trị bí mật như vậy. Điều cần thiết là hỗ trợ phần cứng trở nên phổ biến rộng rãi trên các nền tảng tiêu dùng
      Tuy nhiên, các cuộc tấn công kênh kề CPU trước đây đã cho thấy bộ nhớ được mã hóa cũng có thể bị tấn công (https://www.usenix.org/conference/usenixsecurity21/presentat...). Chúng nhắm vào cache khi CPU giải mã bộ nhớ để hoạt động bình thường
      Việc này sẽ giúp vô hiệu hóa dump bộ nhớ, nhưng RAM được mã hóa sẽ không chấm dứt được việc dump khóa từ bộ nhớ. Đặc biệt là trước những kẻ tấn công kiên nhẫn hoặc có kỹ năng cao
    • Intel hiện cung cấp tính năng này dưới tên Total Memory Encryption. Trong hệ sinh thái Windows, đúng như vậy, nó nhắm đến phía máy ảo
      https://techcommunity.microsoft.com/blog/windowsosplatform/m...
      Nén bộ nhớ đã có từ lâu, ít nhất là từ Windows 10 RTM. Tất cả các hệ điều hành lớn đều đã triển khai tính năng này, nhưng nó không liên quan đến bảo mật
  • Bài liên quan: Vượt qua BitLocker trên laptop Lenovo bằng bộ phân tích logic giá rẻ
    https://news.ycombinator.com/item?id=37249623

  • Với các cuộc tấn công dựa vào việc đọc dump bộ nhớ của máy mục tiêu, tôi tự hỏi nếu có quyền truy cập vật lý thì một thiết bị interposer sao chép hoặc sửa đổi dữ liệu đi vào và đi ra khỏi RAM sẽ thực tế đến mức nào
    Tôi nghĩ đến một thiết bị như “Action Replay” cho Gameboy ngày xưa, vốn cho phép gian lận bằng cách sửa đổi bộ nhớ được nạp hoặc thực thi từ băng game vào hệ thống. Cắm băng game vào Action Replay, rồi cắm Action Replay vào Gameboy
    Liệu có thể làm điều tương tự giữa RAM và bo mạch chủ không? Kiểu như cắm RAM vào thiết bị, cắm thiết bị đó vào bo mạch chủ, rồi quan sát các thao tác đọc/ghi bộ nhớ để chụp trạng thái bộ nhớ tại một thời điểm tùy ý
    Như vậy có thể tránh được sự phiền phức của việc phải tắt nguồn thủ công và hy vọng dữ liệu cần thiết vẫn còn đó
    Tôi không phải kỹ sư điện nên đây có thể là một đề xuất hoàn toàn bất khả thi. Ràng buộc về không gian vật lý và băng thông chắc chắn có vẻ lớn, nhưng liệu có khả thi không?

    • Về lý thuyết thì có thể. Trên thực tế, khi thiết lập liên kết DDR, cần rất nhiều thương lượng giữa bộ điều khiển bộ nhớ và RAM, và không dễ tạo ra tình huống dump dữ liệu trong khi vẫn duy trì cùng timing
      Khó kỳ vọng sẽ có một giải pháp thương mại sẵn có
    • Các CPU AMD/Intel hiện đại hỗ trợ mã hóa toàn bộ bộ nhớ trong suốt, nên một interposer như vậy sẽ chỉ thấy dữ liệu RAM đã được mã hóa
  • Ít người biết rằng các CPU Intel/AMD ra mắt trong vài năm gần đây hỗ trợ mã hóa toàn bộ bộ nhớ trong suốt
    Nội dung RAM được mã hóa bằng một khóa ngẫu nhiên được lưu trong bộ điều khiển bộ nhớ của CPU và được tạo khi reset
    Thường thì BIOS tắt tính năng này, vì nó gây một chút suy giảm hiệu năng bộ nhớ (0,1%~1%)
    Nhưng nó có thể chặn hoàn toàn cuộc tấn công này

    • Theo tôi hiểu, AMD gọi tính năng này là SME(Secure Memory Encryption), còn Intel gọi là TME-MK(Total Memory Encryption-Multi Key)