Kỹ thuật phát hiện môi trường thực thi hộp cát (Sandbox)

Một phần của tài liệu Xây dựng hệ thống phát hiện, cảnh báo, ngăn chặn mã độc dựa trên hành vi (Trang 53 - 56)

2. CHƯƠNG 2: CÁC KỸ THUẬT VƯỢT QUA CÁC CHƯƠNG TRÌNH

2.2.1.Kỹ thuật phát hiện môi trường thực thi hộp cát (Sandbox)

Hộp cát (Sandbox) là một môi trường thử nghiệm độc lập mà sự thay đổi trong sandbox đều không ảnh hưởng đến môi trường thật. Trong môi trường hộp cát, các dịch vụ và tài nguyên đều được cung cấp gần giống với môi trường thật như là: truy cập tập tin, truy cập mạng…

Các chương trình diệt mã độc hiện nay dùng hộp cát để chạy mã độc trong môi trường này. Từ các thông tin thu thập được khi thực thi có thể xác định được đó là chương trình lành tính hay là mã độc. Các hành vi mã mã độc thực hiện trong môi trường hộp cát đều không ảnh hưởng đến hệ thống thật và đảm bảo an toàn cho hệ thống thật.

Tuy nhiên, môi trường hộp cát lại rất dễ phát hiện. Bằng nhiều kỹ thuật khác nhau, mã độc có thể phát hiện được môi trường đang thực thi là môi trường

thật hay là môi trường ảo. Sau đây là một số kỹ thuật được các mã độc thường sử dụng để phát hiện môi trường thực thi Sandbox.

- Phát hiện sự thay đổi của các hàm hệ thống (API)

Do hộp cát phải thay đổi các hàm hệ thống để ngăn chặn mã độc có các hành vi tác động vào hệ thống thật, nên mã độc có thể kiểm tra sự thay đổi của các hàm hệ thống dựa vào sự xuất hiện của các chương trình làm thay đổi các hàm hệ thống đó. Sau đây là đoạn mã bằng ngôn ngữ C++ có thể phát hiện được môi trường thực thi là hộp cát của chương trình Avast Antivirus:

Biên dịch đoạn mã trên và thực thi. Nếu thực thi trong môi trường thật sẽ được kết quả thông báo: “No Sanbox detected”. Nhưng nếu thực thi đoạn mã đó trong môi trường hộp cát của Avast thì được thông báo: “Sandbox detected”.

Kỹ thuật này đã được mã độc Win32/Carberp đã sử dụng để kiểm tra môi trường thực thi hộp cát. Nội dung đoạn mã của mã độc Win32/Carberp được thể hiện trong Hình 2.16:

Hình 2.16: Đoạn mã kiểm tra môi trường trường thực thi Sandbox của mã độc Win32/Carberp

- Kiểm tra sự tồn tại của các tập tin và các tiến trình đang thực thi trên hệ thống

Do các chương trình phát hiện mã độc khi được cài đặt trên hệ thống luôn có những tập tin riêng và có các tiến trình thực thi của chương trình diệt mã độc đó. Do vậy, mã độc có thể kiểm tra sự tồn tại của các tập tin và tiến trình này trên hệ thống. Sử dụng phương pháp này mã độc chỉ có thể kiểm tra chính xác là có tồn tại chương trình diệt mã độc trên hệ thống hay không. Hình 2.17 mô tả đoạn mã mà mã độc Win32/Caphaw sử dụng để kiểm tra môi trường thực thi:

Hình 2.17: Đoạn mã để phát hiện môi trường thực thi của mã độc Win32/Caphaw

Ngoài hai cách phổ biến trên, còn có rất nhiều cách để có thể phát hiện được môi trường thực thi mà mã độc đã sử dụng. Chẳng hạn như kiểm tra sự tổn tại của các khóa “registry” trong hệ thống. Các khóa này được tạo ra khi hệ thống cài đặc các chương trình diệt mã độc.

Mã độc có thể sử dụng nhiều phương pháp cùng một lúc để kiểm tra chính xác môi trường thực thi. Mã độc sau khi phát hiện được môi trường thực thi là môi trường hộp cát thì mã độc sẽ thực hiện các hành vi lành tính như là các chương trình bình thường để không bị phát hiện và mã độc chỉ thực hiện các hành vi độc hại khi nhận biết được môi trường thực thi là môi trường thật.

Một phần của tài liệu Xây dựng hệ thống phát hiện, cảnh báo, ngăn chặn mã độc dựa trên hành vi (Trang 53 - 56)