Chương 1. Lí do chọn đề tài. Đối tượng và phạm vi nghiên COU. Các đề tài liên quan.
Những dé mục đề tài tập trung. Một số tập tin liên quan và công nghệ được sử dụng. | CAC KI THUAT ĐƯỢC NGHIÊN CỨU VA SỬ DUNG. Các kĩ thuật phát hiện máy ảo va cách thức vượt qua.
Sử dụng kiến trúc CPUID. Sử dụng IN instruction. Kiểm tra các tậptỉn. Kiém tra đường dẫn.
Kiểm tra tên User / Computer Name. Kiểm tra tình trạng vật lí của thiết bị. Kiểm tra thời gian hoạt động của máy. Kiểm tra tên và nhãn hiệu của 6 cứng.
Kiểm tra địa chi MAC. _ Kiểm tra các tiến trình đang chạy. Kiểm tra Registry key. Kiểm tra bằng đếm thời gian sử dụng rdtsc.
_ Kiểm tra bằng các lệnh WMI. Kiém tra con trỏ chuột. Kiểm tra trong bộ nhớ. Các phương pháp phòng chống có liên quan.
Các loại máy ảo khác. _ Sử dụng các phần mềm debugging. _ Sử dụng Nested Virtualization. | KET QUA THU NGHIỆM.
Cấu hình may ảoO. Các bước thiết lập mô hình máy ảo. Thử nghiệm với mẫu thử. Thử nghiệm chỉ tiết với các mẫu thử malware.
Mẫu thử Agent Tesla. Mau thử Zloader. Mẫu thử Trickbot. Kết quả thử nghiệm với các mẫu malware.
Hướng phát trin. nhe 75 DANH MỤC HÌNH Hình 3.1 Thông tin thêm về tap tin hệ thống vmmouse.2 Thông tin về nhãn hiệu 6 cứng mặc định trên máy ảo.3 Thông tin nhãn hiệu 6 cứng sau khi đã chỉnh sửa.4 Cấu hình thiết lập cho một trường được gọi bằng WMI.5 Thông báo chạy thành công lệnh mofcomp.6 Cấu hình thiết lập cho một trường được gọi bằng WMI.7 Kết quả khi gọi lệnh WMI tương ứng.---2¿222+2z2vczvzcrrrrrscee 28 Hình 4,1 Cấu hình của mẫu thử đã được thiết lập.2 Phần mềm VMware Tools được cài đặt sẵn.----¿--cccc©ccccccce 36 Hình 4.3 Một bản ghi của Win32_ Fan.4 Một số snapshot của mô hình.5 Một phần cấu trúc SMBIOS trong bộ nhớ của snaphot khi chưa chỉnh sửa 1 Hình 4.9 Kiêm tra trên công cụ FirmwareTableView của Nirsoft sau khi chỉnh sửa ".10 Chương trình pafish chạy trên máy ảo đã được dựng.11 Chương trình pafish chạy trên môi trường máy thật (phan ]).12 Chương trình pafish chạy trên môi trường máy thật (phan 2).13 Chương trình pafish chạy trên môi trường máy thật (phần 3).14 Chương trình pafish chạy trên môi trường máy ảo thông thường (phan 1) Hình 4.16 Chương trình pafish chạy trên môi trường máy ảo thông thường (phan 3) 6 urge dung (phan 007.21 Những kiểm thử phát hiện VMware với công cụ al-khaser trên máy ảo được dựng (phần 7) ee 49 Hình 4.22 Các kiểm thử về Timing với công cụ al-khaser trên máy ảo được dung.23 Các kiểm thử về Generic Sandbox với công cụ al-khaser trên môi trường máy ảo thông thường (phan 1).24 Các kiểm thử về Generic Sandbox với công cụ al-khaser trên môi trường máy ảo thông thường (phần 2).25 Các kiểm thử về Generic Sandbox với công cụ al-khaser trên môi trường máy ảo thông thường (phần 3).26 Các kiểm thử về Generic Sandbox với công cụ al-khaser trên môi trường máy ảo thông thường (phần 4).27 Các kiểm thử về Generic Sandbox với công cu al-khaser trên môi trường máy ảo thông thường (phần 5).-----22++£222EEEY++++rtttEEEEExvrrrrrrrrrrrrrrrree 52 Hình 4.28 Các kiểm thử về phát hiện VMware với công cy al-khaser trên máy ảo bình thường (phần 1).--2¿-22+£2V++++22EE+++t2EEE+++EEEEEE+tEE2EE222211 tre52 Hình 4.29 Các kiểm thử về phát hiện VMware với công cụ al-khaser trên máy ảo bình thường (phần 2).-22-+++22E++22EEEE++E22E1112122111122121121227111 22211 re53 Hình 4.30 Các kiểm thử về timing với công cụ al-khaser trên máy ảo bình thường 53 Hình 4.31 Thử nghiệm công cụ sems trên máy ảo được dựng .32 Thử nghiệm công cụ sems trên máy ảo thông thường.33 Các hoạt động của mã độc Agent Tesla thu được bằng Process Monitor58 Hình 4.34 Các hoạt động của malware Agent Tesla thu được bằng Wireshark.35 Dich vụ msiserver được khởi động. - --¿-¿- 55+ csc++x+csceesr+ 59 Hình 4.36 Tiến trình msiexec.exe chạy ngầm được phát hiện bởi Process Explorer Hình 4.37 Các hoạt động thu được bởi Process MOnitOr.38 Những hoạt động của malware Agent Tesla ghi lại bởi Wireshark trên MAY AO thƯỜng.39 Thư mục chứa các nhân ban malware Zloader trong máy ảo được dung 62 Hình 4.40 Một nhân bản của malware Zloader trong máy ảo được dựng.41 Chỉ tiết hai tiền trình thu được bởi Process Monitor.42 Các hành vi trên hệ thống của tiền trình zloader.43 Các hành vi trên hệ thống của tiền trình msiexec .44 Kết quả thu được bởi Wireshark với malware Zloader.45 Chỉ tiết hai tiến trình thu được bởi Process Explorer.46 Các hành vi trên máy ảo của tiến trình zloader.47 Malware Zloader nhân bản trong máy ảO.- eee + 5++++x+c+se++ 65 Hình 4.48 Kết quả thu được trên wireshark của zloader trên máy ảo thường.49 Báo cáo của mau thử Trickbot trên Virustotal.:----ccc:cccssce+ 66 Hình 4.50 Malware Trickbot nhân bản chính minh và lưu lại.51 Các hoạt động của malware Trickbot phát hiện bởi wireshark (phần 1).52 Các hoạt động của malware Trickbot phát hiện bởi wireshark (phần 2).53 Tiến trình tmp039.exe chạy ngầm được phát hiện.54 Các hành vi của malware Trickbot đối với hệ thống được phát hiện.55 Tiến trình tmp039.exe được phát hiện bởi Process Explorer.56 Các hành vi của malware Trickbot được thu thập bởi Process Monitor.57 Malware Trickbot nhân bản trong máy ảo.58 Hành vi của Trickbot được wireshark phát hiện trên máy ảo thường .69 DANH MỤC BANG Bang 3.1 Bảng phân nhóm các kĩ thuật chống máy ảo.1 So sánh các thử nghiệm vượt qua giữa máy ảo được dựng của khoá luận và máy ảo thông thường Bảng 4.2 Chỉ tiết các mẫu tự viết Bảng 4.3 Kết quả chạy mẫu giữa máy ảo mô hình và máy ảo bình thường.4 Kết quả chỉ tiết thử nghiệm với mẫu thử malware thực tế. 70 DANH MỤC MÃ NGUÒN Mẫu 3.1 Mã nguồn phát hiện máy ảo với CPUID Mẫu 3.2 Mã nguồn phát hiện máy ảo thông qua giá trị bảng IDT.3 Mã nguồn phát hiện máy ảo thông qua giá trị bảng LDT.4 Mã nguồn phát hiện máy ảo thông qua giá trị bảng GDT.5 Mã nguồn thực hiện kiểm tra các tập tin liên quan đến máy 40 VMware.6 Mã nguồn thực hiện kiểm tra các tập tin, đường dẫn liên quan đến sandbox —.7 Mã nguồn kiểm tra tên của user thường dùng trong các sandbox.8 Mã nguồn kiểm tra về số lượng lõi vi xử lý của hệ thống.9 Mã nguồn thực hiện kiểm tra thời gian hoạt động của hệ thống "— 5 Mẫu 3.10 Mã nguồn so sánh địa chỉ MAC với các MAC header thường có trên 'VMware.11 Mã nguồn lấy thông tin địa chi MAC và kiểm tra.12 Mã nguồn kiểm tra một số tiến trình thường có trên VMware.13 Mã nguồn kiểm tra các khoá, giá trị của một sé registry thường có trên máy ảo VMWare thông thường .14 Mã nguồn kiểm tra đếm thời gian bằng rdtsc.15 Mẫu code thực hiện kiểm tra thông tin về Win32_VoltageProbe.16 Mã nguồn cụ thé cách WMI được truy van và so sánh .17 Mã nguồn kiểm tra vị trí con trỏ chuột qua thời gian.18 Mã nguồn kiểm tra chuỗi “VMware” có trong cấu trúc SMBIOS.30 TÓM TẮT KHÓA LUẬN Khóa luận tập trung vào việc nghiên cứu các kĩ thuật liên quan đến phát hiện môi trường máy ảo và cách vượt qua các kĩ thuật này, đồng thời xây dựng mô hình máy ảo có khả năng vượt qua các kĩ thuật phát hiện máy ảo.
Hướng tiếp cận của khoá luận là tập trung vào các phương thức, kĩ thuật tự nhiên mà không cần sử dụng các kĩ thuật hooking hay debugging. Vì vậy khoá luận tập trung vào nghiên cứu các cách thay đổi bên trong và sử dụng các công cụ của Windows trong việc che giấu môi trường máy ảo của mô hình, thay vì sử dụng hooking dé qua mặt các loại malware, kết hợp với các tinh năng mạnh mẽ, sẵn có trên nền tảng ảo hoá. Một số kết quả đạt được: vượt qua được đa số các kĩ thuật phát hiện máy ảo thông thường, thử nghiệm thành công các chương trình dùng dé phát hiện môi trường máy ảo, bao gồm cả các mẫu và kĩ thuật tự viết. Có thể chạy thành công một số mẫu malware có sử dụng kĩ thuật phát hiện máy ảo (anti-vm), phát hiện ra các hành vi khác biệt khi chạy với máy ảo thông thường.
Lí do chọn đề tài Malware đã và đang là một mối nguy hại lớn cho ha tang và thông tin trong thời đại kĩ thuật số hiện nay, và càng ngày càng phát triển phức tạp hơn. Từ những đoạn mã đơn giản ghi đè vào các chương trình thực thi, malware càng ngày càng phát triển hơn, va phát triển các kĩ thuật tự giấu mình dé qua mắt các chương trình diệt virus (antivirus) cũng như tránh dé ban thân bị phân tích trên các môi trường phân tích. Các kĩ thuật bao gồm ba nhóm chính: obfuscation (làm rối mã), anti-debugging (chống gỡ lỗi) và anti-vm (chống máy ảo). Xu hướng của các malware là sẽ áp dụng các kĩ năng này, với mức độ càng ngày càng phức tạp hơn.
Do đó các mẫu malware hiện đại sẽ ngày càng khó dé phân tích cũng như tìm ra các giải pháp. Theo thống kê dựa trên 36 họ malware dựa trên data của MITRE, từ năm 2010 đến giữa năm 2020, có đến 33% số malware thực hiện các loại kiém tra môi trường, 25% thi hành các WMI request, 19% kiểm tra các tiến trình đi kèm, 14% đọc các registry key [1]. Với sự phát triển của malware, việc phân tích mã độc sẽ trở nên khó khăn và phức tạp hơn đối với các người nghiên cứu, phân tích các mã độc. Trong quá trình phân tích mã độc, rất nhiều người nghiên cứu chọn máy ảo làm môi trường phân tích.
Nhận thấy mối tương quan trên, nhóm nhận thấy việc xây dựng môi trường có khả năng các vượt qua kĩ thuật chống máy ảo (anti-vm) phục vụ cho quá trình phân tích mã độc là hợp lý và cần thiết. Thông qua quá trình tìm hiểu và được gợi ý đến từ thay Nguyễn Tan Cam, nhóm quyết định tìm hiểu sâu hơn về các kĩ thuật anti-vm, qua đó xây dựng môi trường có thé vượt qua kĩ thuật anti-vn trên môi trường máy áo. Mục đích Mục tiêu của đề tài là tập trung nghiên cứu chỉ tiết về các kĩ thuật phát hiện máy ảo được sử dụng trên các malware, sau đó tìm hiểu cách thức có thé được sử dụng dé vượt qua các kĩ thuật này, tập trung tận dụng các tính năng sẵn có trên các hệ thống host-hypervisor (VMware, VirtualBox,.) để xây dựng một môi trường chạy trên máy ảo có khả năng vượt qua các kĩ thuật anti-vm. Hơn nữa, đề tài cũng hướng tới tính tiện dụng, không cần cau hình nhiều dé có thé sử dụng môi trường một cách dé dàng nhất.
Đối tượng và phạm vi nghiên cứu Đôi tượng nghiên cứu là môi trường máy ảo, cụ thê là máy ảo chạy hệ điêu hành Windows 7 32bit trên nên tảng ảo hoá VMware. Trong máy ảo sẽ sử dụng các chương trình kiêm thử được viết san cũng như là những mau thử tự viết.