# Lỗ hổng Interrupt Injection: Khi "chiếc khiên" Spectre v2 của CPU bị đâm thủng trong vài nan giây

Bạn nghĩ rằng hệ thống của mình đã an toàn tuyệt đối sau khi kích hoạt toàn bộ các cơ chế phòng thủ Spectre v2? Một nghiên cứu mới đây từ MIT CSAIL có thể sẽ khiến bạn phải suy nghĩ lại. Chỉ bằng cách chèn một ngắt phần cứng (hardware interrupt) vào đúng một "khoảng hở" siêu nhỏ kéo dài vài nan giây, những kẻ tấn công không cần đặc quyền (unprivileged) có thể vô hiệu hóa hoàn toàn cơ chế bảo vệ Safe-RET của AMD và eIBRS của Intel. Đáng lo ngại hơn, tốc độ rò rỉ dữ liệu đủ nhanh để đọc thành công toàn bộ file `/etc/shadow` chứa hash mật khẩu của hệ điều hành Linux. Vậy chính xác thì cơ chế này hoạt động như thế nào, và hệ thống của bạn có đang nằm trong tầm ngắm?

## Tổng Quan

Spectre v2 tưởng chừng đã bị khống chế, nhưng kỹ thuật tấn công "Interrupt Injection" (thuộc nhóm lỗi TONTOU) vừa được công bố đã phá vỡ hoàn toàn niềm tin đó. Lợi dụng một khe hở thời gian tính bằng nan giây, những kẻ tấn công không cần đặc quyền có thể qua mặt các lớp lá chắn cốt lõi, âm thầm bòn rút dữ liệu nhạy cảm trực tiếp từ bộ nhớ kernel. Mối đe dọa này hiện đang bao trùm lên các hệ thống Linux sử dụng vi xử lý AMD Zen (từ thế hệ 1 đến 4) và một số dòng chip Intel, biến các môi trường Cloud và Shared Hosting thành "mỏ vàng" dễ bị khai thác bởi những người dùng thuê chung tài nguyên CPU vật lý. Để ngăn chặn thảm họa rò rỉ, các quản trị viên hệ thống cần lập tức cập nhật kernel Linux chứa bản vá "x86/bugs: Make Safe-RET robust against interrupt injection" trước khi quá muộn.

## **Bối Cảnh Kỹ Thuật**

Lỗ hổng mới này được đặt tên là Interrupt Injection, phát hiện bởi hai nhà nghiên cứu Daniël Trujillo và Mengjia Yan từ MIT CSAIL. Theo báo cáo bảo mật **AMD-SB-7061** (Safe RET Interrupt Vulnerability), lỗi này ảnh hưởng đến hàng loạt kiến trúc vi xử lý của AMD từ Zen 1 đến Zen 4.

Điểm đáng chú ý của kỹ thuật này là nó không yêu cầu quyền quản trị viên. Kẻ tấn công chỉ cần có khả năng thực thi mã cục bộ (local code execution) trên hệ thống mục tiêu. Lỗi này khai thác vào lỗ hổng trong quá trình xử lý của hạt nhân (kernel) Linux đối với cơ chế phòng thủ Safe-RET (trên AMD) và BHI/eIBRS (trên Intel). Hiện tại lỗ hổng này chưa được gán mã CVE độc lập mà đang được theo dõi thông qua bản tin bảo mật của AMD.

## Chuỗi Tấn Công

![](https://cdn.hashnode.com/uploads/covers/6777abffdb647396c7d71de4/75bf27c0-ba2a-4e8f-b60d-c7105d85d234.png align="center")

Trước khi đi sâu vào Interrupt Injection, chúng ta cần hiểu cách một cuộc tấn công thực thi suy đoán (như Spectre v2) diễn ra. Kẻ tấn công không đi cửa chính để ăn cắp dữ liệu, mà chúng lợi dụng chính "sự thông minh" của CPU để lừa nó tự tiết lộ bí mật qua 6 bước tinh vi:

1.  **Chạy mã độc ở không gian người dùng (User Process):** Kẻ tấn công thực thi một đoạn mã do chúng tự viết ở quyền hạn thấp nhất (user space). Lúc này, hệ thống vẫn đánh giá đây là một chương trình vô hại.
    
2.  **Thao túng bộ dự đoán rẽ nhánh (Branch Predictor Training):** CPU hiện đại luôn cố gắng "đoán" xem lệnh tiếp theo là gì để chạy trước (tăng tốc độ). Kẻ tấn công liên tục thực hiện một hành động lặp đi lặp lại để "huấn luyện" bộ dự đoán rẽ nhánh tin rằng lệnh tiếp theo chắc chắn sẽ đi theo một hướng A cụ thể.
    
3.  **Xâm nhập vào vùng đặc quyền (Kernel Execution):** Sau khi CPU đã bị "tẩy não", kẻ tấn công bất ngờ gọi một lệnh hệ thống (system call) để yêu cầu CPU chuyển sang chế độ đặc quyền cao nhất (Kernel mode), nơi chứa mọi dữ liệu nhạy cảm nhất.
    
4.  **Bóng ma thực thi suy đoán (Speculative Execution):** CPU đang ở Kernel mode và gặp một lệnh rẽ nhánh. Theo thói quen đã bị huấn luyện, CPU "đoán" và chạy trước các lệnh theo hướng A một cách "mù quáng" (speculative execution) trước khi kịp nhận ra mình đã đoán sai. Các lệnh ở hướng A này chính là lệnh độc hại do kẻ tấn công cài cắm để đọc dữ liệu mật.
    
5.  **Lưu lại dấu vết trên Cache (CPU Cache Effects):** Chỉ chớp mắt sau đó, CPU nhận ra nó đoán sai! Nó hủy kết quả và quay lại đường dẫn đúng. Nhưng sai lầm chí mạng là những dữ liệu nhạy cảm nó vừa lỡ đọc đã vô tình bị lưu lại trên bộ nhớ đệm (CPU Cache) - một vùng nhớ chia sẻ chung.
    
6.  **Trích xuất dữ liệu bí mật (Secret Data Leakage):** Kẻ tấn công tiến hành đo lường thời gian truy cập vào bộ nhớ đệm (Cache timing attack). Dữ liệu nằm trong Cache sẽ được tải nhanh hơn RAM, từ đó kẻ tấn công suy ngược ra (infer) chính xác dữ liệu nhạy cảm của Kernel là gì.
    

Bằng cách tự động hóa và lặp đi lặp lại 6 bước này hàng nghìn lần mỗi giây, chúng có thể "hút" trọn vẹn các tập tin quan trọng của hệ thống.

## **Cơ Chế Khai Thác: Interrupt Injection Hoạt Động Ra Sao?**

![](https://cdn.hashnode.com/uploads/covers/6777abffdb647396c7d71de4/b2856f17-d09a-43ee-b6f3-5f89b13a85b0.png align="center")

Để chống lại chuỗi tấn công trên, các nhà sản xuất CPU sinh ra lá chắn như Safe-RET. Mục tiêu là "làm sạch" (sanitize) trạng thái của bộ dự đoán rẽ nhánh trước khi kernel sử dụng nó (chặn ở Bước 3).

Tuy nhiên, Interrupt Injection lại đâm thủng lá chắn này bằng một lỗ hổng mang tính thời điểm gọi là **TONTOU** (Time-of-Neutralization to Time-of-Use). Kỹ thuật này can thiệp trực tiếp vào giai đoạn chuyển giao giữa Bước 3 và Bước 4:

1.  **Tạo khoảng hở (Race condition):** Kẻ tấn công sử dụng một luồng siêu phân luồng (sibling hyperthread) để đẩy các lệnh phòng thủ ra khỏi bộ nhớ đệm. Điều này làm chậm hệ thống, kéo dài khoảng hở giữa lúc branch predictor được "làm sạch" và lúc nó được sử dụng. Trên kiến trúc Zen 2, khoảng hở này chỉ rộng đúng 6 bytes.
    
2.  **Chèn ngắt (Injecting the Interrupt):** Kẻ tấn công lên lịch các ngắt phần cứng (hardware interrupts) với độ chính xác nan giây để ngắt rơi trúng vào khoảng hở 6 bytes nói trên.
    
3.  **Tái nhiễm độc (Re-poisoning):** Ngắt xảy ra làm luồng thực thi nhảy sang hàm xử lý ngắt. Kẻ tấn công dùng hàm này như một công cụ huấn luyện. Kết hợp với kỹ thuật **Inception** (CVE-2023-20569), chúng điền vào Return Stack Buffer (RSB) các địa chỉ đích do chúng kiểm soát.
    
4.  **Bypass hoàn tất:** Khi ngắt kết thúc và trả quyền điều khiển về kernel, branch predictor đã bị "nhiễm độc" trở lại, khiến cơ chế Safe-RET hoàn toàn vô dụng. Bước 4 (Thực thi suy đoán) của chuỗi tấn công Spectre tiếp tục diễn ra như chưa từng có lớp bảo vệ nào.
    

## **Ghi Nhận Khai Thác Thực Tế**

Trong điều kiện thử nghiệm, các nhà nghiên cứu đã chứng minh mã khai thác hoạt động cực kỳ hiệu quả trên nền tảng AMD Zen 2 (chạy Linux 6.14 với đầy đủ mitigation mặc định của Spectre v2).

*   **Tốc độ rò rỉ:** 5.47 bytes/giây.
    
*   **Độ chính xác:** Lên tới 91.97%.
    
*   **Mức độ nghiêm trọng:** Kẻ tấn công đã đọc thành công toàn bộ file `/etc/shadow` trong 5/10 lần thử.
    

Đối với vi xử lý Intel (Arrow Lake, Cascade Lake Refresh), nghiên cứu ghi nhận đã xuất hiện lỗi dự đoán rẽ nhánh (misprediction) nhưng chưa xây dựng được chuỗi khai thác hoàn chỉnh (end-to-end exploit) để rò rỉ bộ nhớ kernel. Dù vậy, các nhà nghiên cứu nhận định việc khai thác trên Intel hoàn toàn khả thi nếu kết hợp thêm các disclosure gadgets hiện có.

## **MITRE ATT&CK Mapping**

*   **T1059** - Command and Scripting Interpreter (Thực thi mã cục bộ)
    
*   **T1559** - Inter-Process Communication (Tương tác và điều khiển luồng thực thi phần cứng)
    
*   **T1003.008** - OS Credential Dumping: /etc/passwd and /etc/shadow (Rò rỉ hash mật khẩu qua memory leak)
    

## **Phát Hiện & Phản Ứng**

**Phát hiện:** Việc phát hiện Interrupt Injection ở cấp độ mạng (Network/SIEM) là gần như bất khả thi do mã khai thác chạy hoàn toàn ở tầng phần cứng và memory cục bộ. Các giải pháp EDR có thể theo dõi các hành vi bất thường như một tiến trình unprivileged liên tục tạo ra các system calls (như `write`) kết hợp với số lượng ngắt phần cứng tăng đột biến (interrupt storm) ở cấp độ microsecond.

**Phản ứng:** Ứng phó theo quy trình IR tiêu chuẩn đối với lỗi phần cứng/kernel:

1.  Xác định các hệ thống sử dụng CPU bị ảnh hưởng.
    
2.  Áp dụng bản vá kernel OS.
    
3.  Rà soát lại logs của EDR để tìm kiếm các dấu hiệu dò quét memory cục bộ.
    

## **Nhận định chuyên gia**

Việc một lỗi phần cứng có thể vượt qua toàn bộ cơ chế phòng thủ bằng phần mềm (như Safe-RET) cho thấy sự mong manh của các giải pháp "vá víu" (workaround) hiện hành. Trong thực tế, kỹ thuật này không phải là mối đe dọa quá lớn đối với máy tính cá nhân hay laptop của người dùng cuối do yêu cầu truy cập cục bộ và phải chạy mã trực tiếp trên máy.

Tuy nhiên, **đối với các nhà cung cấp dịch vụ Cloud, VPS hoặc môi trường Enterprise Container (Kubernetes), đây là một rủi ro cực kỳ nghiêm trọng**. Một kẻ tấn công có thể thuê một gói VPS giá rẻ, chạy mã khai thác và "xuyên thấu" xuống bộ nhớ kernel của máy chủ vật lý (host), từ đó trích xuất thông tin nhạy cảm của các khách hàng (tenant) khác nằm cùng trên CPU đó.

Về phía các nhà sản xuất:

*   **AMD** đã chủ động phối hợp cùng cộng đồng Linux để tung ra bản vá.
    
*   **Intel** hiện tại cho rằng rủi ro này đã được cover bởi các guidance về BHI/IMBTI (INTEL-SA-00598) và chưa có kế hoạch tung ra bản vá bổ sung. Tuy nhiên, các tổ chức sử dụng chip Intel cũng không nên chủ quan.
    

## **Khuyến Nghị Hành Động**

**Immediate (Ngay lập tức - 0 đến 24h):**

*   **Inventory Check:** Quét toàn bộ hệ thống máy chủ (đặc biệt là môi trường shared host, cloud, virtualization) để xác định các máy chủ đang sử dụng CPU AMD Zen (từ Zen 1 đến Zen 4).
    
*   **Đánh giá rủi ro:** Phân loại ưu tiên cập nhật cho các máy chủ cho phép người dùng bên ngoài/untrusted users thực thi mã cục bộ (ví dụ: CI/CD runners, Shared Hosting, Terminal servers).
    

**Short-term (1 đến 7 ngày):**

*   **Cập nhật Kernel Linux:** Áp dụng ngay các bản cập nhật kernel mới nhất từ nhà cung cấp hệ điều hành (Ubuntu, RHEL, CentOS...). Bạn cần đảm bảo kernel của mình đã được cập nhật đoạn code có tiêu đề: `x86/bugs: Make Safe-RET robust against interrupt injection`. Bản vá này điều chỉnh lại trạng thái thanh ghi như thể chuỗi Safe-RET đã hoàn tất và tránh thực thi lệnh RET sau khi ngắt kết thúc.
    

**Long-term:**

*   **Triển khai kiến trúc Zero Trust & Isolation:** Đối với các hệ thống chứa dữ liệu siêu nhạy cảm, xem xét việc sử dụng máy chủ vật lý riêng biệt (dedicated hosts) để tránh rủi ro từ các cuộc tấn công side-channel/speculative execution từ các tenant khác.
    

## Tài Liệu Tham Khảo

[New Interrupt Injection Attack Can Bypass Spectre v2 Defenses on Intel and AMD CPUs](https://thehackernews.com/2026/08/new-interrupt-injection-attack-can.html)

[A new attack slips past the latest defenses built into your computer's processor | MIT CSAIL](https://www.csail.mit.edu/news/new-attack-slips-past-latest-defenses-built-your-computers-processor)

[New Interrupt Injection Attack Bypasses Spectre v2 Defenses on Intel and AMD CPUs | The CyberSec Guru](https://thecybersecguru.com/news/interrupt-injection-spectre-v2-bypass-intel-amd/)
