Trước khi phân tích mã độc, bạn cần phải xây dựng một môi trường an toàn để tránh mã độc lây lan sang các máy tính trong hệ thống. Đặc biệt với các mã độc thực hiện lây lan qua mạng và khai thác các lỗ hổng hệ điều hành, nếu không được đặt trong môi trường cô lập thì khả năng gây mất an ninh cho hệ thống thực là rất lớn. Ở bài viết phương pháp phân tích mã độc phần 3 chuyên gia an ninh mạng Bùi Đình Cường sẽ giới thiệu đến bạn Các bước triển khai môi trường phân tích mã độc sử dụng các công cụ miễn phí.
Xem Series bài viết về mã độc tại đây:
Môi trường phân tích mã độc
Có hai phương pháp chính để triển khai môi trường phân tích mã độc:
- Sử dụng hệ thống vật lí: Thiết lập các máy tính và thiết bị vật lí tạo thành 1 mạng riêng biệt để thực hiện theo dõi, giám sát, phân tích mã độc.
- Ưu điểm: Mã độc hoạt động như quá trình lây nhiễm thực tế, không bị giới hạn nếu mã độc có các cơ chế chống môi trường ảo.
- Nhược điểm: Chi phí lớn, tốc độ phân tích rất lâu do thường xuyên phải gây dựng lại môi trường phân tích từ đầu.
- Sử dụng máy ảo: Thiết lập hệ thống các máy ảo liên kết với nhau với đầy đủ các máy cần thiết cho hệ thống mạng.
- Ưu điểm: Tiện lợi, hỗ trợ phân tích nhanh do thời gian khôi phục hệ thống tốt, dễ triển khai các công cụ giám sát, theo dõi.
- Nhược điểm: Có thể không thực thi được toàn bộ chức năng của mã độc do mã độc có các module phát hiện môi trường ảo.
Trong chuỗi các bài viết về chủ đề này, tôi sẽ tiến hành các phân tích trên môi trường máy ảo, kết hợp các công cụ.
XEM THÊM: Các bài viết nghiên cứu về Lỗng hổng bảo mật của SecurityBox << Tại đây
Sau đây tôi xin trình bày 4 bước cơ bản để thiết lập máy ảo và môi trường phân tích:
Bước 1: Chọn máy ảo và thiết lập hệ thống máy ảo
Máy ảo là một phần mềm giả lập toàn bộ hoạt động của một máy tính thông thường. Trên một thiết bị vật lí (PC, Laptop, Server…) có thể triển khai 1 hoặc nhiều máy ảo, các máy ảo có khả năng liên kết với nhau trong và liên kết với các máy vật lí trong các vùng mạng được cấu hình.
Thiết lập các cấu hình tốt sẽ giúp cô lập mã độc cần phân tích trong một vùng mạng riêng độc lập và không gây ảnh hưởng cho hệ thống thật.
Một số loại máy ảo phổ biến:
Trong khuôn khổ các bài viết, tôi sẽ sử dụng VMWare để tạo môi trường phân tích. Tiến hành cài đặt VMWare và tạo máy ảo với các thông số như sau:
- Ổ cứng: 20GB
- RAM: 2 – 3GB
- Hệ điều hành: Windows XP hoặc Windows 7
- VMWare tools
Bước 2. Thiết lập công cụ và môi trường
Sau khi cài đặt xong hệ điều hành, chúng ta cần cài đặt công cụ hỗ trợ quá trình phân tích:
- Công cụ theo dõi hệ thống và registry: Process Monitor, ProcDOT
- Công cụ theo dõi các tiến trình: Process Explorer, Process Hacker
- Công cụ theo dõi mạng: Wireshark
- Công cụ phát hiện sự thay đổi trạng thái hệ thống trước và sau khi lây nhiễm: Regshot
- Công cụ disassembler và debugger: OllyDBG, IDA Pro
- Công cụ dump bộ nhớ: Scylla, OllyDumpEx
- Công cụ phân tích khác: PPEE (puppy), PE Insider, CFF Explorer, File Analyzer, pestudio
- Công cụ xem, chỉnh sửa file nhị phân: Hex Editor Neo
- Công cụ soạn thảo: notepad++
Một phần quan trọng không thể kém đó là cài đặt các phần mềm làm môi trường hỗ trợ quá trình phát hiện mã độc (Tôi hay đặt cái tên “thân thiện” là các phần mềm bẫy, mục đích để tạo ra các file lây nhiễm theo ý muốn). Tôi sử dụng một số phần mềm sau để làm bẫy:
- Bộ cài đặt: notepad++, Process Monitor, Process Explorer, 7z, wireshark, foxit reader
- Phần mềm: notepad, CFF Explorer, cmd, caculator
Các phần mềm bẫy được đặt ở Desktop và thư mục C:\Atraps là nơi mà mã độc (Có khả năng lây nhiễm) có thể tìm đến nhanh nhất.
Bước 3. Cấu hình cô lập môi trường
Để đảm bảo an toàn cho môi trường thực tế, tôi thực hiện một số bước cấu hình để ngăn chặn tối đa khả năng mã độc có thể xâm nhập ra hệ thống bên ngoài:
- Cập nhật hệ điều hành máy vật lí thường xuyên.
- Cập nhật thường xuyên bản vá của VMWare, đặc biệt các bản vá liên quan tới mạng.
- Bật firewall ở máy vật lí, thiết lập chặn card ảo
- Thiết lập mạng cho VMWare ở dạng host-only hoặc tắt mạng. Hạn chế bật mạng nếu không quá cần thiết.
- Ngắt các kết nối tới các thiết bị ngoại vi: CD-ROM, USB, Memory Card…
Bước 4. Tạo snapshots
Ngay sau khi cài đặt và thiết lập chuẩn một máy ảo, ta cần tạo một snapshot để lưu lại trạng thái sẵn sàng nhất của hệ thống cho việc phân tích mã độc.
Tạo các snapshot là khái niệm độc đáo của máy ảo. Các snapshot máy ảo của VMware cho phép lưu lại trạng thái hiện tại của hệ thống và quay lại trạng thái này bất kì lúc nào, giống như restore point của Windows.
Hình vẽ trên minh họa cách sử dụng các snapshot. Vào lúc 8:00 ta tạo một snapshot máy ảo của mình. Sau đó ta thực thi một mã độc và tới 10:00 thì quay trở lại snapshot đã tao lúc 8:00. Hệ điều hành, phần mềm và tất cả các thành phần khác của máy ảo sẽ trở về trạng thái như lúc 8:00 và mọi thứ xảy ra trong khoảng thời gian 8:00-10:00 đều bị xóa sạch. Đây như là tính năng Undo giúp ta tránh việc phải cài lại hệ điều hành khách và cả tá công cụ, phần mềm cũng như các cấu hình tốn thời gian.
Mọi việc đã hoàn tất, bây giờ bạn có thể bắt đầu tiến hành phân tích mã độc.
Những rủi ro khi phân tích mã độc trong môi trường máy ảo
Một số mã độc có thể nhận biết môi trường mà chúng đang thực thi, có rất nhiều kỹ thuật phục vụ mục đích phát hiện môi trường máy ảo. VMware không quan tâm các nguy cơ loại này lắm và không có cơ chế nào để bảo vệ khỏi việc phát hiện môi trường máy ảo và một số mã độc có các hành vi khác nhau tùy thuộc vào môi trường máy thật hay máy ảo nhằm gây khó khăn cho việc phân tích.
Cũng giống như bất kì phần mềm khác, VMware cũng tồn tại lỗ hổng. Các lỗ hổng này có thể bị khai thác gây ra treo hệ điều hành chủ hoặc thực thi code độc hại trên máy chủ chủ, từ đó chiếm quyền điều khiển và thực hiện lây nhiễm vào trong mạng thật.
Mặc dù có khá ít công cụ công khai hoặc cách thức khai thác lỗ hổng VMware được công bố, vẫn có những lỗ hổng được phát hiện trong các tính năng shared folder hoặc vẫn có công cụ dùng để khai thác tính năng kéo-thả file. Bạn cần đảm bảo chắc chắn rằng phiên bản VMware đang sử dụng đã được vá lỗi và luôn cập nhật các bản vá mới nhất.
Ngay cả khi ta đã thực hiện mọi biện pháp đề phòng, một số nguy cơ vẫn luôn tồn tại trong quá trình phân tích mã độc. Thực hiện bất cứ thao tác nào, ngay cả trên máy ảo, ta luôn phải tránh trường hợp mã độc có thể gây hại tới bất kì máy tính có vai trò nhạy cảm hoặc quan trọng nào.
XEM NHIỀU NHẤT: Phát hiện lỗ hổng nghiêm trọng trong mạng Wi-Fi
Kết luận
Như vậy tôi đã giới thiệu cho các bạn về sơ bộ các phương pháp phân tích mã độc, cung cấp cho các bạn các công cụ thực hành và hướng dẫn các bạn thiết lập môi trường sử dụng để phân tích mã độc an toàn, hiệu quả.
Trong các bài tiếp theo, tôi sẽ bắt đầu giới thiệu cho các bạn các kĩ thuật phân tích từ đơn giản tới phức tạp.
Các bạn quan tâm tới bài viết hoặc cần cung cấp mẫu phân tích có thể liên hệ với tôi theo địa chỉ email: [email protected] hoặc số điện thoại: 092 711 8899.