## Tổng quan nghiên cứu

Trong bối cảnh an ninh mạng ngày càng trở nên phức tạp, các kỹ thuật tấn công khai thác lỗ hổng trong driver hệ điều hành Windows đang gia tăng về số lượng và mức độ nguy hiểm. Theo báo cáo của SentinelLabs, hàng triệu máy tính của hãng Dell có nguy cơ bị xâm nhập do năm lỗ hổng nghiêm trọng trong driver được phát hiện vào năm 2021. Driver, là thành phần thiết yếu giúp hệ điều hành kết nối với thiết bị ngoại vi, thường được tin tưởng nhờ chữ ký số hợp lệ. Tuy nhiên, các phiên bản driver cũ chứa lỗ hổng vẫn được phần mềm bảo mật tin tưởng và cho phép chạy, tạo điều kiện cho kẻ tấn công bypass các phần mềm bảo mật phổ biến.

Mục tiêu nghiên cứu là phân tích kỹ thuật tấn công bypass các phần mềm bảo mật thông qua khai thác các driver lỗi trên hệ điều hành Windows, đồng thời đề xuất phương pháp phát hiện và giảm thiểu rủi ro. Nghiên cứu tập trung vào driver Intel Network Adapter Diagnostic Driver phiên bản cũ từ năm 2012, thực hiện trên môi trường Windows 10 Pro với các phần mềm bảo mật như Microsoft Defender, Kaspersky Total Security, McAfee Total Protection, Trend Micro và Malwarebytes Premium. Kết quả nghiên cứu không chỉ nâng cao nhận thức về mối đe dọa từ driver lỗi mà còn góp phần xây dựng cơ chế phòng chống hiệu quả trong tương lai.

## Cơ sở lý thuyết và phương pháp nghiên cứu

### Khung lý thuyết áp dụng

- **Driver Signature Enforcement (DSE):** Tính năng bảo vệ của Windows chỉ cho phép các driver có chữ ký số hợp lệ được chạy, nhằm ngăn chặn phần mềm độc hại xâm nhập vào kernel.
- **Ngữ cảnh người dùng và kernel:** Phân biệt giữa chế độ người dùng (user mode) và chế độ kernel (kernel mode) trong hệ điều hành Windows, với driver chạy chủ yếu ở kernel mode có quyền truy cập không hạn chế vào phần cứng.
- **Windows API và Undocumented API:** Sử dụng các hàm chính thức và không chính thức của Windows, đặc biệt là hàm undocumented MmCopyVirtualMemory để đọc bộ nhớ tiến trình.
- **Shellcode:** Mã máy được chèn và thực thi trong bộ nhớ để chiếm quyền điều khiển, trong nghiên cứu này được phát triển để thực thi trong ngữ cảnh kernel.
- **Trích xuất thông tin đăng nhập:** Kỹ thuật lấy thông tin tài khoản và mật khẩu từ bộ nhớ tiến trình LSASS, thường bị bảo vệ bởi các phần mềm bảo mật.

### Phương pháp nghiên cứu

Nghiên cứu sử dụng phương pháp thực nghiệm với cỡ mẫu gồm 5 phần mềm bảo mật phổ biến được cài đặt trên máy ảo Windows 10 Pro (8GB RAM, 200GB lưu trữ). Phương pháp chọn mẫu là lựa chọn các phần mềm bảo mật có thị phần lớn và cập nhật phiên bản mới nhất (ngày 11/8/2021). Phân tích tập trung vào việc cài đặt driver lỗi (Intel Network Adapter Diagnostic Driver 2012) bằng lệnh sc.exe, khai thác lỗ hổng CVE-2015-2291 để đọc và ghi bộ nhớ physical, ghi đè hàm NtShutdownSystem bằng shellcode để thực thi mã trong kernel từ ngữ cảnh người dùng. Timeline nghiên cứu kéo dài từ năm 2019 đến 2022, bao gồm giai đoạn phát triển kỹ thuật, thử nghiệm và đánh giá.

## Kết quả nghiên cứu và thảo luận

### Những phát hiện chính

- **Bypass thành công 5 phần mềm bảo mật:** Microsoft Defender, Kaspersky Total Security 2021, McAfee Total Protection 2021, Trend Micro Maximum Security 2021 và Malwarebytes Premium đều bị bypass thành công, cho phép đọc thông tin đăng nhập trong bộ nhớ LSASS mà không bị phát hiện.
- **Hỗ trợ cả kiến trúc 32-bit và 64-bit:** Kỹ thuật khai thác driver lỗi và shellcode được phát triển tương thích với cả hai kiến trúc, đảm bảo tính linh hoạt và hiệu quả.
- **Driver lỗi vẫn được tin tưởng:** Phiên bản driver cũ có chữ ký số hợp lệ vẫn được phần mềm bảo mật tin tưởng, tạo kẽ hở cho tấn công.
- **Yêu cầu quyền quản trị:** Kỹ thuật này đòi hỏi quyền quản trị hoặc SYSTEM để cài đặt driver lỗi, hoặc khai thác lỗ hổng zero-day trong driver đã cài đặt.

### Thảo luận kết quả

Nguyên nhân chính của thành công trong việc bypass là do phần mềm bảo mật dựa vào chữ ký số hợp lệ để tin tưởng driver, trong khi các driver cũ chứa lỗ hổng vẫn được phép chạy. So với các nghiên cứu trước đây chỉ tập trung vào một phần mềm bảo mật hoặc driver riêng biệt, nghiên cứu này mở rộng phạm vi và chứng minh hiệu quả trên nhiều sản phẩm phổ biến. Kết quả cho thấy sự cần thiết của việc phát triển các cơ chế phát hiện sớm và giảm thiểu rủi ro từ driver lỗi. Dữ liệu có thể được trình bày qua biểu đồ so sánh tỷ lệ bypass thành công trên từng phần mềm bảo mật, hoặc bảng tổng hợp các kỹ thuật khai thác và mức độ phát hiện.

## Đề xuất và khuyến nghị

- **Cập nhật và kiểm tra driver thường xuyên:** Thực hiện kiểm tra định kỳ và cập nhật driver để loại bỏ các phiên bản lỗi, giảm thiểu nguy cơ bị khai thác.
- **Hạn chế quyền quản trị:** Giới hạn quyền quản trị cho người dùng bình thường nhằm giảm khả năng cài đặt driver lỗi hoặc phần mềm độc hại.
- **Giám sát hoạt động kernel:** Xây dựng hệ thống giám sát các tác vụ ở kernel, phát hiện sớm các hành vi bất thường liên quan đến driver và tiến trình dịch vụ.
- **Phát triển cơ chế phát hiện nâng cao:** Nghiên cứu và triển khai các công cụ phát hiện kỹ thuật tấn công khai thác driver lỗi, bao gồm phân tích hành vi và kiểm tra tính toàn vẹn của driver.
- **Tuyên truyền nâng cao nhận thức:** Đào tạo người dùng và bộ phận bảo mật về nguy cơ từ driver lỗi và cách phòng tránh.

## Đối tượng nên tham khảo luận văn

- **Nhà nghiên cứu an ninh mạng:** Nắm bắt kỹ thuật tấn công mới, phát triển giải pháp phòng chống hiệu quả.
- **Chuyên gia bảo mật doanh nghiệp:** Áp dụng các biện pháp giám sát và kiểm soát quyền truy cập, nâng cao an toàn hệ thống.
- **Nhà phát triển phần mềm bảo mật:** Cải tiến sản phẩm, tích hợp cơ chế phát hiện và ngăn chặn tấn công khai thác driver lỗi.
- **Sinh viên và học viên ngành khoa học máy tính:** Học tập, nghiên cứu chuyên sâu về bảo mật hệ điều hành và kỹ thuật tấn công.

## Câu hỏi thường gặp

1. **Tại sao driver lỗi lại có thể bypass phần mềm bảo mật?**  
Driver lỗi thường có chữ ký số hợp lệ, được phần mềm bảo mật tin tưởng, nhưng chứa lỗ hổng cho phép thực thi mã độc ở kernel.

2. **Kỹ thuật tấn công này có yêu cầu quyền gì trên máy tính?**  
Cần quyền quản trị hoặc SYSTEM để cài đặt driver lỗi hoặc khai thác lỗ hổng zero-day trong driver đã cài.

3. **Phần mềm bảo mật có thể phát hiện kỹ thuật này không?**  
Hiện tại, hầu hết phần mềm bảo mật chưa phát hiện được kỹ thuật này do driver có chữ ký hợp lệ và hoạt động ở kernel.

4. **Có cách nào giảm thiểu rủi ro từ driver lỗi không?**  
Có, bao gồm cập nhật driver thường xuyên, hạn chế quyền quản trị, giám sát kernel và phát triển công cụ phát hiện.

5. **Nghiên cứu này có thể áp dụng trong thực tế như thế nào?**  
Kỹ thuật được áp dụng trong các chiến dịch diễn tập an ninh mạng để đánh giá mức độ bảo vệ và nâng cao nhận thức về mối đe dọa.

## Kết luận

- Đã nghiên cứu và trình bày kỹ thuật tấn công khai thác driver lỗi trên Windows, thành công bypass nhiều phần mềm bảo mật phổ biến.  
- Phương pháp sử dụng driver Intel Network Adapter Diagnostic Driver cũ từ năm 2012 để trích xuất thông tin đăng nhập từ bộ nhớ LSASS.  
- Đề xuất các phương pháp phát hiện sớm và giảm thiểu rủi ro hiệu quả cho môi trường doanh nghiệp và người dùng cá nhân.  
- Kết quả nghiên cứu đã được công bố tại hội nghị quốc tế và áp dụng trong các chiến dịch diễn tập an ninh mạng.  
- Hướng phát triển tương lai tập trung vào xây dựng cơ sở dữ liệu driver lỗi, phát triển công cụ giám sát kernel và nghiên cứu kỹ thuật bypass mới.

**Hành động tiếp theo:** Khuyến khích các tổ chức bảo mật và doanh nghiệp áp dụng các biện pháp đề xuất, đồng thời tiếp tục nghiên cứu để nâng cao khả năng phòng chống các kỹ thuật tấn công mới.